在与同事讨论问题时想到的.实例如下:
PC1:192.168.16.110 255.255.255.0 网关:192.168.16.254
PC2:192.168.16.111 255.255.255.0 网关:192.168.16.254
二层交换机:192.168.16.111 255.255.255.0
在PC1上使用route print命令,查看路由表如下:
简单说明一下:
第一条为默认路由,意思就是说,当一个数据包的目的网段不在你的路由记录中,那么,你的路由器该把那个数据包发送到哪里!缺省路由的网关是由你的连接上的default gateway决定的
第二条为本地回路路由,用来测试tcp/ip协议是否安装
第三条直联网段路由,很好解释,与同网段PC通信时,不经过网关.
第四条本地主机路由,当PC收到目的地址是本机IP时,将数据包收下不再转发.
第五条本地广播路由,收到本地广播时,通过网卡发送出去.
第六条组播路由:当路由器收到一个组播数据包时该如何处理
第七条广播路由:当路由器收到一个绝对广播时该如何处理,直接丢弃.
正常情况下,PC1设置网关为192.168.16.254上网,如果本网段加入一个二层交换机,设置了一个VLAN2接口,ip address:192.168.16.111 255.255.255.0 缺省路由设置为0.0.0.0 0.0.0.0 192.168.16.254,这个IP为PC2的地址,将PC2先断网,这样的话,PC1也是可以上网的.
查看交换机的路由表,如下:
0.0.0.0/0 STATIC 60 0 192.168.16.254 Vlan-interface2
192.168.16.0/24 DIRECT 0 0 192.168.16.111 Vlan-interface2
192.168.16.111/32 DIRECT 0 0 127.0.0.1 InLoopBack0
与PC1上类似,都有默认路由,都有直联路由,都有本地主机路由.访问不同网段时,交换机转发了数据帧.
但如果不用交换机,而将PC1的网关设置成PC2的IP,PC2也接在这个网段,PC1就无法上网了.
可能原因:
1.PC与交换机不一样,没有办法将接收到的目的地址非本网段的数据帧通过网关进行转发
2.也许PC与交换机相比,还少什么路由或者metric设置的有问题,也许改一下就可以转发了.
到底是什么原因,请高手指点.
转载于:https://blog.51cto.com/gxfgxy/302678