网络原理-网络拓扑之两台电脑直连的问题

两台PC直连,设置不同网段的ip,能ping通吗?

首先:两台pc直连,设置相同网段IP 是可以ping通的。

如果不同网段:
pc1———-1.1.1.1/24
pc2———-2.2.2.2/24

两台电脑直连且不再同一网段默认是ping不通的,首先要理解ping的原理。

PC1在ping之前先检查目的IP与本机IP是否属于同一网段。

【大白话就是查询路由表(pc也有路由表),发现当前路由表中没有去往目的网段的路由,因为pc1只有1.1.1.0/24,没有2.2.2.0/24的路由】

如果属于,就在自己的ARP表里查询是否有目的IP的MAC地址,如果有,封装好以后把ping包发出去(我管你收不收得到,我发了在说),如果没有,就发ARP查询。查询到目的MAC以后再封装发送。如果不属于同一网段,就只能找网关帮忙了,啥?网关也没有?不好意思,直接把包丢弃了- -我压根懒得发。。。如果有网关,先查ARP表有没有网关MAC,如果有就封装好发走,如果没有就ARP查询,楼主的情况,因为PC2与PC1不在同一网段,PC2在收到PC1的ARP请求后,发现目的IP不但不是给我的,而且与我也根本不在同一网段(网关与本机IP需要指定为同一网段),我丢得比谁都快。。。,所以PC1连网关的MAC都得不到,ping包都还没准备呢就胎死腹中了。最后ping的结果request timed out。

下面的互指对方IP为网关是可行的,但仅限于真机能实现,CPT和GNS3都无法模拟。

不同网段主机也是可以让它们ping通的
pc1———-1.1.1.1/24
pc2———-2.2.2.2/24
解决办法是互指对方地址为网关

gw 2.2.2.2 gw 1.1.1.1
默认网关就是一条默认路由,有路由就能发包,一发包就需要源mac和目的mac的封装。这种方法只能在pc上做,这时候会发ARP,查询对端地址的mac,最后就通了,我拿真实pc做过。

 

 

参考:

http://tieba.baidu.com/p/1424368917?pid=31989408832&cid=0#31989408832

https://blog.csdn.net/dog250/article/details/68951615

 

2 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments