1:引言
1:路由器接收到一个分组,可能有多条路径能到达目的地,但那一个是最佳路径,其中一种方法是为每个网络指定一个代价(度量),代价低的路径就被认为是好的
2:如果我们希望网络吞吐量最大化,那么高吞吐量就是低代价的,如果我们希望时延最小化,那么时延小就是代价低的
3:路由表分为静态路由表和动态路由表,静态路由表是人工配置的
4:动态路由表需要路由选择协议的支持,它使得互联网中的路由器能够相互通信,交换彼此已知信息,路由选择协议可以是内部协议和外部协议,内部协议处理域内路由选择,外部协议处理域间路由选择
2:域内和域间路由选择
1:由于互联网太过庞大,所以他被划分为多个自治系统,一个自治系统就是在一个管理机构管辖下的一组网络和路由器,在自治路由系统内部的路由选择称为域内路由选择,自治系统之间的路由选择称为域间路由选择,每一个自治系统内部可以使用多种域内路由选择协议,自治系统之间只能使用一种域间路由选择协议
2:主流域内选择协议是距离向量(如RIP)和链路状态(如OSPF),域间路由选择协议是路径向量(如BGP)
3:距离向量路由选择
具体算法参考书上,下面做简要说明
1:此路由选择采用动态规划找到跳数最小的路径
2:每个路由器执行动态规划的一部分算法,也就是说此算法是分布式的,每个路由器会从邻站获得一些信息进行计算,A找到最优路径到B,B同样进行路由选择通过算法到C
3:一个路由器更新了自己的路由表后,要将跟新发送给所有邻站
4:我们把来自邻站的一条路由信息成为一个记录,每条记录包括[目的网络,代价],收到记录的路由器就能和自己保存的路由进行比较,保留更优的路由
5:计数到无穷大:距离向量路由选择存在的问题是:好消息扩散快,坏消息扩散慢
解释:路由器大约每隔30秒与邻站交换一次路由表,并且是交换完整的路由表,假设网络是A-B-C,B中表项是A-1,C中表项是A-2-B,当A-B断开后,B要30秒后才会发送路由表,此时C发送A-2到B,B认为通过C能到A,则更新自己的表项为A-3-C,并发送给C,C又更新自己的表项A-4-B,以此类推到无穷大,他们才知道了A不可达
6:为了解决计数到无穷大问题,定义了如下方法:
(1:)定义无穷大:缩短两者循环次数,定义代价为16则为不可达,这也就限制了路由器最大跳数为15跳
(2):分割范围,分割范围和毒性逆转,三节点的不确定性,这些有兴趣看书吧
4:RIP
RIP是距离向量路由选择的具体实现,以下说明可能和上面有些重复,加深理解而已
1:代价即为跳数,最大跳数为15,16为不可达
2:RIP报文分为RIP请求报文和RIP响应报文
3:当路由器刚刚接入网络或者有些表项超时,就会发送RIP请求报文,RIP请求报文询问某些特定表项或者全部表项
4:响应可以是询问或者非询问的,询问响应是在回答请求时发出,非询问响应是30秒定时发送,非询问响应也成为更新分组
RIP使用三种计时器
1:定期计时器:定期发送更新分组,虽然协议指明是30秒发送一次,但实际是25~35秒之间的一个随机数发送一次,这是为了错开洪峰
2:截止期计时器:每个路由都有一个180秒计时器,正常情况下每个30秒(如上)会受到一次此路由的更新,此时复位此计时器,如果180秒内没有收到,则此路由代价被标注为16
3:无用信息收集计时器:当一条路由超过截止期计时器后,它不会被删除,会通过这个路由代价为16,当超过无用信息收集计时器120秒时,此路由被删除
5:RIP2
RIP2与1相比有如下大的改进
1:RIP2支持无分配编
2:RIP1使用广播将RIP报文发送到每个路由器和主机,RIP2使用全路由器多播地址把RIP报文只发送到网络上的路由器
6:链路状态路由选择
1:链路状态路由选择要求每个节点都尽可能知道这个域的完整拓扑,然后采用动态规划选择路由,虽然每个节点都可能不会有完整的拓扑结构,但每个节点知道其中的一部分,从所有节点的分布拓扑计算出最优路径
2:与距离向量路由选择的区别是:距离向量路由选择每个节点只维护下一跳信息,链路状态路每个节点由试图维护整个拓扑信息
3:采用洪泛发送路由表,不仅仅是向邻接结点发送路由表,而是向所有结点发送,这个过程成成为洪泛
7:OSPF
1:OSPF基于链路状态路由选择实现
2:OSPF把一个自治系统划分为若干区域,一个区域就是包含在一个自治系统中的若干网络,主机,路由器的集合,一个区域内部用洪泛法发送路由选择信息,在区域的边界,有一些特殊的路由器称为区域边界路由器,这些路由器把本区域信息汇总起来发送到其他区域
3:OSPF有一个特殊的区域成为主干,自治系统其他区域必须通过区域边界路由器连接到主干上,但这并不表示各区域内部路由器不能互相连接
3:主干上的路由器称为主干路由器,主干路由器同时也可以是区域边界路由器
4:OSPF详情参考书上
8:路径向量路由选择
1:距离向量路由选择和链路状态路由选择都是用于自治系统之间,他们不不能用于自治系统之间,当区域变的很大时:
跳数会增多,距离向量路由选择会变的不稳定,链路状态选择需要大量的资源用于计算路由表,并且通过洪泛法也会产生很大的通信量
2:路径向量路由选择可以看成一个扩大版的距离向量路由选择,距离向量路由选择用于为域间路由服务,路径向量路由选择为因特网服务