计算机网络 自治系统,计算机网络--网络层3

路由算法

baee8587d855c7969a489ec4f0e80d5a.png

ec54a2992ef12ca2bec45c796264cc38.png

7dd645e3482c579984442169d7a74693.png

路由算法分类

静态路由:

手工配置

路由更新慢

优先级高

动态路由:

路由更新快

定期更新

及时响应链路费用或网络拓扑变化

全局信息:

所有路由器掌握完整的网络拓扑和链路费用信息

E.g. 链路状态(LS) 路由算法

分散(decentralized)信息:

路由器只掌握物理相连的邻居以及链路费用

邻居间信息交换、运算的迭代过程

E.g. 距离向量(DV) 路由算法

链路状态路由算法

fb94ce3b4f5652dd87d8cbcecfeccfa1.png

Dijkstra 算法

所有结点(路由器)掌握网络拓扑和链路费用

通过“链路状态广播”

所有结点拥有相同信息

计算从一个结点(“源”)到达所有其他结点的最短路径

获得该结点的转发表

迭代: k次迭代后,得到到达k个目的结点的最短路径

符号:

c(x,y): 结点x到结点y链路费用;如果x和y不直接相连,则=∞

D(v): 从源到目的v的当前路径费用值

p(v): 沿从源到v的当前路径,v的前序结点

N’: 已经找到最小费用路径的结点集合

ca853dee868aaf8827d469d4ef4d899b.png

8e005029bf78513f846b0250ceef0384.png

5a9c91ad16bfc7c1a77b82c6cc29d6e7.png

83aeb7e34aefe80e4a971ac2579f9b5b.png

Dijkstra 算法:讨论

算法复杂性: n个结点

每次迭代: 需要检测所有不在集合N’中的结点w

n(n+1)/2次比较: O(n 2 )

更高效的实现: O(nlogn)

存在震荡(oscillations)可能:

e.g., 假设链路费用是该链路承载的通信量:

84e35f1113cb2aefb6831cc5ad641d1c.png

距离向量路由算法

c03aada9b1c5b16b3dba075300a4db98.png

52977395d823055da0efe2cc6c93905f.png

重点 :结点获得最短路径的 下跳 一跳, 该信息用于转发表中

331a805231c53f77c77e12e861d3aba9.png

异步迭代:

引发每次局部迭代的因素

局部链路费用改变

来自邻居的DV更新

分布式:

每个结点只当DV变化时才通告给邻居

邻居在必要时(其DV更新后发生改变)再通告它们的邻居

a609226d7e8908604e91c6a233d0c109.png

e8629ac0bd8db34e511d60ad7e4b4b37.png

b4525e61f6014504253ada5c64e47a4e.png

链路费用变化:

31340aae362f754da5ffac6a824e4572.png

结点检测本地链路费用变化

更新路由信息,重新计算距离向量

如果DV 改变,通告所有邻居

t 0 : y 检测到链路费用改变 ,更新DV ,通告其邻居.

t 1 : z 收到y的 的DV 更新,更新其距离向量表,计算到达x 的最新其 最小费用,更新其DV ,并发送给其所有邻居.

t 2 : y 收到z的 的DV 更新, 更新其距离向量 表,重新计算y的 的DV, ,未发生改变,不再向z 发送DV.

好消息传播快!

f516ee8c5eabcad07badc8b0ba748bbb.png

毒性逆转(poisoned reverse)

如果一个结点(e.g. Z)到达某目的(e.g.X)的最小费用路径是通过某个邻居(e.g.Y),则:

通告给该邻居结点到达该目的的距离为无穷大

26735a18b4fad20dafd3fc049d3036de.png

无穷计数问题

1129c8ad76ad3f2369bd0d47e88198a8.png

层次路由

将任意规模网络抽象为一个图计算路由- 过于理想化

标识所有路由器

“扁平”网络

在实际网络(尤其是大规模网络)中, 不可行!

网络规模:考虑6亿目的结点的网络

路由表几乎无法存储!

路由计算过程的信息(e.g. 链路状态分组、DV)交换量巨大,会淹没链路!

管理自治:

每个网络的管理可能都期望自主控制其网内的路由

互联网(internet) = 网络之网络(network of networks)

聚合路由器为一个区域:自治系统AS(autonomous systems),同一AS内的路由器运行相同的路由协议(算法),自治系统内部路由协议(“intra-AS” routingprotocol)

不同自治系统内的路由器可以运行不同的AS内部路由协议

网关路由器(gatewayrouter): 位于AS“边缘”, 通过链路连接其他AS的网关路由器

