1. 程式人生 > >Ethernet_II幀和802.3_Ethernet幀格式比較

Ethernet_II幀和802.3_Ethernet幀格式比較

一、Ethernet幀格式的發展 

1980 DEC,Intel,Xerox制訂了Ethernet I的標準 
1982 DEC,Intel,Xerox又制訂了Ehternet II的標準 
1982 IEEE開始研究Ethernet的國際標準802.3 
1983 迫不及待的Novell基於IEEE的802.3的原始版開發了專用的Ethernet幀格式 
1985 IEEE推出IEEE 802.3規範 
後來為解決EthernetII與802.3幀格式的相容問題推出折衷的Ethernet SNAP格式 

(其中早期的Ethernet I已經完全被其他幀格式取代了所以現在Ethernet只能見到後面幾種Ethernet的幀格式現在大部分的網路裝置都支援這幾種Ethernet的幀格式如:cisco的路由器再設定Ethernet介面時可以指定不同的乙太網的幀格式:arpa,sap,snap,novell-ether) 

二、各種不同的幀格式 
下面介紹一下各個幀格式  

Ethernet II 
就是DIX乙太網聯盟推出的,它由6個位元組的目的MAC地址,6個位元組的源MAC地址,2個位元組的型別域(用於標示封裝在這個Frame、裡面資料的型別)以上為Frame Header,接下來是46--1500 位元組的資料,和4位元組的幀校驗)
Novell Ethernet 
它的幀頭與Ethernet有所不同其中EthernetII幀頭中的型別域變成了長度域,後面接著的兩個位元組為0xFFFF 
用於標示這個幀是Novell Ether型別的Frame 由於前面的0xFFFF站掉了兩個位元組所以資料域縮小為44-1498個位元組,幀校驗不變。
IEEE 802.3/802.2 
802.3的Frame Header和Ethernet II的幀頭有所不同EthernetII型別域變成了長度域。其中又引入802.2協議(LLC)在802.3幀頭後面添加了一個LLC首部,由DSAP(Destination Service Access Point) 
1 byte,SSAP(Source SAP),一個控制域--1 byte! 
SAP用於標示幀的上層協議
Ethernet SNAP 
SNAP Frame與802.3/802.2 Frame的最大區別是增加了一個5 Bytes的SNAP ID其中前面3個byte通常與源mac地址的前三個bytes相同為廠商程式碼!有時也可設為0,後2 bytes 與Ethernet II的型別域相同。。。 

三、如何區分不同的幀格式 

Ethernet中存在這四種Frame那些網路裝置又是如何識別的呢? 如何區分EthernetII與其他三種格式的Frame 如果幀頭跟隨source mac地址的2 bytes的值大於1500 則此Frame為EthernetII格式的。 

接著比較緊接著的兩bytes如果為0xFFFF則為Novell Ether 型別的Frame 
如果為0xAAAA則為Ethernet SNAP格式的Frame ,如果都不是則為Ethernet 802.3/802.2格式的幀