7.數據鏈路層和局域網
7.1 數據鏈路層的功能
數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能 出錯的物理連接改造成邏輯上無差錯的數據鏈路,使之對網絡層表現為一條無差錯的鏈路。
7.1.1 為網絡層提供服務
對網絡層而言,數據鏈路層的基本任務是將源機器中的來自網絡層的數據傳送到目的機器的網絡層。
數據鏈路層通常提供的服務有:
1)無確認的無連接服務。源機器發送數據幀時不需要建立連接,目的機器收到數據幀也不需要確認。對於丟失的幀,數據鏈路 層不負責交給上層處理。適用於實時通訊和誤碼率較低的通信信道,如以太網。
2)有確認的無連接服務。源機器發送數據幀時不需要建立連接,目的機器收到數據幀必須確認。源機器在規定時間內沒有收到 確認數據幀就重傳丟失的數據幀,以提高傳輸地可靠性。通常用於誤碼率較高的通信信道,如無線通信。
3)有確認的面向連接的服務。幀傳輸過程分為三步:建立數據鏈路、傳輸幀、釋放數據鏈路。目的機器對於收到的每一幀都要 給出確認,源機器收到確認后才能發送下一幀,因此服務的可靠性最高。該服務適用於通信要求較高的場合。
7.1.2 鏈路管理
數據鏈路層的連接建立、維持和釋放稱為鏈路管理,主要用於面向連接的服務。當兩端節點都要進行通信前,首先必須確認雙 方都處於就緒的狀態,並交換一些信息對幀序號初始化,然后才能建立連接。在多個站點共享同一物理信道的情況下,如何在要求 通信的站點間分配和管理信道也屬於數據鏈路層管理的范圍。
7.1.3 幀定界、幀同步、透明傳輸
兩個工作站在傳遞信息時,必須把網絡層的分組封裝成幀,以幀的格式進行傳輸。他將一段數據的前后加上首部和尾部,就構 成了幀。首部和尾部有很多控制信息,它們一個重要作用是確定幀的界限,即幀界定。而幀同步是指接收方應能從接收到的二進制 比特流中區分出幀的起始和結束。如果在數據中恰好出現域幀界定相同的比特組合,就要采取有效措施解決這個問題,即透明傳 輸。透明傳輸就是不管所傳數據是什么樣的比特組合,都應該能在鏈路上傳送。
7.1.4 流量控制
由於收發雙方各自的工作速率和緩存空間的差異,可能出現發送方的發送能力大於接收方的接收能力,若此時不限制發送方的 發送能力,接收方就會來不及接收到來的幀,造成幀的丟失出錯。因此,流量控制就是限制發送方的發送能力,使其發送速率不超 過接收方的接受能力。
流量控制並不是數據鏈路層所特有的功能,許多高層協議中也提供此功能,只是控制的對象不同。對於數據鏈路層來說,控制 的是相鄰兩節點之間數據鏈路上的流量,而對於傳輸層來說控制的是源端到目的端之間的流量。
7.1.5 差錯控制
由於信道噪聲等各種原因,幀傳輸過程中可能會出現錯誤。用以使發送方確定接收方是否正確接收到了他發出的數據的方法稱 為差錯控制。通常這些錯誤可分為位錯和幀錯。
位錯是指幀中的某位出現了差錯。通常采用循環冗余校驗CRC方式發現錯誤,通過自動重傳請求ARQ方式來重傳出錯幀。具體做 法是:發送方將要發送的數據附加一定的CRC冗余檢錯碼一並發送,接收方根據檢錯碼對數據幀進行錯誤檢驗,若發現錯誤則丟棄, 發送方超時重傳該數據幀。這種方法稱為ARQ法。
幀錯是指幀的丟失、重復、失序等錯誤。在數據鏈路層引入編號機制,可以保證每一幀最后都能一次性正確地交付給目的地。
7.2 組幀
7.2.1 字符計數法
字符計數法是在幀頭部使用一個計數字段來表明幀內字符數,當目的節點的數據鏈路層收到字節計數值時,就知道后面跟隨的 字節數,從而確定一個幀的結束位置(計數字段本身占一個字節)。
這種方法最大的問題就是如果計數字段出錯,即失去了划分幀界限的依據,接收方就無法判斷一個幀的結束位和下一幀的開始 位,收發雙方失去同步,造成災難性后果。
7.2.2 字符填充的首位定界符法
字符填充法使用一些特殊字符來定界一幀的開始(DLE STX)與結束(DLE ETX)。為了使信息位中出現的特殊字符不被誤判為 幀的首尾定界符,可以在特殊字符前填充一個轉義字符(DLE)來區分,實現數據的透明傳輸。接收方收到轉義字符時,就知道后面 緊跟的是數據而不是控制信息。
7.2.3 比特填充的首尾標志法
比特填充法允許數據幀包含任意個數的比特,也允許每個字符編碼包含任意位數的比特。它使用一個特定的比特模式,即 01111110來標志一幀的開始和結束。為了不使信息位中出現的比特流01111110被誤判為首尾標志,發送方在數據鏈路層在信息位中 遇到五個連續的1,就在后面自動插入一個0;接收方則執行逆操作。
比特填充很容易使用硬件來實現,性能優於字符填充方法。
7.2.4 違規編碼法
在物理層比特編碼時通常采用違規編碼法。例如,曼徹斯特編碼,將數據比特1編碼成高-低電平對,將數據0編碼成低-高電平 對。而高-高電平對以及低-低電平對在數據比特中是違規的。所以可以采用這些違規編碼序列來界定幀的起始和終止。
違規編碼法不需要采用任何填充技術,就能實現透明傳輸,但它是適用於采用冗余編碼的特殊編碼環境。
由於字節計數法中技術字段的脆弱性和字符填充法實現上的復雜性和不兼容性,目前通常采用的組幀方法是比特填充和違規編 碼法。
7.3 流量控制和可靠傳輸機制
7.3.1 流量控制、可靠傳輸和滑動窗口機制
流量控制的基本方法是接收方控制發送方的速率,常見的方式有兩種:停止-等待協議和滑動窗口協議。
1.停止-等待流量控制基本原理
發送方每發送一幀,就要等待接收方的應答信號,之后才能發送下一幀;接收方每接收一幀,就要反饋一個應答信號,表示可 接收下一幀,接收方如果不反饋應答信號,發送方就要一直等待。每次只允許發送一幀,然后就陷入等待對方確認信息的過程中, 因此效率很低。
2.滑動窗口流量控制基本原理
任意時刻,發送方都維持一組連續的允許發送的幀的序號,稱為發送窗口;同時接收方也維持一組連續的允許接收幀的序號, 稱為接收窗口。發送窗口用來對發送方進行流量控制,而發送窗口的大小Wt代表還沒有收到對方確認信息的情況下發送方最多還能 發送多少數據幀。同理,在接收端設置接受窗口是為了控制可以接收哪些數據幀而不能接收哪些幀。在接收方只有收到的數據幀的 序號落在接收窗口內才允許將該數據接下。若在窗口外,一律丟棄。
在發送端,每收到一個確認幀,發送窗口就向前滑動一個幀的位置,當發送窗口內沒有可以發送的幀時,發送方就會停止發 送,直到收到接收方的確認幀使窗口移動,窗內有可發送的幀,才會繼續發送。

