国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以太網鏈路層協議封裝格式介紹

電子工程師 ? 來源:CSDN技術社區 ? 作者:CSDN技術社區 ? 2020-09-26 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、以太網鏈路層協議封裝格式

以太網數據在網絡介質上傳輸需要遵循一定的機制,其中CSMA/CD介質訪問控制機制約定了以太網在傳輸數據時,兩幀之間需要等待一個幀間隙時間(IFG或IPG),為以太網接口提供了幀接收之間的恢復時間,該恢復時間最小值為傳輸96bit所花費的時間,對于10M線路,該時間為9.6uS,100M線路為960nS,1G的線路為96nS。同時以太網數據幀在傳輸時還需要有7byte的前導字段和1byte的定界符。因此以太網數據在傳輸過程中是由以下部分組成的:7byte(前導)+1byte(定界符)+以太網數據幀+12byte(IPG)。

在全雙工工作模式下,如果CSMA/CD介質訪問控制機制發現傳輸沖突時,則會放棄當前幀發送,改為發送一個48比特的噪聲幀。

其中以太網數據幀限制為最小長度為64byte,最大長度為1518byte,其格式為:6byte(目的MAC地址)+6byte(源MAC地址)+2byte(類型字段)+數據字段+4byte(FCS校驗字段)。其中幀類型字段標識其后的數據類型。

這里值得注意的是區分Ethernet II幀格式和802.3幀格式的不同,我們有時可能會混用了這兩個術語。

Ethernet II幀是最常見的一種以太網幀格式,也是今天以太網的事實標準,由DEC,Intel和Xerox在1982年公布標準,Ethernet II可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等協議,其比較常見的類型字段為:0X0800(IP幀),0X0806(ARP請求/應答幀),0X8035(PARP請求/應答幀),0X8137(Novell IPX),0X809b(Apple Talk)。RFC 894定義了IP報文在Ethernet II上的封裝格式。

802.3幀將Ethernet II幀頭中的類型字段替換為幀長度字段(取值范圍為0X0000-0X05dc,不包括CRC檢驗碼),因此對于接收到的幀,如果類型字段取值范圍為0X0000-0X05dc,則可以判斷其為802.3幀,而非Ethernet II幀。其中RAW 802.3是1983年Novell發布Netware/86網絡套件時采用的私有以太網幀格式,只支持IPX/SPX一種協議;802.3/802.2 LLC是IEEE 公布的正式802.3標準,它加入了3byte的LLC字段, 其中SAP值用以標志上層應用,每個SAP字段為8bits,其中只有6bit用于標識上層協議,因此所能標識的協議數不超過32種,導致802.3/802.2 LLC的使用有很大局限性;802.3/802.2 SNAP是IEEE為保證在802.2 LLC上支持更多的上層協議同時更好的支持IP協議而發布的標準,在802.3/802.2 LLC基礎上添加了5byte的SNAP字段,從而使其可以標識更多的上層協議類型,OUI字段用于代表不同的組織(一般置為0),在802.3/802.2 SNAP基礎上RFC1042定義了IP報文在802.2網絡中的封裝方法和ARP協議在802.2 SANP中的實現。

目前實際環境中大多數TCP/IP設備都使用Ethernet II格式的幀,它采用了RFC 894的實現標準。從上述幀格式中可以看出,Ethernet II格式幀數據段的長度限制在46byte-1500byte之間,當數據段長度小于46個字節時,加填充字段(PAD)補足。Ethernet II和802.3對數據幀的長度限制,其最大值分別是1500和1492字節,這一特性稱作最大傳輸單元(MTU)。

圖 IEEE802.2/802.3(RFC1042)和Ethernet II(RFC894)的封裝格式

在TCP/IP協議族中,鏈路層主要有三個目的:(1)為IP模塊發送和接收IP數據報;(2)為ARP模塊發送ARP請求和接收ARP應答;(3)為RARP發送RARP請求和接收RARP應答。

二、以太網IP層協議封裝格式

在TCP/IP協議族中基于鏈路層以上的協議主要有三種:IP協議、ARP協議和RARP協議,其中在IP數據報中又額外封裝了ICMP協議和IGMP協議。IP層協議也就是通常的網絡層協議,它提供點到點的服務(不同于傳輸層TCP/UDP協議提供端到端的服務)。

IP包封裝格式