互连的AS

9df2f5dd74469c9102197c8446a12a80.png

自治系统间(Inter-AS)

7f6772697287f4d41a03439c8ef9a857.png

1f14743eb24398b40402380a15a01fdc.png

7cdff5d03fecfe5d2bd40630e4b10e62.png

bd7081fc3e484df8c75ca250579a635b.png

RIP协议简介

AS 内部路由

dfff1da1d7f5b5ff9e3879da60c71e81.png

b6de160354f79de7f541d8c643d4f531.png

158b75b66fd1161e0a21312dbcd678bb.png

4f1ad18bf93b453dda09888588e79b59.png

RIP: 链路失效、恢复

如果180秒没有收到通告→邻居/链路失效

经过该邻居的路由不可用

重新计算路由

向邻居发送新的通告

邻居再依次向外发送通告(如果转发表改变)

链路失效信息能否快速传播到全网?

可能发生无穷计数问题

毒性逆转技术用于预防乒乓(ping-pong)环路(另外:无穷大距离 = 16 hops)

RIP 路由表的处理

RIP路由表是利用一个称作route-d (daemon)的应用层进程进行管理

应用进程实现

通告报文周期性地通过UDP数据报发送

ad1da517961d4e48915544acff1f4537.png

OSPF协议简介

”开放”: 公众可用

采用链路状态路由算法

LS分组扩散(通告)

每个路由器构造完整的网络(AS)拓扑图

利用Dijkstra算法计算路由

OSPF通告中每个入口对应一个邻居

OSPF通告在整个AS范围泛洪

OSPF报文直接封装到IP数据报中

与OSPF极其相似的一个路由协议:IS-IS 路由协议

OSPF 优点(RIP 不具备)

安全(security): 所有OSPF报文可以被认证(预防恶意入侵)

允许使用多条相同费用的路径 (RIP只能选一条)

对于每条链路,可以针对不同的TOS设置多个不同的费用度量 (e.g., 卫星链路可以针对“尽力”(best effort) ToS设置“低”费用;针对实时ToS设置“高”费用)

集成单播路由与多播路由

多播OSPF协议(MOSPF) 与OSPF利用相同的网络拓扑数据

OSPF支持对大规模AS分层(hierarchical)

分层的OSPF

896cf3b9d31187c9b8502884e011a3a6.png

0c4a2a0ae3bc26d72094f91ab9f8b59e.png

86975bc0a17feeb23a21fd0a0a33673d.png

BGP 协议简介

Internet AS 间路由协议

边界网关协议BGP (Border GatewayProtocol): 事实上的标准域间路由协议

将Internet “粘合”为一个整体的关键

BGP为每个AS提供了一种手段:

eBGP: 从邻居AS获取子网可达性信息.

iBGP: 向所有AS内部路由器传播子网可达性信息.

基于可达性信息与策略,确定到达其他网络的 “好”路径

容许子网向Internet其余部分通告它的存在:“ 我在这儿!”

BGP会话(session):

两个BGP路由器 (“Peers”)

交换BGP报文:

通告去往不同目的前缀(prefix)的路径 (“路径向量(path vector)”协议)

报文交换基于半永久的TCP连接

BGP报文:

OPEN: 与peer建立TCP连接,并认证发送方

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

KEEPALIVE: 在无UPDATE时,保活连接;也用于对OPEN请求的确认

NOTIFICATION: 报告先前报文的差错;也被用于关闭连接

2aab9146d7b275dbb1620b165aab76c1.png

dd0bc504bdfc774768718371bc86e2e5.png

0466eb88463bb592e5a4866c7b5950d3.png

BGP路由选择

网关路由器收到路由通告后,利用其输入策略(import policy)决策接受/拒绝该路由

e.g., 从不将流量路由到AS x

基于策略(policy-based) 路由

路由器可能获知到达某目的AS的多条路由,基于以下准则选择:

本地偏好(preference)值属性: 策略决策(policy

decision)

最短AS-PATH

最近NEXT-HOP路由器: 热土豆路由(hot potato

routing)

附加准则

9b50dcf434c682efb71254d6d8affe9d.png

c3bbe089ed5e839db4ee6f5f3cb1be74.png

为什么采用不同的AS 内与AS 间路由协议

策略(policy):

inter-AS: 期望能够管理控制流量如何被路由,谁路由经过其网络等.

intra-AS: 单一管理,无需策略决策

规模(scale):

层次路由节省路由表大小,减少路由更新流量

适应大规模互联网

性能(performance):

intra-AS: 侧重性能

inter-AS: 策略主导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值