在接收端,收到一個數據幀后,將窗口向前移動一個位置,並發回確認幀。
滑動窗口有以下重要特性:
1)只有接受窗口向前滑動,發送窗口才有可能向前滑動。
2)從滑動窗口的概念上來看,停止-等待協議、后退N幀協議和選擇重傳協議只是在發送窗口大小上有所區別:
停止-等待協議:發送窗口=1,,接受窗口=1。
后退N幀協議:發送窗口>1,接收窗口=1。
選擇重傳協議:發送窗口>1,接收窗口>1。
3)當接收窗口大小為1時,可以保證幀的有序接收。
4)數據鏈路層的滑動窗口協議中,窗口大小在傳輸過程中是固定的。
7.3.2 單幀滑動窗口與停止-等待窗口
在停止-等待協議中,除了數據幀丟失,還有可能出現以下兩種差錯:
到達目的站的幀可能已經遭到破壞,接收站利用前面所說的差錯檢測技術檢出后,丟棄該幀。為了應對這種情況,發送站裝備 了計時器,如果在計時器計滿時仍未收到確認,則再次發送相同的幀。如此重復,知道該數據幀准備被接收為止。
另一種可能的差錯時數據幀正確而確認幀被破壞,此時接收方已收到正確的數據幀,但發送方收不到確認幀,因此發送方會重 傳該幀,接收方收到同樣的幀會丟棄,並重傳一個對應的確認幀。發送的幀交替使用0和1來區分,確認幀分別用ACK0和ACK1來標識
7.3.3 多滑動窗口和后退N幀協議(GBN)
在后退N幀式的ARQ中,發送方不需要收到上一個幀的ACK后才能發送下一幀,是可以連續發送幀。當接收方檢測出失序的信息幀 后,就要求發送方重發最后一個正確接收后所有未確認的幀;或者當發送方發送了N個幀后,若發現N幀的前一個幀在計時器超時后 仍未返回信息,則該幀被判定為出錯或丟失,此時發送方不得不重傳該幀以及之后的N個幀。換句話說,接收方只允許按照順序接收 幀。
為了減少開銷,GBN協議還規定接收端不一定沒收到一個正確的數據幀就要立刻返回一個確認,而是可以收到多個正確幀后,才 對最后一個幀進行確認。也就是說,對某一數據的確認就表示該數據與之前的數據都已正確被接收。
后退N幀的接收窗口為1,可以保證按順序接收數據幀。若采用n比特對窗口編號,則發送窗口的尺寸因滿足:1≤W≤2^n -1,若 發送窗口超過2^n -1,就會造成接收方無法分辨新幀和舊幀。

7.3.4 多幀滑動窗口和選擇重選協議(SR)
為了進一步提高信道利用率,可設法只重傳出現差錯的幀或者計時器超時的幀。此時必須加大接收窗口,以便先收下那些序號 不連續的但仍處於接收窗口的那些幀,等到所缺序號的數據幀到達以后再一並上交給主機。
在選擇重傳協議中,每個緩沖區都對應有一個計時器,當計時器超時時,緩沖區幀就會重傳。另外,該協議使用比上述協議更 加有效的差錯處理策略,一點接收方懷疑幀出錯,就會發送一個否定幀NAK給發送方,要求發送方對NAK中的指定幀進行重傳。

