Home Page

第十二章

IEEE 802.12 100VG-AnyLAN 網路


yball1.gif (1556 bytes) 12.1 網路結構及特性簡介

IEEE 802.12 標準由 HP AT&T 共同規範而制定了 「要求優先權」(Demand Priority) 通訊協定。其網路以「集線器」(Hub) 為基礎結構,工作站則以特定的傳輸媒介與集線器連結。集線器有一個「串接埠」(Cascaded port) 可用來與其他集線器連結及若干個「連接埠」(local port) 與工作站連接,如圖12-1 所示。規模較小的網路可以只包含一個集線器。規模較大的網路則可以包含許多個集線器,這些集線器以「樹狀」(Tree) 的結構連結,如圖12-2 所示。樹狀結構網路分為若干層,最上層的集線器稱為「根點集線器」(Root Hub),其他的集線器則稱為「中間集線器」(Intermediate Hub) 中間集線器利用其串接埠與上一層集線器的連接埠相連。此網路的主要特性如下:

傳輸速率為 100 Mbps

訊框可為 IEEE 802.3 CSMA/CD 訊框或 IEEE 802.5 Token-ring 訊框。

傳輸媒介為光纖或雙絞線。使用雙絞線時可為具有四對雙絞線之「無遮蔽式雙絞線」(Unshielded Twist Pair, UTP) 或二對雙絞線之「遮蔽式雙絞線」(Shielded Twist Pair, STP) 。資料同時在四對雙絞線(UTP) 或二對雙絞線(STP) 上傳送。

通訊協定採用「要求/允許」(Request/Permit) 通訊模式並且提供兩種優先權:高優先權及低優先權。工作站根據其欲傳送之訊框向集線器提出高優先權要求或低優先權要求。得到集線器的許可後才能開始傳送訊框。

公平使用頻寬。集線器依據「輪流」(Round-Robin) 的方式給予工作站傳送訊框之許可。集線器先將高優先權要求處理完後才處理低優先權要求。在處理要求時因為以輪流的方式分配傳送許可,工作站無法壟斷傳送機會因此可達到公平使用頻寬的目標。

高頻寬使用率。此通訊協定不允許兩個或兩個以上的工作站同時傳送訊框,因此沒有訊框「衝撞」問題,頻寬使用率與網路負載成正比。不會因網路負載增加而降低。

適合多媒體資訊傳輸。高優先權要求可以在一定的時間內得到集線器的傳送允許,因此具有時效性的多媒體資訊可在預期時限內傳送。

高相容性。100VG-AnyLAN 可以經由橋接設備很容易的和 10BaseT Ethernet 互連,如圖12-3 所示。此方式提供傳統網路與高速網路互連的便捷性。雙方的工作站仍然可以互相通訊。

12-1 集線器網路架構(單層)

相對於 OSI 模式之鏈結層及實體層, IEEE 802.12 的通訊結構包含四個次層,如圖12-4 所示。其所包含的主要內容為:

MAC 層通訊協定(Demand Priority Protocol)

實體層媒介無關次層(PMI, Physical Media Independent)

媒介無關界面(MIIMedia Independent Interface)

實體層媒介相關次層(PMD, Physical Media Dependent)

媒介相關界面(MDIMedia Dependent Interface)

12-2 集線器樹狀網路架構(多層)

 

 

12-3 100VG-AnyLAN 10BaseT Ethernet 互連範例

 

其中 MAC 層制定 Demand Priority 通訊協定之工作原理。此部份又分為工作站 MAC 集線器 MAC Repeater MAC, 簡稱 RMAC)。工作站 MAC 負責訊框之組成及要求之傳送,當得到集線器的傳送許可後則負責訊框之傳送與接收。RMAC 負責依工作站提出的要求安排傳送訊框的順序及接收、轉送訊框。OSI 模式的實體層功能則由 PMI PMD 次層負責完成。PMI 次層提供相同的界面給工作站 MAC RMAC,其所提供的功能(與下層之媒介無關)包括在傳送訊框時對資料「加密」(ciphering) 、「編碼」(encoding)、及傳送位元串之前加上前導及結尾的部份,在接收訊框時先去掉其上之前導及結尾部份並且對資料進行解碼、解密的工作。PMD 次層提供與傳輸媒介相關的功能,包括在傳送位元時進行位元編碼、訊號調整、及多工(若有需要)的工作,在接收時進行訊號還原、解多工(若有需要)、及位元解碼的工作。PMD 也負責轉換控制要求,並且產生對外之控制訊號。除此之外,PMD 也偵測傳輸線上控制訊號的傳輸,並且產生適當的通知給 MAC RMACMII 提供與傳輸媒介無關之界面以便網路可以很容易的更換媒介(例如由四對 UTP 雙絞線換成光纖)。MDI 則是規範 PMD 與傳輸媒介間之連接器之相關標準。

 

