很多人将區域網路(Local Area Network,LAN)和以太網(Ethernet)混為一談,這個誤解大概是因為和其他區域網路技術比較起來,以太網技術使用得是如此普遍、發展得是如此地迅速,以至于人們将"以太網"當作了"區域網路"的代名詞。
本節将讨論"區域網路"和"以太網"二者之間的關系以及相關的一些基礎知識。
1 以太網概述
1973年,施樂公司(Xerox)開發出了一個裝置互連技術并将這項技術命名為"以太網(Ethernet)"。Ethernet采用了總線競争式的媒體通路方法(起源于夏威夷大學在60年代研制的ALOHA網絡),它的問世是局城網發展史上的一個重要裡程碑。
1979年,Xerox與DEC、Intel共同起草了一份10 Mbps以太網實體層和資料鍊路層的規範,稱為DIX(Digital、Intel、Xerox)規範-DIX 1.0。
1980年2月(美國)電氣電子工程師學會(IEEE)成立了專門負責制定區域網路絡标準的IEEE 802委員會。該委員會開始研究一系列區域網路(LAN)和城域網(MAN)标準,這些标準統稱為IEEE 802标準。其中,IEEE 802.3對于基于總線型的區域網路進行了規定(實際上IEEE 802.3标準的制定過程中參考、借鑒了很多已經實作的以太網技術)。
1982年,DIX修改并釋出了自己的以太網新标準:DIX 2.0。
1983年,Novell根據初步形成的IEEE 802.3規範釋出了Novell專用的以太網幀格式,常被稱為802.3 原始幀格式(802.3 raw)。
1984-1985年,IEEE 802委員會公布了五項标準IEEE 802.1~IEEE 802.5。其中,公布了兩種802.3幀格式,即802.3 SAP和802.3 SNAP。
後來,IEEE 802标準被國際标準化組織ISO修訂并作為國際标準,稱為ISO 8802。
2 以太網技術概述
盡管區域網路的各種标準在内容上有不少差別,但是,其主要的技術實作方法是相近的。
2.1 Ethernet位址
為了辨別以太網上的每台主機,需要給每台主機上的網絡擴充卡(網絡接口卡)配置設定一個唯一的通信位址,即Ethernet位址或稱為網卡的實體位址、MAC位址。
IEEE負責為網絡擴充卡制造廠商配置設定Ethernet位址塊,各廠商為自己生産的每塊網絡擴充卡配置設定一個唯一的Ethernet位址。因為在每塊網絡擴充卡出廠時,其Ethernet位址就已被燒錄到網絡擴充卡中。是以,有時我們也将此位址稱為燒錄位址(Burned-In-Address,BIA)。
Ethernet位址長度為48比特,共6個位元組,如圖1所示。其中,前3位元組為IEEE配置設定給廠商的廠商代碼,後3位元組為網絡擴充卡編号。

圖1 Ethernet位址
2.2 CSMA/CD
在ISO的OSI參考模型中,資料鍊路層的功能相對簡單。它隻負責将資料從一個節點可靠地傳輸到相鄰節點。但在區域網路中,多個節點共享傳輸媒體,必須有某種機制來決定下一個時刻,哪個裝置占用傳輸媒體傳送資料。是以,區域網路的資料鍊路層要有媒體通路控制的功能。為此,一般将資料鍊路層又劃分成兩個子層:
●邏輯鍊路控制LLC(Logic Line Control)子層
●媒體通路控制MAC(Media Access Control)子層
圖2 LLC和MAC子層
如圖2所示。其中,LLC子層負責向其上層提供服務;MAC子層的主要功能包括資料幀的封裝/卸裝,幀的尋址和識别,幀的接收與發送,鍊路的管理,幀的差錯控制等。MAC子層的存在屏蔽了不同實體鍊路種類的差異性。
在MAC子層的諸多功能中,非常重要的一項功能是仲裁媒體的使用權,即規定站點何時可以使用通信媒體。
實際上,區域網路技術中是采用具有沖突檢測的載波偵聽多路通路(Carrier Sense Multiple Access / Collision Detection,CSMA/CD)這種媒體通路方法的。
在這種媒體通路方法中規定:在發送資料之前,一個節點必須首先偵聽網線上的載波,如果在9.6微秒的時間之内沒有檢測到載波(說明通信媒體空閑),節點才可以發送一幀資料。
如果兩個節點同時檢測到媒體空閑并同時發送出一幀資料,則會導緻資料幀的沖突,雙方的資料幀均被破壞。一方面,檢測到沖突的節點會發送"沖突增強"信号(32比特的"1")通知媒體上的每個節點發生了沖突。另一方面,發生沖突的節點在再次發送自己的資料幀之前會各自等待一段随機的時間。
随着以太網上節點數量的增加,沖突的數量也随之增加,而整個網段的有效帶寬将随之減少。
在後面的章節中,我們将學習如何利用網橋、 交換機等裝置将一個網段劃分成多個獨立的沖突域,進而增加每個網段的可用帶寬。
3 以太網幀格式
目前,有四種不同格式的以太網幀在使用,它們分别是:
●Ethernet II即DIX 2.0:Xerox與DEC、Intel在1982年制定的以太網标準幀格式。 Cisco名稱為:ARPA。
●Ethernet 802.3 raw:Novell在1983年公布的專用以太網标準幀格式。 Cisco名稱為:Novell-Ether。
●Ethernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太網幀格式。Cisco名稱為:SAP。
●Ethernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太網幀格式。Cisco名稱為:SNAP。
在每種格式的以太網幀的開始處都有64比特(8位元組)的前導字元,如圖3所示。其中,前7個位元組稱為前同步碼(Preamble),内容是16進制數0xAA,最後1位元組為幀起始标志符0xAB,它辨別着以太網幀的開始。前導字元的作用是使接收節點進行同步并做好接收資料幀的準備。
圖3 以太網幀前導字元
除此之外,不同格式的以太網幀的各字段定義都不相同,彼此也不相容。
3.1 Ethernet II幀格式
如圖4所示,是Ethernet II類型以太網幀格式。
圖4 Ethernet II幀格式
Ethernet II類型以太網幀的最小長度為64位元組(6+6+2+46+4),最大長度為1518位元組(6+6+2+1500+4)。其中前12位元組分别辨別出發送資料幀的源節點MAC位址和接收資料幀的目标節點MAC位址。
接下來的2個位元組辨別出以太網幀所攜帶的上層資料類型,如16進制數0x0800代表IP 協定資料,16進制數0x809B代表AppleTalk 協定資料,16進制數0x8138代表Novell類型 協定資料等。
在不定長的資料字段後是4個位元組的幀校驗序列(Frame Check Sequence,FCS),采用32位CRC循環備援校驗對從"目标MAC位址"字段到"資料"字段的資料進行校驗。
3.2 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以太類型資料幀。
3.3 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類型協定資料等。
至于1個位元組的"控制"字段,則基本不使用(一般被設為0x03,指明采用無連接配接服務的802.2無編号資料格式)。
3.4 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位元組,