選擇重傳協議的接收窗口與發送窗口尺寸都要大於1,可以一次收發多個幀。若采用n比特對幀編號,要滿足:接收窗口+發送窗 口≤2^n。假定仍然采用累積確認的方法,並且接收窗口不應大於發送窗口,那么接收窗口的數值不應超過序號范圍的一半。一般情 況下,在SR協議里,接收窗口的大小和發送窗口的大小是相同的。
【補充】信道的效率,也稱為信道利用率,這里給出時間角度的定義:信道效率是對於發送方的,是指發送方在一個發送周期 內,有效得發送數據所需要的時間占整個周期的比例。
信道吞吐率 = 信道利用率 * 發送方的發送速率
7.4 信道訪問協議
7.4.1 固定信道划分協議
固定信道划分協議主要有時分復用(TDM)和頻分復用(FDM)。可以進行固定信道划分的前提是,單一信道傳輸能力大於一路 信號傳輸所需要的能力,通過把信道划分為子信道,每一路信號占一個子信道,實現信道的共享。信道划分存在的問題是,若某一 路沒有數據傳輸,也會占用一路信道,使得信道利用率不高。
碼分多址(CDMA)是移動通信中采用的信道訪問協議,CDMA對每個節點分配不同的編碼信號,節點用唯一的編碼信號對發送的 數據進行編碼。
7.4.2 隨機訪問協議
在隨機訪問協議中,不采用集中控制的方式解決發送次序的問題,所有用戶可以根據自己的意願隨機地發送信息,占用信道全 部速率。在總線網中,有兩個或者更多用戶同時發送信息就會產生幀的沖突。為了解決隨機接入發生的碰撞,每個用戶需要按照一 定的協議反復重傳它的幀,知道無碰撞通過。常用的協議有:ALOHA協議、CSMA協議、CSMA/CD協議、CSMA/CA協議等,他們的核心思 想是:勝利者通過爭用獲得信道,從而獲得信息的發送權。因此,隨機訪問介質控制協議又稱為爭用型協議。
1.ALOHA協議
ALOHA協議分為純ALOHA協議和時隙ALOHA兩種。
(1)純ALOHA
基本思想是在當網絡中任何一個站點需要發送數據時,可以不進行任何檢測就發送。如果在一段時間內沒有收到確認,該站點 就認為傳輸過程中發生了沖突。站點需要再等待一段時間后再發送數據,直到發送成功。
假設網絡負載(T0時間內所有站點發送的成功的和未成功而重傳的幀數)為G,則ALOHA網路的吞吐量(T0時間內成功發送的平 均幀數)為S=Ge^-2G。當G=0.5時,S=0.5/e≈0.184,這是網絡吞吐量S可能達到的極大值。可見ALOHA網絡的吞吐量很低。
(2)時隙ALOHA
時隙ALOHA是把所有各站在時間上同步起來,並將時間划分為一段段等長的時隙,規定只能在每個時隙的開始發送一個幀。
時隙長度T0使得每個幀正好在時隙內發送完畢。每個幀達到后,一般再要緩存中等待一段小於T0的時間,然后才能發送出去。 在一個時隙內有兩個或兩個以上幀到達時,則在下一個時隙將產生碰撞。
時隙ALOHA的吞吐量S與網絡負載G的關系是:S=Ge^-G。 當G=1時,S=1/e≈0.368,這是吞吐量S能達到的最大值。
2.CSMA協議
如果每個站點在發送前都偵聽一下公用信道,發現信道空閑后再發送,那將會大大降低沖突的可能性,載波偵聽多路訪問 (CSMA)就是依據這個思想。
根據偵聽方式和偵聽到信道忙后的處理方式不同,可分為三類CSMA。
1).1-堅持CSMA
基本思想是:當一個節點要發送數據時,首先偵聽信道;如果信道空閑立刻發出數據;如果信道忙則等待,同時繼續偵聽,直 到信道空閑;如果有沖突,則隨機等待一段時間后,再重新開始偵聽。
傳播時延對1-堅持CSMA協議性能影響較大。節點A開始發送數據時,節點B也有數據要發送,但這時A發出的數據信號還未到達 B,B偵聽到信道空閑,於是立即發送數據,必然造成沖突。即使不考慮時延,也會產生沖突。當B和C都有數據要發送,偵聽到信道 忙,當結點空閑時,B和C會立即發送數據導致沖突。
2).非堅持CSMA
基本思想是:當一個節點要發送數據時,首先偵聽信道;如果信道空閑立即發送;如果信道忙碌就放棄偵聽,等待一個隨機時 間后再重復上述過程。
非堅持CSMA協議在偵聽到信道忙后就放棄偵聽,這樣就減少了多個節點等待信道空閑后同時發送數據導致沖突的概率,但這也 使得數據在網絡中的平均時延增加。可見,信道利用率的提高的代價是增加數據在網絡中的時延。
3).p-堅持CSMA
基本思想是:當一個節點要發送數據時,先偵聽信道;如果信道忙,則等待下一個時隙再偵聽;如果空閑,以p的概率發送數 據,以1-p的概率推遲到下一時隙;這個過程一直持續到數據成功發送。
其目的是為了降低1-堅持CSMA協議中多個節點在檢測到信道空閑后同時發送的數據發生沖突的概率;采用“偵聽”是為了客服 非堅持CSMA協議中由於隨機等待時間造成時延較長的問題。
3.CSMA/CD協議
載波偵聽多路訪問/碰撞檢測(CSMA/CD)適用於總線型或者半雙工網絡環境。“載波偵聽”就是發送前先偵聽。“碰撞檢 測”即配適器邊發送數據時邊檢測信道上信號電壓的變化,以便判斷自己在發送數據時其他站點是否也在發送。
CSMA/CD的工作流程可概括為“先聽后發,邊聽邊發,沖突停發,隨機重發”
1)適配器從他的父節點獲得一個網絡層數據報,准備一個以太幀,並把該幀放到適配器的緩沖區中。
2)如果適配器偵聽到信道空閑,就開始傳輸該幀。如果適配器偵聽到信道忙,他將等待直至沒有信號能量,然后開始傳輸該幀
3)傳輸過程中,適配器檢測來自其他適配器的信號能量出現。如果這個適配器傳輸了整個幀,而沒有檢測到其他適配器的能量 信號,這個適配器完成幀的傳輸。否則,適配器就必須停止發送該幀,取而代之傳輸一個48比特的擁塞信號。
4)在中止以后,適配器采用截斷二進制指數避退算法來等待一段隨機時間后返回第2步。
在站A發送幀后最多經過2γ就知道所發的幀是否遭到了碰撞,因此以太網把端到端的往返時間2γ稱為爭用期。只有經過爭用期 的這段時間內沒有檢測到沖突,才能確定這次發送不會發生沖突。
為了確保發送站在發送數據的同時能檢測到可能存在的沖突,需要在發送完幀之前就能收到自己發送出去的數據,即幀的傳輸 時延都至少要兩倍於信號在總線中的傳播時延,所以CSMA/CD總線網中的所有數據幀都必須大於一個最小幀長。任何站點收到幀長小 於最小幀長的幀就丟棄。
最小幀長的計算公式:總線傳播時延*數據傳輸率*2
以太網規定取51.2μs為爭用期長度,對於10Mb/s的以太網,在爭用期內可發送512bit即64B。在以太網發送數據時,如果錢64B 沒有發生碰撞,后續的數據就不會發生沖突。因此,以太網規定最短幀長為64B。如果只發送小於64B的幀,要在MAC子層數據字段后 面加入一個整數字節的填充字段,保證以太網的MAC幀長度不小於64B。
二進制指數退避算法:
1)確定基本退避時間,一般取兩倍的總線端到端傳播時延2γ。
2)定義參數k,他等於重傳次數,但k不超過10,即k=min[重傳次數,10]。
3)從離散整數集合[0,1,……,2^k-1]中隨機取出一個數r,重傳所需要退避的時間就是r倍的2γ。
4)當重傳次數達到16次仍不成功時,表示網絡台擁堵,拋棄此幀並向高層報錯。
4.CSMA/CA協議
在無線局域網的情況下不能搬用CSMA/CD協議,特別是碰撞檢測部分,主要有兩個原因:
1)接收信號往往會遠小於發送信號的強度,且在無線介質上信號強度動態變化范圍很大,因此要實現碰撞檢測不現實。
2)在無線通信中,並非所有站點都能聽到對方,即“隱蔽站”問題。
因此CSMA/CA把碰撞檢測改成碰撞避免。“碰撞避免”並不是指協議可以完全避免碰撞,而是指協議設計盡量減少發生碰撞的概 率。
CSMA/CA采用二進制指數退避算法,信道從忙變空閑時,任何一個站要發送數據幀時,不僅都必須等待一個時間間隔,而且要進 入爭用窗口,並計算退避時間以便再次重新試圖接入信道。當且僅當檢測到信道空閑,並且這個數據幀是要發送的第一個數據幀 時,才不使用退避算法。
CSMA/CA還使用預約信道、ACK幀、RTS/CTS幀等三種機制來實現碰撞避免:
1)預約信道。發送方在發送數據的同時向其他站點通知自己傳輸的數據所需要的時間長度,以便讓其他站點這段時間不要發送 數據,以免產生碰撞。
2)ACK幀。所有站點在正確接收到發給自己的數據幀(除了廣播幀和組播幀)后,都要向發送方返回一個ACK幀,如果接收失敗 則不采取任何動作。發送方在發送完數據后,在規定時間沒有收到ACK幀,則認為發送失敗,將該數據幀重發,知道收到ACK 幀或者到規定重發次數為止。
3)RTS/CTS幀。是可選的碰撞避免機制,主要解決無線網中“隱蔽站”的問題。
前兩者是必須實現的,而RTS/CTS是可選的。但后兩者又增加了網絡流量。
CSMA/CD與CSMA/CA的區別:
1)CSMA/CD可以檢測沖突,但無法避免;CSMA/CA發送包的同時不能檢測到信道上有無沖突,只能盡量避免。
2)傳輸介質不同,CSMA/CD用於總線型以太網,CSMA/CA用於無線局域網。
3)檢測方式不同,CSMA/CD通過電纜電壓變化來檢測;CSMA/CA采用能量檢測.載波檢測和能量載波混合檢測信道空閑的方式。
4)在本節點處無沖突不代表在接收節點處無沖突。
【總結】CSMA/CA協議基本思想是在發送數據時先廣播告知其他站點,讓其他站點這段時間內不要發送數據,以免沖突。 CSMA/CD協議基本思想是發送前偵聽,邊發送邊偵聽,一旦出現碰撞馬上停止。
7.4.3 輪詢訪問介質訪問控制:令牌傳遞協議
在輪詢訪問中,用戶不能隨機地發送信息,而是通過一個集中控制的監控站,以循環的方式輪詢每個節點,再決定信道的分 配。當某一節點使用信道時,別的結點都不能使用。典型的輪詢訪問介質訪問控制協議是令牌傳遞協議,主要使用在令牌環網中。
令牌是由一組特殊的比特組成的幀,當環上一個站希望傳遞幀時,必須等待令牌。一旦收到令牌,站點便可啟動發送幀。幀中 包含目的站的地址,以標識哪個站應接受此幀。幀在環上傳送,不管幀是否是發往本站的,都必須進行轉發,直到該幀回到他的始 發站,並且由始發站撤銷該幀。幀的目的站除了轉發以外還要對該幀維持一個副本,並通過在幀尾部設置“響應比特”來指示已收到 副本。站點在發送完一幀后應釋放令牌,讓其他站點繼續使用。
輪詢介質很適合於負載很高的廣播信道。負載很高是指多個節點在同一時刻發送數據概率很大的信道,如果這樣的廣播信道采 用隨機介質訪問控制,有很大概率會發生沖突,而采用輪詢訪問介質訪問控制則能很好地滿足各個站點的通信需求。
7.5 局域網
7.5.1 局域網的基本概念和體系結構
局域網是在一個較小的地理范圍內將各種計算機、外部設備、數據庫系統等通過雙絞線、同軸電纜等介質互相連接起來,組成 資源和信息共享的計算機互連網絡,主要特點有:
·為一個單位所有,且地理范圍和站點數據均有限。
·所有站共享較高的總帶寬。
·較低的時延和較低的誤碼率。
·各站點為平等關系而不是從屬關系。
·能進行廣播和組播。
局域網的特性主要由三要素決定:拓撲結構、傳輸介質、介質訪問控制方式,其中最重要的就是介質訪問控制方式,決定着局 域網的技術。
常見的局域網拓撲結構主要有以下四類:①星形結構②環形結構③總線型結構④星形和總線型結合的復合型結構。
局域網可以使用雙絞線、銅纜、光纖等多種傳輸介質,其中雙絞線為主流傳輸介質。
局域網的介質訪問控制方法主要有:CSMA/CD、令牌總線和令牌環。前兩者主要用於總線型局域網,最后一種用於環網型局域網
三種特殊的局域拓撲實現:
以太網(目前使用范圍最廣的局域網)——邏輯拓撲是總線型結構,物理拓撲是星形或者拓展星形結構。
令牌環(Token Ring,IEEE802.5)——邏輯拓撲是環形結構,物理拓撲是星形結構。
FDDI(光纖分布數字接口,IEEE802.8)——邏輯拓撲是環形結構,物理拓撲是雙環結構。
IEEE802標准定義的局域網參考模型只對應OSI參考模型的物理層和數據鏈路層,並將數據鏈路層拆分為兩個子層:邏輯鏈路控 制LLC子層和媒體接入控制MAC子層。與接入傳輸媒體有關的內容都放在MAC子層,它向上層屏蔽對物理層訪問的各種差異,提供對物 理層的同一訪問接口,主要功能包括:組幀和拆卸幀、比特傳輸差錯檢測、透明傳輸。LLC子層與傳輸媒體無關,它向網絡層提供無 確認無連接、面向連接、帶確認無連接、高速傳輸4種不同的服務。
7.5.2 以太網與IEEE802.3
IEEE802.3是一種基帶總線型的局域網標准,描述物理層與數據鏈路層的MAC子層的實現方法。
以太網邏輯上采用總線型拓撲結構,以太網中所有計算機都共享一條總線,信息以廣播的方式發送。為了保證數據通信的方便 和可靠,以太網簡化了流程使用CSMA/CD方式對總線進行控制訪問。
以太網采用兩項措施簡化通信:采用無連接的工作方式;不對發送的數據幀編號,也不要求接收方確認,即提供不可靠服務, 對於差錯糾正由高層完成。
1.以太網的傳輸介質與網卡
以太網常用的傳輸介質有四種:粗纜、細纜、雙絞線和光纖。