12-4 IEEE 802.12 通訊結構

 


yball1.gif (1556 bytes) 12.2 訊框格式

IEEE 802.12 MAC 訊框格式可以是 IEEE 802.3 CSMA/CD 訊框或是 IEEE 802.5 Token-Ring 訊框。以使用 CSMA/CD 訊框為例,其格式如圖12-5 所示。其中

Preamble:包含7 個位元組(101010......1010),其主要目的是達成接收的同步功能。

SFD(Start Frame Delimiter)1 個位元組(10101011),表示資料的開始。

DA(Destination Address) 2 個或6 個位元組,目的地工作站位址。

SA(Source Address)2 個或6 個位元組,原始工作站位址。

Length2 個位元組,記錄LLC-FRAME 的長度。

LLCLLC 資料。

PAD (Padding) : LLC 資料太少時利用此欄位填補位元組。填補的位元組的值沒有特別意義,可為任意值。

FCS(Frame Check Sequence) 4 個位元組,記錄訊框的檢查碼。

12-5 訊框格式

 

 

12.2.1 地址欄位

在地址欄位的設計上,DA SA 長度為 6 個位元組,如圖12-6 所示。

12-6 地址欄位格式

每一個工作站的地址可分為二大類:

各別地址(Individual address):代表工作站唯一的地址,不會與其他工作站的各別地址相同。

群體地址(Group address) :代表一群工作站共用的地址。一個群體可包含多個工作站,而一個工作站也可以同時屬於多個不同的群體。其特性是當一筆訊框指定要傳送給某一群體時,該群體中的所有成員皆可以收到該筆訊框。訊框上的 DA 如果使用群體地址則又可分為二種:

多重傳播地址(Multicast address) :表示此訊框要傳送給此群體中所有的成員。

廣播地址(Broadcast address) :表示此訊框要傳送給網路上所有的工作站。

 

12.2.2 長度欄位

 

對於一般 MAC 訊框,長度欄位的意義與 Ethernet 訊框相同。但是 Demand-Priority 網路在啟動時有一種確認網路樹狀架構的程序。此種程序進行時是依靠傳送「訓練」控制訊框 (Training frame) 來確認每一段線路 (link) 的上下關係而完成。由於是逐段線路確認因此訓練訊框的目的地位址是空址 (null address),原始位址則是傳送此訓練訊框的工作站(或橋接器、路徑器)。如果是由集線器經由串接埠往上層傳送的訓練訊框則原始位址為空址。對於訓練訊框,長度欄位使用三個位元(其餘位元保留),如圖12-7 所示:C =1 (0) 表示此訓練訊框是由串接集線器 (工作站)所傳送,P = 1 表示此工作站為全接收模式,其意義是指網路上所有傳送的訊框都應轉送給此工作站(如網路管理工作站必須收集網路上所有傳送的訊框)。P = 0 表示此工作站為一般接收模式,其意義是此工作站只接收指定傳送給它的訊框。B = 1 代表此工作站是橋接器或路徑器。

12-7 訓練訊框長度欄位格式

 

12.2.3 檢查碼欄位

在圖12-5 的訊框格式中,最後 4 個位元組是錯誤檢查碼,其主要功能是檢查訊框在傳送的過程當中是否發生錯誤。檢查的範圍是從 DA 欄位到 PAD 欄位間。FCS 檢查錯誤的方法是採用 CRC-32 (Cyclic Redundancy Check) 技巧。此部份之處理方法與 IEEE 802.3 IEEE 802.5 相同。

 


yball1.gif (1556 bytes) 12.3 Demand Priority 通訊協定

