路由协议概述
路由协议:路由器用来计算、维护网络路由信息的协议,工作在传输层或应用层。如RIP\OSPF\BGP等
可路由协议:可被路由器转发的协议,工作在网络层。如IP、IPX等
一、路由协议分类
1.根据作用范围分类:
内部网关协议(IGP) 在一个自治系统内部运行,常见的IGP包括RIP、OSPF、和IS-IS
外部网关协议(EGP)在不同自治系统之间运行,常用的EGP是BGP
2.根据使用的算法分类:
距离矢量协议: RIP、BGP。其中BGP也被称为路径矢量协议;
链路状态协议: OSPF、IS-IS。
二、动态路由协议工作原理
邻居发现:路由器通过发送广播报文或发送给指定的路由器邻居以主动把自己介绍给网段内其它路由器;
路由交换:每台路由器将自己已知的路由相关信息发给邻居路由器
路由计算:每台路由器运行某种算法,计算出最终路由
路由维护:路由器之间通过周期性地发送协议报文来维护邻居信息
三、动态路由协议特点
1.距离矢量型路由协议特点:
周期性、广播式发送路由更新;
路由更新中携带全部路由表,接收方据此更新自己的路由;
超过一定时间接收不到路由更新,则认为路由失效;
以到目的地的距离(跳数)作为度量值;
拓扑变化以逐跳的方式扩散;
路由收敛速度慢
采用距离矢量算法,可能造成路由环路。
距离矢量路由协议基于贝尔曼-福特算法(D-V算法)
2.链路状态型路由协议特点
通过Hello报文发现邻居;
建立邻接关系后,只发送链路状态公告(LSA)
根据自己链路状态信息库(LSDB)来计算路由
以到目的地的开销(cost)作为度量值;
链路状态变化时,马上发送LSA到区域内所有路由器;
路由收敛速度快;
采用SPF算法,无路由自环。
链路状态路由协议基于Dijkstra算法(最短路径优先算法)
3.路径矢量型路由协议特点
仅在邻居刚建立时发送全部路由表;
邻居建立后发送增量路由;
如果邻居失效则认为路由失效;
丰富的路由属性作为度量值;
拓扑变化以逐跳的方式扩散;
采用机制防止路由环路;
其结合了距离矢量路由协议和链路状态路由协议的优点
邻居关系的建立以单播方式,通过TCP三次握手建立;定时交换Keepalive报文
四、路由协议比较
1.可靠性、安全性比较
协议 | 协议端口 | 可靠性 | 安全性(是否支持验证) |
RIP-1 | UDP 520 | 低 | 否 |
RIP-2 | UDP 520 | 低 | 是 |
OSPF | IP 89 | 高 | 是 |
IS-IS | 基于链路层协议 | 高 | 是 |
BGP | TCP 179 | 高 | 是 |
2.协议特性比较
特性 | RIP-1 | RIP-2 | OSPF | IS-IS | BGP |
距离矢量算法 | 是 | 是 | - | - | 是 |
链路状态算法 | - | - | 是 | 是 | - |
支持VLSM | - | 是 | 是 | 是 | 是 |
支持手工聚合 | - | 是 | 是 | 是 | 是 |
支持自动聚合 | 是 | 是 | - | - | 是 |
支持无类别 | - | 是 | 是 | 是 | 是 |
收敛速度 | 慢 | 慢 | 快 | 快 | 慢 |
度量值 | 跳数 | 跳数 | 开销 | 开销 | 路径属性 |
3.定时器比较
协议 | 周期性发送全部路由 | Hello定时器 | 保持定时器 |
RIP-1 | 30秒 | - | 180秒 |
RIP-2 | 30秒 | - | 180秒 |
OSPF | 触发更新 | 广播链路上10秒 | 4倍hello定时器 |
IS-IS | 触发更新 | 10秒 | 4倍hello定时器 |
BGP | 触发更新 | 60秒 | 3倍hello定时器 |