1. Ethernet幀(除去上層負載後長度爲18字節)
以太幀有好多種,我們最常用到的是Ethernet II
Ethernet II即DIX 2.0:Xerox與DEC、Intel在1982年制定的以太網標準幀格式。Cisco名稱爲:ARPA
Ethernet以太網協議在數據鏈路層中,提供MAC編址,提供了主機之間同一網段之間的通信,MAC地址是計算機的物理地址,48位,生產中就燒入,不可更改,它的頭部信息如下:
Ethernet II類型以太網幀的最小長度爲64字節(6+6+2+46+4),最大長度爲1518字節(6+6+2+1500+4)。
目標MAC地址:標識出發送數據幀的源節點MAC地址,6字節。
源MAC地址:和接收數據幀的目標節點MAC地址,6字節。(注:ISL封裝後可達1548字節,802.1Q封裝後可達1522字節)
類型:2個字節,標識出以太網幀所攜帶的上層數據類型,如下:
IPv4: 0x0800
ARP:0x0806
PPPoE:0x8864
802.1Q tag: 0x8100
IPV6: 0x86DD
MPLS Label:0x8847
FCS:在不定長的數據字段後是4個字節的幀校驗序列(Frame. Check Sequence,FCS)
實際報文信息如下:
2. ARP (ARP Header長度:8字節)
ethernet報文“類型”字段值爲0x0806,ARP
硬件類型:1 表示以太網
協議類型:和Ethernet數據幀中類型字段相同
OP操作字段:
1 表示ARP請求
2 表示ARP應答
3 表示RARP請求
4 表示RARP應答
3. 802.1q VLAN數據幀(4字節)
ethernet報文“類型”字段值爲0x8100,基於802.1Q的VLAN幀格式
Type:長度爲2字節,取值爲0x8100,表示此幀的類型爲802.1Q Tag幀。
PRI:長度爲3比特,可取0~7之間的值,表示幀的優先級,值越大優先級越高。該優先級主要爲QoS差分服務提供參考依據(COS)。
VLAN Identifier (VID) : 長度12bits,可配置的VLAN ID取值範圍爲1~4094。通常vlan 0和vlan 4095預留,vlan1爲缺省vlan,一般用於網管。
QinQ幀格式
4. PPP幀(除去信息字段後長度爲:8字節)
PPP報文格式
PPP報文的內容是指Address、Control、Protocol和Information四個域的內容。各字段的含義如下。
Flag域Flag域標識了一個物理幀的起始和結束,該字節爲0x7E。
Address域PPP協議是被運用在點對點的鏈路上,它可以唯一標識對方。因此使用PPP協議互連的兩個通信設備無須知道對方的數據鏈路層地址。所以該字節已無任何意義,按照協議的規定將該字節填充爲全1的廣播地址。
Control域同Address域一樣,PPP數據幀的Control域也沒有實際意義,按照協議的規定通信雙方將該字節的內容填充爲0x03。Address和Control域一起表示了此報文爲PPP報文,即PPP報文頭爲FF03。
Protocol域協議域可用來區分PPP數據幀中信息域所承載的數據報文的內容。
協議代碼協議類型
0021Internet Protocol
8021Internet Protocol Control Protocol
C021Link Control Protocol
C023Password Authentication Protocol
C223Challenge Handshake Authentication Protocol
Information域信息域最大長度是1500字節,其中包括填充域的內容。信息域的最大長度等於PPP協議中MRU(Maximum Receive Unit)的缺省值。
5. HDLC幀(除去信息字段後長度爲:8字節)
HDLC幀格式
各字段的含義解釋:
字段長度(字節)含義
Protocol2協議字段。表示Information域中的數據封裝的協議類型。
InformationN信息字段。可以是任意的二進制比特串,長度未作限定。其上限由FCS字段或通信節點的緩衝容量來決定,目前國際上用得較多的是1000~2000比特,而下限可以是0,即無信息字段。但是監控幀中不可有信息字段。
6. PPPoE報文(報文頭長度爲6字節)
windows系統pppoe MTU大小
默認和最大 PPPoE MTU大小爲 1,480字節。對於某些 Internet服務提供商 (ISP),您可能需要將 PPPoE連接的 MTU大小降至 1,400和 1,480之間的一個值(例如 1,454)。不要將 MTU大小設置爲小於 1,400。
路由器pppoe撥號時MTU爲1492
7. MPLS Label
Label報文格式:
MPLS uses a 32-bit label field that contains the following information:
20-bit label (a number)
3-bit experimental field (usually used to carry IP precedence value)
1-bit bottom-of-stack indicator (indicates whether this is the last label before the IP header)
8-bit TTL (equal to the TTL in IP header),used to prevent indefinite looping of packets.