複製鏈接
請複製以下鏈接發送給好友

幀格式

鎖定
幀格式,是指根據不同協議規定的幀的格式。通常由“幀頭+數據信息”兩部分組成。
幀格式主要有以太網幀格式、數據幀格式、802.3幀格式、MAC幀格式。
中文名稱
幀格式
英文名稱
frame format
定  義
根據不同協議規定的幀的格式。通常由“幀頭+數據信息”兩部分組成。
應用學科
通信科技(一級學科),通信原理與基本技術(二級學科)
中文名
幀格式
外文名
frame format
定    義
根據不同協議規定的幀的格式
應用學科
通信科技,通信原理與基本技術

幀格式概念

幀格式,是指根據不同協議規定的幀的格式。通常由“幀頭+數據信息”兩部分組成。
幀格式主要有以太網幀格式、數據幀格式、802.3幀格式、MAC幀格式。
以太網幀格式
有四種不同格式的以太網幀在使用,它們分別是:
1、Ethernet II即DIX 2.0:Xerox與DEC、Intel在1982年制定的以太網標準幀格式。Cisco名稱為:ARPA。
2、Ethernet 802.3 raw:Novell在1983年公佈的專用以太網標準幀格式。Cisco名稱為:Novell-Ether。
3、Ethernet 802.3 SAP:IEEE在1985年公佈的Ethernet 802.3的SAP版本以太網幀格式。Cisco名稱為:SAP。
4、Ethernet 802.3 SNAP:IEEE在1985年公佈的Ethernet 802.3的SNAP版本以太網幀格式。Cisco名稱為:SNAP。
EthernetII幀格式
在Ethernet 802.3 raw類型以太網幀中,原來Ethernet II類型以太網幀中的類型字段被"總長度"字段所取代,它指明其後數據域的長度,其取值範圍為:46-1500。 接下來的2個字節是固定不變的16進制數0xFFFF,它標識此幀為Novell以太類型數據幀。
Ethernet 802.3 SAP幀格式
在Ethernet 802.3 SAP幀中,將原Ethernet 802.3 raw幀中2個字節的0xFFFF變為各1個字節的DSAP和SSAP,同時增加了1個字節的"控制"字段,構成了802.2邏輯鏈路控制(LLC)的首部。LLC提供了無連接(LLC類型1)和麪向連接(LLC類型2)的網絡服務。LLC1是應用於以太網中,而LLC2應用在IBM SNA網絡環境中。
新增的802.2 LLC首部包括兩個服務訪問點:源服務訪問點(SSAP)和目標服務訪問點(DSAP)。它們用於標識以太網幀所攜帶的上層數據類型,如16進制數0x06代表IP協議數據,16進制數0xE0代表Novell類型協議數據,16進制數0xF0代表IBM NetBIOS類型協議數據等。 至於1個字節的"控制"字段,則基本不使用(一般被設為0x03,指明採用無連接服務的802.2無編號數據格式)。
Ethernet 802.3 SNAP幀格式
Ethernet 802. 3 SNAP類型以太網幀格式和Ethernet 802. 3 SAP類型以太網幀格式的主要區別在於:
2個字節的DSAP和SSAP字段內容被固定下來,其值為16進制數0xAA。 1個字節的"控制"字段內容被固定下來,其值為16進制數0x03。 增加了SNAP字段,由下面兩項組成:
新增了3個字節的組織唯一標識符(Organizationally Unique Identifier,OUI ID)字段,其值通常等於MAC地址的前3字節,即網絡適配器廠商代碼。 [1] 
數據幀格式
LLC子層協議規範PDU格式
1個字節
1個字節
1個或者2個字節
N個字節
DSAP
SSAP
控制字段
LLC數據
DSAP:目的服務訪問點,全1 為全局地址,全0為空地址
SSAP:源服務訪問點
以太網的幀格式
前導字符
目的MAC地址
源MAC地址
類型
IP頭部
TCP頭部
數據
幀校驗
IEEE802.3的幀格式
前導字符
目的MAC地址
源MAC地址
長度
DSAP
SSAP
數據
幀校驗
1、兩種幀格式前導字符都是 10101011作為幀開始的信號,表示一幀的開始。最後兩位是11,表示下面的字段是目的地址。
2、當目的地址出現多址時,表示該幀被一組站同時接收,稱為“組播”(Multicast)。目的地址出現全地址時,表示該幀被局域網上所有站同時接收,稱為“廣播”(Broadcast),通常以DA的最高位來判斷地址的類型,若第一字節最低位為“0”則表示單址,第一字節最低位為“1”則表示組播。
3、以太網幀格式“類型”用來説明後續數據的類型,IEEE802.3的幀格式“長度”用來説明後續數據(除了幀校驗字段)的字節長度。
令牌環網的MAC幀格式
SD
AC
FC
目的地址
源地址
數據
FCS
ED
FS
SD:幀首定界符
AC: 訪問控制,AC字段的編碼為PPPTMRRR,3P表示優先級,3位R表示預約優先級,T是令牌位(T=0表示此幀是令牌幀,T=1表示此幀是數據幀),M是監控位;
FC:幀控制,定義幀的類型。
FCS:幀校驗序列。
ED:幀尾定界符。
FS:幀狀態字段。
令牌總線的MAC幀格式
前導碼
幀起始定界符SD
FC
目的地址
源地址
數據
FCS
ED
FDDI(光纖分佈式數據接口)的MAC幀格式
前導碼
幀起始定界符SD
FC
目的地址
源地址
數據
FCS
ED
FS
前導碼:接收時鐘的同步。
幀起始定界符:表示幀的開始,在幀的數據字段中不會出現。
FC:幀控制字段,表示幀發送的類別。
ED:幀結束定界符,表示幀的結束,在幀的數據字段中不會出現。
FCS:幀校驗序列。
FS:幀狀態字段,用於返回地址識別、數據差錯及數據複製等狀態。
Radius報文的數據部分由三元組組成
屬性編號(1字節)
整個屬性的長度(1字節)
屬性值(0到多字節)
X.25 LAPB幀格式
標誌F
地址字段A
控制字段C
信息字段I
校驗序列FCS
標誌F
IEEE802.3幀的結構
前導碼(Preamble):由0、1間隔代碼組成,可以通知目標站作好接收準備。
IEEE 802.3幀的前導碼佔用7個字節,緊隨其後的是長度為1個字節的幀首定界符(SOF)。以太網幀把SOF包含在了前導碼當中,因此,前導碼的長度擴大為8個字節。
幀首定界符(SOF:Start-of-Frame Delimiter):IEEE 802.3幀中的定界字節,以兩個連續的代碼1結尾,表示一幀實際開始。
目標和源地址(DA、SA):表示發送和接收幀的工作站的地址,各佔據6個字節。其中,目標地址可以是單址,也可以是多點傳送或廣播地址。
類型(以太網):佔用2個字節,指定接收數據的高層協議。
長度L(IEEE 802.3):表示緊隨其後的以字節為單位的數據段的長度。
數據L(以太網):在經過物理層和邏輯鏈路層的處理之後,包含在幀中的數據將被傳遞給在類型段中指定的高層協議。雖然以太網版本2中並沒有明確作出補齊規定,但是以太網幀中數據段的長度最小應當不低於46個字節。
數據(IEEE 802.3:LLCPDU邏輯鏈路層協議數據單元):IEEE 802.3幀在數據段中對接收數據的上層協議進行規定。如果數據段長度過小,使幀的總長度無法達到64個字節的最小值,那麼相應軟件將會自動填充數據段,以確保整個幀的長度不低於64個字節。
LLCPDU——它的範圍處在46字節至1500字節之間。 最小LLCPDU長度46字節是一個限制,目的是要求局域網上所有的站點都能檢測到該幀,即保證網絡工作正常。如果LLCPDU小於46個字節,則發送站的MAC子層會自動填充“0”代碼補齊。
802.3一個幀的長度計算公式
DA+SA+L+LLCPDU+FCS=6+6+2+(46~1500)+4=64~1518
即當LLCPDU為46個字節時,幀最小,幀長為64字節;當LLCPDU為1500字節時,幀最大,幀長為1518字節。
幀校驗序列(FCS:Frame Check Sequence):
該序列包含長度為4個字節的循環冗餘校驗值(CRC),由發送設備計算產生,在接收方被重新計算以確定幀在傳送過程中是否被損壞。

