• 使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道
– 自身与目的网络之间的距离
– 应该往哪个方向或使用哪个接口转发数据包
• 直连路由写入路由表
基于距离矢量算法的协议,使用跳数作为度量来衡量到达目的网络的距离。
• RIP是应用及开发较早的路由协议,是典型的距离矢量路由协议
• 适用于小型网络,最大跳数15跳(16跳视为不可达)
• RIP是基于UDP的,使用端口号520
• 在华为 VRP 平台上的管理性距离为100
• 路由器启动时,路由表中只会包含直连路由。运行RIP 之后,路由器会发送Request 报文,用来请求邻居路由器的RIP 路由,运行RIP 的邻居路由器收到报文后,会根据自己的路由表,生成Response 报文进行回复,路由器收到Response 报文后,会将相应的路由器添加到自己的路由表中。
更新原则:
1、对于本路由表中已有的路由项,当该路由项的下一跳是该邻居路由器时,不论度量值将增大或者减少,都更新该路由项。(度量值相同时只将其老化定时器清零。路由表中的每一个路由项都对应了一个老化定时器,默认180s 没有任何更新时,定时器超时,该路由项的度量值变为不可达)
2、当该路由项的下一跳不是邻居且度量值减少,则更新路由。
3、对于本路由表中不存在的项,如果度量值小于16则增加路由项。
4、当发送路由更新时,会把度量值加1。
5、度量值变为不可达的路由项,将会在Response 报文中发布四次(120s),然后从路由表中清除。
• 网络稳定后,路由器会周期性的发送路由更新信息,默认周期为30s。
RIPv1 | RIPv2 |
使用广播更新路由表 | 支持广播、组播(224.0.0.9)更新路由表 |
有类路由协议 | 无类路由协议 |
不支持VLSM | 支持VLSM、路由聚合、CIDR |
没有认证功能 | 有认证功能 |
不支持手工汇总 | 支持手工汇总 |
不支持路由标记(Tag) | 支持路由标记功能 |
更新消息中的路由条目没有Next-hop信息 | 更新消息中的路由条目含有Next-hop信息 |
RIPv1报文格式:
Command | Version | Must be Zero | |
Address Family Identifier | Must be Zero | ||
IP Address | |||
Must be Zero | |||
Must be Zero | |||
Metric |
Command:取值1(请求报文Request),取值2(响应报文Response)
Version:版本,RIPv1则值为1。
Address Family Identifier(AFI):地址标识信息,对于ip协议则值为2。
IP Address:路由条目的目的IP地址。可以是网络地址、主机地址。
Metric:度量值,取值1~16。
更新信息最多包含25条路由项,报文大小不超过504字节,
RIPv2报文格式:
Command | Version | Unused | |
Address Family Identifier | Route Tag | ||
IP Address | |||
Subnet Mask | |||
Next Hop | |||
Metric |
Route Tag:用于标记外部路由。
Subnet Mask:指定IP地址的子网掩码,定义IP地址的网络或子网部分。
Next Hop:指定通往目的地址的下一跳IP地址。
RIPv2 认证:
Command | Version | Unused | |
0XFFFF | Authentication Type | ||
Authentication |
当RIP 网络正常运行时,RTA会通过RTB学到10.0.0.0/8的路由,度量值为1,当RTB的直连网络10.0.0.0/8发生故障时,认为该路由不可达,删除路由条目,此时RTA还没有收到该路由不可达的信息,会向RTB继续发送之前从 RTB学到的该条目,RTB则会学习且添加此条目,并且认为可以通过RTA到达该网段,则会向RTA继续发送,并且度量值加1,此时为2,RTA收到之后会更新此条目,然后发送给RTB如此循环直到度量值为16。
有多种机制可以消除路由环路。这些机制包括:
• 定义最大跳数
上例中提到最终当度量值达到16时则停止更新,此为防止环路的一个机制,通过定义最大跳数可以很好的防止路由度量值计数到无穷大,但同时RIP最大跳数的定义极大程度上限制了RIP所能支持的网络规模。
• 水平分割
原理是当路由器从对端路由学习到的路由条目不会再发往对端路由器。比如RTA从RTB学到10.0.0.0/8的路由则不会再发给RTB。
• 毒性路由(思科)
当路由器感知到某个网段发生故障,可以立即泛洪该网段的路由(将其跳数
设置为16跳,也就是不可达),以此来快速刷新网络中其他路由器的路由表。当RTB发现10.0.0.0/8不可达时则会立即发送其度量值为16的路由条目。
• 毒性逆转
与水平分割可以一起讲,当路由器从对端学到路由条目,发回对端时将其学到的路由条目的度量值设置为16。当RTA从RTB学到10.0.0.0/8的路由,发回时则将此条度量值设置为16。
• 触发更新
缺省情况一台RIP路由器每30s发送一次路由表更新给邻居,触发更新允许当本地路由信息发生变化的时候立即向邻居发送更新报文。
• 端口抑制
[Huawei-rip-1]silent-interface GigabitEthernet 0/0/0 |
使该端口只接收RIP报文,更新自己路由表,但是不发送RIP报文,优先级高于下文将要说的rip input和rip output。
[Huawei]rip ? INTEGER<1-65535> Process ID mib-binding Mib-Binding a process vpn-instance VPN instance <cr> Please press ENTER to execute command [Huawei]rip [Huawei-rip-1]version ? INTEGER<1-2> Version of RIP process [Huawei-rip-1]version 2 [Huawei-rip-1]network ? IP_ADDR<X.X.X.X> Classful network address [Huawei-rip-1]network 10.0.0.0 [Huawei-rip-1] |
配置Metricin
配置Metricout
[Huawei-GigabitEthernet0/0/0]rip metric? metricin Assign a metric to be added to the metric of inbound route metricout Assign a metric to be added to the outbound route |
rip metricin:当路由器发送路由条目的时候会在配置了metricin的接口上加上metricin配置的值。
rip Metricout:当路由器发送路由条目的时候会将metirc值设置为接口上配置的Metricout值。
配置水平分割&毒性逆转
[Huawei-GigabitEthernet0/0/0]rip split-horizon |
在同时配置呃水平分割和毒性逆转的华为ARG3系列路由器中,只有毒性逆转会生效。
禁止端口发送RIP 报文
[Huawei-GigabitEthernet0/0/0]undo rip output |
禁止端口接收RIP 报文
[Huawei-GigabitEthernet0/0/0]undo rip intput |
display rip 1 interface GigabitEthernet 0/0/0 Verbose
文章评论(0)