RIP
RIP (Routing Information Protocol、路由信息协议) 是一种内部网关协议 (IGP),为最早出现的距离向量路由协议。其主要应用于规模较小的、可靠性要求较低的网络,可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。RIP 通过 UDP 报文进行路由信息交换,端口号为 520 。默认优先级为 100
- Command : 指令,标识报文类型
- 1 : Request 报文,向邻居请求全部或部分路由信息
- 2 : Reponse 报文,发送自己全部或部分路由信息,一个 Response 报文中最多包含 25 个路由表项
- Version : 版本,标识版本号
- 1 : RIPv1
- 2 : RIPv2
- Must be zero : 0 字段 (16 Bytes / 32 Bytes),值为 0
- Address family identifier : 地址族标识
- 2 : IP 协议
- 0 : Request 报文
- IP Address : IP 地址,路由的目的IP地址
- Metric : 开销值,对于 Request 报文,此字段值为 16
原理
- RIP 协议启动后,路由器向相邻的其他路由器广播发送 Request 报文
- 对方从端口接收到 Request 报文后,将自己的 RIP 路由表封装在 Response 报文内,从接收端口广播发送
- 路由器根据接收到的 Response 报文形成路由表
在 RIP 网络中,缺省情况下,设备到与它直接相连的跳数为 0 ,通过一个设备可达的网络跳数为 1,度量值等于从本网络到达目的网络间的设备数量。为限制收敛时间,RIP 规定度量值取0~15之间的整数,大于或等于 16 的跳数被定义为无穷大,即目的网络或主机不可达
工作过程
- 初始状态 : 路由器开启 RIP 进程,宣告相应接口,则设备就会从相关接口发送和接收 RIP 报文
- 构建路由表 : 路由器依据收到的 RIP 报文构建自己的路由表项
- 维护路由表 : 路由器每隔 30 秒发送更新报文,同时接收相邻路由器发送的更新报文以维护路由表项
- 老化路由表项 : 路由器为将自己构建的路由表项启动 180 秒的定时器。 180 秒内,如果路由器收到更新报文,则重置自己的更新定时器和老化定时器
- 垃圾收集表项 : 如果 180 秒过后,路由器没有收到相应路由表项的更新,则启动时长为 120 秒的垃圾收集定时器,同时将该路由表项的度量置为 16
- 删除路由表项 : 如果 120 秒之后,路由器仍然没有收到相应路由表项的更新,则路由器将该表项删除
版本区别
RIPv1 | RIPv2 | |
---|---|---|
报文目标地址 | 广播,255.255.255.255 | 组播,224.0.0.9 |
更新周期 | 30s | 30s |
网路类型 | 有类,不携带子网掩码 | 无类,携带子网掩码 |
是否支持不连续子网 | 不支持 | 支持 |
是否支持 VLSM 和 CIDR | 不支持 | 可以通告学习 CIDR 网络, 但是在路由汇总时不支持 CIDR |
是否支持路由聚合 | 不支持 | 支持手工汇总, 默认情况下是自动汇总 |
是否支持认证 | 不支持 | 支持 |