計算機與外界局域網的連接是通過主機機箱內插入一塊網絡接板,又稱網絡適配器或者網卡接口(NIC)。網卡上裝有處理器和 存儲器,是工作在數據鏈路層的網絡組件。網卡是局域網中連接計算機和傳輸介質的接口,不僅能實現與局域網傳輸介質之間的物 理連接和電信號匹配,還涉及幀的發送與接收.幀的封裝與拆封.介質訪問控制.數據的編碼與解碼以及數據緩存等功能。
全世界每塊網卡在出廠時都有一個唯一的代碼,稱為介質訪問控制(MAC)地址,這個地址用於控制主機在網絡上的數據通信。 數據鏈路層設備(網橋、交換機等)都使用各個網卡的MAC地址。另外,網卡控制着主機對介質的訪問,因此網卡也工作在物理層, 因為它只關注比特,而不關注地址信息和高層協議信息。
2.以太網的MAC幀
MAC地址長6字節,一般由連字符(或冒號)分隔的6個十六進制數表示,如06-02-8c-6b-55-c5。高24位為廠商代碼,低24 位為廠商自行分配的網卡序列號。
由於總線上使用的是廣播通信,因此網卡從網絡上每收到一個MAC幀,首先要用硬件檢查里面的MAC地址,如果是發往本站 的就收下,否則丟棄。