Demand Priority 通訊協定採用「要求/允許」(Request/Permit) 通訊模式。工作站根據其欲傳送之訊框向集線器提出要求(可分為高優先權要求(High priority) 或低優先權要求(Normal priority))。集線器則依據「輪流」(Round-Robin) 的方式給於工作站傳送訊框之權利。在優先權的處理上,低優先權要求必須等到所有高優先權要求被服務完後才有被服務的機會。以下我們用一個例子說明 Demand Priority 通訊協定的工作原理。

(a) (b)

(c) (d)

(e) (f)

12-8 Demand Priority 通訊協定要求/許可過程範例

 

 

 

如圖12-8 所示,集線器上連接四部工作站 A,B,C,D。假設工作站 A 有一筆訊框要傳送給工作站 D。開始時因為所有工作站都沒有訊框傳送因此集線器及工作站間都互送「閒置」訊號 (Idle,在圖中以 I 表示)。當工作站 A 想傳送訊框時便送出「要求」(Request, 在圖中以 R 表示) 給集線器,如圖12-8(a) 所示。集線器在收到此要求訊號後便將給工作站 A 的訊號由原來的 Idle 改為「靜止」(Silence , 在圖中以 S 表示),同時以「即將到達」(Incoming, 在圖中以 C 表示) 訊號通知其他所有工作站將有訊框到達,如圖12-8(b) 所示。工作站 A 此時便可以開始傳送訊框給集線器,而其他所有工作站則以「靜止」表示等待訊框的到來,如圖12-8(c) 所示。集線器在收到訊框後根據其上的目的地位址將訊框轉送給工作站 D,如圖12-8(d) 所示。當工作站 A 將訊框傳送完畢時便用 I S 訊號通知集線器,如圖12-8(e) 所示。當集線器將訊框傳送給工作站 D 後所有的訊號便恢復為 Idle,如圖12-8(f) 所示。此時工作站便可以提出傳送訊框的需求。

Demand Priority 通訊協定中集線器在安排工作站的傳送許可時採用的是輪流 (Round-Robin) 的方法。具有高優先權的要求先處理。決定許可的時機是當一筆訊框傳送完畢時。在訊框傳送的過程中可能會有許多工作站提出傳送要求,高優先權或低優先權。不管這些要求提出的時間,當一筆訊框傳送完畢時,集線器便根據目前累積的要求依照埠的順序輪流給予傳送許可。已經使用過許可的工作站則必須等到下一輪才會被處理。以圖12-9 為例。圖12-9(a) 為具有八個連接埠的集線器,12-9(b) 則為工作站提出要求及被允許傳送訊框的順序。假設工作站提出要求的順序為 N3, N1, N8, H5, H2, N6, N4, N7, H5, N7,...;其中 Ni 代表由連接在埠 i 的工作站所送出的低優先權要求,而 Hi 代表由連接在埠 i 的工作站所送出的高優先權要求。首先提出的要求是 N3。由於此時沒有其他要求因此集線器便允許其立刻傳送訊框。在此訊框傳送的過程中,先後被提出的要求則有 N1, N8, H5, H2, N6。此時集線器便根據此五個要求安排許可順序,高優先權要求先安排。按照由小到大輪流的原則, H2 會先被允許然後才是 H5 ,雖然事實上 H5 H2 更早被提出。在這兩個高優先權訊框傳送的過程中又有 N4 N7 被提出。此時集線器便根據目前累積的要求( N1, N4, N6, N7, N8) 依序安排許可順序。由於上一次處理的要求是 N3,這次便由 N4 開始服務,然後是 N6, N7。在 N7 的訊框傳送過程中又有要求 H5 被提出。因此當此訊框傳送完畢時,集線器根據目前累積的要求(H5, N1, N8) 安排許可順序。結果是高優先權要求 H5 優先被服務。在 H5 的訊框傳送過程中又有要求 N7, N4, N3 被先後提出。因此當此訊框傳送完畢時,集線器根據目前累積的要求(N1, N3, N4, N7, N8) 安排許可順序。由於上一次處理的低優先權要求是 N7,這次便由 N8 開始服務,然後再回到 N1 並且開始下一輪的輪流程序。

 

(a) 單層集線器網路

(b) 要求順序及訊框傳送順序範例

12-9 要求排序範例(單層集線器網路)

 

 

