不同网段不能通信的原因
发布网友
发布时间:2022-07-16 07:58
我来回答
共4个回答
热心网友
时间:2023-10-14 17:43
在这里存在一个误区,而且好多地方说明ARP原理的时候也没有将清楚,其实交换价没有判断IP属于相同或不同子网的功能,交换机只关心目标MAC地址然后将之送出去。
是否处于同一个IP子网是发送主机自己判断的,他将自己IP地址+子网掩码与目标IP地址(主机是知道目标IP的)进行计算判断,如果相同,那么在进行ARP查找会将目标MAC地址置为全F,这样交换机收到后就会在内部广播;如果不同子网,则会将目标MAC地址设置为默认网关MAC地址(如果不知道,会通过ARP查找默认网关地址对应的MAC地址),那么交换机就会将该帧传给三层路由器,进行后续的路由转发。
热心网友
时间:2023-10-14 17:43
以PING来举例,当设备A PING 设备B时,设备A先会判断自己和设备B是否在同一个网段,这个过程是由设备A自己通过IP和掩码来计算判断的,如果在同一个网段,那设备A就会发送ARP包以获取设备B的MAC地址,如果不是同一个网段,设备A如果配的有网关就会寻找网关,如果没有网关,设备A会直接停步访问,因为不在同一个网段,也没有网关,所以无法获得目标设备的MAC地址,所以就终止访问。
访问时为什么要获取目标设备的MAC呢?因为在访问时,需要从应用层,传输层、网络层、数据链路层,一层一层的来封装数据,普通交换机就是在二层,也就是数据链路层,数据在这一层是要封装MAC地址的,所有层都封装完后才会进行传输。如果在无法获得二层的MAC就无法进行二层的封装,因此就终止访问了。
热心网友
时间:2023-10-14 17:44
交换机是用MAC地址来进行通信的,但是它又怎么识别一个IP地址在不在一个网段呢?想必这就是楼主要问的问题。
我的理解:IP地址这样一个规则是
International
Organization
for
Standardization
规定的规则,这个东西其实跟交换机没多大关系,它只寻求MAC地址和端口的对应关系,而IP同一网段或者不同网段其实是两个互相通信的终端决定的啊。
交换机只管收了数据查MAC,同段IP在广播时接受方收到广播应答了就发出去了,而不同段的IP在广播时是在这个网段范围内广播的,没路由,自然接受方就收不到数据,它连广播都收不到啊。
楼主可能又说那交换机怎么认识是不同段的啊,这是IOS规定的,所有网络设备被制造出来都遵循这样一个守则,规则就是这样啊,还要问为什么要制定这个规则,就去问:国际标准化组织吧。
热心网友
时间:2023-10-14 17:44
首先,确认一点,采用什么协议进行通讯,如果采用IP协议,则两台主机必须在一个网络内。也就是网络号必须相同才能进行通讯。
如果不在一个子网内需要进行通讯,则必须通过第三层的路由进行通信。
例子:pc
192.168.1.1
255.255.255.0
gw:192.168.1.254
服务器
172.16.1.1
255.255.255.0
gw:172.16.1.254
如果要进行通讯,则必须通过路由,
数据包传输方式为:
192.168.1.1<->192.168.1.254<->172.16.1.254<->172.16.1.1