前導碼:使接收端與發送端時鍾同步;在幀前插入的8個字節可再分為兩個字段:第一個字段共7個字節,是前同步碼,來 迅速實現MAC幀的比特同步;第二個字段時幀開始定界符,表示后面的信息就是MAC幀。
地址:通常使用6字節地址。
類型:2字節,指出數據域中的數據應交給哪個協議實體處理。
數據:46-1500字節,包含高層協議信息。由於CSMA/CD算法限制,以太網幀必須滿足最小長度64B的要求。
填充:0-46個字節,當幀太短時填充幀,使之達到64B的最小長度。
校驗碼(FCS):4字節,校驗范圍是從目的地址到數據段末端,算法采用32位循環冗余碼(CRC),但不需要校驗MAC幀的 數據部分,還要檢驗目的地址、源地址、類型字段,但不校驗前導碼。
802.3幀格式與DIX以太幀格式的不同之處:
·幀起始標志:與802.4和802.5相兼容。
·長度域:替代了DIX幀中的類型域,指出數據域的長度。
在實踐中,前述長度/類型兩種機制可以並存,由於IEEE802.3數據段的最大字節數是1500,所以長度段的最大值是1500, 因此從1500-65535的值可以用於類型段標識符。
3. 高速以太網
速率達到或者超過100Mb/s的以太網稱為高速以太網。
(1)100BASE-T以太網
是在雙絞線上傳送100Mb/s基帶信號的星形拓撲結構以太網,使用CSMA/CD協議。該以太網及支持全雙工又支持半雙工方 式,可在全雙工方式下工作而無沖突發生。因此,全雙工方式下不使用CSMA/CD協議。
MAC幀格式仍然是802.3標准規定的。保持最短幀長不變,但將一個網段的最大電纜長度減小到100m。幀間時間間隔從原來 的9.6μs改為現在的0.96μs。
(2)吉比特以太網
吉比特以太網又稱千兆以太網,允許1Gb/s下用全雙工和半雙工兩種方式通信。使用802.3協議規定的幀格式。半雙工方式 下使用CSMA/CD協議(全雙工不使用)。與10BASE-T和100BASE-T技術向后兼容。
(3)10吉比特以太網
10吉比特以太網幀格式與10Mb/s、100Mb/s、1Gb/s以太網幀格式完全相同。10吉比特以太網還保留了802.3標准規定的以太 網最小和最大幀長,便於升級。10吉比特以太網不再使用銅線而使用光纖作為傳輸媒體。10吉比特以太網只工作在全雙工方 式,不存在爭用沖突。
7.5.3 IEEE 802.11
IEEE802.11是無線局域網的一系列標准協議,包括802.11a和802.11b等。他們制定了MAC層協議,運行在多個物理層標准之 上。除了基本的協調訪問問題,標准還進行錯誤控制以克服通道固有的不可靠性、適宜的尋址和關聯規程以處理站的可攜帶性 和移動性,以及互連過程以擴散無線站的通信范圍,並且允許用戶在移動時可以通信。
802.11的MAC層采用的是CSMA/CA協議進行介質訪問控制。沖突避免要求每一個發送節點在發送幀之前都需要偵聽信道。如 果信道空閑,節點可以發送幀;發送站在發完一幀之后必須再等待一個短的時間間隔,檢查接收站是否發回幀確認ACK。如果收 到確認,這說明此次發送沒有出現沖突,發送成功;如果在規定時間沒有收到確認,默認出現沖突,發送失敗,發送方重發該 幀。直到在規定的最大重發次數之內,發送成功。
【注意】在無線局域網中,即使在發送過程中發生了碰撞,也要把整個幀發送完畢。而在有線局域網中,發生沖突則節點立刻 停止發送數據。
無線局域網可分為兩大類:第一類是有固定基礎設施;第二類是無固定基礎設施。
1.有固定基礎設施無線局域網
802.11標准規定無線局域網最小構件是基本服務集(BSS)。一個基本服務集包括一個基站和若干移動站。所有的站在本 BSS以內都可以直接通信,但和本BSS以外的站通信時都要通過本BSS基站。基本服務集中的基站也稱為接入點(AP),作用與網 橋相似。
一個基本服務集可以是孤立的,也可以通過接入點AP連接到一個主干分配系統,然后再接入另一個基本服務集,構成擴展 服務集(ESS),擴展服務集ESS還可以通過叫做門橋的設備為無線用戶提供到非802.11無線局域網的接入。門橋的作用就相當 於一個網橋。