對於只有一層集線器的網路來說,傳送許可的排序較單純。但是 100VG-AnyLAN 網路有可能包含多層的集線器。在此環境下,傳送許可的排序便較複雜。包含多層集線器網路可以視為是一個樹狀結構,所有集線器相當於是節點而所有工作站則為葉點。則工作站傳送訊框的順序應該是按搜尋此樹時 (tree traverse) 碰到葉點的順序,先碰到的先得到傳送訊框許可。如圖12-10 所示,該網路包含三層集線器及八台工作站。依照樹的搜尋次序,工作站傳送訊框的順序應為 A,B,C,D,E,F,G,H,A,...

 

12-10 多層集線器網路之訊框傳送順序範例

 

 

理論上,依照樹的搜尋次序來決定工作站傳送訊框的順序是非常容易的概念。不過由於每一個集線器都是獨立運作的設備,如何讓所有的集線器在分散式的環境下同時運作而能完成此任務則不是一件簡單的事。開始時,傳送訊框的控制權在於根點集線器。其他的集線器仍然和以往相同的接收要求,但是在未取得傳送訊框的控制權之前不可以將傳送許可給予這些要求,只能向上一級集線器提出要求。根點集線器首先根據所收到的要求(來自工作站或下一級之集線器)依輪流的原則來處理。當集線器將傳送許可給一個工作站時,該工作站可立即傳送訊框。當第 i 級集線器 X 將傳送許可給一個第 i +1 級集線器 Y 時,集線器 Y 便取得傳送訊框的控制權並且可以開始處理其所收到要求: 傳送許可給工作站或下一級之集線器。當集線器 Y 將其所收到的要求處理完時便將控制權交還給上一級之集線器 X。集線器 X 便可繼續處理其所收到的要求。

以上所述的是針對網路上只有一種優先權要求時所做的處理。當網路上同時有高優先權要求及低優先權要求時,則可視為有兩個獨立的樹搜尋流程:高優先權要求之搜尋流程及低優先權要求之搜尋流程。前者流程結束之後才進行後者流程。後者流程進行中如果有高優先權要求出現則可被優先處理。

 

 

以圖12-11為例。圖12-11(a) 為具有兩層集線器的網路,12-11(b) 則為工作站提出要求及被允許傳送訊框的順序。假設工作站提出要求的順序為 N2-2, N1, N6, H4, H2-1, N5-1, N3, N5-2, H4, N5-2,...;其中 Ni 代表由連接在根點集線器埠 i 的工作站所送出的低優先權要求,Hi 代表由連接在根點集線器埠 i 的工作站所送出的高優先權要求, Ni-j 代表由與根點集線器埠 i 相連的集線器上的埠 j 工作站所送出的低優先權要求,Hi-j 代表由與根點集線器埠 i 相連的集線器上的埠 j 工作站所送出的高優先權要求。首先提出的要求是 N2-2。集線器 Y 在收到此要求時因為沒有控制權因此向集線器 X 提出要求 N2。由於此時沒有其他要求因此集線器 X 便允許其立刻傳送訊框。集線器 Y 收到此許可後便取得控制權並且允許 N2-2 訊框的傳送。在此訊框傳送的過程中,先後被提出的要求則有 N1, N6, H4, H2-1, N5-1。其中 N1, N6, H4 由工作站直接向根點集線器 X 提出,H2-1 由工作站向集線器 Y 提出並且轉向根點集線器 X 提出 H2 N5-1 則由工作站向集線器 Z 提出並且轉向根點集線器 X 提出N5。此時本來低優先權訊框的控制權仍然在集線器 Y 上,但是因為目前有高優先權要求被提出,低優先權訊框的控制權將被暫時擱置而進行高優先權訊框傳送的流程。此時高優先權訊框的控制權在根點集線器 X 上。其根據目前的五個要求( N1, H2, H4, N5, N6) 安排許可順序,高優先權要求先安排。按照由小到大輪流的原則, H2 會先被允許然後才是 H4 ,雖然事實上 H4 H2 更早被提出。集線器 Y 收到此許可後便取得高優先權訊框的控制權並且允許 H2-1 訊框的傳送。由於集線器 Y 只收到一個高優先權要求,因此當 H2-1 訊框傳送完畢後便將高優先權訊框的控制權交還給根點集線器 X。在 H2-1 訊框傳送的過程中又有 N3 被提出。此時集線器 X 便根據目前累積的要求( N1, N3, H4, N5, N6) 依序安排許可順序。此時 H4 得到許可而工作站可立即傳送訊框。在 H4 訊框傳送的過程中又有 N5-2 被提出,此要求被保留在集線器 Z 上並沒有轉給集線器 X 因為上一個要求尚未處理。當 H4 訊框傳送完時表示所有高優先權訊框已經傳送完畢。此時可恢復低優先權訊框的傳送而控制權仍然屬於集線器 Y。由於集線器 Y 的所有低優先權要求( N2-2 ) 已在上一輪中處理完畢,於是又將控制權交還給根點集線器 X。此時集線器 X 便根據目前累積的要求( N1, N3, N5, N6) 依序安排許可順序。由於上一次處理的要求是 N2,這次便由 N3 開始服務。 N3訊框傳送完後則輪由N5開始服務。此時 N5 得到許可而集線器 Z 取得低優先權訊框的控制權。集線器 Z 便根據目前累積的要求( N5-1, N5-2) 依序安排許可順序。結果是先傳送 N5-1訊框然後是 N5-2 訊框。集線器 Z 將控制權交還給根點集線器後由集線器 X 便根據目前累積的要求依序安排許可順序。由於在 N5-2 的訊框傳送過程中又有要求 H4 被提出,集線器 X 目前累積的要求為( N1, H4, N6) 。此三個要求處理的次序為 H4 N6 N1。然後再開始下一輪的輪流程序。

 

 

 