幀格式MAC幀格式

一般802.11MAC幀幀格式
Frame control
Duration /ID
Address1
Address2
Address3
Seq- ctl
Address4
Frame body
FCS
RTS幀格式
請求發送幀(RTS)有20個字節長,它包含有幀控制域、幀交換所需時間長度(duration)/關聯號(ID)域、兩個地址域和幀校驗域。發送這個幀的一個目的是將完成幀交換所需時間長度(duration)信息告知其鄰近的STA,也就是能收到RTS的STA就用收到的信息更新其NAV,從而防止了這些STA在告知的時間內發送信息,也就避免了衝突的發生。
RTS幀中的RA標明的是一個無線媒體上的STA,該STA為即將發送的數據幀或者管理幀的接收者,而且在RTS幀中的RA必須是某個STA的MAC地址。TA標明的是傳送RTS幀的STA,它被由RTS中的RA標識的STA用來發送RTS的響應幀。在該幀中傳送的時間長度(duration)信息是完成一個4步驟幀交換(RTS、CTS、DATA、ACK)所需要的時間,它由這些時間構成:傳送1個CTS的時間、傳送1個數據或者管理幀的時間、傳送1個對數據或者管理幀應答的時間、以及在CTS和數據或者管理幀之間的幀間間隙(SIFS)和在數據或者管理幀和ACK之間的幀間間隙(SIFS)時間(一共3個SIFS)。時間長度(duration)是以微秒為單位的。如果計算的時間值不是整數,則取大於該值的最小整數。
CTS幀格式
允許發送幀(CTS)有14個字節長,它包含有幀控制域、幀交換所需時間長度(duration)/關聯號(ID)域、1個地址域和幀校驗域。發送這個幀的一個目的是將完成幀交換所需時間長度(duration)信息告知其鄰近的STA,也就是能收到CTS的STA就用收到的信息更新其NAV,從而防止了這些STA在告知的時間內發送信息,也就避免了衝突的發生。
CTS中的RA標識的是接收該CTS的某個STA的MAC地址,在CTS中RA必須是某個STA的MAC地址。而RA的值是從接收到的RTS幀中的TA複製過來的,而此CTS就是作為接收到的RTS的響應幀。在該幀中傳送的時間長度(duration)信息是完成一個4步驟幀交換(RTS、CTS、DATA、ACK)所需要的時間,它由這些時間構成:傳送1個數據或者管理幀的時間、傳送1個對數據或者管理幀應答的時間、以及在數據或者管理幀和ACK之間的幀間間隙(SIFS)時間,也就是將收到的RTS幀中的時間長度(duration)減去傳送CTS時間和1個SIFS時間。時間長度(duration)是以微秒為單位的。如果計算的時間值不是整數,則取大於該值的最小整數。
ACK幀格式
確認(ACK)幀有14字節長,它包含有幀控制域、幀交換所需時間長度(duration)/關聯號(ID)域、1個地址域和幀校驗域。使用這個幀有兩個目的,一是對剛正確接收到的數據、管理幀、PS-Poll幀的確認。這也就告訴了ACK的接收者或者是剛收到的數據、管理幀、PS-Poll幀的發送者已經正確接收了,那麼也就不需要重傳剛收到的數據、管理幀、PS-Poll幀。ACK幀的第二個目的是在段突發傳送過程中,它可以將時間長度(duration)通知給段接收者的鄰近STA,這種情況下ACK就扮演了CTS的角色。
ACK幀的RA標識的是某個接收該幀的STA的MAC地址,而且在ACK中的RA必須是某個STA的MAC地址,RA是從剛接收到的數據幀,管理幀或者PS-Poll控制幀中的第2地址域複製過來的。如果接收到的數據幀或者管理幀中的幀控制域的More Fragment位被置為0,則長度域的值置為0。如果接收到的數據幀或者管理幀中的幀控制域的More Fragment位被置為1,則長度域的值置將接收到的數據幀或者管理幀的長度域的值減去傳送1個ACK幀的時間和1個SIFS得到。如果計算出的該值不是整數,則取大於該值的最小整數。
Beacon幀格式
信標幀Beacon是相當重要的維護機制,主要用來宣告某個網絡的存在。定期發送的信標,可讓移動工作站得知該網絡的存在,從而調整加入該網絡所必要的參數。在基礎型網絡裏,接入點必須負責發送 Beacon幀。Beacon幀所及範圍即為基本服務區域。在基礎型網絡裏,所有溝通都必須通過接入點,因此工作站不能距離太遠,佔則便無法接收到信標。信標並不全會用到所有位。選擇性位只有在用到時才一會出現。 [2] 

