网络层控制平面(二)

简介: 网络层控制平面

目标网络+跳数 【 一次公告最多25个 子网 最大跳数为16 】

d51fd462ac6c0f20149f911cc3ed0741_1692409452886-eaf7fa1e-c94d-49ca-b9cd-791e2d4f6fb3.png

0071a5c4529add07d9487ba4331bfc1f_1692409511565-5751f605-27b5-411a-a2d4-1128083e4aed.png



如果180秒没有收到通告信息–>邻居或者链路失效


发现经过这个邻居的路由已失效

新的通告报文会传递给邻居

邻居因此发出新的通告 (如果路由变化的话)

链路失效快速(?)地在整网中传输

使用毒性逆转(poison reverse)阻止ping-pong回路 (不可达的距离:跳数无限 = 16 段)

RIP 以应用进程的方式实现:route-d (daemon)


通告报文通过UDP报文传送,周期性重复


网络层的协议使用了传输层的服务,以应用层实体的 方式实现


OSPF(Open Shortest Path First)

是基于链路状态(LS)算法实现


LS 分组在网络中(一个AS内部)分发

全局网络拓扑、代价在每一个节点中都保持

路由计算采用Dijkstra算法

具体的链路算法怎么算的呢 ?


首先链路状态分组会在全网泛洪, 通过这个, 每个节点都会拿到全局拓扑以及代价和 每个节点所能到达目标的汇集树。 从而装载他的路由表

按照这个路由表, 对到来的分组进行转发。

IS-IS路由协议:几乎和OSPF一样


OSPF “高级” 特性(在RIP中的没有的)

安全: 所有的OSPF报文都是经过认证的 (防止恶意的攻击)

允许有多个代价相同的路径存在 (在RIP协议中只有一个)

对于每一个链路,对于不同的TOS有多重代价矩阵

例如:卫星链路代价对于尽力而为的服务代价设置比较低,对实 时服务代价设置的比较高

支持按照不同的代价计算最优路径,如:按照时间和延迟分别计 算最优路径

对单播和多播的集成支持:

Multicast OSPF (MOSPF) 使用相同的拓扑数据库, 就像在OSPF中一样

在大型网络中支持层次性OSPF

层次化的OSPF路由

f96340325477a1a5e629d802b4a5506c_1692410745093-5d00ce94-073c-4ecc-b37b-2a0ca0b74b49.png


2个级别的层次性: 本地, 骨干


路状态通告仅仅在本地区域Area范围内进行


每一个节点拥有本地区域的拓扑信息;


关于其他区域,知道去它的方向,通过区域边界路 由器(最短路径)

区域边界路由器: “汇总(聚集)”到自己区域 内网络的距离, 向其它区域边界路由器通告.


骨干路由器: 仅仅在骨干区域内,运行OSPF路由


边界路由器: 连接其它的AS’s.


ISP之间的路由选择: BGP (自治区域之间的路由选择)

自治区域之间的路由选择。 之前学的(距离矢量算法等等及其一些协议)自治区域内部的协议


层次路由

一个平面的路由

一个网络中的所有路 由器的地位一样

通过LS, DV,或者其 他路由算法,所有路 由器都要知道其他所 有路由器(子网)如 何走

所有路由器在一个平面

平面路由的问题

规模巨大的网络中,路由信 息的存储、传输和计算代价巨大

管理问题

层次路由:

层次路由: 将互联网 分成一个个AS(路由器 区域)


某个区域内的路由器集合,自治系统 “autonomous systems” (AS)

一个AS用AS Number (ASN)唯一标示

一个ISP可能包括1个 或者多个AS

路由变成了: 2个层次路由


AS内部路由:在同一个AS 内路由器运行相同的路由协议

“intra-AS” routing protocol:内部网关协议


不同的AS可能运行着不同的 内部网关协议


能够解决规模和管理问题 如:路由选择RIP,OSPF,IGRP


网关路由器:AS边缘路由器 ,可以连接到其他AS


AS间运行AS间路由协议

“inter-AS” routing protocol:外部网关协议


解决AS之间的路由问题,完 成AS之间的互联互通


层次路由的优点

解决了规模问题


内部网关协议解决:AS内部 数量有限的路由器相互到达的 问题, AS内部规模可控

如AS节点太多,可分割AS,使 得AS内部的节点数量有限

AS之间的路由的规模问题

增加一个AS,对于AS之间的路 由从总体上来说,只是增加了一 个节点=子网(每个AS可以用一 个点来表示)

对于其他AS来说只是增加了一 个表项,就是这个新增的AS如 何走的问题

扩展性强:规模增大,性能不会 减得太多

解决了管理问题

各个AS可以运行不 同的内部网关协议

可以使自己网络的细 节不向外透露

互联网AS(自治系统)间路由:BGP

BGP (Border Gateway Protocol): 自治区域间路由 协议“事实上的”标准


“将互联网各个AS粘在一起的胶水”


BGP 提供给每个AS以以下方法:


eBGP: 从相邻的ASes那里获得子网可达信息

iBGP: 将获得的子网可达信息传遍到AS内部的所有路由器

根据子网可达信息和策略来决定到达子网的“好”路径

eBGP、iBGP的链接

3d1e148afacb31b5566b4fcdd39160f6_1692417621502-8c83fd5c-1418-446b-91ae-2d8687d59e5c.png


允许子网向互联网其他网络通告“我在这里”


基于距离矢量算法(路径矢量)


不仅仅是距离矢量,还包括到达各个目标网络的详细路径(AS 序号的列表)能够避免简单DV算法的路由环路问题

BGP基础:

BGP 会话 : 2个BGP路由器(“peers”)在一个半永久的TCP连接上 交换BGP报文:


通告向不同目标子网前缀的“路径”(BGP是一个“路径 矢量”协议)

当AS3网关路由器3a向AS2的网关路由器2c通告路径: AS3,X 【3a是2c关于X的下一跳(next hop)】


3a参与AS内路由运算,知道本AS所有子网X信息

语义上:AS3向AS2承诺,它可以向子网X转发数据报

30fdf817b9c863a94d0908e5c6cdc598_1692419220188-bc4aaa90-464b-445e-b9d9-d5a15f75baff.png


路径的属性& BGP 路由

当通告一个子网前缀时,通告包括 BGP 属性 [ prefix + attributes = “route” ]


2个重要的属性:


AS-PATH: 前缀的通告所经过的AS列表: AS 67 AS 17

检测环路;多路径选择

在向其它AS转发时,需要将自己的AS号加在路径上

NEXT-HOP: 从当前AS到下一跳AS有多个链路,在NETX-HOP属性中,告诉对方通过那个 I 转发.

其它属性:路由偏好指标,如何被插入的属性

基于策略的路由:


当一个网关路由器接收到了一个路由通告, 使用输入策略来接受或过滤( accept/decline. )

策略也决定了是否向它别的邻居通告收到的这个路由信息

BGP 路径通告

449d125e50fe4b3e635c12a79fb6f684_1692420590282-f6971725-3030-42a8-a120-8c70f7bffee2.png


路由器AS2.2c从AS3.3a接收到的AS3,X路由通告 (通过 eBGP)

基于AS2的输入策略,AS2.2c决定接收AS3,X的通告,而且通过 iBGP)向AS2的所有路由器进行通告

基于AS2的策略,AS2路由器2a通过eBGP向AS1.1c路由器通告 AS2,AS3,X 路由信息

路径上加上了 AS2自己作为AS序列的一跳

网关路由器可能获取有关一个子网X的多条路径,从多个eBGP 会话上:


AS1 网关路由器1c从2a学习到路径:AS2,AS3,X

AS1网关路由器1c从3a处学习到路径AS3,X

基于策略,AS1路由器1c选择了路径:AS3,X,而且通过iBGP 告诉所有AS1内部的路由器

BGP报文

使用TCP协议交换BGP报文.


报文包括:


OPEN: 打开TCP连接,认证发送方

UPDATE: 通告新路径 (或者撤销原路径)

KEEPALIVE:在没有更新时保持连接,也用于对 OPEN 请求确认

NOTIFICATION: 报告以前消息的错误,也用来关闭 连接

BGP 路径选择

路由器可能获得一个网络前缀的多个路径,路由器必须进行路径的选择,路由选择可以基于:


本地偏好值属性: 偏好策略决定

最短AS-PATH :AS的跳数

最近的NEXT-HOP路由器:热土豆路由

附加的判据:使用BGP标示

一个前缀对应着多种路径,采用消除规则直到留下一条路径


BGP: 通过路径通告执行策略


为什么内部网关协议和外部网关协议如此不同?

策略:


Inter-AS: 管理员需要控制通信路径,谁在使用它的网络 进行数据传输;


Intra-AS: 一个管理者,所以无需策略;


AS内部的各子网的主机尽可能地利用资源进行快速路由


规模:


AS间路由必须考虑规模问题,以便支持全网的数据转发


AS内部路由规模不是一个大的问题


如果AS 太大,可将此AS分成小的AS;规模可控

AS之间只不过多了一个点而已

