連接兩個不同網路的問題

連接兩個不同網路的問題

我有兩個網路:192.168.13.0/24(藍色)和 192.168.15.0/24(綠色)。
電腦 A 僅連接 13 網。電腦 B 有兩個接口,每個網路一個。
第三台電腦的作用類似於路由器,並將 13 網連接到 15 網(僅在這個方向)。

替代文字

現在,我想平 192.168.15.100從計算機 A 到計算機 B。但是當我使用集線器而不是交換器時,它就可以工作了。

在我看來,ping 封包透過交換器傳輸到路由器(這是 A 的預設路由/網關)。路由器將封包傳送回交換器至 B。這可能嗎?
問題是,B 可能只有一個網關 192.168.13.50 - 但我不太確定(B 是一個嵌入式系統,配置可能性有限)。

誰能解釋一下這裡發生了什麼事?謝謝你!

答案1

在這兩種情況下,ping 都會透過arp要求取得路由器的 MAC 位址來啟動。然後 ping 訊息被包裝在第 2 層封包中,並將路由器作為目的地。

當您使用時會發生什麼hub

  • ping 被廣播到所有客戶端(B x 2 和路由器),
  • B.13.100 介面丟棄資料包,
  • 但它的 15.100 介面得到了它,可能處於混雜模式(忽略 MAC 目標),
  • 因此 B 在其 13.100 介面上直接回覆 A。

用一個switch

  • B沒有直接拿到資料包。開關知道A 封包被導向到路由器(由於其目標 MAC 位址)並且不涉及其他連接埠。
  • 路由器通常應該在其 13.50 介面上取得封包,
  • 並且應該透過其 15.50 介面將其轉送至 B.
  • B 應該在其 15.100 介面上取得它並從其 13.100 介面回复
  • A應該直接得到它,但沒有。

路由器可能有問題。使用開關
嘗試來自 A 的命令。traceroute

答案2

您看到的可能是這樣的:

  1. 封包從 A 上的介面出去(13.10)
  2. 透過路由器路由到 B(透過路由器 15.100)
  3. 被 B 接收 (15.100)
  4. B 去回覆並說“哦嘿,我在同一個網絡上!”
  5. 資料包從 B 上的介面出去(13.100
  6. 被 A 接收 (13.10)
  7. 據說我沒想到 13.100 丟包會出現這種情況

您可以透過在發送 ping 時在 A 和 B 上執行封包追蹤來確認這一點,查看標頭並檢查來源位址和目標位址。

解決此問題的唯一真正方法是在主機 B 上添加 /32 路由條目以強制封包從 15.100 發出,但這不能很好地擴展。

答案3

a) 執行tracert從電腦 A 到電腦 B 的操作,這應該會顯示其所經過的躍點
b) 電腦 B 上設定的預設閘道是什麼?
c) 它是什麼類型的開關?第 2 層、第 3 層?
d) 您可以嘗試完全停用電腦 B 上的 13.100 NIC,然後重新啟動電腦並對其執行 ping 操作,看看是否有效?

相關內容