版本號:IP包的版本,當前一般為IPv4,即0100。

首部長度:IP包頭長度(Internet Header Length,IHL),是一個4bit字段,是頭部占32比特的數字,包括可選項。普通IP數據報(沒有任何選項),該字段的值是5,即160比特=20字節。此字段最大值為60字節,表示頭部報文中沒有發送可選部分數據。

服務類型(TOS):其中前3比特為優先權子字段(Precedence,現已被忽略)。第8比特保留未用。第4至第7比特分別代表延遲、吞吐量、可靠性和花費。當它們取值為1時分別代表要求最小時延、最大吞吐量、最高可靠性和最小費用。這4比特的服務類型中只能置其中1比特為1。可以全為0,若全為0則表示一般服務。服務類型字段聲明了數據報被網絡系統傳輸時可以被怎樣處理。例如:TELNET協議可能要求有最小的延遲,FTP協議(數據)可能要求有最大吞吐量,SNMP協議可能要求有最高可靠性,NNTP(Network News Transfer Protocol,網絡新聞傳輸協議)可能要求最小費用,而ICMP協議可能無特殊要求(4比特全為0)。實際上,大部分主機會忽略這個字段,但一些動態路由協議如OSPF(Open Shortest Path First Protocol)、IS-IS(Intermediate System to Intermediate System Protocol)可以根據這些字段的值進行路由決策。

總長度:頭部及數據項長度,最大長度為65535bytes。

標識:當IP包較大需要進行分段時,用于標識該段所屬的分組。通常每發一份報文,它的值會加1。

標志:構成為[0][D][M],其中D為1表示不分段,M為0表示為最后分段,為1表示非最后分段。

片偏移:即分段偏移。如果一份數據報要求分段的話,此字段指明該段偏移距原始數據報開始的位置。

生存時間(TTL):表示一個IP數據流的生命周期,由發送數據的源主機設置,通常為32、64、128等。每次IP數據包經過一個路由器的時候TTL就減一,當減到0時,這個數據包就消亡了。

協議:傳輸層的協議類型。


首部校驗和:根據IP頭部計算得到的校驗和碼。計算方法是:對頭部中每個16比特進行二進制反碼求和。(和ICMP、IGMP、TCP、UDP不同,IP不對頭部后的數據進行校驗)。

選項:占32比特。用來定義一些任選項:如記錄路徑、時間戳等。這些選項很少被使用,同時并不是所有主機和路由器都支持這些選項。可選項字段的長度必須是32比特的整數倍,如果不足,必須填充0以達到此長度要求。

數據:IP包攜帶的各種傳輸層報文。

IP報文頭部實例:45 00 00 30 52 52 40 00 80 06 2c 23 c0 a8 01 01 d8 03 e2 15

三、傳輸層協議封裝格式

1.TCP協議

TCP是一種可靠的、面向連接的字節流服務。源主機在傳送數據前需要先和目標主機建立連接。然后,在此連接上,被編號的數據段按序收發。同時,要求對每個數據段進行確認,保證了可靠性。如果在指定的時間內沒有收到目標主機對所發數據段的確認,源主機將再次發送該數據段。

TCP包封裝格式

源、目標端口號字段:占16比特。TCP協議通過使用"端口"來標識源端和目標端的應用進程。端口號可以使用0到65535之間的任何數字。在收到服務請求時,操作系統動態地為客戶端的應用程序分配端口號。在服務器端,每種服務在"眾所周知的端口"(Well-Know Port)為用戶提供服務。

順序號字段:占32比特。用來標識從TCP源端向TCP目標端發送的數據字節流,它表示在這個報文段中的第一個數據字節。

確認號字段:占32比特。只有ACK標志為1時,確認號字段才有效。它包含目標端所期望收到源端的下一個數據字節。

數據偏移量:實際上是TCP首部長度,用來標識數據段的起始位置。給出頭部占32比特的數目。沒有任何選項字段的TCP頭部長度為20字節;最多可以有60字節的TCP頭部。

控制標識(U、A、P、R、S、F)::TCP協議中的六個重要的標志。是兩個計算機數據交流的信息標志。接收和發送斷根據這些標志來確定信息流的種類。

URG:(Urgent Pointer field significant)緊急指針。用到的時候值為1,用來處理避免TCP數據流中斷。