幀格式分析應用

IEEE 802.3又叫做具有CSMA~CD(載波監聽多路訪問/衝突檢測)的網絡。CSMA/CD是IEEE802.3採用的媒體接入控制技術,或稱為介質訪問控制技術。因此,IEEE 802.3是以“以太網”為技術原型,本質特點是採用CSMA/CD的介質訪問控制技術。
IEEE 802.3協議標準系列中,數據鏈路層包括邏輯鏈路控制(LLC)子層和媒體訪問控制(MAC)子層。其中MAC位於LLC和物理層之間,它使LLC適應於不同的媒體訪問技術和物理媒體。MAC單獨作為一個子層,就不會因為媒體訪問方法改變而影響較高層次的協議。MAC由數據拆裝和媒體訪問管理兩個模塊組成,完成數據幀的封裝、解封、發送和接收功能。
Ethernet上發送的的數據是按一定格式進行的,並將此數據格式稱為幀。幀是一系列標準化的數據位,是以太網系統的核心部件,以太網站點採用發送信息幀的方式進行通信,幀是網絡通信的基本單元,節點間發送任何信息,都要將內容放在幀的有效部分當中,通過一個或多個幀進行傳送。節點之間可靠的幀傳輸不僅是相互通信的保障,通過幀的傳輸還可以實現對網絡的控制等各種功能。幀結構的目的是提供一種封裝來承載數據。幀的基本結構是由原始的DEC.Intel.Xerox(DIX)以太網標準定義的,最後由IEEE 802.3X提出官方標準。
基本幀結構
從1998編輯版開始,802.3標準對MAC幀的結構作了重大的變化,增添了擴展幀,基本的幀格式也有了意義重大的變化。
前導碼
處於mac幀開始處的字段為前導碼字段,由7個字節組成。其功能是使接收器建立比特同步。編碼形式為多個“1”或“0”交替構成的二進制序列,最後一比特為“0”。在這種編碼形式下,經過曼徹斯特編碼後為一週期性方波。
幀首定界符(sfd)
幀首定界符(sfd)是man幀的第2個字段,其編碼形式為“10101011”序列,長度剛好為一個字節。該字段的功能是指示一幀的開始。
目的地址字段(da)和源點地址(sa)
目的地址字段(da)為第3個字段,長度為6個字節。該字段用來指出幀要發住的工作站。源點地址(sa)處於終點地址字段之後,其長度也為6個字節。該字段功能是指示發送該幀的工作站地址。
a)每個地址字段都是48比特長度。儘管IEEE802指定可用16位或者48位比特地址,但IEEE802.3的實現沒有使用16位比特地址。因此16位比特地址特別地被這個標準排除了。 b)第一位(LSB)將用於目的地址字段作為地址類型標誌位用於識別目的地址是單地址還是組地址。如果這位是0,標識單地址;如果是1,標識組地址,組地址則可以是0個,1個,多個或者全部連接在LAN上的網絡站。源地址字段中第一位保留或設置為0。
c)第二位將用於區別局部或全局可管理地址。對全局可管理(U)地址,這一位設為0。如果一個地址是局部可管理的,這一位設為1。注意的是,對廣播地址而言,這一位仍然是l。 d)地址中字節位序。以太網同大多數數據通信系統一樣,傳輸一個字節的順序是從最低有效位到最高有效。一般二進制數字最低位寫在最右邊,而最高位寫在最左邊,這被稱為小端形式或正規形式。一個字節可以寫成兩個十六進制數字,第一個數字(最左邊)是最高位數字,第二個(最右邊)是最低位數字。例如,6字節域:08.OO.60.01.ZC.4A 將按以下順序從左向右串行發送:00010000—00000000—00000110一10000000—00110100—
01010010
長度/類型字段
長度/類型字段為第5個字段,其長度為2個字節,長度/類型字段具有兩種意義中的一種。如果這個字段的值小於1518,那麼這個字段就是長度字段,並定義後面的數據字段的長度。但是如果這個字段的值大於1518,它就定義使用因特網服務的上層協議。 長度域:0800H 表示數據為IP包,0806H 表示數據為ARP包,814CH是SNMP包,8137H為IPX/SPX包,(小於0600H的值是用於IEEE802的,表示數據包的長度。
2.5 MAC客户數據字段
MAC客户數據字段是幀要載攜的用户數據,該數據有46-1500字節長,由llc子層提供或接收。
其中,DSAP(1字節)表示目的服務訪問點,指出MAC幀的數據應上交給哪一個協議,
SSAP(1字節)表示源服務訪問點,指出該MAC幀是從哪一個協議發送過來的,另外還有1或2字節的控制字段。此三部分構成LLC幀的首部三個字段。
2.6 填充(pad)字段
填充(pad)字段緊接的MAC客户數據字段之後,包含一個n字節序列,它們可以是任意值,允許所有數據對傳輸的幀是透明的。當MAC客户數據字段的長度小於46字節時,則應加以填充(內容不限),這樣,整個MAC幀(包含14字節首都和四字節尾部)的最小長度是64字節或512bit。數據字段的長度不能超過標準指定的最大值1500字節。
2.7 幀檢驗序列(fcs)
幀檢驗序列(fcs)處於幀的最後,其長度為32比特,用於檢驗幀在傳輸過程中有無差錯。FCS是在傳輸之前,在DA、SA、長度/類型和數據+填充字段上生成的。將傳輸的FCS值與新的FCS值比較,而新值是在接收該幀時計算得到的。這提供對DA、SA、長度/類型、數據+填充及幀校驗序列(FCS)字段的差錯檢測。採用使用CRC-32計算產生。
無效的MAC幀格式
802.3標準規定凡出現下列情況之—的即為無效的MAC幀:
(1)MAC客户數據字段的長度與長度字段的值不—致;
(2)幀的長度不是整數個字節;
(3)當收到的幀檢驗序列FCS查出有差錯。
(4)收到的幀的MAC客户數據字段的長度不在46~1500字節之間。
對於檢查出的無效MAC幀就簡單地丟棄,以太網不負責重傳丟失的幀。為什麼長度不夠的幀就是無效幀呢?
這是因為,CSMA/CD協議的一個要點就是當發送站正在發送時,若檢測到碰撞則立即中止發送,然後推後一段時間後再發送。如果所發送的幀太短,還沒有來得及檢測到碰撞就已經發送完了.那麼就無法進行碰撞檢測.因而就會使CSMA/CD協議變得沒有意義。因此,所發送的幀的最短長度應當要保證在發送完畢之前,必須能夠檢測到可能最晚來到的碰撞信號。這段時間就是以太網的兩倍端到端往返時延。在802.3標準中,這段時間取為51.2us, 對於10M Bit/s速率的以太網,這段時間可以發送512bit。這樣就得出了MAC幀的最短長度為512bit,或64字節。在接收端,凡長度不夠64字節的幀就都認為是應當棄的無效幀。
MAC子層的標準還規定了幀間最小間隙為9.6us,相當於96bit的發送時間。這就是説,一個站在檢沒到總線開始空閒後,還要等待9.6us才能發送數據,這樣做是為了使剛剛收到數據幀的站接收緩存來路及清理做好接收下一幀的準備。 [3] 
參考資料
  • 1.    陳熾文 張建紅.數字數據網.北京:人民出版社,1999.10
  • 2.    李性存 李偉琴.計算機局域網絡:北京航空航天大學出版社,1991年12月
  • 3.    田豐 田玲.現代計算機網絡實用技術.北京:人民出版社,2003.01