第五章
第5章: 网络层控制平面
5.2 路由选择算法
路由协议
路由的概念
不可能出现一个环—代表有多条路径
路由的原则
注意简单性:求出来的不是最优路径—求最优路径较复杂
路由算法分类
全局or分布式,静态or动态
大多数路由算法是动态的
链路状态路由选择(link state routing)
获得整个网络拓扑后使用迪杰斯特拉算法计算最优路径
分组通过泛洪的方法传播—可能没完没了
解决方法:
- 存在一个类似TLL的AGE字段
- 采用版本号,较旧的分组直接丢弃,不转发
通过ACK确保分组可靠地泛洪
Dij算法:
距离矢量路由选择(distance vector routing)
通过不停地迭代,最终收敛到最佳情况
而LS算法获得整个网络的拓扑信息后,一次即可计算出来最佳路径
设置TTL:防止分组被无穷传递
即B是C传递到A分组的下一跳,故C向B报告时,宣称自己无法到达A,而向D报告时,宣称自己能到达A(即水平方向分裂成两种情况—向B和向其他)
因此,不会出现B到不了A,反而将分组传递给C的回路情况
只能减少坏消息传得慢的现象,不能杜绝(仍然传得很慢)
LS和DV算法的比较
5.3 自治系统内部的路由选择
RIP(Routing Information Protocol)—使用DV算法
跳数最大为15,超过15即不可达
最多25个子网—用于小型网络
注意,RIP协议以应用层实体的方式实现,使用了传输层的服务,实现了网络层的功能
OSPF(Open Shortest Path First)—使用LS算法
将网络分成若干个area,每个area中的分组在area内部进行泛洪
边界路由器分饰两角
5.4 ISP之间的路由选择: BGP
层次路由
每个AS在AS间路由表现为一个或几个点,减少了问题的规模
互联网AS间路由: BGP
注意AS间的路由基于策略
BGP的策略
BGP报文
BGP,OSPF,转发表表项
BGP路径选择
热土豆算法—烫手山芋