(a) 雙層樹狀集線器網路

(b) 要求順序及訊框傳送順序範例

12-11 要求排序範例(雙層樹狀集線器網路)

 


yball1.gif (1556 bytes) 12.4 實體層功能

100VG-AnyLAN 在實作四合一訊號 (Quartet signalling) 時之方塊圖如圖12-12 所示。在傳送或接收資料時,PMI PMD 的功能可分開來考慮。

傳送端的 PMI 將欲傳送的資料分為四組位元串,而每一組位元串 (25 Mbps)都先經過「亂碼」(scrambling) 的處理再經過 5B/6B 「編碼」(encoding) 處理。前者的目的是將位元串中的 1 0 分佈打散一些,盡量不要有連續太長的 0 或連續太長的 1,以避免在進行 5B/6B 編碼時出現不同的輸入卻得到相同輸出的情形。然後 PMI 將經過編碼後的每一組位元串 (30 Mbps) 加上「起始區隔」(start delimiter) 及「結束區隔」(end delimiter),並在起始區隔前又加上「前導」(preamble, 0101... 訊號)之後將之交給 PMDPMD 負責將四組平行的位元串轉換成四對雙絞線上的傳送訊號。首先每一組位元串先經過 NRZ (Non-Return to Zero) 編碼,然後再經過低頻過濾的處理。

接收端的 PMD 在接收資料時首先利用低頻過濾器將雙絞線上的雜訊去除,然後再利用「等化器」(equalizer) 來補償訊號在雙絞線上傳輸時的失真。接下來就開始進行訊號的取樣工作。PMD 首先在接收到的前導部份取出時序(clock),再利用此時序來讀取接收之資料。在經過一定雙絞線長度的傳送後,四對雙絞線上的位元通常無法維持同時到達的目標而會有最多達到二個位元的時間差。PMD 將收到的四組訊號排整齊後交給 PMIPMI 將收到的每一組位元串去掉前導及區隔部份後再經過 5B/6B 「解碼」(decoding) 「順碼」(descrambling) 的處理。最後將四組位元串 (25 Mbps) 組成 100 Mbps 的單一位元串傳送給接收端的 MACPMI 同時也支援位元串接收時的錯誤檢查。首先檢查每一組位元串的區隔部份是否正確,然後在解碼時則檢查是否收到的都是正確的 6-位元字碼。如果檢查出錯誤則通知 MAC

 


yball1.gif (1556 bytes) 12.5 編碼

資料在傳送之前做編碼的處理主要有三個目的:(1) 保証所傳送的訊號滿足「直流平衡」(dc balance) 的要求,即經過一段長時間的統計,所傳送的 1 的個數與 0 的個數相同,或是至少其間的差值越少越好。此要求對於「傳輸耦合」(transformer-coupled) 系統是非常重要的,而此系統是用來避免「接地迴路」(ground loops) 的。(2) 編碼可以讓傳送的位元串中出現連續的1或連續的0的個數最少,此特性有助於接收端在接收資料時之時序同步。(3) CRC 檢查

12-12 實體層功能方塊圖

 

 

共同使用有助於傳送錯誤的偵測。IEEE 802 計劃中有一個必須遵守的要求就是出現在訊框中的任何三個位元的錯誤都必須能夠偵測出來。除此之外,最多達到連續 32 位元的集體錯誤也必須能偵測出來。任何一個編碼系統都不可以違反 CRC 檢查所能提供的檢測功能。

100VG-AnyLAN 網路採用 5B/6B 編碼法將五個位元的資料轉換成六個位元的「字碼」(codeword)。另外在不同通道(四對雙絞線)上傳送位元串時又將其中二個通道的傳送時間延遲三個位元的時間。這兩種方法配合的結果可以達到錯誤偵測的要求,訊號的平衡,及限制傳送的位元串中出現連續的1或連續的0的個數最多為 6。除此之外,相對於 10BaseT 所採用的 1B/2B 曼徹斯特編碼(增加 100% 的負擔),5B/6B 編碼是非常有效率的(只增加 20% 的負擔)。100VG-AnyLAN 也可以採用遮蔽式雙絞線 (STP) 或光纖為實體層傳輸媒介,當四條通道上的資料被匯整起來在遮蔽式雙絞線或光纖上傳送時,5B/6B 編碼法仍然是很有效率的。 IEEE 802.3 CSMA/CD IEEE 802.5 Token-ring 的訊框都是在一條傳輸線上傳送,但是 100VG-AnyLAN 卻是同時在四條雙絞線上傳送。因此 5B/6B 編碼法在設計時必須特別費心以便能夠與 IEEE 802.3 IEEE 802.5 的訊框結構及其所具備的錯誤偵測能力相容。

如圖12-13 所示,5B/6B 編碼法首先將 IEEE 802.3 IEEE 802.5 的訊框當成是一組位元串,然後依序切成以五個位元為一組的單元,最後的部份如果不足五個位元則另加位元補足。接著用四分訊號的方法將這些單元交錯分配到四個通道上。每一個通道上的位元串再經過「互斥-或」(Exclusive-OR) 的「加密」(ciphering) 處理,如圖12-14 所示;其中密碼是屬於「虛擬亂數字串密碼」(pseudorandom stream ciphers)

 

 

12-13 訊框位元串交錯分配到四個通道上

 

12-14 加密過程

 

加密過後的資料則根據表 12-1 開始進行 5B/6B 編碼的步驟。五個位元的組合有32種而六個位元的組合有 64 種,在選擇 6-位元的字碼時首先考慮的是維持直流平衡,即具有三個1及三個0的字碼。為了方便起見,我們定義一個 6-位元字碼的「比重」(weight) 為其所包含1的個數。因此,平衡的字碼都是比重為 3 的字碼。然而在 6-位元字碼中比重為 3 的不到 32 個,因此有些字碼必須採用比重為 2 4 的字碼(稱為不平衡字碼)。為了達到平衡的目的,系統採用比重為 2 及比重為 4 交替使用的方法。也就是說,第奇數次出現不平衡字碼時選擇比重為 2 的字碼,第偶數次出現不平衡字碼時選擇比重為 4 的字碼。以平均值計算則字碼的比重仍然為 3。圖12-15 所示為 5B/6B 編碼法的範例,其中較暗色的為不平衡碼,通道 A 出現兩次不平衡 5-位元串(00000,00000) 通道 C 則出現三次不平衡 5-位元串(11110,00000,11110),因此其對應之不平衡字碼分別為通道 A001100(比重為 2) 110011(比重為 4), 通道 C010010(比重為 2), 110011(比重為 4),010010(比重為 2)

12-1 5B/6B 編碼對照表

 

為了達到整組位元串的平衡,在最後面的部份則有二種不同的結束區隔:期望比重為 2 的區隔 (ED2) 及期望比重為 4 的區隔 (ED4),如圖12-16 所示。前者的使用時機是當整組位元串中曾出現偶數個不平衡字碼(比重為 2 4),後者則是當整組位元串中曾出現奇數個不平衡字碼。也就是說,以交替使用的原則來看,當整組位元串中曾出現偶數個不平衡字碼時(2,4,2,4,...,2,4),下一個不平衡字碼的比重應該為 2;而當整組位元串中曾出現奇數個不平衡字碼時(2,4,2,...,4,2),下一個不平衡字碼的比重應該為 4。除此之外,在整組位元串最後面的部份也可能出現「錯誤訊框指示」(Invalid Packet Marker, IPM),表示傳送時發生錯誤。此指示是由集線器負責設定。

 

 

