用动态路由协议 RIP 实现网段通信。
RIP协议有两个版本,一种是 RIPv1 ,一种是 RIPv2。
两种版本有些许不同,下面通过实验可以直观的看出区别。
拓扑图如下:
首先使用 RIPv1 实现。
R1配置:
<H3C>system-view
[H3C]sysname R1
[R1]int g0/1
[R1-GigabitEthernet0/1]ip address 10.1.1.2 24
[R1]rip 1
[R1-rip-1]net 10.0.0.0 //宣告直连网段,只写网络号部分,把主机号全写为0
//因为10.1.1.0是A类地址,网络号只有前8位
R2配置:
<H3C>system-view
[H3C]sysname R2
[R2]int g0/1
[R2-GigabitEthernet0/1]ip address 10.1.1.1 24
[R2-GigabitEthernet0/1]int g0/2
[R2-GigabitEthernet0/2]ip address 192.168.1.1 24
[R2-GigabitEthernet0/2]quit
[R2]rip 1
[R2-rip-1]net 10.0.0.0
[R2-rip-1]net 192.168.1.0 //C类地址,网络号前24位
R3配置:
<H3C>system-view
[H3C]sysname R3
[R3]int g0/1
[R3-GigabitEthernet0/1]ip address 192.168.1.2 24
[R3-GigabitEthernet0/1]quit
[R3]rip 1
[R3-rip-1]net 192.168.1.0
配置完成后,查看路由表:
两端可以ping通。
此时出现一个问题,虽然 R1 和 R3 确实学习到了互相的路由,但是在R3的路由表中,10.0.0.0 的掩码是8位,而实际的掩码是24位。
RIPv1 的缺陷就是如此,它会将学习到的路由条目的掩码标记成自然掩码,即:
A类地址掩码为8,B类地址掩码为16,C类地址掩码为24。
用 RIPv2 实现通信:
RIPv2 具体配置和 RIPv1 大同小异,此处只给出R1的配置:
[R1]rip 1
[R1-rip-1]version 2 //版本号设置为 2 ,即启用RIPv2
[R1-rip-1]undo summary //关闭路由汇总功能
[R1-rip-1]net 10.0.0.0
其他路由器也一样。
完成后,查看 R3 的 rip 路由,命令为 :display ip routing-table protocol rip
可以看到其掩码变为24。