1. 程式人生 > >關於同一交換機下設定不同網段的PC的通訊的猜測

關於同一交換機下設定不同網段的PC的通訊的猜測

PC A IP: 192.168.1.10

PC B IP: 192.168.2.20

子網掩碼24位, A和B都連線到一臺二層交換機上, 交換機上沒有再接其他裝置.A和B能否通訊?

從網上搜索了一下, 發現有很多人問這個問題, 但是大家的回答都很抽象, 有些不明白. 說是 如果PC A和B 將閘道器設定成自己的IP地址就可以進行通訊. 為什麼呢? 我沒有二層交換機, 也不清楚原因. 但是我猜想一下: 

. 當PC A和B 沒有設定閘道器時, 不能進行通訊. 為什麼?

    按照我的想法是, 交換機不分割廣播包, 如果A要PING B, 那麼如果A的ARP包能夠廣播, 那麼B收到ARP包, 也會回ARP包的反饋, 那麼A就知道B的MAC了, 那麼A就應該能和B通訊了.不過網上一個網友說, 沒有能夠發現A的ARP包. 所以我認為問題不是出在交換機而是出在PC端的協議棧處理方式, 我認為, 當PC A端的協議棧要PING B時, 首先判斷B的IP是否在同一網段, 如果在同一網段, A端的協議棧才傳送ARP, 由交換機廣播出去; 如果PC A端的協議棧判斷B的IP不再同一網段, 則往閘道器傳送, 由閘道器轉發出去.

    所以, 當A將閘道器設定成自己的IP時, A的ARP包就通過自己傳到了交換機上, 而交換機又廣播出去, B收到後, B再Reply,同理, 當B傳送Reply時, B的協議棧也會先檢查Reply包的目的地址是否是同一網段, 如果是同一網段, 就直接往交換機上發, 如果不是同一網段, 就往閘道器發, 這個時候, 如果B的閘道器設定成它自己的IP, 就表示B自己轉發這個Reply, 傳送到交換機上. 

    以上的猜測沒有驗證, 是否是這樣的, 請網路工程師解釋一下