12-15 5B/6B 編碼法範例

12-16 每條雙絞線上位元傳送順序

在設計 5B/6B 編碼時另外一個應該考慮的因素是當四組位元串整合至具較少通道的網路實體層(如遮蔽式雙絞線、光纖)時仍應具備良好的特性。遮蔽式雙絞線及光纖的 PMD 利用多工器將四組字碼串依序交錯整合成為一組字碼串,如圖12-17 所示。在這種整合方式之下,5B/6B 編碼法仍然具備相同的錯誤偵測能力。

 

12-17 字碼串依序交錯整合

 

5B/6B 編碼法特性

IEEE 802 對錯誤偵測的第一個要求是:四條雙絞線中任何一組位元串上的任何三個(及以下)獨立位元 (single-bit) 錯誤都必須被偵測出來。這並不是容易的事,因為使用編碼的特色就是在傳輸線上的一個編碼位元錯誤可能造成解碼後原始資料好幾個獨立位元的錯誤。因此編碼技術中有一大部分的工作是如何將因單一編碼位元錯誤而導致原始資料錯誤的位元數目限制在一定的量之內。5B/6B 編碼搭配交錯使用的不平衡字碼及結束區隔就可以滿足 IEEE 802 對錯誤偵測的要求。以下例子說明此法如何偵測一組字碼串中之任何三個獨立位元錯誤。如圖12-18(a) 所示,假設原來字碼都是平衡字碼(比重為 3)。因為沒有出現不平衡字碼,所以結束區隔為 ED2。如果傳送中有三個字碼因為單一位元錯誤(圖中陰影部份代表發生錯誤字碼)而使得其比重依序成為 2,4,2, 則依照交錯原則結束區隔應該為 ED4。但是實際上結束區隔為 ED2,由此可知發生傳送錯誤。如圖12-18(b) 所示,如果三個字碼因為單一位元錯誤而使得其比重依序成為 4,2,4, 則可以符合交錯原則因為結束區隔為 ED2。但是卻造成第一個不平衡字碼比重為 4,此與第一個不平衡字碼比重必須為 2 的規定不符,因此也可偵測出此錯誤。如圖12-18(c) 所示,假設原來字碼包含交錯分佈的不平衡字碼。如果傳送中第二個不平衡字碼因為單一位元錯誤而使得其比重成為 3, 則結果會出現連續二個比重相同的不平衡字碼,此不符合交錯原則,因此,此類錯誤也可被偵測出來。

 

(a) 不符交錯原則

(b) 第一個不平衡字碼比重必須為 2

(c) 不符交錯原則

12-18 偵測任何三個獨立位元錯誤範例

5B/6B 編碼設計的第二個要求是保証 CRC-32 所具備偵測「集體錯誤」(burst error) 的能力在 100VG-AnyLAN 中不受影響。由於 100VG-AnyLAN 除了可在一條線上傳送外,也可以同時在四條線上傳送,因此必須小心定義所謂的集體錯誤。其中最清楚的定義是四組字碼串上連續多少個編碼位元的錯誤。如圖12-19 所示為長度為七個編碼位元,寬度為四組字碼串的區域,在此區域中,任何一個編碼位元都可能發生錯誤。

事實上如果所有在四條雙絞線上的字碼都同時傳送的話,則一個長度只有 2 (相當於 8 個編碼位元)的集體錯誤就可能造成問題,如果錯誤剛好發生在字碼的邊界,如圖12-20 所示。這種錯誤將造成 8 個字碼錯誤,相當於 40 個原始資料位元(每一個字碼代表 5 個原始資料位元),這已經超出 CRC-32 所能提供的保護範圍(32 個位元)。因此在編碼的設計上應該要有一個方法來避免這類問題。100VG-AnyLAN 解決此問題的方法是將兩條雙絞線上的字碼串延後三個位元的時間傳送。圖12-21 清楚的表示出在這種設計下,即使集體錯誤的長度達到 4 (相當於 16 個編碼位元),其所能造成的錯誤字碼最多也只有 6 個(相當於 30 個原始資料位元),如此則仍然在 CRC-32 的保護範圍內。

