計算機網(wǎng)絡 第三章 數(shù)據(jù)鏈路層
同欄目的其他內(nèi)容:
【計算機網(wǎng)絡 謝希仁 第八版筆記】第一章 概述
【計算機網(wǎng)絡 謝希仁 第八版筆記】第二章 物理層
數(shù)據(jù)鏈路層使用的信道主要有點對點信道、廣播信道。本章節(jié)主要的內(nèi)容是兩種信道的特點與協(xié)議、數(shù)據(jù)鏈路層的幀、透明傳輸、差錯檢測、MAC、適配器、轉(zhuǎn)發(fā)器、集線器、網(wǎng)橋、以太網(wǎng)交換機等。
3.1. 數(shù)據(jù)鏈路層的幾個共同問題
3.1.1. 數(shù)據(jù)鏈路和幀
數(shù)據(jù)鏈路不是所謂的鏈路,不僅僅指從一個節(jié)點到相鄰節(jié)點的物理路線,還必須有一些必要的通信協(xié)議來控制這些數(shù)據(jù)的傳輸。早期的數(shù)據(jù)通信協(xié)議被叫做通信規(guī)程,所以規(guī)程和協(xié)議是一個東西。
- 幀:數(shù)據(jù)鏈路層把網(wǎng)絡層交下來的數(shù)據(jù)構(gòu)成幀,發(fā)送到鏈路上,以及把接收到的幀中的數(shù)據(jù)取出并上交給網(wǎng)絡層。幀是點對點信道的數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元。
點對點信道的數(shù)據(jù)鏈路層在進行通信時的主要步驟有:
- 節(jié)點A的數(shù)據(jù)鏈路層把網(wǎng)絡層交下來的IP數(shù)據(jù)報添加首部和尾部封裝成幀。
- 節(jié)點A把封裝好的幀發(fā)送給節(jié)點B的數(shù)據(jù)鏈路層。
- 若節(jié)點B的數(shù)據(jù)鏈路層收到的幀無差錯,則從收到的幀中取出IP數(shù)據(jù)報交給上面的網(wǎng)絡層,否則丟棄這個幀。
3.1.2. 三個基本問題
數(shù)據(jù)鏈路層三個基本問題就是:封裝成幀、透明傳輸和差錯檢測。
- 封裝成幀:封裝成幀就是在一段數(shù)據(jù)的前后分別添加首部SOH和尾部EOT,這樣就跟構(gòu)成了一個幀。接收端在收到物理層上交的比特流后,就能根據(jù)首部和尾部的標記,從收到的比特流中識別幀的開始和結(jié)束。
- 一個幀的幀長等于幀的數(shù)據(jù)部分加上幀的首部和尾部的長度。
- 首部和尾部的一個重要作用就是幀定界(即確定幀的界限)。
- 每一種數(shù)據(jù)鏈路層協(xié)議對幀的首部和尾部的格式有明確的規(guī)定。
- 每一種數(shù)據(jù)鏈路層協(xié)議都規(guī)定了所能傳送的幀的數(shù)據(jù)部分長度上限,即最大傳送單元MTU。
- 幀定界符大多使用ASCII中不可打印的控制字符。
- 透明傳輸:由于幀的開始和結(jié)束有專門的控制字符,所以在傳輸?shù)臄?shù)據(jù)部分中不允許出現(xiàn)和用作幀定界的控制字符。
- 當傳輸?shù)膸膬?nèi)容是從鍵盤直接輸入的(可打印字符),顯然不會出現(xiàn)像SOH和EOT的字符。所以不管任何字符都可以在這樣的幀中傳輸過,這樣的傳輸叫做透明傳輸。
- 當數(shù)據(jù)部分是非ASCII文件時(計算機程序或圖像),數(shù)據(jù)鏈路層可能會錯誤地找到幀的邊界,這樣會把剩余部分給丟棄掉。
- 為了解決這一問題就必須使數(shù)據(jù)中可能出現(xiàn)的控制字符SOH和EOT在接收端不被解釋為控制字符。就必須在數(shù)據(jù)中出現(xiàn)的SOH和EOT前面插入一個轉(zhuǎn)義字符ESC。而在接收端的數(shù)據(jù)鏈路層將數(shù)據(jù)發(fā)送到網(wǎng)絡層之前會刪除這個轉(zhuǎn)義字符。這種方法叫做字符填充。如果轉(zhuǎn)義字符也在數(shù)據(jù)中,那么也仍是插入一個轉(zhuǎn)義字符。
- 差錯檢測:傳輸錯誤的比特所占傳輸比特總數(shù)的比率稱為誤碼率BER。數(shù)據(jù)鏈路層廣泛采用循環(huán)冗余檢驗CRC的檢錯技術。數(shù)據(jù)鏈路層還可以選用確定和重傳機制。
差錯檢測原理:
- 在發(fā)送端,先把數(shù)據(jù)劃分為組,每個組有k個比特,在比特后面添加冗余碼
- 先假定要傳送的數(shù)據(jù)M=101001(k=6)。
- CRC運算就是在數(shù)據(jù)M后面添加差錯檢測的n位冗余碼。
- n位冗余碼得出方法,在M后面添加n個零,得到k+n個數(shù)除以是先商定好的n+1位除數(shù)P,得出商是Q,余數(shù)是R
- 除數(shù)是P=1101,經(jīng)過模2除法(不從高位取數(shù))運算得出余數(shù)為001,這個余數(shù)就是冗余碼。
- 冗余碼也稱為幀檢測序列FCS
- 發(fā)送的幀就是M加上后面的0,算術加上冗余碼。得到101001001
- 如果傳輸過程中沒有差錯,那么經(jīng)過檢測之后得到的余數(shù)肯定是0
3.2. 點對點協(xié)議PPP
互聯(lián)網(wǎng)用戶通常都需要連接某個ISP才能接入互聯(lián)網(wǎng),PPP協(xié)議就是用戶計算機和ISP通信所使用的數(shù)據(jù)鏈路層協(xié)議。
3.2.1. PPP協(xié)議的特點
- 簡單:不需要糾錯、不需要序號、不需要流量控制。
- 封裝成幀:PPP協(xié)議規(guī)定了特殊的字符作為幀定界符。
- 透明性:數(shù)據(jù)中如果碰巧有幀定界符一樣的組合時,有措施來解決這個問題。
- 多層網(wǎng)絡協(xié)議:PPP協(xié)議必須在同一條物理鏈路上同時支持多種網(wǎng)絡層協(xié)議
- 多種類型鏈路:PPP還能夠在多種類型的鏈路上運行。
- 差錯檢測、檢測連接狀態(tài)、最大傳送單元(指的是數(shù)據(jù)部分)、網(wǎng)絡層地址協(xié)商、數(shù)據(jù)壓縮協(xié)商。
3.2.2. PPP協(xié)議的幀格式
首部字段分為四個部分:
- 標志字段F:用來表示一個幀的開始和結(jié)束。為0x7E
- 地址字段A:規(guī)定為0xFF
- 控制字段C:規(guī)定為0x03
- 協(xié)議字段:0x0021是IP數(shù)據(jù)報;0xC021為PPP鏈路控制協(xié)議LCP的數(shù)據(jù);0x8021是網(wǎng)絡層的控制數(shù)據(jù)。
尾部字段分為兩個部分:
- 第一個字段是使用CRC的幀檢測序列FCS(冗余碼)
- 最后的是標志字段F
字節(jié)填充:當信息字段中出現(xiàn)與標志字段一樣的比特時,當使用異步傳輸時會添加轉(zhuǎn)義字符,如果數(shù)據(jù)內(nèi)容中出現(xiàn)了原文的轉(zhuǎn)移字符,那么會在加一個轉(zhuǎn)義字符。當使用同步傳輸時,會使用零比特填充,在發(fā)送端只要發(fā)現(xiàn)數(shù)據(jù)部分出現(xiàn)5個連續(xù)的1,則立即填入一個0。
3.2.3. PPP協(xié)議的工作狀態(tài)
當用戶撥號接入ISP后,就建立了一條從用戶個人電腦到ISP的物理連接,這時個人電腦向ISP發(fā)送一系列的鏈路控制協(xié)議LCP分組,以便建立LCP連接。接著還要進行網(wǎng)絡層的配置,網(wǎng)絡控制協(xié)議NCP給新接入的用戶個人電腦分配一個臨時的IP地址。當用戶通信完畢之后,NCP釋放網(wǎng)絡層連接,收回原來分配出去的IP地址。接著,LCP釋放數(shù)據(jù)鏈路層連接,最后釋放的是物理層的連接。
LCP協(xié)商的配置選項,即發(fā)送LCP的配置請求幀,這是一個PPP幀:
- 配置確認幀:所有選項都接收。
- 配置否認幀:所有選項都理解但不能接收。
- 配置拒絕幀:選項有的無法識別或不能接收,需要協(xié)商。
3.3. 使用廣播信道的數(shù)據(jù)鏈路層
廣播信道可以進行一對多的通信。
3.3.1. 局域網(wǎng)的數(shù)據(jù)鏈路層
局域網(wǎng)的特點:網(wǎng)絡為一個單位所擁有,且地理范圍和站點數(shù)目有限。
局域網(wǎng)的優(yōu)點:具有廣播功能;便于系統(tǒng)的擴展和逐漸地演變,各設備的位置可靈活調(diào)整和改變;提高了系統(tǒng)的可靠性、可用性、生存性。
局域網(wǎng)可以按照網(wǎng)絡拓撲進行分類:
共享信道要考慮的就是如何合理共享通信媒體資源
- 靜態(tài)劃分信道:頻分復用、時分復用、統(tǒng)計時分復用、碼分復用等。
- 動態(tài)媒體接入控制,特點是并非在用戶通信時固定分配給用戶。
- 隨機接入:隨機接入地特點是用戶可隨機發(fā)送消息,這會產(chǎn)生碰撞,所以要有解決碰撞地網(wǎng)絡協(xié)議。
- 受控接入:用戶不能隨機地發(fā)送消息而必須服從一定地控制。
3.3.2. CSMA/CD協(xié)議
采用較為靈活的無連接工作方式,即不必先建立連接就可以發(fā)送數(shù)據(jù)。適配器對發(fā)送的數(shù)據(jù)不進行編號,也不要求對方發(fā)回請求。當目的站收到有差錯幀時就把幀丟棄,是否需要重新傳由高層決定。
解決同一時間只能允許一臺計算機發(fā)送數(shù)據(jù)可以采用CSMA/CD、曼徹斯特編碼。
CSMA/CD協(xié)議的要點:
- 多點接入:說明這是總線型網(wǎng)絡,許多計算機;以多點接入的方式連接在一根總線上。
- 載波監(jiān)聽:不管在想要發(fā)送數(shù)據(jù)之前還是在發(fā)送數(shù)據(jù)之后,每個站都必須不停的檢測信道。在發(fā)送前就是為了避免碰撞;在發(fā)送中就是在碰撞檢測。
- 碰撞檢測:當兩個及以上的站同時發(fā)送數(shù)據(jù)時,總線上的信號電壓變化幅度會增大,站根據(jù)這個原理進行碰撞檢測。
電磁波在1km電纜的傳輸時延約為5μs,所以會存在碰撞的可能性。在局域網(wǎng)的分析中,常把總線上的單程端到端傳播時延記為τ ,那么最遲要經(jīng)過多長時間才能知道自己發(fā)送的數(shù)據(jù)與其他站發(fā)送的數(shù)據(jù)有碰撞?
因此以太網(wǎng)端到端往返時間2τ 為爭用期,又稱為碰撞窗口,只有經(jīng)過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發(fā)送不會發(fā)生碰撞。
以太網(wǎng)采用截斷二進制指數(shù)退避算法來確定碰撞后重傳的時機,這個退避算法有如下規(guī)定:
- 基本的退避時間為爭用期2τ ,具體的爭用期時間是51.2μs
- 從整數(shù)集合[0,1,…,(2^k-1)]中隨機取出一個數(shù),記為r,重傳所需的時延=r×基本退避時間。
- k=Min[重傳次數(shù),10]
- 當重傳次數(shù)達到16次仍不成功則丟棄幀,并向高層匯報。
對于10Mbit/s的以太網(wǎng),在爭用期內(nèi)可發(fā)送512bit,即64字節(jié),這意味著以太網(wǎng)在發(fā)送數(shù)據(jù)時,若前64字節(jié)沒有發(fā)生沖突,則后后續(xù)的數(shù)據(jù)就不會發(fā)生沖突。以太網(wǎng)的最大端到端的時延必須小于爭用期的一半,所以最大端到端的長度約為5km。
強化碰撞:當發(fā)送數(shù)據(jù)的站一旦知道了發(fā)生碰撞之后,除了立即停止發(fā)送數(shù)據(jù)之外,還會繼續(xù)發(fā)送32比特或48比特的認為干擾信號,以便讓所有用戶都知道已經(jīng)發(fā)生了碰撞。
歸納:
3.3.3. 使用集線器的星形拓撲
- 采用雙絞線的以太網(wǎng)采用星形拓撲結(jié)構(gòu)。
- 在星型的中心添加了集線器,使用的是CSMA/CD協(xié)議,工作在物理層,每個端口僅僅轉(zhuǎn)發(fā)比特,不進行碰撞檢測。
3.3.4. 以太網(wǎng)的信道利用率
要提高以太網(wǎng)信道利用率,就必須減少τ和To的比,在以太網(wǎng)中定義了參數(shù)a,表示以太網(wǎng)單程端到端時延τ與幀的發(fā)送時間之比:a=τ/To,所以a的值要小一些,即分子小些,分母大些。同時以太網(wǎng)的幀長不能太小。
假設以太網(wǎng)各站發(fā)送數(shù)據(jù)不會碰撞,并且非常好地利用網(wǎng)絡資源,這樣計算出極限信道利用率為,
只有當參數(shù)a遠小于1才能得到盡可能高的極限信道利用率
3.3.5. 以太網(wǎng)地MAC層
在局域網(wǎng)中,硬件地址又稱為物理地址或MAC地址(因為這種地址用在MAC幀中)
在48位的MAC地址中,IEEE機構(gòu)負責前3個字節(jié),廠商負責后三個字節(jié)。
IEEE規(guī)定字段的第一字節(jié)的最低位為I/G位
- 單站地址:I/G位=0
- 組地址:I/G位=1。組地址用來進行多播
- 廣播地址:所有48位都為1,只能作為目的地址使用。
IEEE規(guī)定把地址地段第一字節(jié)的最低第二位規(guī)定為G/L
- 全球管理:G/L位=0
- 本地管理:G/L位=1
適配器具有過濾功能:每收到一個 MAC ,先用硬件檢查中的 MAC 地址如果是發(fā)往本站的幀則收下,然后再進行其他的處理否則就將此幀丟棄,不再進行其他的處理。
- 單播幀:一對一
- 廣播幀:一對全部
- 多播幀:一對多
MAC幀的格式:
數(shù)據(jù)字段的長度與長度字段的值不一致;
幀的長度不是整數(shù)個字節(jié);
用收到的幀檢驗序列FCS查出有差錯;
數(shù)據(jù)字段的長度不在46 ~ 1500字節(jié)之間。
有效的MAC幀長度為*64 ~ 1518字節(jié)之間。
3.4. 擴展的以太網(wǎng)
3.4.1. 在物理層擴展以太網(wǎng)
- 優(yōu)點:使原來屬于不同碰撞域(沖突域)的計算機能夠跨碰撞域通信;擴大了以太網(wǎng)覆蓋的地理范圍。
- 缺點:碰撞域增大了,總的吞吐量未提高;如果使用的不同的以太網(wǎng)技術(數(shù)據(jù)率不同)那么就不可以這樣做。
3.4.2. 在數(shù)據(jù)鏈路層擴展以太網(wǎng)
以太網(wǎng)交換機的特點:
- 實質(zhì)就是一個多端口的網(wǎng)橋,采用的是全雙工方式,具有并行性。相互通信的主機都獨占傳輸媒體,無碰撞的傳輸數(shù)據(jù),具有N個端口個以太網(wǎng)交換機具有N個碰撞域。
- 工作在數(shù)據(jù)鏈路層
- 以太網(wǎng)交換機具有存儲器,能在輸出端口繁忙時把到來的幀存起來。
- 內(nèi)部具有交換表(地址表),通過自學方法建立起來的。
- 每個端口都獨享帶寬,增加了總?cè)萘俊?/li>
在兩個交換機連接在一起的情況下,為了避免回路,定義了生成樹協(xié)議STP,使得從一臺主機到所有其他的主機的路徑是五環(huán)路的樹狀結(jié)構(gòu)。
3.4.3. 虛擬局域網(wǎng)
以太網(wǎng)交換機的缺點:在一個主機數(shù)量很大的以太網(wǎng)上傳播廣播幀,必然會消耗很多資源;如果網(wǎng)絡配置錯誤,就會形成廣播風暴,使整個網(wǎng)絡癱瘓。不安全等問題。
使用虛擬局域網(wǎng)VLAN技術可以把一個較大的局域網(wǎng)分割成為較小的局域網(wǎng)。
虛擬局域網(wǎng)是一種服務,并不是一種新的局域網(wǎng)。文章來源:http://www.zghlxwxcb.cn/news/detail-803627.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-803627.html
3.5. 總結(jié)
- 鏈路是從一個節(jié)點到相鄰節(jié)點的一段物理線路,數(shù)據(jù)鏈路則是在鏈路的基礎上增加了一些必要的硬件(如網(wǎng)絡適配器)和軟件(如協(xié)議的實現(xiàn))。
- 數(shù)據(jù)鏈路層使用的信道主要有點對點信道和廣播信道兩種。
- 數(shù)據(jù)鏈路層傳送的協(xié)議數(shù)據(jù)單元是幀。數(shù)據(jù)鏈路層的三個基本問題是:封裝成幀、透明傳輸和差錯檢測。
- 循環(huán)冗余檢驗 CRC是一種檢錯方法,而幀檢驗序列FCS 是添加在數(shù)據(jù)后面的冗余碼。
- 點對點協(xié)議 PPP 是數(shù)據(jù)鏈路層使用最多的一種協(xié)議,它的特點是:簡單:只檢測差錯,而不是糾正差錯:不使用序號,也不進行流量控制;可同時支持多種網(wǎng)絡層協(xié)議。
- PPPOE 是為寬帶上網(wǎng)的主機使用的鏈路層協(xié)議。
- 局域網(wǎng)的優(yōu)點是:具有廣播功能,從一個站點可很方便地訪問全網(wǎng);便于系統(tǒng)的擴展和逐漸演變:提高了系統(tǒng)的可靠性、可用性和生存性。
- 共享通信媒體資源的方法有二:一是靜態(tài)劃分信道(各種復用技術),二是動態(tài)媒體接入控制,又稱為多點接入(隨機接入或受控接入)。
- 計算機與外界局域網(wǎng)的通信要通過網(wǎng)絡適配器,它又稱為網(wǎng)絡接口卡或網(wǎng)卡。計算機的硬件地址就在適配器的 ROM 中。
- 以太網(wǎng)采用無連接的工作方式,對發(fā)送的數(shù)據(jù)幀不進行編號,也不要求對方發(fā)回確認。目的站收到有差錯幀就把它丟棄,其他什么也不做。
- 以太網(wǎng)采用的協(xié)議是具有沖突檢測的載波監(jiān)聽多點接入 CSMA/CD。協(xié)議的要點是發(fā)送前先監(jiān)聽,邊發(fā)送邊監(jiān)聽,一旦發(fā)現(xiàn)總線上出現(xiàn)了碰撞,就立即停止發(fā)送。然后按照退避算法等待一段隨機時間后再次發(fā)送。因此,每一個站在自己發(fā)送數(shù)據(jù)之后的一小段時間內(nèi),存在著遭遇碰撞的可能性。以太網(wǎng)上各站點都平等地爭用以太網(wǎng)信道。
- 傳統(tǒng)的總線以太網(wǎng)基本上都是使用集線器的雙絞線以太網(wǎng)。這種以太網(wǎng)在物理上是星形網(wǎng),但在邏輯上則是總線網(wǎng)。集線器工作在物理層,它的每個端口僅僅簡單地轉(zhuǎn)發(fā)比特,不進行碰撞檢測。
- 以太網(wǎng)的硬件地址,即 MAC 地址實際上就是適配器地址或適配器標識符,與主機所在的地點無關。源地址和目的地址都是 48 位長。
- 以太網(wǎng)的適配器有過濾功能,它只接收單播幀、廣播幀或多播幀。
- 使用集線器可以在物理層擴展以太網(wǎng)(擴展后的以太網(wǎng)仍然是一個網(wǎng)絡)。
- 交換式集線器常稱為以太網(wǎng)交換機或第二層交換機,工作在數(shù)據(jù)鏈路層,他就是一個多端口的網(wǎng)橋,而每個端口都直接與某臺單主機或另一個集線器相連,且工作采用全雙工方式,以太網(wǎng)交換機使得每一臺相互通信的主句都獨占通信資源,無碰撞的傳輸數(shù)據(jù)。
到了這里,關于【計算機網(wǎng)絡 謝希仁 第八版筆記】第三章 數(shù)據(jù)鏈路層的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!