部分内容转载
原文链接:https://blog.csdn.net/weixin_45825865/article/details/126431024

路由选择协议的功能包括:交换网络状态或通路信息、选择到达目的地的最佳路径、更新路由表等
一、路由信息协议RIP
RIP是内部网关协议(IGP)中最先得到广泛应用的协议,是一种分布式的基于距离-向量的路由选择协议。RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。
*注:RIP的路由器不知道全网的拓扑结构
RIP是应用层协议,使用UDP传送数据;一个RIP报文最多可包括25个路由,如超过,必须再用一个RIP报文传送。

直接交付:路由器和目的网络直接相连
距离(跳数):从源端口到目的端口所经过的路由器个数(含自身),经过一个路由器跳数+1。基本单位为“跳”。从路由器到直接连接的网络距离为1(或0)。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
仅和相邻路由器交换自己的路由表的全部内容,每30秒广播一次RIP路由更新信息(即按照一定的时间间隔发布路由信息),建立并维护路由表(动态路由表),经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。若180s还没收到相邻路由器X的更新路由表,则可能链路出现故障。RIP协议中每个网络的子网掩码必须相同。
*注:收敛是指当路由环境发生变化后,各路由器调整自己的路由表以适应网络拓扑结构的变化,最终达到稳定状态(路由表与网络拓扑状态保持一致)。收敛越快,路由器就能越快适应网络拓扑结构的变化。
修改路由表的步骤:修改距离和下一跳。相邻路由器的路由表中没有就加入,下一跳相同直接修改,不同选最小。若180s还没收到相邻路由器X的更新路由表,则把×记为不可达的路由器,即把距离设置为16。
eg1: 已知路由器R6的路由表,现收到相邻路由器R4发来的路由更新信息,试更新路由器R6的路由表:

eg2:

二、OSPF开放最短路径优先
使用分布式链路状态路由算法的典型代表,也是内部网关协议(IGP)的一种,可以根据链路状态路由算法计算最佳路由,使用Dijkstra算法计算从自己到各目的网络的最优路径。
(1)使用洪泛法向自治系统内所有路由器发送信息。即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。
(2)发送的信息是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价——费用、距离、时延、带宽等)。
(3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快
最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。
*注:OSPF是网络层协议,它不使用UDP或TCP,而直接用IP数据报传送
Dijkstra算法(迪杰斯特拉算法)
三个数组
(1)final[ ]:标记各顶点是否已找到最短路径
(2)dist[ ]:最短路径长度,无路径用∞表示
(3)path[ ]:路径上的前驱,如:path[2]=1表示由1到2的路径。起点无前驱,path置-1;无路径无前驱,path置-1
2.分组类型
(1)问候分组HELLO:用来发现和维持邻站的可达性。
(2)数据库描述分组DD:向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
(3)链路状态请求分组LSR:向对方请求发送某些链路状态项目的详细信息。
(4)链路状态更新分组LSU:用洪泛法对全网更新链路状态。
(5)链路状态确认分组LSAck:对链路更新分组的确认
3.链路状态路由算法
(1)每个路由器发现它的邻居结点HELLO问候分组,并了解邻居节点的网络地址。
(2)设置到它的每个邻居的成本度量metric。
(3)构造DD数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
(4)如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送LSR链路状态请求分组请求自己没有的和比自己更新的信息。
(5)收到邻站的LSR分组后,发送LSU链路状态更新分组进行更新。
(6)更新完毕后,邻站返回一个LSAck链路状态确认分组进行确认。
(7)使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
只要一个路由器的链路状态发生变化:
(1)泛洪发送LSU链路状态更新分组进行更新。(因此,OSPF协议可以根据网络通信情况动态地改变路由)
(2)更新完毕后,其他站返回一个LSAck链路状态确认分组进行确认。

三、边界网关协议BGP
边界网关协议是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议,常用于互联网的网关之间,采用的是路径向量路由选择协议。属于应用层协议,基于TCP。
1.工作原理
(1)每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”。
(2)一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息(包含一个完整的路径,即到达某个网络所经过的路径),先建立TCP连接,再然后在此连接上交换BGP报文以建立BGP会话(利用BGP会话交换路由信息)。
(3)所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可找出到达各个自治系统的较好路由。
在BGP刚运行时,BGP的邻站交换整个BGP路由表,但以后只需在发生变化时更新有变化的部分。

RIP、OSPF与BGP的比较
RIP 是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。
BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

6344

被折叠的 条评论
为什么被折叠?



