Networking

第一次發送數據包時,其他節點如何處理交換機的數據包?

  • September 27, 2019

當談到交換機時,我了解到第一次數據包從一個節點發送到另一個節點時,數據包會發送到該網路上的所有節點。然後,交換機會記住,例如,電腦 A 試圖將數據包發送到哪裡(例如電腦 D),當它知道時,它將只將數據包發送到電腦 D 而忽略所有其他數據包,從而減少流量並節省頻寬。

問題 1:我對此是否正確還是我錯過了什麼?

問題2:第一次發送數據包時,其他電腦如何處理它們收到的數據包?他們被忽視了嗎?

我對此很滿意還是我錯過了什麼?

是的,你沒看錯。發送數據包後,交換機會記住發送電腦的身份。此條目將一直保留到以下任一情況:

  • 電腦在一段時間內不再發送數據包(由交換機定義)。
  • 電腦被移動到不同的交換機埠,然後交換機將看到數據包從該埠到達。
  • 交換機記憶體不足,無法記住 MAC 地址並刪除了一些。

交換機需要超快速訪問此資訊,因此無法將其儲存在普通 RAM 晶片中。而是使用 CAM。這意味著內容定址記憶體,對於交換機或路由器需要執行的操作來說速度很快,但容量非常小。通常,低端交換機最多可以記住幾千台電腦。

第一次發送數據包時,其他電腦如何處理它們收到的數據包?

通常作業系統會告訴網路介面只交出發往它自己 MAC 地址的數據包。所以硬體會忽略這些數據包,作業系統永遠不會看到它們。在特殊情況下,這可能還不夠,因此作業系統可以告訴網路介面交出所有數據包,然後作業系統必須決定忽略哪些。例如,如果您執行具有附加到同一網段的不同 MAC 地址的虛擬機,則使用此方法。

引用自:https://serverfault.com/questions/591693