以太網(wǎng)幀結(jié)構(gòu)

簡(jiǎn)介

網(wǎng)絡(luò)中傳輸數(shù)據(jù)時(shí)需要定義并遵循一些標(biāo)準(zhǔn),以太網(wǎng)是根據(jù)IEEE 802.3標(biāo)準(zhǔn)來管理和控制數(shù)據(jù)幀的。了解這個(gè)標(biāo)準(zhǔn)是充分理解以太網(wǎng)中鏈路層通信的基礎(chǔ)。

網(wǎng)絡(luò)通信協(xié)議:

不同的協(xié)議棧用于定義和管理不同網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則:


圖片.png

數(shù)據(jù)封裝:


圖片.png
圖片.png

注意:幀結(jié)構(gòu)的封裝是加了幀頭和幀尾。

幀格式

數(shù)據(jù)包在以太網(wǎng)物理介質(zhì)上傳播之前必須封裝頭部和尾部信息。封裝后的數(shù)據(jù)包稱為數(shù)據(jù)幀,數(shù)據(jù)幀的封裝的信息決定了數(shù)據(jù)如何傳輸。
以太網(wǎng)中傳輸?shù)膸袃煞N格式,選擇哪種格式由TCP/IP協(xié)議簇中的網(wǎng)絡(luò)層決定。

圖片.png

20世紀(jì)80年代初提出的,Ethernet II后來被IEEE 802 標(biāo)準(zhǔn)接納,并寫進(jìn)了IEEE 802.3x-1997的3.2.6節(jié)。IEEE802.3 是1983年提出的幀格式。這兩種區(qū)別是,Ethernet_II格式中包含一個(gè)Type字段,標(biāo)識(shí)以太幀處理完成之后將被發(fā)送到哪個(gè)上層協(xié)議進(jìn)行處理。IEEE 802.3格式中,同樣的位置是長(zhǎng)度字段。
不同的Type字段值可以用來區(qū)別這兩種幀的類型,當(dāng)Type字段值小于或者等于1500(或者16進(jìn)制的0x05DC)時(shí),幀使用的是IEEE 802.3格式。當(dāng)Type字段值大于等于1536(或者16進(jìn)制的0x0600)時(shí),幀使用的是Ethernet_II格式。
以太網(wǎng)中大多數(shù)的數(shù)據(jù)幀使用的是Ethernet_II格式

Ethernet_II 幀格式

圖片.png

Ethernet_II幀類型值(Type)大于1536(0x0600)。
以太網(wǎng)數(shù)據(jù)幀的長(zhǎng)度在64-1518字節(jié)之間。數(shù)據(jù)部分在46~1500 B之間。

Ethernet_II數(shù)據(jù)幀中各字段說明如下:
1.DMAC(Destination MAC) 是目的MAC地址。DMAC字段長(zhǎng)度為6個(gè)字節(jié),標(biāo)識(shí)幀的接受者。
2.SMAC(Source MAC)是源MAC地址。SMAC字段長(zhǎng)度為6個(gè)字節(jié),標(biāo)識(shí)幀的發(fā)送者。
3.類型字段(Type)用于表示數(shù)據(jù)字段中包含的高層協(xié)議,該字段長(zhǎng)度為2個(gè)字節(jié)。類型字段取值為0x0800的幀代表IP協(xié)議幀;類型字段取值為0806的幀代表ARP協(xié)議幀(ARP是工作在鏈路層)。所以說,以太網(wǎng)幀中的Ethernet_II格式的Type可以標(biāo)識(shí)是3層的協(xié)議,也可以標(biāo)識(shí)為2層的協(xié)議。

圖片.png

4.數(shù)據(jù)字段(Data)是網(wǎng)絡(luò)層數(shù)據(jù),最小長(zhǎng)度必須為46字節(jié)()以保證幀長(zhǎng)度至少為64字節(jié),數(shù)據(jù)字段的最大長(zhǎng)度為1500字節(jié)。
5.循環(huán)冗余校驗(yàn)字段(FCS)提供了一種錯(cuò)誤檢測(cè)機(jī)制。該字段長(zhǎng)度為4個(gè)字節(jié)。

IEEE802.3幀格式

圖片.png

IEEE 802.3幀長(zhǎng)度字段值小于等于1500(0x05DC)

IEEE802.3幀格式類似于Ethernet_II幀,只是Ethernet_II幀的Type域被802.3幀的Length域取代,并且占用了Data字段的8個(gè)字節(jié)作為L(zhǎng)LC和SNAP字段。


圖片.png

數(shù)據(jù)幀傳輸

