迅维网

查看: 1712|回复: 0
打印 上一主题 下一主题

关于同一个网段两台不同掩码长度的主机的通讯

[复制链接]
跳转到指定楼层
1#
发表于 2014-2-18 20:08:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 江苏徐州 来自 江苏徐州

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
关于同一个网段两台不同掩码长度的主机的通讯(比如: 172.16.1.1 255.255.0.0 和 172.16.2.1 255.255.255.0)
在以太网中,最终是通过layer2地址mac address来决定的。
一台主机想要通信时会先检查arp cache,找到就发送,如没找到,则去检查双方的ip地址是否在一个网段(根据掩码)。如果是同一个网段则发送目的为对方的arp解析请求(2层广播),如果不是同一个网段,会根据设置的default gateway为目的发送arp解析请求,解析成功后会把数据发往default gateway(比如路由器)
(注意,在Win系列的计算机上如果没有设置Default Gateway,主机不会再发送一个指向位于远程网络的对方的arp解析请求,因此Cisco路有器上的proxy-arp功能不起作用。)

ping使用icmp协议,简单的说发起ping的一方发送icmp echo数据包,接受ping的一方回答icmp echo-reply数据包,因此在防火墙或者路有器上过滤其中一种包可以实现单向ping通。

初始状态下,双方的arp-cache都是空的,(刚开机的状态)子网掩码较短的主机会认为对方在自己的同一个网段内,因此会发送目的地为对方的arp解析请求,这时对方就将监听到的ip-mac地址的映射存入自己的arp cache, 同时回复一个arp解析应答,这样发起方(掩码短的)也就保存了对方的ip-mac地址的映射,因此当ping的时候,在发送icmp echo或者icmp echo-reply时,当先检查arp-cache时,可以找到,相应的entry,通信
可以建立。
另一种情况,当子网掩码较长的一方发起通信(ping),当比较ip时,会发现目的地与自己不在同一个网段,这时如果时ms的主机,未设DG(default-gateway,这里假定是路由器的接口)的情况下,通信不能建立,如果设置了DG,那么,会发送一个目的为DG的arp解析请求,路由器回答这个arp后,发起方把ping echo数据包发向路由器,路由器上的所有激活(active)的接口的地址以及某个接口上子接口或者第二地址之间不能够over-lapping,否则设不上,因此当路由器转发这个icmp echo时,它或者认为这个包是发给本网段的(路由器接口的掩码设为长的),那么就丢掉这个包,或者去检查路由表(路由器接口的掩码设为短的),这时一般情况下
是在其中找不到目的网段的,因此包被丢弃;另一种情况当互联网络(inter-networks)中存在一个不连续的网络,刚好与这边的地址相同,掩码为长的,(这一般是由于不良的网络设计所致),这时路由器会把这个ping包发往遥远的网段,而不是处在同一个端口下面的真正目的地,当然, 这个icmp echo是永远也得不到icmp echo-reply的

结论,这种情况下,是否连通要看连接是由谁发起的


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复