31、动态路由协议:OSPF、RIP、BGP比较

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

概述

首先得知道“谁和谁交换信息”、“交换什么样的信息”、“多久交换一次信息”三个问题的答案

RIP OSPF
和谁交换信息 仅和相邻的路由器交换信息 向所有路由器发送信息,洪泛法
交换什么样的信息 当前本路由器知道的全部信息 本路由器相邻所有路由器的链路状态
多久交换一次 固定时间间隔 当链路状态发生变化时

RIP 路由信息协议

一种分布式的基于距离向量的路由选择协议。

规定

  1. 网络中每个路由器都要维护从他自身到其他每个目的网络的距离记录;

  2. 距离也称跳数;

  3. RIP认为好的路由就是通过路由器最少,即优先选择条数少的路径;

  4. 允许一条路径上最多允许15个路由器(最多允许15跳)

  5. 默认30s更新广播一次

距离向量算法

每个路由表项目都有三个关键数据:<目的网络N,距离d,下一跳路由器X>,对于每个邻路由器发过来的RIP报文,执行以下步骤:

  1. 对地址为X的相邻路由器发来的RIP报文,先修改报文中的所有项目:把“下一跳”字段地址改成X,把所有“距离”字段的值加1;

  2. 对修改后的RIP报文中的每个项目,执行如下步骤:
    ① 原路由表中没有目的网络N时,把该项目添加进路由表;
    ② 有N,且下一跳是X,有新的项目取代旧的;
    ③ 有N,下一跳不是X,如果收到的项目d小于路由表中的距离,则代替路由表的项目,否则什么也不做。

  3. 如果180s都没收到邻路由器的更新报文,就把邻路由器记为不可达路由器,距离设为16。

OSPF 开放最短路径优先协议

一种分布式链路状态路由算法。

特点

和RIP相比主要有4点区别:

  1. 洪泛法,给所有路由器发送信息;

  2. 发送的信息是……

  3. 链路变化时才会更新

  4. OSPF是网络层协议,不适用UDP和TCP,直接用IP数据报传送,而RIP是应用层协议,在传输层使用了UDP

除此以外,OSPF还有以下特点:

  1. OSPF可以根据IP分组不同服务类型,设置成不同的代价

  2. 如果同一目的网络有多条相同代价的路径就可以将通信量分配给这几条路径。即多路径间的负载平衡

  3. OSPF路由器之间交换的分组都有鉴别功能,能保证仅在可信赖的路由器之间交换链路状态信息

  4. 支持可变长的子网划分和CIDR

  5. 每个链路状态都带上一个3位的序号,序号越大,状态越新

  6. RIP“坏消息传得慢”,OSPF则不会

工作原理

经过路由间频繁交换链路状态信息,所有路由器最终都能建立一个链路状态数据库(全网的拓扑结构图)。

然后每个路由器根据结构图使用Dijkatra最短路径算法计算从自己到各目的网络的最优路径,以此构造自己的路由表。虽然计算出最佳路径,但路由器不会存储完整路径,只会存储下一跳

OSPF五种分组类型

  1. 问候分组:用来发现和维持邻站的可达性,通常每隔10s,每两个相邻路由器要交换一次问候分组,以便知道哪些站可达

  2. 数据库描述分组:向邻站给出自己链路状态数据库中的所有链路状态项目的摘要信息

  3. 链路状态请求分组:向对方请求发送某些链路状态项目的详细信息

  4. 链路状态更新分组:用洪泛法对全网更新链路状态

  5. 链路状态确认分组:对链路更新分组的确认

BGP 边界网关协议

一种基于路径向量路由选择协议。

工作原理

每个自治系统(AS)至少选择一个路由器作为“BGP发言人”,一个发言人与其他AS的发言人要交换路由信息,需要先建立TCP连接(可见BGP报文是通过TCP传送的,BGP报文时TCP报文的数据部分),然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。

当所有发言人交换网络可达性的信息后,各BGP发言人就可找出到各个自治系统的较好路由。

每个发言人除必须运行BGP外还必须运行各AS的内部网关协议。BGP所交换的网络可达性信息就是要到达某网络需要经过的一系列AS。

特点

  1. BGP交换路由信息的结点数量级是自治系统的数量级,比网络总数少很多

  2. 每个AS的BGP发言人(或边界路由器)数量很少,简化路由选择

  3. 支持CIDR,因此BGP路由表也就应当包括目的网络前缀、下一跳路由器以及到达该目的网络所经过的各个自治系统系列

  4. BGP首次运行,BGP的邻站交换整个BGP路由表,之后只需在发生变化时更新有变化的部分

四种报文

  1. 打开报文:用来与相邻的另一个BGP发言人建立关系

  2. 更新报文:用来发送某一路由的信息,以及列出要撤销的多条路由

  3. 保活报文:用来确认打开报文并周期性地证实邻站关系

  4. 通知报文:用来发送检测到的差错

三种协议比较

协议 RIP OSPF BGP
类型 内部 内部 外部
路由算法 距离-向量 链路状态 路径-向量
传递协议 UDP IP TCP
路径选择 跳数最少 代价最低 较好,非最佳
交换结点 和本结点相邻的路由器 网络中所有的路由器 和本结点相邻的路由器
交换内容 当前本路由器知道的全部信息,即自己的路由表 与本路由器相邻的所有路由器的链路状态 首次:整个路由表;非首次:有变化的部分

猜你喜欢

转载自blog.csdn.net/qq_43416206/article/details/129964838