以太網協議

歷史上以太網幀格式有五種:
1 Ethernet V1:這是最原始的一種格式,是由Xerox PARC提出的3Mbps CSMA/CD以太網標準的封裝格式,後來在1980年由DEC,Intel和Xerox標準化形成Ethernet V1標準;
2 Ethernet II即DIX 2.0:Xerox與DEC、Intel在1982年制定的以太網標準幀格式。Cisco名稱爲:ARPA。

這是最常見的一種以太網幀格式,也是今天以太網的事實標準,由DEC,Intel和Xerox在1982年公佈其標準,主要更改了Ethernet V1的電氣特性和物理接口,在幀格式上並無變化;Ethernet V2出現後迅速取代Ethernet V1成爲以太網事實標準;Ethernet V2幀頭結構爲6bytes的源地址+6bytes的目標地址+2Bytes的協議類型字段+數據。
常見協議類型如下:
0800       IP
0806       ARP
0835       RARP
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上的封裝格式;

PR SD DA SA TYPE DATA PAD FCS
56位 8位 48位 48位 16位 不超過1500字節 不夠填充 32位

在每種格式的以太網幀的開始處都有64比特(8字節)的前導字符,如圖所示。其中,前7個字節稱爲前同步碼(Preamble),內容是16進制數0xAA,最後1字節爲幀起始標誌符0xAB,它標識着以太網幀的開始。前導字符的作用是使接收節點進行同步並做好接收數據幀的準備。

——PR:同步位,用於收發雙方的時鐘同步,同時也指明瞭傳輸的速率(10M和100M的時鐘頻率不一樣,所以100M網卡可以兼容10M網卡),是56位的二進制數101010101010.....

——SD: 分隔位,表示下面跟着的是真正的數據,而不是同步時鐘,爲8位的10101011,跟同步位不同的是最後2位是11而不是10.

——DA:目的地址,以太網的地址爲48位(6個字節)二進制地址,表明該幀傳輸給哪個網卡.如果爲FFFFFFFFFFFF,則是廣播地址,廣播地址的數據可以被任何網卡接收到.

——SA:源地址,48位,表明該幀的數據是哪個網卡發的,即發送端的網卡地址,同樣是6個字節.

----TYPE:類型字段,表明該幀的數據是什麼類型的數據,不同的協議的類型字段不同。如:0800H 表示數據爲IP包,0806H 表示數據爲ARP包,814CH是SNMP包,8137H爲IPX/SPX包,(小於0600H的值是用於IEEE802的,表示數據包的長度。)

----DATA:數據段 ,該段數據不能超過1500字節。因爲以太網規定整個傳輸包的最大長度不能超過1514字節。(14字節爲DA,SA,TYPE)

----PAD:填充位。由於以太網幀傳輸的數據包最小不能小於60字節, 除去(DA,SA,TYPE 14字節),還必須傳輸46字節的數據,當數據段的數據不足46字節時,後面補000000.....(當然也可以補其它值)

----FCS:32位數據校驗位.爲32位的CRC校驗,該校驗由網卡自動計算,自動生成,自動校驗,自動在數據段後面填入.對於數據的校驗算法,我們無需瞭解.

----事實上,PR,SD,PAD,FCS這幾個數據段我們不用理它 ,它是由網卡自動產生的,我們要理的是DA,SA,TYPE,DATA四個段的內容.

----所有數據位的傳輸由低位開始(但傳輸的位流是用曼徹斯特編碼的)

----以太網的衝突退避算法就不介紹了,它是由硬件自動執行的.

DA+SA+TYPE+DATA+PAD最小爲60字節,最大爲1514字節.

----以太網卡可以接收三種地址的數據,一個是廣播地位,一個是多播地址(我們用不上),一個是它自已的地址.但網卡也可以設置爲接收任何數據包(用於網絡分析和監控).

----任何兩個網卡的物理地址都是不一樣的,是世界上唯一的,網卡地址由專門機構分配.不同廠家使用不同地址段,同一廠家的任何兩個網卡的地址也是唯一的.根據網卡的地址段(網卡地址的前三個字節),可以知道網卡的生產廠家.有些網卡的地址也可以由用戶去設定,但一般不需要.

3 Ethernet 802.3 raw幀格式

  

  如圖5所示,是Ethernet 802.3 raw類型以太網幀格式。

    

                            圖5  Ethernet 802.3 raw幀格式

  

  在Ethernet 802.3 raw類型以太網幀中,原來Ethernet II類型以太網幀中的類型字段被"總長度"字段所取代,它指明其後數據域的長度,其取值範圍爲:46-1500。

  

  接下來的2個字節是固定不變的16進制數0xFFFF,它標識此幀爲Novell以太類型數據幀。

  

  4 Ethernet 802.3 SAP幀格式

  如圖6所示,是Ethernet 802. 3 SAP類型以太網幀格式。

    

                                             圖6  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類型協議數據等。

常見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的使用有很大侷限性;

  至於1個字節的"控制"字段,則基本不使用(一般被設爲0x03,指明採用無連接服務的802.2無編號數據格式)。

  

  5 Ethernet 802.3 SNAP幀格式

  如圖7所示,是Ethernet 802. 3 SNAP類型以太網幀格式。

  

                                      圖7  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字節,

◆ 增加了表示上層協議的類型

這是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中的實現;

不同廠商對這幾種幀格式通常有不同的叫法,比如:
Frame Type                            Novel                           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

發佈了13 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章