1. 程式人生 > >學習筆記之計算機網路(王道考研) 第三章 資料鏈路層

學習筆記之計算機網路(王道考研) 第三章 資料鏈路層

  • 資料鏈路層的功能:
  1. 為網路層提供服務
  2. 鏈路管理
  3. 幀定界、幀同步和透明傳輸
  4. 流量控制
  5. 差錯控制
  • 資料鏈路層可以為網路層提供的服務有:
  1. 無確認的無連線服務
  2. 有確認的無連線服務
  3. 有確認的面向連線服務(有連線則一定有確認
  • 透明傳輸:不管所傳資料是什麼樣的位元組合,都應當能在鏈路上傳送
  • 流量控制:限制傳送方的資料流量,使其傳送速率不致超過接收方的接收能力(由滑動視窗提供反饋機制)
  • 對於資料鏈路層來說,控制的是相鄰兩節點之間資料鏈路上的流量,而對於運輸層來說,控制的則是源端到目的端之間的流量
  • 資料鏈路層中傳輸資料出現的錯誤分為位錯
    幀錯(一個幀包含多個位)
  • 通常採用迴圈冗餘校驗(CRC)方式發現位錯,通過自動重傳請求(ARQ)方式重傳出錯的幀
  • 幀錯指幀的丟失、重複或失序等錯誤。在資料鏈路層引入定時器和編號機制,保證每一幀最終都能有且僅有一次正確地交付給目的節點
  • 組幀時既要加首部也要加尾部
  • 組幀的四種方法:
  1. 字元計數法。在幀頭部使用一個計數字段來標明幀內字元數(計數字段提供的位元組數包含自身所佔用的一個位元組
  2. 字元填充的首位定界符法。使用特定的字元來定界一幀的開始和結束。為了使資訊位中出現的特殊字元不被誤判為幀的首尾定界符,可以在特殊字元前面填充一個轉義字元來加以區分
  3. 位元填充的首尾標誌法。位元填充法允許資料幀包含任意個數的位元,也允許每個字元的編碼包含任意個數的位元。它使用01111110來標誌一幀的開始和結束,傳送方的資料鏈路層在資訊位中遇到5個連續的“1”時,將自動在其後插入一個0
    ;接收方則執行逆操作。位元填充容易由硬體來實現,效能優於字元填充方法。
  4. 違規編碼法。在物理層位元編碼時通常採用違規編碼法
  • 目前較常用的組幀方法時位元填充法和違規編碼法
  • 進行差錯控制的編碼技術主要有兩類:自動重傳請求(ARQ)前向糾錯(FEC)。在ARQ方式中,接收端檢測出差錯時,就設法通知傳送端重發,直到接收到正確的碼字為止;在FEC方式中,接收端不但能發現差錯,而且能確定二進位制數碼的錯誤位置,從而加以糾正。因此,差錯控制又分為檢錯編碼糾錯編碼
  • 檢錯編碼都是採用冗餘編碼技術。其核心思想是在有效資料(資訊位)被髮送之前,先按某種關係附加上一定的冗餘位,構成一個符合某一規則的碼字後再發送。當要傳送的有效資料變化時,相應的冗餘位也隨之變化,使得碼字遵從不變的規則。
  • 常見的檢錯編碼有奇偶校驗碼和迴圈冗餘碼
  • 奇偶校驗碼:由n-1位資訊元和1位校驗元組成,如果是奇校驗碼,在附加上一個校驗元以後,碼長為n的碼字中“1”的個數為奇數;如果是偶校驗碼,在附加上一個校驗元以後,碼長為n的碼字中“1”的個數為偶數
  • 計算迴圈冗餘碼過程:假設一個幀的位元序列為101001,雙方鏈路層商量好的多項式G(x)係數序列為1101(最高次為3),則首先將幀的位元序列變為101001000,然後計算101001000 % 1101,其結果為FCS,附在101001之後,傳送
  • 最常見的糾錯編碼時海明碼,它能發現雙位元錯誤,但只能糾正單位元錯誤

  • 流量控制的基本方法是由接收方控制傳送方傳送資料的速率,常見的方式有:停止-等待協議滑動視窗協議
  • 停止-等待協議原理:傳送方一次只能發一個幀,接收方對於接收到的幀必須反饋一個應答訊號,傳送方收到對上一個幀的應答訊號後,才能傳送下一個幀,否則傳送方將一直等待(後可由重傳技術改進)。效率極低
  • 滑動視窗流量控制基本原理:在任意時刻,傳送方都維持一組連續的允許傳送的幀的序號,稱為傳送視窗;同時接收方也維持一組連續的允許接收幀的序號,稱為接收視窗。傳送視窗中存放的幀序號為當前情況下可以傳送的幀以及已經發送了但尚未收到確認的幀,在接收端只有當資料幀的序號落入接受視窗內才允許將該資料幀守下,若接收到的資料幀落在接收視窗之外,則一律將其丟棄
  • 資料鏈路層的可靠傳輸通常使用確認超時重傳兩種機制來完成
  • 傳統自動重傳請求分為三種:停等式、後退N幀(GBN)以及選擇性重傳(SR)
  • 單幀滑動視窗與停止等待協議:停止等待協議相當於傳送視窗和接收視窗均為1的滑動視窗協議
  • GBN協議:傳送方可以連續發幀,當接收方檢測出失序的資訊幀後,要求傳送方重發最後一個正確接收的資訊幀之後的所有未被確認的幀;或者當傳送方傳送了N個幀後,若發現該N個幀的前一個幀在計時器超時後仍未返回其確認資訊,則該幀被判為出錯或丟失,此時傳送方必須重傳該出錯幀及隨後的N個幀。也就是說,接收方值允許按順序接收幀
  • GBN協議還規定接收端不一定每收到一個正確的資料幀就必須立即發回一個確認幀,而是可以在連續收到好幾個正確的資料幀後,才對最後一個數據幀發確認訊息。也就是說ACKn表示對第n號幀的確認,表示接收方已正確收到了第n號幀及其以前的所有幀,下次期望收到第n+1號幀或者是0號幀
  • 接收端在返回ACKn時,將丟棄那些不按序到達的幀(接受視窗的大小為1
  • 若採用n個位元對幀編號,則GBN傳送視窗的尺寸Wt應滿足:1<=Wt<=2^n - 1
  • SR協議:只重傳出現差錯的資料幀或者是計時器超時的資料幀。加大接收視窗,以便先收下發送序號不連續但仍處在接收視窗中的那些資料幀。等到所缺序號的資料幀收到後再一併送交主機
  • SR協議中,接收方還可以回覆否定幀NAK給傳送方,要求傳送方對NAK中指定的幀進行重傳
  • 若採用n個位元對幀編號,則SR傳送視窗的尺寸Wt和接收視窗的尺寸一般為:Wt=Wr=2^(n - 1)
  • 通道利用率:傳送方從開始傳送資料,到收到第一個確認幀為止,稱為一個傳送週期,記為T。設傳送方在這個週期內共傳送了L位元的資料,傳送方的資料傳輸率為C,則傳送方用於傳送有效資料的時間為L/C,在這種情況下,通道的利用率為(L/C)/T
  • 通道吞吐率 = 通道利用率 * 傳送方的傳送速率
  • 介質訪問控制所要完成的主要任務是為使用介質的每個節點隔離來自同一通道上其他節點所傳送的訊號,以協調活動節點的傳輸
  • 用於決定廣播通道中通道分配的協議屬於資料鏈路層的一個子層,稱為介質訪問控制(MAC)子層
  • 常見的介質訪問控制方法有:通道劃分介質訪問控制隨機訪問介質訪問控制輪詢訪問介質訪問控制
  • 通道劃分的實質就是通過分時、分頻、分碼等方法把原來的一條廣播通道,邏輯上分為幾條用於兩個幾點之間通訊的互不干擾的子通道,把廣播通道轉變為點對點通道。
  • 頻分多路複用(FDM):每個子通道分配的頻寬可不相同,但它們的總和必須不超過通道的總頻寬。實際應用中,為了防止子通道之間的干擾,相鄰通道之間需要加入“保護頻帶
  • 時分多路複用(TDM):將一條物理通道按時間分成若干時間片,輪流地分配給多個訊號使用
  • 統計時分多路複用(STDM,也稱非同步時分多路複用):採用STDM幀,STDM幀不是固定分配時隙,而是按需動態地分配時隙,當終端有資料要傳送時才會分配到時間片
  • 波分多路複用(WDM):光的頻分多路複用
  • 碼分多路複用(CDM):靠不同的編碼來區分各路原始訊號的一種複用方式,既共享空間,也共享時間
  • 分碼多重進接:

  •  隨機訪問控制協議,常見協議有:ALOHA協議、CSMA協議、CSMA/CD協議和CSMA/CA協議。它們的核心思想是:勝利者通過爭用獲得通道,從而獲得資訊的傳送權。因此,隨機訪問控制協議又稱為爭用型協議
  • 純ALOHA協議:當網路中的任何一個站點需要傳送資料時,可以不進行任何檢測就傳送資料。如果在一段時間內沒有收到確認,該站點就認為傳輸過程中發生了衝突。傳送站點需要隨機等待一段時間後再發送資料,直至傳送成功
  • 時隙ALOHA協議:將時間劃分一段段等長的時隙,規定只能在每個時隙開始時才能傳送一個幀。碰撞後重傳策略與純ALOHA協議相似
  • 載波偵聽多路訪問(Carrier Sense Multiple Access,CSMA)協議:每個站點在傳送前都先偵聽一下公用的通道,發現通道空閒後再發送。有三種不同的CSMA協議:
  1. 1-堅持CSMA:當偵聽到通道忙後,繼續堅持偵聽通道;當偵聽到通道空閒後,傳送幀的概率為1,即立即傳送資料。傳播延遲對1-堅持CSMA協議的效能影響較大。
  2. 非堅持CSMA:當一個節點要傳送資料時,首先偵聽通道。如果通道空閒就立即傳送資料;如果通道忙就放棄監聽。等待一個隨機的時間後再重複上述過程
  3. p-堅持CSMA:用於時分通道。當一個節點要傳送資料時,首先偵聽通道。若通道忙,則等待下一個時隙再偵聽;若通道空閒,便以概率p傳送資料,以概率1-p推遲到下一個時隙
  • 載波偵聽多路訪問/碰撞檢測(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)協議:適用於匯流排型網路或半雙工網路。“碰撞檢測”就是變傳送邊偵聽,即介面卡邊傳送資料邊檢測通道上電壓的變化情況,以便判斷自己在傳送資料時其他站點是否也在傳送資料。
  • CSMA/CD工作流程:先聽後發,邊聽邊發,衝突停發,隨機重發
  • 乙太網中端到端(相鄰兩個節點)的往返時間稱為爭用期
  • CSMA/CD匯流排網中最小幀長計算公式:最小幀長 = 匯流排傳播時延 * 2 * 資料傳輸速率
  • CSMA/CD採用二進位制指數退避演算法解決碰撞問題。二進位制指數退避演算法:

  • CSMA/CD協議適用於有線區域網
  • CSMA/CA協議:CA = Collision Avoidance,碰撞避免,廣泛應用於無線區域網。碰撞避免並不是指協議可以完全避免碰撞,而是指協議的設計要儘量減少碰撞發生的概率
  • CSMA/CA還使用預約通道ACK幀RTS/CTS幀三種機制來實現碰撞避免
  • CSMA/CA預約通道:傳送方在傳送資料的同時向其他站點通知自己傳輸資料需要的時間長度,以便讓其他站點在這段時間內不傳送資料,從而避免碰撞
  • CSMA/CA ACK幀
  • CSMA/CA RTS/CTS幀:可選的碰撞避免機制,主要用於解決無線網中“隱蔽站”的問題
  • CSMA/CD通過電纜中電壓的變化來檢測,而CSMA/CA採用能量檢測、載波檢測和能量載波混合檢測三種檢測通道空閒的方式
  • 輪詢訪問介質訪問控制:典型為令牌傳遞協議,主要用在令牌環區域網。幀在環上傳送時,不管該幀是否是發給本站點的,所有站點都進行轉發,直到該幀回到它的始發站,並由該始發站撤銷該幀。幀的目的站除轉發幀外,應針對該幀維持一個副本,並通過在幀的尾部設定“響應位元”來指示已收到此副本
  • 只有拿到令牌才能傳送資料幀,而令牌只有一個,因此令牌傳遞協議不會發生衝突;一次只能傳送一幀
  • 區域網的特性主要由三個要素決定:拓撲結構傳輸介質介質訪問控制方式,其中最重要的為介質訪問控制方式
  • 常見的區域網拓撲結構:星形結構、環形結構、匯流排形結構和環形和匯流排形結合的複合型結構
  • 區域網可以使用雙絞線、銅纜和光纖等多種傳輸介質,其中雙絞線為主流傳輸介質
  • 區域網的介質訪問控制方式主要有:CSMA/CD、令牌匯流排和令牌環。其中前兩種方法主要用於匯流排型區域網,令牌環主要用於環形區域網
  • 乙太網(IEEE802.3,目前使用範圍最廣的區域網)-----邏輯拓撲是匯流排型結構,物理拓撲是星形或拓展星形結構。
  • 令牌環(IEEE802.5)------邏輯拓撲是環形結構,物理拓撲是星形結構
  • FDDI(IEEE802.8,光纖分佈數字介面)------邏輯拓撲是環形結構,物理拓撲是星形結構
  • IEEE802標準定義的區域網參考模型只對應於OSI參考模型的資料鏈路層和物理層,並將資料鏈路層拆分為兩個子層:邏輯鏈路控制LLC子層媒體接入控制MAC子層。
  • 乙太網MAC幀格式兩種標準:DIX Etheernet V2標準和IEEE 802.3標準

  • 高速乙太網:速率達到或超過100Mb/s的乙太網
  1. 100BASE-T乙太網:使用CSMA/CD協議,既支援全雙工又支援半雙工方式;在全雙工方式下不使用CSMA/CD協議
  2. 吉位元乙太網:允許在1Gb/s下用全雙工和半雙工兩種方式工作。
  3. 10吉位元乙太網:使用光纖作為傳輸媒體。只工作在全雙工方式,沒有爭用問題。
  • 在無線區域網(802.11)中,即使在傳送過程中發生了碰撞,也要把整個幀傳送完畢。而在有線區域網中,傳送衝突則節點立即停止傳送資料
  • 802.11標準規定無線區域網最小構件是基本服務集(BSS)。一個基本服務集包括一個基站(接入點,AP)和若干個移動站
  • 交換機在單個網路中轉發分組,路由器在多個網路構成的網際網路中轉發分組
  • 區域網使用的協議主要在資料鏈路層(還有少量在物理層),而廣域網使用的協議主要在網路層
  • 廣域網資料鏈路層控制協議:PPP協議HDLC協議
  • PPP協議:序列線路,面向位元組。由三個部分組成:鏈路控制協議LCP、網路控制協議NCP以及一個將IP資料報封裝到序列鏈路的方法。
  • PPP提供差錯檢測但不提供糾錯功能,只保證無差錯接收(通過硬體進行CRC校驗)。它是不可靠的傳輸協議,不使用序號和確認機制
  • PP只支援點對點的鏈路通訊,不支援多點線路;PPP只支援全雙工鏈路;PPP的兩端可以執行不同的網路層協議,但仍然可以使用同一個PPP進行通訊
  • HDLC協議:面向位元;全雙工通訊;所有幀採用CRC校驗,對資訊幀進行順序編號
  • HDLC用於鏈路的兩種基本配置:非平衡配置和平衡配置
  • HDLC站的型別:主站、從站和複合站
  • HDLC資料操作方式:正常響應方式、非同步平衡方式和非同步響應方式
  • HDLC三類幀:資訊幀、監督幀和無編號幀
  • 兩個或多個乙太網通過網橋連線起來後,原來的每個乙太網稱為一個網段
  • 網路1和網路2通過網橋連線後,網橋接收網路1傳送的資料幀,檢查資料幀中的地址,如果是網路2的地址,就轉發給網路2;如果是網路1的地址,就將其丟棄。因為源站和目的站處於同一個網段,目的站能夠直接收到這個幀而不需要藉助網橋的轉發
  • 一般情況下,儲存轉發類裝置都可以進行協議轉換,即連線的兩個網段可以使用不同的協議
  • 網橋只適合於使用者數不多和通訊量不太大的區域網,否則有時還會因傳播過多的廣播資訊而產生網路擁塞,這就是所謂的廣播風暴
  • 透明網橋(選擇的不是最佳路由):它接收與之相連的所有LAN傳送的每一幀,到達幀的路由選擇過程取決於源LAN和目的LAN。
  1. 源LAN和目的LAN相同,則丟棄該幀
  2. 源LAN和目的LAN不同,則轉發該幀
  3. 目的LAN未知,則擴散該幀
  • 透明網橋採用自學習演算法處理收到的幀並構造轉發表;透明網橋使用了一種生成樹演算法(無環),以確保每個源到每個目的地只有唯一的路徑
  • 源路由網橋(選擇的是最佳路由):路由選擇由傳送資料幀的源站負責。為了找到最佳路由,源站以廣播的方式向目的站傳送一個發現幀作為探測之用......
  • 網橋的埠一般連線區域網,而交換機的埠一般直接與區域網中的主機相連
  • 乙太網交換機就是一個多埠的網橋。利用乙太網交換機還可以很方便地實現虛擬區域網(VLAN),VLAN不僅可以隔離衝突域,也可以隔離廣播域
  • 乙太網交換機一般具有多種速率的埠
  • 乙太網交換機主要採用兩種交換模式,即直通式和儲存轉發式
  1. 直通式交換機:只檢查幀的目的地址。速度很快,但無法支援不同速率的埠的交換
  2. 儲存轉發式交換機:先將接收到的幀快取到快取記憶體器中,並檢查資料是否正確,確認無誤後通過查詢錶轉換成輸出埠將該幀傳送出去。如果發現幀有錯,將其丟棄。支援不同速度埠間的轉換