第五章
第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路径选择

热土豆算法—烫手山芋

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

内部网关协议和外部网关协议的对比

5.5 SDN控制平面






SDN控制器元件

OpenFlow协议





OpenDaylight(ODL)控制器

ONOS控制器

SDN: 面临的挑战