數(shù)據(jù)鏈路層基于MAC地址進(jìn)行幀的傳輸。
以太網(wǎng)在二層鏈路上通過MAC地址來唯一標(biāo)識(shí)網(wǎng)絡(luò)設(shè)備,并且實(shí)現(xiàn)局域網(wǎng)上網(wǎng)絡(luò)設(shè)備之間的通信。MAC地址也叫物理地址。大多數(shù)網(wǎng)卡廠商把MAC地址燒錄到了網(wǎng)卡的ROM中。發(fā)送端的MAC地址作為目的地址。以太幀封裝完成后會(huì)通過物理層轉(zhuǎn)換為比特流在物理介質(zhì)上傳輸。

以太網(wǎng)的MAC地址

圖片.png

MAC地址分為兩部分:
供應(yīng)商代碼(OUI,Origanizationally Unique Identifier)和序列號(hào)。前24位代表該供應(yīng)商代碼,由IEEE管理和分配。剩下的24位序列號(hào)由廠商自己分配。

局域網(wǎng)上的幀可以通過三種方式發(fā)送
注意是發(fā)送方式:下面討論的都是目的MAC地址,第一個(gè)字節(jié)的最后一個(gè)bit是0啊,是1啊,所有字節(jié)全部是f啊這樣的情況。目的地址是發(fā)送方自己寫的。
1.單播:
2.廣播
3.組播

重要:https://blog.csdn.net/yygydjkthh/article/details/6751611

單播

圖片.png

單播:指從單一的源端發(fā)送到單一的目的端。每個(gè)主機(jī)接口由一個(gè)MAC地址唯一標(biāo)識(shí),MAC地址的OUI中,第一字節(jié)第8個(gè)比特標(biāo)識(shí)地址類型。對(duì)于主機(jī)MAC地址,這個(gè)比特固定為0,標(biāo)識(shí)目的MAC地址為此MAC地址的幀都是發(fā)送到某個(gè)唯一的目的端。在沖突域中,所有主機(jī)都能收到源主機(jī)發(fā)送的單播幀,但是其他主機(jī)發(fā)現(xiàn)目的地址與本地MAC地址不一致后會(huì)丟棄收到的幀,只有真正的目的主機(jī)才會(huì)接受并處理收到的幀。

MAC地址類型:
https://blog.csdn.net/luobin1984/article/details/12185797

廣播

圖片.png

組播

圖片.png

數(shù)據(jù)幀的發(fā)送和接收

數(shù)據(jù)幀的Type:

IP:  0x0800
ARP: 0x0806

當(dāng)主機(jī)接收到的數(shù)據(jù)幀所包含的目的MAC地址是自己時(shí),會(huì)把以太網(wǎng)封裝剝掉后送往上層協(xié)議。
幀從主機(jī)的物理接口發(fā)送出來后,通過傳輸介質(zhì)傳輸?shù)侥康亩恕9蚕砭W(wǎng)絡(luò)中,這個(gè)幀可能到達(dá)多個(gè)主機(jī)。主機(jī)檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機(jī)MAC地址,也不是本機(jī)監(jiān)聽的組播或廣播MAC地址,則主機(jī)會(huì)丟棄收到的幀。

如果目的MAC地址是本機(jī)MAC地址,則接受該幀,檢查幀校驗(yàn)序列(FCS)字段,并與本機(jī)計(jì)算的值對(duì)比來確定幀在傳輸過程中是否保持了完整性。如果幀的FCS值與本機(jī)計(jì)算的不同,那么就會(huì)丟棄該幀。如果該幀通過了FCS校驗(yàn),則主機(jī)會(huì)根據(jù)幀頭部中的Type字段來確定該幀發(fā)送給上層(或者本層)哪個(gè)協(xié)議處理。本例中,Type字段的值為0x0800,表明該幀需要發(fā)送到IP協(xié)議上處理。在發(fā)送給IP協(xié)議之前,幀的頭部和尾部會(huì)被剝掉。

問題:
1.網(wǎng)絡(luò)設(shè)備如何確定以太網(wǎng)數(shù)據(jù)幀的上層協(xié)議?
以太網(wǎng)幀中包含一個(gè)Type字段,表示幀中的數(shù)據(jù)應(yīng)該發(fā)送到上層(或者本層)哪個(gè)協(xié)議處理。
eg: IP: 0x0800, ARP: 0x0806

2.終端設(shè)備接收到數(shù)據(jù)幀時(shí),會(huì)如何處理?
主機(jī)檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機(jī)MAC地址,也不是本機(jī)偵聽的組播或廣播MAC地址,則主機(jī)會(huì)丟棄收到的幀。如果目的MAC地址是本機(jī)MAC地址,則接收該幀,檢查幀校驗(yàn)序列(FCS)字段,并與本機(jī)計(jì)算的值對(duì)比來確定幀在傳輸過程中是否保持了完整性。如果檢查通過,剝離幀頭幀尾,然后根據(jù)幀頭的Type字段來決定把數(shù)據(jù)發(fā)送到哪個(gè)上層協(xié)議進(jìn)行后續(xù)處理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,382評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,038評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,616評(píng)論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,112評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,355評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,869評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,727評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,928評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,165評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評(píng)論 1 282
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,585評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,892評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容