以太網數據幀的結構分析

網絡中傳輸數據時需要定義并遵循一些標準,以太網是根據IEEE 802.3標準來管理和控制數據幀的。了解IEEE802.3標準時充分理解以太網中鏈路層通信的基礎。
學習目標:
- 理解分層模型的作用
- 掌握以太網中數據幀的結構
- 掌握MAC地址的作用
- 掌握以太網中數據幀轉發(fā)的過程
20世紀60年代以來,計算機網絡得到了飛速發(fā)展。各大廠商和標準組織為了在數據通信網絡領域占據主導地位,紛紛推出了各自的網絡架構體系和標準,如IBM公司的SNA協議,Novell公司的IPX/SPX協議,以及廣泛流行的OSI參考模型和TCP/IP協議。同時,各大廠商根據這些協議生產出了不同的硬件和軟件。標準組織和廠商的共同努力促進了網絡技術的快速發(fā)展和網絡設備種類的迅速增長。
網絡通信中,“協議”和“標準”這兩個詞匯常??梢曰煊?。同時,協議或標準本身又常常具有層次的特點。一般地,關注于邏輯數據關系的協議通常被稱為上層協議,而關注于物理數據流的協議通常被稱為低層協議。IEEE 802就是一套用來管理物理數據流在局域網中傳輸的標準, 包括在局域網中傳輸物理數據的802.3以太網標準。還有一些用來管理物理數據流在使用串行介質的廣域網中傳輸的標準,如幀中繼FR( Frame Relay),高級數據鏈路控制HDLC(High-Level Data Link Control),異步傳輸模式ATM(Asynchronous Transfer Mode)。
國際標準化組織ISO于1984年提出了OSI RM(Open System Interconnection Reference Model,開放系統(tǒng)互連參考模型)。OSI 參考模型很快成為了計算機網絡通信的基礎模型。
OSI參考模型具有以下優(yōu)點:簡化了相關的網絡操作;提供了不同廠商之間的兼容性;促進了標準化工作;結構上進行了分層;易于學習和操作。
OSI參考模型各個層次的基本功能如下:
物理層: 在設備之間傳輸比特流,規(guī)定了電平、速度和電纜針腳。
數據鏈路層:將比特組合成字節(jié),再將字節(jié)組合成幀,使用鏈路層地址 (以太網使用MAC地址)來訪問介質,并進行差錯檢測。
網絡層:提供邏輯地址,供路由器確定路徑。
傳輸層:提供面向連接或非面向連接的數據傳遞以及進行重傳前的差錯檢測。
會話層:負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設備中的應用程序之間的服務請求和響應組成。
表示層:提供各種用于應用層數據的編碼和轉換功能,確保一個系統(tǒng)的應用層發(fā)送的數據能被另一個系統(tǒng)的應用層識別。
應用層:OSI參考模型中最靠近用戶的一層,為應用程序提供網絡服務 。
舉個例子就是使用QQ的過程中,QQ的界面顯示就是應用層
所關注的,接下來在,表示層就是把你的聊天內容表示成計算機能夠讀懂的數據,在會話層所對應的就是你會同時和好幾個人聊天,就會有好幾個聊天窗,他們分別對應著不同的會話。這三層總體來講是個軟件層面的層次。
傳輸層提供了一個端到端的連接,以端口號來區(qū)分連接。
網絡層提供了IP地址,提供IP尋址和路由。
數據鏈路層提供了網絡和物理層進行通訊。
把OSI的上三層合并成一個應用層,把最后的兩層也合并為網絡接口層。
TCP/IP模型同樣采用了分層結構,層不層相對獨立但是相互之間也具備非常密切的協作關系。
TCP/IP模型將網絡分為四層。TCP/IP模型不關注底層物理介質,主要關注終端之間的邏輯數據流轉發(fā)。TCP/IP模型的核心是網絡層和傳輸層 :網絡層解決網絡之間的邏輯轉發(fā)問題,傳輸層保證源端到目的端之間的可靠傳輸。最上層的應用層通過各種協議向終端用戶提供業(yè)務應用。
應用數據需要經過TCP/IP每一層處理之后才能通過網絡傳輸到目的端, 每一層上都使用該層的協議數據單元PDU(Protocol Data Unit)彼此交換信息。不同層的PDU中包含有丌同的信息,因此PDU在不同層被賦予了不同的名稱。如上層數據在傳輸層添加TCP報頭后得到的PDU被稱為 Segment(數據段 );數據段被傳遞給網絡層,網絡層添加IP報頭得到的PDU被稱為Packet(數據包);數據包被傳遞到數據鏈路層,封裝數據鏈路層報頭得到的PDU被稱為Frame(數據幀);最后,幀被轉換為比特,通過網絡介質傳輸。這種協議棧逐層向下傳遞數據,并添加報頭和報尾的過程稱為封裝。
數據包在以太網物理介質上傳播之前必須封裝頭部和尾部信息。封裝后的數據包稱為稱為數據幀,數據幀中封裝的信息決定了數據如何傳輸。 以太網上傳輸的數據幀有兩種格式,選擇哪種格式由TCP/IP協議簇中的網絡層決定。
以太網上使用兩種標準幀格式。第一種是Ethernet II,第二種是IEEE 802.3 格式。這兩種格式的主要區(qū)別在于,Ethernet II格式中包含一個Type字 段,標識以太幀處理完成之后將被發(fā)送到哪個上層協議進行處理。IEEE 802.3格式中,同樣的位置是長度字段。
不同的Type字段值可以用來區(qū)別這兩種幀的類型,當Type字段值小于等于1500(或者十六進制的0x05DC)時,幀使用的是IEEE 802.3格式 。當Type字段值大于等于1536 (或者十六進制的0x0600)時,幀使用 的是Ethernet II格式。以太網中大多數的數據幀使用的是Ethernet II格式 。
以太幀中還包括源和目的MAC地址,分別代表發(fā)送者的MAC和接收者 的MAC,此外還有幀校驗序列字段,用于檢驗傳輸過程中幀的完整性。
Ethernet_II的幀中各字段說明如下:
- 1. DMAC(Destination MAC)是目的MAC地址。DMAC字段長度為6個字節(jié),標識幀的接收者。
- 2. SMAC(Source MAC)是源MAC地址。SMAC字段長度為6個字節(jié) ,標識幀的發(fā)送者。
- 3. 類型字段(Type)用于標識數據字段中包含的高層協議,該字段長度為2個字節(jié)。類型字段取值為0x0800的幀代表IP協議幀;類型字 段取值為0806的幀代表ARP協議幀。
- 4. 數據字段(Data)是網絡層數據,最小長度必須為46字節(jié)以保證幀長至少為64字節(jié),數據字段的最大長度為1500字節(jié)。
- 5. 循環(huán)冗余校驗字段(FCS)提供了一種錯誤檢測機制。該字段長度為4個字節(jié)。
以太網在二層鏈路上通過MAC地址來唯一標識網絡設備,并且實現局域網上網絡設備之間的通信。MAC地址也叫物理地址,大多數網卡廠商把MAC地址燒入了網卡的ROM中。發(fā)送端使用接收端的MAC地址作為目的地址。以太幀封裝完成后會通過物理層轉換成比特流在物理介質上傳輸。
如同每一個人都有一個名字一樣,每一臺網絡設備都用物理地址來標識自己,這個地址就是MAC地址。網絡設備的MAC地址是全球唯一的。 MAC地址長度為48比特,通常用十六迚制表示。MAC地址包含兩部分 :前24比特是組織唯一標識符(OUI,Organizationally Unique Identifier),由IEEE統(tǒng)一分配給設備制造商。例如,華為的網絡產品的MAC地址前24比特是0x00e0fc。后24位序列號是廠商分配給每個產品 的唯一數值,由各個廠商自行分配(這里所說的產品可以是網卡或者其他需要MAC地址的設備)。
局域網上的幀可以通過三種方式發(fā)送。第一種是單播,指從單一的源端發(fā)送到單一的目的端。每個主機接口由一個MAC地址唯一標識,MAC地址的OUI中,第一字節(jié)第8個比特表示地址類型。對于主機MAC地址 ,這個比特固定為0,表示目的MAC地址為此MAC地址的幀都是發(fā)送到某個唯一的目的端。在沖突域中,所有主機都能收到源主機發(fā)送的單播幀,但是其他主機發(fā)現目的地址不本地MAC地址丌一致后會丟棄收到的幀,只有真正的目的主機才會接收并處理收到的幀。
第二種發(fā)送方式是廣播,表示幀從單一的源發(fā)送到共享以太網上的所有主機。廣播幀的目的MAC地址為十六進制的FF:FF:FF:FF:FF:FF,所有收到該廣播幀的主機都要接收并處理這個幀。
廣播方式會產生大量流量,導致帶寬利用率降低,迚而影響整個網絡的性能。
當需要網絡中的所有主機都能接收到相同的信息并進行處理的情況下, 通常會使用廣播方式。
第三種發(fā)送方式為組播,組播比廣播更加高效。組播轉發(fā)可以理解為選擇性的廣播,主機偵聽特定組播地址,接收并處理目的MAC地址為該組播MAC地址的幀。
組播MAC地址和單播MAC地址是通過第一字節(jié)中的第8個比特區(qū)分的。 組播MAC地址的第8個比特為1,而單播MAC地址的第8個比特為0。
當需要網絡上的一組主機(而不是全部主機)接收相同信息,并且其他主機不受影響的情況下通常會使用組播方式。
幀從主機的物理接口發(fā)送出來后,通過傳輸介質傳輸到目的端。共享網絡中,這個幀可能到達多個主機。主機檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機MAC地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。
如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列( FCS)字段,并與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。如果幀的FCS值與本機計算的值不同,主機會認為幀已被破壞 ,并會丟棄該幀。如果該幀通過了FCS校驗,則主機會根據幀頭部中的Type字段來確定將幀發(fā)送給上層哪個協議處理。本例中,Type字段的值為0x0800,表明該幀需要發(fā)送到IP協議上處理。在發(fā)送給IP協議之前 ,幀的頭部和尾部會被剝掉。
總結:
網絡設備如何確定以太網數據幀的上層協議?
答:以太網幀中包含一個type字段,表示幀中數據應該發(fā)送到上層哪個協議處理。比如,IP協議對應的Type值為0x0800,ARP協議對應的Type值為0x0806。
終端設備接收到數據幀時,會如何處理?
答:主機檢查幀頭中的目的MAC地址,如果目的MAC地址不是本機MAC 地址,也不是本機偵聽的組播或廣播MAC地址,則主機會丟棄收到的幀。如果目的MAC地址是本機MAC地址,則接收該幀,檢查幀校驗序列(FCS)字段,并與本機計算的值對比來確定幀在傳輸過程中是否保持了完整性。如果檢查通過,就會剝離幀頭和幀尾,然后根據幀頭中的Type字段來決定把數據發(fā)送到哪個上層協議進行后續(xù)處理。
以上所述是小編給大家介紹的以太網數據幀的結構分析,希望對大家有所幫助。在此也非常感謝大家對腳本之家網站的支持!
相關文章
三大網絡管理協議:SNMP、NETCONF、RESTCONF介紹
本文將詳細介紹三種主要的協議:SNMP(Simple Network Management Protocol)、NETCONF(Network Configuration Protocol)和RESTCONF,需要的朋友可以參考下2024-02-13- 常見的網絡協議有:TCP/IP協議、UDP協議、HTTP協議、FTP協議等,本文就詳細的介紹一下常見的網絡協議,通過這些具體的協議更深刻的認識整體網絡的傳輸流程及相關網絡原理,2023-05-30
- 本文主要介紹了L2TP和PPTP的區(qū)別,主要的前區(qū)別在于用途不同、使用要求不同,下面就來介紹一下L2TP和PPTP的聯系與區(qū)別,感興趣的可以了解一下2023-05-30
- 這篇文章主要介紹了自組織網絡Ad Hoc之OLSR 協議詳解,需要的朋友可以參考下2023-05-08
- 這篇文章主要介紹了自組織網絡Ad Hoc之AODV協議詳解,需要的朋友可以參考下2023-05-08
- 自組織網絡(Ad Hoc)是一種移動通信和計算機網絡相結合的網絡,是移動計算機網絡的一種,用戶終端可以在網絡內隨意移動而保持通信2023-05-08
- 瀏覽器輸入一個URL回車后,會發(fā)生什么呢?這里就為大家分享一下,需要的朋友可以參考下2022-10-19
- 本篇主要是對網絡協議進行一個歸納總結,方便后續(xù)查閱及復習,當然如有新的認知或新的理解,也會持續(xù)更新2022-10-19
- 今日回顧網絡知識時,發(fā)現自己專門整理過一篇關于日常生活中常見的網絡協議知識以及作用的梳理,特發(fā)此一貼,也當給自己鞏固網絡知識了,如有錯誤,望各大佬指正2022-10-19
- HTTP即超文本傳輸協議,是一種實現客戶端和服務器之間通信的響應協議,它是用作客戶端和服務器之間的請求,需要的朋友可以參考下2022-10-19