一、路由算法
- 也就是找出相对合理路径的路由选择算法。
二、分层次的路由选择协议
三、RIP协议
- RIP协议,是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大的优点是简单。
- RIP协议要求网络中每个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离。(所以,如果网络特别大,就不适用了)
- 距离:就是跳数,指定从源到目的端口,需要经过的路由器个数。最多能经过15个路由器,距离为16就表示网络不可达了。
- 只适用于小互联网
1. 交换信息
- 通过路由器之间,相邻路由器互相交换路由表信息,实现逐渐完善自己的路由表信息。
- 一开始的时候,所有路由器的路由表里面只有相邻路由器的路由信息。也就是下一跳路由器是相邻的路由器,距离为1。然后,路由器之间开始相互交换信息,经过好几轮的互相传播之后,就可以知道本自治系统任何一个网络的最短距离和下一跳路由器的地址,即收敛。
- 路由器之间每30s交换一次信息,然后更新自己的路由表。如果超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表。
2. 距离向量算法
- 也就是如何完善路由表的一个算法。
- 收到了相邻路由器传来的路由表,要写入自己的路由表之前,都需要将下一跳地址改为发过来的路由器的地址,所有距离+1。
- 如果是自己没有的表项,则直接加入到路由表中。
- 如果是自己有的表项,并且下一跳地址相同,则直接更新。
- 如果是自己有的表项,并且下一跳地址不相同,则比较距离,如果距离比现在表项短则更新,如果比现在长则不更新。
3. RIP协议的报文格式
- RIP协议是应用层的协议
- 它通过UDP进行传送数据。
4. 好消息传得快,坏消息传的慢
- 当网络故障的时候,有可能需要好长时间才能让所有路由器收敛。
- 且看上图,有可能存在并发问题。当R1路由器检测到网1出现故障之后,将自己到该网的路由表信息的距离修改为16,但是该路由表信息还没来得及传给相邻的路由器R2,就收到了相邻路由器R2的路由表信息。而该路由表信息携带了到网络1的距离,路由器R1就误以为它可以到达网络1,就将到达网络1的路由表信息修改为下一跳为R2。反复横跳,也没发现彼此都到不了网络1,直到距离达到16。