路由协议分为域内路由选择和域间路由选择,域内路由选择常见的是RIP和OSPF协议,域间路由选择常见的是BGP

首先得知道“谁和谁交换信息”、“交换什么样的信息”、“多久交换一次信息”三个问题的答案
RIP | OSPF | |
|---|---|---|
和谁交换信息 | 仅和相邻的路由器交换信息 | 向所有路由器发送信息,洪泛法 |
交换什么样的信息 | 当前本路由器知道的全部信息 | 本路由器相邻所有路由器的链路状态 |
多久交换一次 | 固定时间间隔 | 当链路状态发生变化时 |
一种分布式的基于距离向量的路由选择协议。
每个路由表项目都有三个关键数据:<目的网络N,距离d,下一跳路由器X>,对于每个邻路由器发过来的RIP报文,执行以下步骤:
一种分布式链路状态路由算法。
和RIP相比主要有4点区别:
除此以外,OSPF还有以下特点:
经过路由间频繁交换链路状态信息,所有路由器最终都能建立一个链路状态数据库(全网的拓扑结构图)。
然后每个路由器根据结构图使用Dijkatra最短路径算法计算从自己到各目的网络的最优路径,以此构造自己的路由表。虽然计算出最佳路径,但路由器不会存储完整路径,只会存储下一跳
一种基于路径向量路由选择协议。
每个自治系统(AS)至少选择一个路由器作为“BGP发言人”,一个发言人与其他AS的发言人要交换路由信息,需要先建立TCP连接(可见BGP报文是通过TCP传送的,BGP报文时TCP报文的数据部分),然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。
当所有发言人交换网络可达性的信息后,各BGP发言人就可找出到各个自治系统的较好路由。
每个发言人除必须运行BGP外还必须运行各AS的内部网关协议。BGP所交换的网络可达性信息就是要到达某网络需要经过的一系列AS。
协议 | RIP | OSPF | BGP |
|---|---|---|---|
类型 | 内部 | 内部 | 外部 |
路由算法 | 距离-向量 | 链路状态 | 路径-向量 |
传递协议 | UDP | IP | TCP |
路径选择 | 跳数最少 | 代价最低 | 较好,非最佳 |
交换结点 | 和本结点相邻的路由器 | 网络中所有的路由器 | 和本结点相邻的路由器 |
交换内容 | 当前本路由器知道的全部信息,即自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次:整个路由表;非首次:有变化的部分 |