2.無固定基礎設施的無線局域網自組織網絡
自組織網絡沒有上述基本服務接入點AP,而是由一些處於平等狀態的移動站之間相互通信組成的臨時網絡。各點之間地位 平等,中間結點都是轉發結點,這些節點都具有路由器功能。
移動自組織網通常這樣構成:一些可移動設備發現他的附近還有其他可移動設備,並且要求和其他移動設備通信。它和移 動IP並不相同。移動IP技術使漫游的主機可以使用多種方法接入因特網,其核心的網絡功能仍然是基於固定互聯網中一直在使 用的各路由器選擇協議。而移動自組織網絡是把移動性擴展到無線領域的自治系統,具有自己特定的路由選擇協議,並且可以 不和互聯網相連。
7.5.4 令牌環網基本原理
令牌環網的每一站都通過電纜與環接口干線耦合器TCU相連。TCU的主要作用是:傳遞所有經過的幀、為接入站發送和接收 數據提供接口。與此對應,TCU狀態也有兩個:收聽狀態和發送狀態。數據總是在一個特定的方向上從一個TCU到下一次TCU逐比 特地依次傳送,每個TCU重新產生並重新傳輸每一比特。

令牌環網的媒體接入控制機制采用的是分布式控制模式的循環方法。在令牌網中有一個令牌沿着環形總線在入網節點計算 機之間依次傳遞,令牌實際是一個特殊格式的MAC控制幀,本身並不包含信息,僅控制信道的使用,確保同一時刻只有一個節點 能夠獨占信道。站點只有取得令牌后才能發送數據,因此令牌環網不會發生碰撞。由於令牌環網上是按順序依次傳遞的,因此 對所有入網的計算機而言,訪問權是公平的。
令牌環網中令牌和數據的傳遞過程如下:
1)當網絡空閑時,環路中只有令牌幀在循環傳遞。
2)令牌傳遞到有數據要發送的站點處,該站點就修改令牌中的一個標志位,並在令牌中附加自己要傳輸的數據,這樣令牌 就變成一個數據幀,再將令牌發送出去。
3)數據幀沿着環路傳輸,接收到的站點就要一邊轉發數據一邊查看幀的目的地址。如果目的地址與自己的地址相同,接收 站就復制該數據幀以便進一步處理。
4)數據幀沿着環路傳輸,知道到達該幀的源站點,源站點收到自己發出去的數據幀便不再進行轉發。同時,發送方可以檢 驗返回的數據幀以查看數據傳輸過程是否出錯,若有則重發該幀。
5)源站點傳送完數據后,重新產生一個令牌,並將令牌傳遞給下一站點,以交出對媒體的訪問權限。
令牌環網在物理上采用星形拓撲,在邏輯上采用環形拓撲。
7.6 廣域網
7.6.1 廣域網基本概念
廣域網通常指覆蓋范圍很廣(范圍遠遠超過一個城市的范圍)的長距離網絡。廣域網是因特網的核心部分,其任務是通過長距 離運送主機所發送的數據。連接廣域網各節點交換機的鏈路都是高速鏈路,其距離可以是幾千公里的光纜線路,也可以是幾萬公里 的點對點衛星鏈路。因此廣域網首要考慮的問題是通信容量必須足夠大,以便支撐日益增長的通信量。
廣域網不等於互聯網,互聯網可以連接不同類型的網絡(既可以連局域網,又可以連廣域網),通常使用路由器來連接。

廣域網由一些節點交換機(而不是路由器,節點交換機和路由器都是用來轉發分組,但節點交換機在單個網絡中轉發分組,而 路由器在多個網絡構成的互聯網中轉發分組)以及連接這些交換機的鏈路組成。節點交換機執行將分組存儲轉發的功能。節點之間 都是點到點的連接,為了提高網路的可靠性,通常一個節點交換機會和多個相連。
從層次上考慮,廣域網和局域網的區別很大,因為局域網使用的協議主要在數據鏈路層,而廣域網使用的協議主要在網絡層。
PPP協議和DHLC協議是目前最常用的兩種廣域網數據鏈路層控制協議。
7.6.2 PPP協議
PPP協議是使用串行線路通信的面向字節的協議,該協議應用在直接連接的兩個結點的鏈路之上。設計的目的是用來通過撥號或 者專線的方式建立點對點連接發送數據,使其成為各種主機、網橋和路由器之間簡單連接的一種共同的解決方案。
PPP是在SLIP的基礎上發展而來,它既可以在異步鏈路上傳輸,也可以在同步線路上使用。
PPP有三個組成部分:
1)鏈路控制協議LCP:一種擴展鏈路控制協議,用於建立、配置、測試和管理數據鏈路。
2)網絡控制協議NCP:PPP允許同時采用多種網絡層協議,每個不同的協議都要由不同NCP來配置,為網絡層協議建立和配置邏 輯連接。
3)一個將IP數據報封裝到串行鏈路的方法。IP數據報在PPP幀中就是其信息部分。這個部分的最大長度受到最大傳輸單元MTU的 限制。
PPP幀前三個字段和最后兩個字段與HDLC幀是一樣的,標志字段F仍為7E(01111110),前后各占一個字節,若他出現在信息部 分就必須作為數據填充,使用的控制轉義字節是7D(01111101)。但在PPP中地址字段A占一個字節,規定為0xFF,控制字段C占一個 字節,規定為0x03,兩者內容始終固定不變。PPP是面向字符的,所以所以PPP幀長度都是整數字節。