根據複雜的理論推導,使用延遲傳送的技巧及前面所述的編碼方法時,除了能偵測出長度為七的集體錯誤(相當於 28 個編碼位元,如圖12-22 所示)外,也可以偵測出任何三個獨立位元的錯誤。當應用在整合為一個字碼串的 STP 或光纖上時,此方法具有更佳的功能。雖然偵測獨立錯誤位元的能力維持為 3 個,但是卻可以偵測出長達 34 編碼位元的集體錯誤。

12-19 長度為七個編碼位元的集體錯誤區

12-20 同步傳送集體錯誤問題

12-21 延遲傳送可解決長度為四的集體錯誤問題

12-22 延遲傳送可解決長度為七的集體錯誤問題

除了錯誤偵測的能力外, 5B/6B 編碼法也具有其他對實體層傳輸相當重要的特色。首先是在任何字碼串中可能連續出現10的最大長度。由於接收端往往必須在接收訊號中萃取出讀取資料的時序(clock),因此傳輸線上應該保持一定密度的訊號變換。針對 100VG-AnyLAN,經過 5B/6B 編碼後的字碼串中可能連續出現10的最大長度為 6,無論是在一條傳輸線上(遮蔽式雙絞線、光纖)或是四條雙絞線上的任何一條上。另外一個實體層傳送特性是所有傳送的字碼中1的數量與0的數量的差值。有限度的差值可以保証「直流平衡」的誤差也受到限制。在四對雙絞線上傳送時,此差值可介於 -5 +3。在單一傳輸線上傳送時,此差值可介於 -11 +3。兩種差值的範圍之所以不同是因為在不平衡字碼的交錯使用原則中,第一個不平衡字碼的比重一定是 2

 


習題

12.1 請簡單說明 Demand Priority 通訊協定工作原理。

12.2 參考圖12-8。請畫出下列雙層集線器結構中工作站 A 傳送一筆訊框給工作站 C 的流程。

12.3 Demand Priority 網路樹狀結構中,同一等級優先權之工作站如同時提出要求,則工作站傳送訊框的順序為何種方式 ?

(a) Infix

(b) Postfix

(c) Prefix

12.4 參考圖12-10。假設所有工作站同時提出要求但工作站 C,D,E,F 為高優先權,則工作站傳送訊框的順序為何 ?

12.5 Demand Priority 通訊協定中是否保證同一優先權中先提出要求的工作站可以先將訊框送出 ? 為什麼?

12.6 Demand Priority 通訊協定是否保證工作站在提出要求後可在一定的時間之內將訊框成功的傳送出去 ? 為什麼?

12.7 參考圖12-9(a)。依照下圖中工作站提出要求的情形,工作站傳送訊框的順序為何?(請在圖中適當的虛線框中塗上黑色表示傳送訊框)

 

 

12.8 參考圖12-11(a)。依照下圖中工作站提出要求的情形,工作站傳送訊框的順序為何?(請在圖中適當的虛線框中塗上黑色表示傳送訊框)

12.9 請說明資料在傳送前做編碼處理的三個主要目的。

12.10 請說明 Demand Priority 通訊協定所採用的 5B/6B 編碼法之基本原理。

12.11 5B/6B 編碼法中,何謂「不平衡字碼」?下列何者為不平衡字碼?

(a) 111010

(b) 101001

(c) 001100

(d) 110110

12.12 參考表12-1。下列加密後之資料經過 5B/6B 編碼後之結果為何?

12.13 請說明比重 2 及比重 4 字碼之使用原則。

12.14 請舉例說明何以 5B/6B 編碼編碼法可以檢查出每一條傳輸線上的三個獨立位元錯誤。

12.15 何謂集體錯誤 (burst error) ? Demand Priority 網路中(四條傳輸線)集體錯誤如何表示?

12.16 Demand Priority 網路為了達到 100 Mbps 傳送速率必須同時在四條線上傳送(每條傳輸線為 25 Mbps),但其中二條傳輸線在傳送位元時延遲了三個位元時間。請說明此種做法的主要目的為何。