ACK:(Acknowledgment fieldsignificant)置1時表示確認號(AcknowledgmentNumber)為合法,為0的時候表示數據段不包含確認信息,確認號被忽略。

PSH:(Push Function),PUSH標志的數據,置1時請求的數據段在接收方得到后就可直接送到應用程序,而不必等到緩沖區滿時才傳送。

RST:(Reset the connection)用于復位因某種原因引起出現的錯誤連接,也用來拒絕非法數據和請求。如果接收到RST位時候,通常發生了某些錯誤。

SYN:(Synchronize sequence numbers)用來建立連接,在連接請求中,SYN=1,ACK=0,連接響應時,SYN=1,ACK=1。即,SYN和ACK來區分Connection Request和Connection Accepted。

FIN:(No more data from sender)用來釋放連接,表明發送方已經沒有數據發送了。

滑動窗口:控制報文流量,用來告訴對方目前接收端緩沖器大小。當為0時標識緩沖器已滿,需要停止發包,單位為byte。

TCP校驗和字段:占16比特。對整個TCP報文段,即TCP頭部和TCP數據進行校驗和計算,并由目標端進行驗證。

緊急指針字段:占16比特。它是一個偏移量,和序號字段中的值相加表示緊急數據最后一個字節的序號。

選項字段:占32比特。可能包括"窗口擴大因子"、"時間戳"等選項。

TCP協議頭部實例:0d 28 00 15 50 5f a9 06 00 00 00 00 70 02 40 00 c0 29 00 00

TCP建立連接的三次握手過程

TCP會話通過三次握手來初始化。三次握手的目標是使數據段的發送和接收同步。同時也向其他主機表明其一次可接收的數據量(窗口大小),并建立邏輯連接。這三次握手的過程可以簡述如下:

1、源主機發送一個同步標志位(SYN)置1的TCP數據段。此段中同時標明初始序號(Initial Sequence Number,ISN)。ISN是一個隨時間變化的隨機值。

2、目標主機發回確認數據段,此段中的同步標志位(SYN)同樣被置1,且確認標志位(ACK)也置1,同時在確認序號字段表明目標主機期待收到源主機下一個數據段的序號(即表明前一個數據段已收到并且沒有錯誤)。此外,此段中還包含目標主機的段初始序號。

3、源主機再回送一個數據段,同樣帶有遞增的發送序號和確認序號。

至此為止,TCP會話的三次握手完成。接下來,源主機和目標主機可以互相收發數據。

2.UDP協議

UDP是一種不可靠的、無連接的數據報服務。源主機在傳送數據前不需要和目標主機建立連接。數據被冠以源、目標端口號等UDP報頭字段后直接發往目的主機。這時,每個數據段的可靠性依靠上層協議來保證。在傳送數據較少、較小的情況下,UDP比TCP更加高效。

UDP包封裝格式

源、目標端口號字段:16比特。作用與TCP數據段中的端口號字段相同,用來標識源端和目標端的應用進程。

長度字段:占16比特。標明UDP頭部和UDP數據的總長度字節。

校驗和字段:占16比特。用來對UDP頭部和UDP數據進行校驗。和TCP不同的是,對UDP來說,此字段是可選項,而TCP數據段中的校驗和字段是必須有的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    41

    文章

    5984

    瀏覽量

    180500
  • 封裝
    +關注

    關注

    128

    文章

    9235

    瀏覽量

    148441

