1.RIP V2简介:
RIP V2(Routing Information Protocol Version 2)是 RIP 路由协议的第二版,属于距离矢量路由协议,主要用于中小型网络环境。相较于 RIP V1,RIP V2 在功能和性能上进行了多项改进,支持无类域间路由(CIDR)和可变长子网掩码(VLSM),提高了网络地址的利用率和路由灵活性。
1.1RIP V2 的主要特性:
支持 VLSM 和 CIDR:
- RIP V2 可以在路由更新中携带子网掩码信息,支持无类路由,允许更灵活的 IP 地址分配和子网划分。
- 解决了 RIP V1 无法支持不连续子网的问题。
组播路由更新:
- RIP V2 使用组播地址
224.0.0.9
发送路由更新报文,而不是广播地址,减少了不必要的网络流量,提高了效率。
认证机制:
- 支持明文认证和 MD5 密文认证,增强了路由信息交换的安全性,防止路由信息被篡改。
路由标记(Route Tag):
- 允许在路由条目中添加标记,用于标识路由的来源或类型,便于路由策略的实施。
下一跳地址(Next Hop):
- 支持指定下一跳地址,提供了更灵活的路由选择和优化。
保持与 RIP V1 的兼容性:
- RIP V2 可以与 RIP V1 互操作,通过在报文中设置版本号,确保不同版本的路由器能够共存。
1.2RIP V2 的工作原理:
路由更新 :
- 路由器每隔 30 秒向邻居发送路由更新报文,报文中包含自身的路由表信息。
- 更新报文使用组播地址
224.0.0.9
发送,只有运行 RIP 的路由器会接收并处理这些报文。
水平分割(Split Horizon):
- 防止路由环路的一种机制,路由器不会将从某个接口学到的路由信息再通过该接口发送回去。
毒性逆转(Poison Reverse):
- 当路由器检测到某个路由不可达时,会将该路由的度量值设置为 16(不可达),并通过所有接口发送更新,通知邻居路由器。
触发更新(Triggered Update):
- 当路由表发生变化时,路由器会立即发送更新报文,而不是等待下一个更新周期,从而加快路由收敛速度。
抑制计时器(Hold-Down Timer):
- 当路由器收到某条路由的度量值变为 16 的更新时,会启动抑制计时器,在计时器超时前,忽略该路由的任何变化,防止路由抖动。
1.3RIP V2 的报文格式:
RIP V2 的报文格式在 RIP V1 的基础上进行了扩展,主要包括以下字段:
- 命令(Command):1 字节,表示报文类型(请求或响应)。
- 版本号(Version):1 字节,RIP V2 的版本号为 2。
- 必须为 0(Unused):1 字节,保留字段,必须为 0。
- 地址族标识符(Address Family Identifier, AFI):2 字节,表示网络层协议(如 IP)。
- 路由标记(Route Tag):2 字节,用于标识路由的来源或类型。
- IP 地址(IP Address):4 字节,表示目标网络的地址。
- 子网掩码(Subnet Mask):4 字节,表示目标网络的子网掩码。
- 下一跳地址(Next Hop):4 字节,表示到达目标网络的下一跳地址。
- 度量值(Metric):4 字节,表示到达目标网络的跳数。
1.4RIP V2 的优缺点:
优点:
- 简单易用:配置简单,适合中小型网络。
- 支持 VLSM 和 CIDR:提高了 IP 地址的利用率。
- 组播更新:减少了网络流量。
- 认证机制:增强了路由信息的安全性。
缺点:
- 最大跳数限制:RIP 的最大跳数为 15,限制了网络规模。
- 收敛速度慢:由于采用定期更新和距离矢量算法,路由收敛速度较慢。
- 不适合大型网络:在大型网络中,路由更新开销大,容易产生路由环路。
1.5RIP V2 的应用场景:
RIP V2 适用于以下场景:
- 中小型企业网络:网络规模较小,拓扑结构简单。
- 教育机构网络:如学校、实验室等,网络需求相对简单。
- 分支机构网络:多个分支机构通过低速链路连接,需要简单的路由协议。
2. 具体配置:
本实验IP都采用静态配置
2.1实验准备:
2.1.1拓扑搭建和网段划分:
2.1.2各个PC的IP配置:
PC0:
PC1:(注意:下面图片PC1IP配置有误,正确的应为:192.168.1.2)
PC3:
PC2:
2.1.3各个路由器接口IP配置:
R0:
Router>en
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R0
R0(config)#interface g0/0
R0(config-if)#ip address 192.168.1.254 255.255.255.0
R0(config-if)#no shutdown
R0(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
R0(config-if)#exit
R0(config)#interface g0/1
R0(config-if)#ip address 10.0.0.1 255.0.0.0
R0(config-if)#no shutdown
R0(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
R0(config-if)#exit
R0(config)#
R1:
Router>enable
Router#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R1
R1(config)#interface g0/0
R1(config-if)#ip address 10.0.0.2 255.0.0.0
R1(config-if)#no shutdown
R1(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
R1(config-if)#exit
R1(config)#interface g0/1
R1(config-if)#ip address 20.0.0.1 255.0.0.0
R1(config-if)#no shutdown
R1(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
R1(config-if)
R2:
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R2
R2(config)#interface g0/0
R2(config-if)#ip address 20.0.0.2 255.0.0.0
R2(config-if)#no shutdown
R2(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to up
R2(config-if)#exit
R2(config)#interface g0/1
R2(config-if)#ip address 192.168.2.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up
R2(config-if)#exit
R2(config)#
2.2RIP V2配置:
R0:
R0(config)#router rip # 开启rip服务
R0(config-router)#version 2 # 使用rip v2版本
R0(config-router)#no auto-summary # 默认边界自动汇总,配置支持可变长子网,需要配置为不进行自动汇总
R0(config-router)#netw
R0(config-router)#network 192.168.1.0 # 向外宣告有哪些主网络网段,此网段所有接口将向外宣告rip路由信息,并同时接收rip更新信息
R0(config-router)#net
R0(config-router)#network 10.0.0.0
R0(config-router)#exit
R0(config)#
R1:
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 10.0.0.0
R1(config-router)#network 20.0.0.0
R1(config-router)#exit
R2:
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 20.0.0.0
R2(config-router)#network 192.168.2.0
R2(config-router)#exit
R2#show ip route # 查看路由信息
R2#debug ip rip # 打开rip协议调试
3.测试连通性:
PC0与PC2通信:
PC1与PC3通信: