首先說明一下,
Ethernet
和
802.3
並不是一回事,雖然我們經常混用這兩個術語;
歷史上以太網幀格式有五種
:
1. Ethernet V1 :
這是最原始的一種格式,是由
Xerox
PARC
提出的
3Mbps CSMA/CD
以太網標準的封裝格式,後來在
1980
年由
DEC
,
Intel
和
Xerox
標準化形成
Ethernet
V1
標準;
2.
Ethernet
V2(ARPA)
:
這是最常見的一種以太網幀格式,也是今天以太網的事實標準,由
DEC
,
Intel
和
Xerox
在
1982
年公佈其標準,主要
更改了
Ethernet
V1
的電氣特性和物理接口,在幀格式上並無變化;
Ethernet V2
出現後迅速取代
Ethernet
V1
成爲以太網事實標準;
Ethernet V2
幀頭結構爲
6bytes
的源地址
+6bytes
的目標地址
+2Bytes
的協
議類型字段
+
數據。
常見協議類型如下:
0800
IP
0806 ARP
8137 Novell IPX
809b Apple
Talk
如果協議類型字段取值爲
0000-05dc(
十進制的
0-1500)
,則該幀就不是
Ethernet
V2(ARPA)
類
型了,而是下面講到的三種
802.3
幀類型之一;
Ethernet
可以支持
TCP/IP
,
Novell IPX/SPX
,
Apple Talk Phase
I
等協議;
RFC
894
定義了
IP
報文在
Ethernet V2
上的封裝格式;
3.
RAW 802.3
:
這是
1983
年
Novell
發佈其劃時代的
Netware/86
網絡套件時採用的私有以太網幀格式,該格式以當時尚未正式發
布的
802.3
標準爲基礎;但是當兩年以後
IEEE
正式發佈
802.3
標準時情況發生了變化
—IEEE
在
802.3
幀頭中又
加入了
802.2 LLC(Logical
Link Control)
頭,這使得
Novell
的
RAW 802.3
格式跟正式的
IEEE
802.3
標準互不兼容;可以看到在
Novell
的
RAW 802.3
幀結構中並沒有標誌協議類型的字段,而只有
Length
字段
(2bytes,
取值爲
0000-05dc
,即十進制的
0-1500)
,因爲
RAW
802.3
幀只支持
IPX/SPX
一
種協議;
4.
802.3/802.2
LLC
:(LLC+MAC)
這是
IEEE
正式的
802.3
標準,它由
Ethernet
V2
發展而來。它將
Ethernet V2
幀頭的協議類型字段替換爲幀長度字段
(
取值爲
0000-05dc;
十進制的
1500
)
;並加入
802.2 LLC
頭用以標誌上層協議,
LLC
頭中包含
DSAP
,
SSAP
以及
Crontrol
字段;
常見
SAP
值:
0
:
Null LSAP[IEEE]
4
:
SNA Path
Control[IEEE]
6
:
DOD IP[79,JBP]
AA
:
SNAP[IEEE]
FE
:
ISO DIS
8473[52,JXJ]
FF
:
Global DSAP[IEEE]
SAP
值用以標誌上層應用,但是每個
SAP
字段只有
8bits
長,而且其中僅保留了
6
比特用於標識上層協議,因此所能標識的
協議數有限
(
不超過
32
種
)
;並且
IEEE
拒絕爲某些重要的協議比如
ARP
協議定義
SAP
值
(
奇怪的是同時他們卻定義了
IP
的
SAP
值
)
;因此
802.3/802.2 LLC
的使用有很大侷限性;
5.
802.3/802.2 SNAP
:
這是 IEEE 爲保證在 802.2 LLC 上支持更多的上層協議同時更好的支持 IP 協議而發佈的標準,與 802.3/802.2 LLC 一樣 802.3/802.2 SNAP 也帶有 LLC 頭,但是擴展了 LLC 屬性,新添加了一個 2Bytes 的協議類型域( 同時將 SAP 的值置爲 AA ),從而使其可以標識更多的上層協議類型;另外添加了一個 3Bytes 的 OUI 字段用於代表不同的 組織, RFC 1042 定義了 IP 報文在 802.2 網絡中的封裝方法和 ARP 協議在 802.2 SANP 中的實現;
今天的實際環境中大多數
TCP/IP
設備都使用
Ethernet V2
格式的幀。這是因爲第一種大規模使用的
TCP/IP
系統
(4.2/3 BSD UNIX)
的出現時間介於
RFC
894
和
RFC
1042
之間,它爲了避免不能和別的主機互操作的風險而採用了
RFC 894
的實現;也由於大家都抱着這種想法,所以
802. 3
標準並沒有如預期那樣得到普及;
CISCO
設備的
Ethernet
Interface
默認封裝格式是
ARPA(Ethernet V2)
不同廠商對這幾種幀格式通常有不同的叫法,比如:
Frame
Type----------------------------------Novell/
----------------------------Cisco
Ethernet Version 2
:
-----------------------Ethernet_II/---
-----------------arpa
802.3------------------------------------------ Raw
:
Ethernet_802.3/
novell_ether
IEEE
802.3/802.2
:
-------------------------Ethernet_802.2/--------
--------
sap
IEEE 802.3/802.2
SNAP
:
------------------ETHERNET_SNAP/--------------
snap