原文標題:今日分享:以太網協議封裝格式

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    車載以太網協議轉換器操作教程# 車載以太網# 轉換器# 硬件# 教程# 汽車# 技術# 操作

    車載以太網
    康謀自動駕駛
    發布于 :2026年01月28日 11:19:40

    RDMA設計12:融合以太網協議棧設計1

    本文主要交流設計思路,在本博客已給出相關博文90多篇,希望對初學者有用。注意這里只是拋磚引玉,切莫認為參考這就可以完成商用IP設計。 融合以太網協議棧負責用戶請求與 RDMA 數據包的轉換、管理
    發表于 12-25 11:39

    基于以太網芯片的應用層方案

    在物聯網與智能化加速發展的今天,以太網作為穩定、高速的有線通信基石,其核心——以太網芯片,正發揮著至關重要的作用。它不僅負責物理連接,更集成了協議處理能力,使得各類嵌入式設備能輕松融入網絡。本文將
    的頭像 發表于 12-09 14:47 ?481次閱讀
    基于<b class='flag-5'>以太網</b>芯片的應用層方案

    新思科技VIP全面支持超以太網與UALink協議

    以太網針對橫向擴展架構設計,是一種專為AI量身定制的開放、可互操作、高性能協議解決方案,得到了交換機、網絡、半導體和系統供應等領域的知名企業及超大規模用戶的支持。
    的頭像 發表于 11-03 16:08 ?813次閱讀
    新思科技VIP全面支持超<b class='flag-5'>以太網</b>與UALink<b class='flag-5'>協議</b>

    以太網通訊在FPGA上的實現

    數據量達到幾十,甚至成百上千個字節。下圖為以太網通過UDP傳輸單包數據的格式,可以看出,以太網的數據包就是對各層協議的逐層封裝來實現數據的傳
    發表于 10-30 07:45

    什么,以太網能傳CAN報文?

    概述IEEE1722(AVB/TSN協議族中的核心協議)不僅定義了基于以太網的音視頻流傳輸格式(AVTP-AAF),還包含了一套關鍵的控制協議
    的頭像 發表于 09-09 15:59 ?2409次閱讀
    什么,<b class='flag-5'>以太網</b>能傳CAN報文?

    以太網模塊被忽視的角落 #電磁兼容EMC #電子工程師 #電子元器件 #磁珠 #濾波電容 #以太網

    以太網
    深圳市韜略科技有限公司
    發布于 :2025年07月25日 17:35:35

    以太網入門:從零開始,掌握以太網基礎知識!

    以太網是一種基于異步載波偵聽多路訪問/沖突檢測(CSMA/CD)協議的通信技術。它支持的有效負載大小為46-1500個八位字節,數據速率可達10Mbps、10
    的頭像 發表于 06-09 14:00 ?4117次閱讀
    <b class='flag-5'>以太網</b>入門:從零開始,掌握<b class='flag-5'>以太網</b>基礎知識!

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制器

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制器
    的頭像 發表于 06-04 14:56 ?1039次閱讀
    Microchip LAN9211-ABZJ 集成 10/100 <b class='flag-5'>以太網</b> PHY的<b class='flag-5'>以太網</b>控制器

    雙通道CAN轉以太網#CAN轉以太網#三格電子

    以太網
    三格電子科技
    發布于 :2025年05月12日 13:17:05

    Modbus轉以太網終極方案:三步實現老舊設備智能升級

    包率低 典型痛點場景: ? 污水處理廠30個泵站Modbus儀表數據無法集中監控 ? 紡織車間200臺老設備需投入6人專職抄表 ? 能源集團因協議不兼容損失百萬級數據 二、Modbus轉以太網核心技術
    發表于 04-24 10:37

    串口轉以太網芯片選型指南:2025十大以太網模塊品牌盤點與應用方案解析

    ,不同品牌的以太網模塊在性能、穩定性、功能支持等方面存在差異,如何選擇合適的芯片成為了眾多研發工程師關注的重點。 本文基于權威數據平臺的分析,盤點了2025年十大主流以太網模塊品牌,并詳細介紹了市場認可度高的億佰特(
    的頭像 發表于 04-09 15:30 ?1945次閱讀

    工業與IT網絡中的以太網數據幀:格式與用途全解析

    以太網數據幀是計算機網絡通信的基本單位,在不同的應用場景中,它的格式有所不同。從互聯網和工業自動化常見的以太網 II 幀,到 VLAN 組網中廣泛使用的 IEEE 802.1Q 幀,再到運營商級別的 QinQ 及高性能計算中的
    的頭像 發表于 03-14 17:35 ?1584次閱讀
    工業與IT網絡中的<b class='flag-5'>以太網</b>數據幀:<b class='flag-5'>格式</b>與用途全解析

    工業以太網中的數據鏈路層與工業交換機的關鍵作用

    工業以太網成為了支撐工業控制和通信系統的重要組成部分。數據鏈路層是工業以太網中的關鍵層,它為網絡中的數據傳輸提供了基本保障,而數據鏈路層不僅關乎設備間的通信質量,還直接影響到網絡的整體
    的頭像 發表于 02-28 16:01 ?1111次閱讀
    工業<b class='flag-5'>以太網</b>中的數據<b class='flag-5'>鏈路層</b>與工業交換機的關鍵作用