或者AS内部路由支持层次性,层次性路由节约了表空间, 降低了 更新的数据流量

性能:


Intra-AS: 关注性能


Inter-AS: 策略可能比性能更重要


Software defined networking (SDN) 控制器

互联网络网络层:历史上都是通过分布式、每个 路由器的实现


单个路由器包含了:交换设备硬件、私有路由器OS( 如:思科IOS)和其上运行的互联网标准协议(IP, RIP, IS-IS, OSPF, BGP)的私有实现

需要不同的中间盒来实现不同网络层功能:防火墙, 负载均衡设备和NAT

传统的方式: 每-路由器(Per-router)控制平面

在每一个路由器中的单独路由器算法元件,在控制平面进行交互 复杂且难以管理

f133b27b023dfc87b126ee17b4095b6d_1692495294187-5b0c6bc8-eb56-424b-8611-b4480774a955.png



SDN方式: 逻辑上集中的控制平面

一个不同的(通常是远程的)控制器与本地控制代理(CAs) 交互


6c76fb520576e114b501a7b06df378ff_1692495322469-0d8cd732-d70d-42f2-99cd-09f63bcdd5a1.png


SDN

SDN的优点:

网络管理更加容易:避免路由器的错误配置,对 于通信流的弹性更好


基于流表的转发(回顾一下OpenFlow API),允 许“可编程”的路由器


集中式“编程”更加容易:集中计算流表然后分发

传统方式分布式“编程”困难:在每个单独的路由器 上分别运行分布式的算法,得到转发表(部署和升级 代价低) 。而且要求各分布式计算出的转发表都得基本正确

控制平面的开放实现(非私有)


SDN特点:

通用“ flowbased” 基于流的 匹配+行动(e.g., OpenFlow)

控制平面和数据平面的分离

控制平面功能在数据交换设备之外实现

可编程控制应用 … 在控制器之上以 网络应用形式实 现各种网络功能

SDN架构

数据平面交换机

快速,简单,商业化交换设备 采用硬件实现通用转发功能

流表被控制器计算和安装

基于南向API(例如OpenFlow ),SDN控制器访问基于流的 交换机

定义了哪些可以被控制哪些不能  也定义了和控制器的协议 (e.g., OpenFlow

SDN控制器(网络OS):

维护网络状态信息

通过上面的北向API和网络 控制应用交互

通过下面的南向API和网络 交换机交互

逻辑上集中,但是在实现上 通常由于性能、可扩展性、 容错性以及鲁棒性采用分布 式方法实现

网络控制应用

控制的大脑: 采用下层提供 的服务(SDN控制器提供的 API),实现网络功能

• 路由器 交换机


• 接入控制 防火墙


• 负载均衡


• 其他功能


非绑定:可以被第三方提供 ,与控制器厂商以通常上不 同,与分组交换机厂商也可 以不同

SDN控制器里的元件

8af59ca6662981b5c094f3dfa5dd3826_1692496081553-be171bc1-fd1b-48f7-9afe-00b9d46f3c79.png

目录
相关文章
|
6天前
|
负载均衡 网络协议 算法
【计算机网络】网络层(控制平面)
【计算机网络】网络层(控制平面)
68 0
【计算机网络】网络层(控制平面)
|
6天前
|
存储 网络协议 安全
【计算机网络】网络层(数据平面)
【计算机网络】网络层(数据平面)
97 0
|
6天前
|
缓存 网络协议 SDN
计算机网络:网络层上(数据平面)
计算机网络:网络层上(数据平面)
|
6天前
|
网络协议 网络性能优化 SDN
【网络层】流量控制VS拥塞控制、路由器功能、SDN控制平面
【网络层】流量控制VS拥塞控制、路由器功能、SDN控制平面
53 0
|
8月前
|
算法 网络协议 数据建模
网络层控制平面(一)
网络层控制平面
30 0
|
传感器 XML 人工智能
网络知识平面简介(下)
网络知识平面简介(下)
166 1
|
人工智能 运维 算法
网络知识平面简介(上)
网络知识平面简介(上)
192 1
|
运维 Kubernetes 监控
与容器服务 ACK 发行版的深度对话第二弹:如何借助 hybridnet 构建混合云统一网络平面
本次采访我将继续为大家详细讲解我的好伙伴:阿里巴巴的开源 Kubernetes 容器网络解决方案 hybridnet,以及我是如何借助它来构建混合云统一网络平面。
与容器服务 ACK 发行版的深度对话第二弹:如何借助 hybridnet 构建混合云统一网络平面

热门文章

最新文章