路由协议基本术语
1、自治系统AS
Internet中,自治系统就是处于同一个管理机构(如一个ISP)控制下的路由器和网络群组
在同一个自治系统中的所有路由器相互连接,运行相同的路由协议
每个自治系统都有唯一的标识(16位),称为AS号,有IANA来分配
2、EGP和IGP
外部网关协议EGP:用于由两个不同组织控制的网络间(自治系统间)运行的路由选择协议,如BGP
内部网关协议IGP:用于由单一组织控制或管理的网络内(自制系统内)运行的路由选择协议,如RIP、IGRP、EIGRP、OSPF、IS-IS
3、度量标准和度量值
路由协议使用度量标准来确定到达目的地的最佳路径,度量值是衡量路由好坏的一个值
路由算法在产生路由表时,会为每一条路径产生一个度量值,最小的值表示最优路径
常见的度量标准有:
- 跳数:数据包到达目的地之前必须经过的路由器个数
- 带宽:链路的数据容量
- 时延:数据包从源端到达目的端所用时间的长短
- 负载:网络资源已被使用的部分的大小
- 可靠性:网络链路的错误比特的比率
- 最大传输单元:连路上最大传输单元值
度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的
4、管理距离
管理距离是指一种路由协议的路由可信度,每一种路由协议按可靠性从高到低依次分配一个信任等级,这个等级就叫做管理距离
对于两种不同的路由协议产生到同一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议
管理距离越低,可信度越高
路由器学到的路由信息不是全部加入路由表作为数据包的转发依据,一般按照以下规则:
- 管理距离较低的路由技术获得的路由优先加入路由表中
- 管理距离相同的情况下路由器会查看与路由关联的度量值,选择最佳度量值的路径
5、路由协议与路由算法
路由协议:路由器之间相互学习网络信息,进行路由信息交换所遵循的网络协议
路由算法:选择最佳的数据传输路径
路由协议的分类:
-
有类路由协议:不支持可变长度的子网掩码(VLSM),不能从邻居那里学习到子网,所有关于子网的路由在被学习到时会自动变成子网的主类网
- 例如路由器在从邻居学到子网172.16.2.0/24时,自动将子网变成了主类网172.16.0.0/16(172.16.2.0属于B类地址)
- 包括RIP-1,IGRP
-
无类路由协议:支持可变长的子网掩码,能够从邻居那里学习到子网
- 包括RIP-2,EIGRP,OSPF
路由协议的性能参数:
- 可伸缩性:路由协议将如何有效地支持大型网络或可能增长的网络
- 路由更新:路由更新的效率决定了路由协议的可伸缩性
- 稳定性:网络拓扑变化(设备、链路故障,增加、减少设备等),不同路由器之间能否正确地路由更新和保持一致性
- 收敛速度:从网络拓扑改变到每个路由器确认该改变所消耗的时间
- 路由量度
- VLSM支持
路由算法的分类:
-
距离矢量:用**距离(跳数)和方向(下一跳路由器或送出接口)**矢量通告路由
- 使用距离矢量路由协议的路由器并不了解到达目的网络整条路径,路由器只知道应该往哪个方向或使用哪个接口发送数据包,以及自身与目的网络之间的距离
- 路由器定期向相邻的路由器发送自己的整个路由选择表
- 每个路由器根据算法取得累积网络距离信息,维护一个网络拓扑信息的数据库。
- 路由器只知道自己相邻的路由器,距离矢量算法不向路由器提供网络的确切拓扑结构
- 距离矢量路由协议对路由回路具有潜在的敏感性
- 距离矢量路由协议主要有:RIP-1、RIP-2、IGRP
-
链路状态:路由器向全网发送路由信息,每个路由器保持一份全网拓扑信息的数据库,当网络结构发生变化时立即发送更新信息
- 根据保持的全网信息,采用最短优先路径算法SPF
- 更适合大型网络,但复杂性使得路由器需要花费更多的处理器资源
- 能够在更短的时间内发现已经断了的链路和新连接的路由器,使得协议的收敛时间比距离矢量路由协议更短
- 链路状态路由协议主要有:OSPF、IS-IS
-
平衡混合:结合距离矢量和链路状态两中路由协议的特点
- 不是周期性的更新,而是使用拓扑改变来触发路由选择数据库的更新
- 收敛速度快且使用更少的带宽、内存和处理器开销
- 平衡混合路由协议包括:EIGRP
6、路由环路问题
路由环路问题:
- 距离矢量路由协议对路由回路具有潜在的敏感性,因为它们不维护除路由表以外的有关网络布局的任何附加信息。
- 距离矢量或链接状态协议都有可能发生路由回路,通过良好的设计可以最小化路由回路的可能性
距离矢量路由协议中防止出现路有环路、保证路由表正确性有六种基本的方法:
- 定义最大值:RIP协议的最大度量值为16跳,IGRP协议的最大度量值为4294967295(只有在路由环路产生后才有效)
- 水平分割:对于一台路由器,从一个方向学到的路由信息,不能再放入发回那个方向的路由更新包并且发回那个方向,可以防止环路的出现(尤其是相邻路由器),加快网络收敛
- 路由中毒:用来克服大型路由环路,并在一个网络不能访问时提供直接信息(一般通过设置为最大跳数+1来实现,即表示网络已经无法到达)
- 毒性反转:收到路由中毒消息的路由器不遵守水平分割原则,将中毒消息转发给所有相邻路由器,包括发送中毒信息的源路由器
- 抑制定时器:用来防止定期更新消息错误地恢复某条可能已经发生故障的路由。抑制定时器使路由器把关于某个路由的改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间长。当路由器从邻居收到以前能够访问的网络现在不能访问的更新后,将该网络的路由标记为possibly down,并启动抑制定时器,在定时器超时之前如果收到一个该网络的比原来路径具有更好度量值的路由,就标记为可以访问,取消抑制定时器,如收到更差的则更新将被忽略,使得有更多的时间让更新传遍整个网络。(抑制计时器主要用于防止过于频繁的路由信息更新和网络中的不稳定,而非直接解决路由环路问题)
- 触发更新:在网络发生变化时立刻发送路由更新信息,而不是等待定期的更新。检测到网络故障的路由器会立即发送一个更新信息给邻居路由器,并依次产生触发更新通知它们的邻居路由器,使整个网络上的路由器在最短的时间内收到更新信息。
解决环路问题一般将多种方法结合起来使用,如RIP协议包括:
- 水平分割
- 毒性反转
- 抑制定时器
- 触发更新