第四個字段時協議段,占兩個字節,在HDLC中沒有該字段,它說明信息段中運載的是什么種類的分組。以0比特開始的是諸如 IP、IPX、AppleTalk這樣的網絡層協議;以比特1開始的被用來協商其他協議,包括LCP以及每個所支持網絡層協議的一個不同的 NCP。
第五個字段信息段長度可變,大於等於0且小於1500B。為了實現透明傳輸,當信息中出現與標志字段相同的比特組時,必須采 取一些措施來改進。
第六個字段時幀檢驗序列(FCS),占2個字節,即循環冗余碼檢驗中的冗余碼。檢驗區包括地址字段、控制字段、協議字段、 信息字段。
當線路處於靜止狀態時,不存在物理層連接。當線路檢測到有載波信號時,建立物理連接,線路變為建立狀態。此時,LCP開始 選項商定。商定成功后就進入身份驗證狀態。雙發身份驗證通過后,進入網絡狀態。這時,采用NCP配置網絡層,配置成功后,進入 打開狀態,然后就可以進行數據傳輸。當數據傳輸完成后,線路轉為終止狀態。載波停止后則回到靜止狀態。
【注意】1)PPP提供差錯檢測功能但不提供糾錯功能,只能保證無差錯接收。 是不可靠的傳輸協議,因此也不使用序號和確認機制
2)它僅僅支持點對點的通信,不支持多點線路。
3)PPP只支持全雙工鏈路。
4)PPP的兩端可以運行不同的網絡層協議,但仍可以使用同一個PPP進行通信。
5)PPP是面向字節的,當信息段出現與標志字段相同的比特組合時,PPP有兩種不同的處理方法:如果PPP用在異步線路 時,采用字節填充法;如果用在SONET/SDH等同步線路時,協議規定采用硬件來完成比特填充。
7.6.3 HDLC協議
高級數據鏈路控制(HDLC)協議是ISO指定的面向比特的數據鏈路層協議。該協議不依賴於任何一種字符編碼集;數據報文可透 明傳輸,用於實現透明傳輸的“0比特插入法”易於硬件實現;全雙工通信,有較高的數據鏈路傳輸效率;所有幀采用CRC檢驗,對 信息幀進行順序編號,防止漏收和重發,傳輸可靠性高;傳輸控制功能和處理功能分離,具有較大的靈活性。
HDLC可適用於鏈路的兩種基本配置:非平衡配置和平衡配置。
1)非平衡配置的特點是由一個主站控制整個鏈路的工作。
2)非平衡配置的特點是鏈路兩端的兩個站都是復合站,每個復合站都可以平等地發起數據傳輸,而不需要得到對方復合站的允 許。
1.站
HDLC有三種類型的站:主站、從站、復合站。主站復制控制鏈路的操作,主站發出的幀稱為命令幀。從站受控於主站,按主站 的命令進行操作,發出的幀稱為響應幀。另外,有些站既具有主站的功能,又具有從站的功能,所以這類站叫復合站,可以發出命 令幀和響應幀。
2.數據操作方式
HDLC有三種數據操作方式:
正常響應方式:它是一種非平衡結構操作方式,即主站向從站傳輸數據,從站進行響應傳輸,但是,從站只有在收到主站許可 后才可進行響應。
異步平衡方式:它是一種平衡結構操作方式。在這種方式中,每個復合站都可以進行對另一個復合站的數據傳輸。
異步響應方式:它是一種非平衡結構操作方式。從站在沒有收到主站允許下就能進行傳輸。
3.HDLC幀
HDLC幀由標志、地址、控制、信息、幀校驗序列等字段構成。

