标签为 ‘网段’
腾科那边终于派了老师到学校来给我们上课了,一拖再拖拖了大半年的事情终于有了个着落。
在生命科学楼的某个实验室,十几个人就这么从CCNA开始重新上课了。曾经辛辛苦苦跑去公司学CCNA的日子已经不复存在了,取而代之的就是舒舒服服的在学校上课~噢耶~
CCNA的课程只有五天,每天六小时,话说课时数比较少,内容也巨简单,不过没事干的时候自己思考一些有趣的问题还是很不错的。上周老师讲到了RIP的简单配置,顺带提了一下OSPF,然后我就像神经病一样的想,如果两台路由器直连,分别启用两个子接口,一个子接口运行RIP,一个运行OSPF会有什么结果?(估计也就只有我能这么变态的这样想吧)
既然要运行动态路由协议,第一步肯定是需要给各接口配上静态ip地址,但是问题就出在这里。
我用两台路由器R1和R2相连,R1的S1/1口与R2的S1/0口相连。分别启用R1的S1/1.1和S1/1.2、R2的S1/0.1和S1/0.2四个子接口,并配置如下ip地址:
R1 S1/1.1 11.11.11.11
S1/1.2 22.22.22.11
R2 S1/0.1 11.11.11.22
S1/0.2 22.22.22.22
如图所示。
在对R1的s1/1和R2的s1/0都进行no shutdown后,四个子接口状态均为双up。如图所示。
R1两个子接口状态:
R2两个子接口状态:
理论上来说,R1的S1/1.1子接口和R2的S1/0.1子接口配置在同一网段,应该是可以ping通的,另外两个子接口也是同一网段也应该能ping通。我查了一下路由表,如下图所示。
R1的路由表:
R2的路由表:
这两张路由表很明确的告诉我,11.11.11.0网段和22.22.22.0网段均是R1和R2的直连网段,当然这在我的意料之中。
可是出乎意料的是,用R1 的s1/1.1去pingS2的S1/0.1居然不通!用R1的各个子接口pingR2的各个子接口都不通!
从图中可以看到,5个ICMP包均超时。
回头想想,会不会因为R1的S1/1和R2的S1/0两个物理口没有配静态ip导致这种状况呢?于是把两个物理接口配上地址,神奇的事情发生了……
R1的S1/1和R2的S1/0口的配置如下:
这下R1可以ping通R2了,但是神奇的地方在于R1的s1/1.1不仅能ping通R2的S1/0.1,还能ping通S1/0和S1/0.2两个接口!甚至是R1上面的各个接口pingR2上面的各个接口均是通的!
不同网段不需要经过动态路由协议或者静态路由的指定便可以ping通,这是我学Cisco以来第一次出现!难道发现新大陆了?!
其实不然。物理接口的连通性实现的是路由转发功能,也就是数据包的转发,如果物理接口没有连通,那么数据包就不可能被转发。即使子接口互相学习到对方的路由条目并存在于自己的路由表中,然而数据包无法转发也就无法ping通了。一旦物理口双up了,子接口互相ping通就在情理之中。
但是还留有一个很神奇的疑问,为什么不同网段的子接口之间也能互相ping通?这时候我们应该看看路由转发是如何实现的。
路由器将收到的数据包进行分析,提取目的地ip地址,然后匹配自己的路由表,通过匹配到的路由条目将数据包转发。
R2直连了12.0.0.0、11.11.11.0、22.22.22.0三个网段,那么当R1的数据包传送到R2的时候,R2分析目的地地址,然后匹配路由条目,接着进行转发。
我们看看实际例子,从11.11.11.11 ping 22.22.22.22,首先数据包从R1发出,通过物理口传送到R2,R2分析其目的地地址,然后发现22.22.22.22是自己的某个接口,于是乎把这个数据包转发至该接口;然后该接口将包回传给R1,分析包的源地址11.11.11.11,然后匹配路由表,再转发。这个ping的过程就相当顺利。
看来子接口的讲究还是比较多的,有时间再具体深究,此次笔记到此。
流沙咖啡 写于2009年6月21日晚。









