假設您透過直連線將中繼連接埠從支援 VLAN 的網路交換器連接到(不支援 VLAN 的)消費級網路交換器。現在,前一個交換器向後一個交換器發送 802.1Q 標記的乙太網路訊框。後期切換該怎麼辦?丟框?轉發幀?未定義的行為?
如果行為未定義,最有可能的是什麼?
編輯:謝謝您的回答。總而言之,消費者交換器的行為取決於:
- 它如何處理
0x8100
EtherType 字段1中的幀 - 它如何處理巨型幀或有效負載大於 1500 位元組的幀
維基百科有一個不錯的圖比較未標記和標記的乙太網路幀:
有報告稱,一些消費級交換器可以很好地傳遞 VLAN 標記的訊框。
1或更準確地說,其中非標記幀需要 EtherType 字段
答案1
我實際上在廉價交換機上見過這個。有人在具有幾個 VLAN 的中繼連接埠之間連接了交換器。訊框在轉送時帶有完整的 VLAN 標記。此交換器上的其他連接埠能夠使用未標記的 VLAN。
交換器只需要來源/目標 mac 來決定將幀轉送到哪些端口,因此這並不奇怪,標記的幀仍然具有來源和目標 mac,位於幀頭中的同一位置。
請記住,乙太網路實際上支援許多不同的影格類型在同一條線上。它的設計非常靈活。
答案2
通常過大的乙太網路幀可以被丟棄。在存在諸如巨型幀之類的情況下,大型乙太網路幀很難定義,因此這實際上取決於 - 但丟棄可能是最常見的行為。
編輯:詳細說明:標準 IEEE 802.3 乙太網路幀大小為 1518 字節,802.3Q 在幀中添加 4 字節,因此總 MTU 為 1522 字節,這對於某些交換器來說可能太大。
答案3
消費者級交換器將嘗試轉送訊框-它只關心目標 MAC 位址。如果目標 MAC 位址不在其 CAM 表中,它將將該訊框從其所有連接埠泛洪出去,除了接收封包的連接埠之外。
一個開關使用切入轉送方法肯定會轉送該幀,因為一旦讀取了目標 MAC 位址,它就會開始轉送 - 即使幀的總大小大於 MTU - 因為它無法透過此轉送計算幀的大小方法。
一個開關基於儲存和轉發技術將大概(只要幀大小 <= MTU)做同樣的事情,只要 FCS 沒問題。
如果不支援 802.1Q 的交換器與終端設備互連,設備將接收該訊框並將其丟棄,因為它們不「知道」如何處理 802.1Q(類型 0x8100)訊框。
我推測消費者級交換器是否與支援 802.1Q 的交換器互連(驚恐的事件!),訊框將由 802.1Q 轉送和處理 - 當然,只要它們是在中繼埠上接收到的。