目录
1. 引言
路由器间的通信,RIP(选路信息协议)、OSPF(开放最短路径优先选路协议)、BGP(边界网关协议)、无分类域间选路
2. 动态选路
相邻路由器之间进行通信,以告知对方当前所连的网络——动态选路。路由器上的路由守护程序运行选路协议与相邻路由器进行通信。
未改变的:内核在IP层的选路方式,内核搜索路由表,查找主机路由、网络路由以及默认路由的方式。
改变的:放置到路由表中的信息(由路由守护程序动态地增加或删除,而不是来自于引导程序中的route命令)
每个AS(自治系统)内采用的选路协议:内部网关协议IGP,最常用的IGP是选路信息协议RIP,开放最短路径优先(OSPF)协议是一种新的IGP
不同AS之间的选路协议:外部网关协议EGP,边界网关协议BGP
3. Unix选路守护程序
4. RIP:选路信息协议
4.1 报文格式
使用IP地址时的RIP报文格式:
- 命令字段:请求1,应答2,3、4舍弃不用,轮询5,轮询表项6。请求要求其它系统发送全部或部分路由表,应答包含发送者全部或部分路由表。
- 版本字段:1(RIPv2为2)
这种格式的RIP报文最多可以通告25条路由,这样报文总长度为20*25+4=504,小于512字节
4.2 正常运行
- 初始化:在每个启动了的接口上发送一个请求报文,要求其他路由器发送完整路由表。目的UDP端口号为520,命令字段为1,地址系列字段为0,度量字段为16
- 接收到请求:路由器将完整路由表发送给请求者,或是处理请求中的每一个表项后发回响应
- 接收到响应:更新路由表
- 定期选路更新:每隔30s,所有或是部分路由器将完整路由表发送给相邻路由器
- 触发更新:当路由的度量发生变化时更新。只需要发送发生了变化的表项。
注意:3min内未更新的路由的度量会被设置成16并标注为删除,再过60s,从本地路由表中将其删除
4.3 度量
RIP采用跳数作为路由度量
- 直接连接接口的跳数为1
- 若相邻路由器通告它与其他网络路由的跳数为1,那么我们与那个网络的度量就是2
- 跳数最大值为15,度量为16表示无路由到达该IP地址,即,RIP只能用在主机之间最大跳数为15的AS内
4.4 问题
- 没有子网地址的概念,无法区分主机号的非零部分是子网号还是主机地址
- 路由器或链路故障后要过几分钟才能稳定,这段时间里可能会发生路由环路
- 采用跳数作为度量,一方面忽略了其他因素,另一方面最大值为15限制了可使用RIP的网络的大小
5. RIP版本2
实际上就是利用RIP报文中 “必须为0” 的字段来传递额外信息。
- 路由域:选路守护程序的标识符,指出数据报的所有者
- 选路标记:携带一个EGP和BGP的自治系统号,该标记是为了支持外部网关协议存在的
6. OSPF:开放最短路径优先
OSPF与RIP的不同点:
- OSPF属于链路状态协议,路由器不与邻站交换距离信息,而是每个路由主动测试与其邻站相连链路的状态,将这些信息发送给其他邻站,从而建立起完整的路由表。
而RIP采用的是距离向量,即,发送的报文包含一个距离向量(跳数),每个路由器根据自己收到的邻站的距离向量来更新自己的路由表。 - OSPF直接使用IP,不适用UDP或TCP(IP首部的协议字段有自己的值)
OSPF的优点:
- 采用多播而非广播,减少了不参与OSPF的系统负载
- 采用了简单鉴别机制,安全
- 多条相同开销的路径。当对同一个目的地址存在多个具有相同开销的路径时,允许使用多条路径,从而可以在这些路径上平均分配流量,流量平衡。
- 可对每个IP服务类型计算各自的路由集(一个目的地址可以有多个路由表项)
- 支持子网。到主机的路由子网掩码全1,默认路由IP地址全零、网络掩码全0
- 节省IP地址。点对点链路不需要每端一个IP地址(无编号网络)
7. BGP:边界网关协议
7.1 AS中IP数据报分类
起始或终止于该AS的流量称为本地流量,其他的流量则称为通过流量
7.2 自治系统分类
- 残桩AS,只有本地流量,与其他AS只有单个连接
- 多接口AS,与其他AS有多个连接,但拒绝传送通过流量
- 转送AS,与其他自治系统有多个连接
1和2不需要使用BGP,只需要运行EGP
7.3 与RIP和OSPF的不同
- BGP使用TCP作为传输层协议,RIP使用UDP,OSPF直接使用IP不使用TCP或UDP
- BGP也是距离向量协议,但与采用跳数作为路由度量的RIP不同,BGP列举到每个目的地址的路由
7.4 其他
- 允许使用基于策略的选路
- 定期(间隔建议为30s)发送keepalive报文给邻站来检测TCP连接对端的链路或主机失败
8. CIDR:无类型域间选路
8.1 目的和基本思想
用来防止路由表膨胀,CIDR也称为超网。
基本思想就是分配多个IP地址,使路由表中的多个表项总和成更少的数目。
8.2 总和表项需要满足的特性
- 总和的IP地址要具有相同的高位地址比特
- 路由表和选路算法要扩展成根据32位IP地址和32位掩码做选路决策
- 需要扩展选路协议,使其除了32位地址外还要有32位掩码
8.3 其他
- 最佳匹配总是最长匹配
- “无类型”指的是选路决策基于整个32位IP地址的掩码操作,不论IP地址类型
9. 小结
- 内部网关协议IGP,最常用的IGP——路由信息协议RIP以及新IGP开放最短路径优先OSPF
- 外部网关协议EGP,新近流行的EGP——边界网关协议BGP
- 减小Internet路由表大小的新技术——无类型域间选路CIDR