1. 程式人生 > >MAC地址(單播、廣播、組播、數據收發)

MAC地址(單播、廣播、組播、數據收發)

制造商 局域網 對比 地址 方式 傳輸 eid type 但是

MAC地址

技術分享

網絡設備的MAC地址是全球唯一的。MAC地址長度為48比特,通常用十六進制表示。MAC地址包含兩部分:前24比特是組織唯一標識符(OUI,OrganizationallyUniqueIdentifier),由IEEE統一分配給設備制造商。

例如,華為的網絡產品的MAC地址前24比特是0x00e0fc。後24位序列號是廠商分配給每個產品的唯一數值,由各個廠商自行分配(這裏所說的產品可以是網卡或者其他需要MAC地址的設備)。

單播

技術分享

局域網上的幀可以通過三種方式發送。第一種是單播,指從單一的源端發送到單一的目的端。每個主機接口由一個MAC地址唯一標識,MAC地址的OUI中,第一字節第8個比特表示地址類型。對於主機MAC地址,這個比特固定為0,表示目的MAC地址為此MAC地址的幀都是發送到某個唯一的目的端。在沖突域中,所有主機都能收到源主機發送的單播幀,但是其他主機發現目的地址與本地MAC地址不一致後會丟棄收到的幀,只有真正的目的主機才會接收並處理收到的幀。

廣播

技術分享

第二種發送方式是廣播,表示幀從單一的源發送到共享以太網上的所有主機。廣播幀的目的MAC地址為十六進制的FFFFFFFFFFFF,所有收到該廣播幀的主機都要接收並處理這個幀。

廣播方式會產生大量流量,導致帶寬利用率降低,進而影響整個網絡的性能。

當需要網絡中的所有主機都能接收到相同的信息並進行處理的情況下,通常會使用廣播方式。

組播

技術分享

第三種發送方式為組播,組播比廣播更加高效。組播轉發可以理解為選擇性的廣播,主機偵聽特定組播地址,接收並處理目的MAC地址為該組播MAC地址的幀。

組播MAC地址和單播MAC地址是通過第一字節中的第8個比特區分的。組播MAC地址的第8個比特為1,而單播MAC地址的第8個比特為0。

當需要網絡上的一組主機(而不是全部主機)接收相同信息,並且其他主機不受影響的情況下通常會使用組播方式。

數據幀的接收與發送

技術分享

幀從主機的物理接口發送出來後,通過傳輸介質傳輸到目的端。共享網絡中,這個幀可能到達多個主機。主機檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機MAC地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。

如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列(FCS)字段,並與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。如果幀的FCS值與本機計算的值不同,主機會認為幀已被破壞,並會丟棄該幀。如果該幀通過了FCS校驗,則主機會根據幀頭部中的Type字段來確定將幀發送給上層哪個協議處理。本例中,Type字段的值為0x0800,表明該幀需要發送到IP協議上處理。在發送給IP協議之前,幀的頭部和尾部會被剝掉。

MAC地址(單播、廣播、組播、數據收發)