標志字段F為01111110。在接收端只要找到標志字段就能確定一個幀的位置。HDLC協議采用比特填充的首尾標志法完成透明傳 輸,當一串比特流中有五個連續的1時,就在其后填入一個0。在接收幀時,先找到F字段確定幀的邊界,接着對比特流進行掃描,發 現五個連續的1,就把后面的0刪除,來還原成原來的比特流。
地址字段A,共8位,在使用非平衡方式傳輸數據時,站地址字段總是寫入從站的地址;在使用平衡方式發送數據時,站地址字 段寫入應答站的地址。
控制字段C,共8位,是最復雜的字段。HDLC的許多重要功能都靠控制字段實現。根據其第1位或第一1、2位的取值,可將HDLC分 為三類:
1)信息幀(I),第1位為0,用來傳輸數據信息,或使用捎帶技術對數據進行確認。
2)監督幀(S),第1、2位分別為0、1,用於流量控制和差錯控制,執行對信息幀的確認、請求重復和請求暫停發送等功能
3)無編號幀(U),第1、2位均為1,用於提供對鏈路建立、拆除等多種控制功能。
PPP與HDLC協議很相似,但兩者有以下幾點不同:
·PPP是面向字節流的,HDLC是面向比特流的
·PPP幀比HDLC多了一個2字節的協議段。當協議段值為0x0021時,表明信息段內是IP數據報。
·PPP不使用序號和確認機制,只保證無差錯接收,而端到端的差錯檢驗由高層完成。HDLC協議的信息幀使用了編號和確認機 制,可以提供可靠傳輸。
7.7 數據鏈路層設備
7.7.1 網橋概念以及其基本原理
兩個或多個以太網通過網橋連接起來,就形成了覆蓋范圍更大的以太網,而原來的以太網就可以被稱為一個網段。網橋工作在 鏈路層的MAC子層,可以使以太網各網段成為隔離開的碰撞域。如果把網橋換成工作在物理層的轉發器,就沒有這種過濾通信量的功 能。由於各網段相對獨立,一個網段的故障不會影響到別的網段的運行。
網橋的基本特點:①網橋必須具備尋址能力和路徑選擇能力,以確定幀的傳輸方向;②從源網絡接收幀,以目的網絡的介質訪 問控制協議向目的網絡轉發該幀;③網橋在不同或者相同類型的LAN之間存儲轉發幀,必要時還要進行鏈路上的協議轉換;(一般情 況下,存儲轉發設備都可以進行協議轉換,即連接的兩個網段可以使用不同的協議)④網橋對所有接受到的幀不做修改,或只對幀 的封裝格式做很小的修改;⑤網橋可以通過執行幀翻譯互連不同類型的局域網,即把元協議的信息段內容作為另一種協議的信息部 分封裝在幀中;⑥網橋應有足夠大的緩存空間,因為短時間內幀到達的速度可能高於轉發速度。
網橋的優點:①過濾通信量;②擴大物理范圍;③可使用不同的物理層;④可互連不同類型的局域網;⑤提高了可靠性;⑥性 能得到改善。
網橋的缺點:①增加時延;②MAC子層沒有流量控制(流量控制需要采用編號機制,LLC子層實現編號);③不同MAC子層的網橋 接在一起時,幀格式的轉換;④網橋只適合用戶不多通信量不大的局域網,否則有時還會因傳播過多的廣播信息而產生網絡擁塞, 就是所謂的廣播風暴。
根據路徑選擇算法不同,可分為透明網橋和源路由網橋。
1.透明網橋(選擇的不是最佳路由)
透明網橋以混雜的方式工作,它接收連接的所有LAN傳送的每一幀。到達幀的路由選擇過程取決於源LAN和目的LAN;①如果源 LAN與目的LAN相同則丟棄該幀;②如果源LAN和目的LAN不同,就轉發該幀;③如果目的LAN未知,就擴散該幀。
當網橋剛連接到以太網時,其轉發表是空的,網橋按照自學習算法處理收到的幀。該算法的思想是:若從站A發出的幀從某端口 進入網橋,那么這個端口出發沿反方向一定能找到站A。所以網橋每收到一個幀,就記下其源地址和進入網橋的端口,作為轉發表中 的一個項目(源地址、進入接口和時間)。在建立轉發表時,把幀首部的源地址寫在“地址”這欄。在轉發幀時,則是根據收到幀 的首部目的地址來轉發。網橋就是這樣在轉發的過程中逐漸將其轉發表建立起來。
為了避免轉發的幀在網絡中不斷兜圈子,透明網橋使用一種生成樹算法,以確保每個源到每個目的地只有唯一的路徑。但生成 樹一般不是最佳路由。
2.源路由網橋(選擇的是最佳路由)
路由選擇由發送數據幀的源站負責,網橋只是根據數據真正的路由信息進行存儲轉發。
源路由網橋對主機是不透明的,主機必須知道網橋的標識以及連接到那些網段上。路由選擇由發送幀的源站負責。為了找到最 佳路由,源站先廣播方式向目的站發送一個發現幀作為探測只用。源路由的生成過程是:在未知路徑前,源站要先發送一個發現 幀,途中每個網橋都要轉發該幀,最終該幀會通過多條路徑到達目的地;目的站也會一一發送應答幀;每個應答幀將通過原路返 回,途經的網橋將自己的標志記錄在幀中;源站選擇出一個最佳路由。以后,凡從這個源站向該目的站發送幀的首部都必須攜帶這 個路由信息。
此外,發送幀還可以幫助源站確定整個網絡可以通過的幀的最大長度。由於發現幀的數量指數型增加,可能會使網絡嚴重擁塞
3.兩種網橋的比較
使用源路由網橋可以利用最佳路由。若在兩個以太網之間使用並聯的源路由網橋,還可以使通信量比較平均地分配給每個網 橋。用透明網橋則只能使用生成樹,而使用生成樹一般不能保證所使用的路由是最佳的,也不能在不同的鏈路中進行負載均衡。
【注意】透明網橋和源路由網橋中提到的最佳路由並不是經過路由器最少的路由,也可以是發送幀往返時間最短的路由,這樣才能 真正地進行負載平衡,因為往返時間長,說明中間某個路由器可能超載了,所以不走這條路。
7.7.2 局域網交換機及其工作原理
1.局域網交換機
橋接器的主要限制是在任一時刻只能執行一個幀的轉發操作,於是就出現了局域網交換機,又稱以太網交換機。本質上來講, 以太網交換機就是一個多端口的網橋,工作在數據鏈路層。交換機能經濟地將網絡分成幾個小的沖突域,為工作站提供更高的帶 寬。
以太網交換機對工作站是透明的,這樣管理開銷低廉,簡化了網絡節點的增加、移動和網絡變化的操作。利用以太網交換機還 可以很方便地實現虛擬局域網(VLAN),VLAN不僅可以隔離沖突域,也可以隔離廣播域。
2.原理
以太網交換機的原理是,它檢測從以太端口來的數據幀的源和目的地的MAC地址,然后和系統內部的動態查找表進行比較,若數 據幀的MAC地址不在查找表中,則將地址加入查找表,並將數據發送到相應的目的端口。
3.特點
以太網交換機的特點如下:
1)以太網交換機的每個端口都直接與單個主機相連(普通網橋的端口往往是連接到以太網的一個網段),並且一般都工作在全 雙工方式。
2)以太網交換機能同時連通許多對端口,使每一對相互通信的主機都能像獨占通信媒體拿樣,無碰撞地傳輸數據。
3)以太網交換機也是一種即插即用的設備,其內部的幀轉發也是通過自學習算法建立起來的。
4)以太網交換機由於使用了專用的交換結構芯片,其交換速率比較高。
5)以太網交換機獨占傳輸媒體的帶寬。
以太網交換機一般具有多種速率的端口,大大方便了不同的用戶。
4.兩種交換方式
目前交換機主要采取兩種交換模式,即直通式和存儲轉發式。
1)直通式交換機只檢查幀的目的地址,這使得幀在被接收后能很快地轉發出去。這種方式速度很快,但缺乏智能性和安全性, 也無法支持具有不同速率的端口的交換。
2)存儲轉發式交換機先將收到的幀緩存到高速緩存器中,並檢查數據是否正確,確認無誤后再通過查找轉發表轉換成輸出端口 將該幀發送出去。如果發現幀有錯,就將其丟棄。存儲轉發方式的優點是可靠性高,並能支持不同速率的端口之間的轉換,缺點是 延遲較大。
