為什么不同網段的ip 不能直接通信


首先要明白一點, IOS一共七層, 發送數據的過程是從上到下,也就是從應用層一直到物理層,接受數據是從下至上.

來看你的問題,環境如下,我們來用一個 ping命令的過程來解釋:
一個交換機,連兩個電腦A和B,A和B不在一個網段,他們的 IP分別是192.168.1.2,255.255.255.0,B是 192.168.2.1,255.255.255.0,網關也可以設也可以不設,但其實你設了也是個假的網關,因為在你的環境里面只有一個交換機,並沒有 路由器,對嗎?

A ping B:
1. Ping命令會構建一個固定格式的 ICMP請求數據包,然后由 ICMP協議將這個數據包連同 IP地址“192.168.2.1”一起交給 IP層協議.
2.IP協議會查看目的IP地址是否和源IP在同一網段,如果在同一網段就直接查找 ARP緩存,查找目的 MAC,如果目的IP地址是否和源IP不在同一網段,那么就將數據包發送到網關.
3.按照前面的描述,在A電腦上有兩種情況,1是沒設網關 2是設了一個假的網關,那么如果沒設的話,數據包到這一步就丟棄了,目的IP和源IP不在一個網段而且A沒有網關,那么就無法發送.如果A設網關了的話,接着往走.
4.假設A電腦設定的網關是192.168.1.1,那么IP協議知道了目的IP,但是不知道目的 MAC,所以會查找A電腦的 ARP緩存,看里面有沒有目的 MAC,很遺憾,肯定沒有,因為環境里並沒有這個網關設備存在.所以A會發一個 ARP廣播到192.168.1.X整個網段,來查找IP是192.168.1.1 的MAC,當然,物理上就不存在192.168.1.1這個設備,自然就沒有設備來響應這個ARP廣播,所以最終IP協議無法知道目的MAC,就無法將數據包往下一個層數據鏈路層傳遞.

回到最開始,還是那句話: IOS一共七層, 發送數據的過程是從上到下,也就是從應用層一直到物理層,接收數據是從下至上.
在此場景中數據包在三層就停住了,根本不會涉及到二層.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM