《計算機網絡-第7版-謝希仁》學習筆記:數據鏈路層

一、數據鏈路層

主機H1向H2發送數據

在這裏插入圖片描述

在這裏插入圖片描述

路由器在轉發分組時使用的協議棧只有下面的三層,數據進入路由器後要先從物理層上到網絡層,在轉發表中找到下一跳的地址後,再下到物理層轉發出去

數據鏈路層使用的信道主要有以下兩種類型

  • 點對點信道:使用一對一的點對點通信方式
  • 廣播信道:使用一對多的廣播信道方式,廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送

1、使用點對點信道的數據鏈路層

1)、數據鏈路和幀

在這裏插入圖片描述

點對點信道的數據鏈路層在進行通信時的主要步驟:

1)結點A的數據鏈路層把網絡層交下來的IP數據報添加首部和尾部封裝成幀

2)結點A把封裝好的幀發送給結點B的數據鏈路層

3)若結點B的數據鏈路層收到的幀無差錯,則從收到的幀中提取出IP數據報交給上面的網絡層;否則丟棄這個幀

2)、數據鏈路層要解決的三個基本問題

1)封裝成幀

在這裏插入圖片描述

  • 封裝成幀就是在一段數據的前後分別添加和尾部,然後就構成了一個幀
  • 首部和尾部的一個重要作用就是進行幀定界

在這裏插入圖片描述

2)透明傳輸

在這裏插入圖片描述

發送端的數據鏈路層在數據中出現控制字符SOH或EOT的前面插入一個轉義字符ESC。而在接收端的數據鏈路層在把數據送往網絡層之前刪除這個插入的轉義字符。這種方法稱爲字節填充字符填充

如果轉義字符也出現在數據當中,那麼應在轉義字符前插入一個轉義字符。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個

在這裏插入圖片描述

3)差錯檢測

比特在傳輸過程中可能會產生差錯:1可能會變成0,而0也可能變成1,這就叫比特差錯

在一段時間內,傳輸錯誤的比特佔所傳輸比特總數的比率稱爲誤碼率,誤碼率與信噪比有很大的關係

爲了保證數據傳輸的可靠性,數據鏈路層使用循環冗餘檢驗CRC的檢錯技術

在發送端,先把數據劃分爲組,假定每組k個比特,現假定待傳送的數據M=101001(k=6)。CRC運算就是在數據M的後面添加供差錯檢測用的n位冗餘碼,然後構成一個幀發送出去,一共發送(k+n)位

這n位冗餘碼可用以下方法得出:用二進制的模2運算進行2n2^n乘M的運算,這相當於在M後面添加n個0。得到的(k+n)位的數除以收發方先商定的長度爲(n+1)位的除數P,得出商是Q而餘數是R(n位)

在這裏插入圖片描述

上圖案例中,M=101001,除數P=1101,得出餘數爲001,這個餘數作爲冗餘碼拼接在數據M的後面發送出去。這種爲了進行檢錯而添加的冗餘碼常稱爲幀檢驗序列FCS。因此加上FCS後發送的幀是101001001

在接收端把接收的數據以幀爲單位進行CRC檢驗:把收到的每一個幀都除以同樣的除數P,然後得到的餘數R

如果在傳輸過程中無差錯,那麼經過CRC檢驗後得到的餘數R肯定是0(如果出現誤碼,餘數仍然是0的概率非常非常小)

  • 若得出的餘數R=0,則判定這個幀沒有差錯,就接受
  • 若餘數R≠0,則判定這個幀有差錯,就丟棄

2、點對點協議PPP

1)、PPP協議的特點

互聯網用戶通常都要連接到某個ISP才能接入到互聯網,PPP協議就是用戶計算機和ISP進行通信時所用的數據鏈路層協議

在這裏插入圖片描述

PPP協議有三個組成部分

  • 一個將IP數據報封裝到串行鏈路的方法。PPP既支持異步鏈路,也支持面向比特的同步鏈路
  • 一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP
  • 一套網絡控制協議NCP

2)、PPP協議幀格式

在這裏插入圖片描述

首部的第一個字段和尾部的第二個字段都是標誌字段F,規定爲0x7E(0x標識後面的字符是用十六進制表示的),標誌字段表示一個幀的開始或結束。因此標誌字段就是PPP幀的定界符

首部中的地址字段A規定爲0xFF,控制字段C規定爲0x03。這兩個字段並不起什麼作用

PPP搜捕的第四個字段是2字節的協議字段。當協議字段爲0x0021時,PPP幀的信息字段就是IP數據報。若爲0xC021,則信息字段是PPP鏈路控制協議LCP的數據,而0x8021表示這是網絡層的控制數據

信息字段的長度是可變的,不超過1500字節

尾部中的第一個字段是使用CRC的幀檢驗序列FCS

字符填充

  • 將信息字段中出現的每一個0x7E字節轉變成爲2字節序列(0x7D,0x5E)

  • 若信息字段中出現一個0x7D的字節,則將其轉變成爲2字節序列(0x7D,0x5D)

  • 若信息字段中出現ASCII碼的控制字符(即數值小於0x20的字符),則在該字符前面要加入一個0x7D字節,同時將該字符的編碼加以改變

零比特填充

PPP協議用在SONET/SDH鏈路時,是使用同步傳輸(一連串的比特連續傳送)。這時PPP協議採用零比特填充方法來實現透明傳輸

在發送端,只要發現有5個連續1,則立即填入一個0。接收端對幀中的比特流進行掃描。每當發現5個連續1時,就把這5個連續1後的一個0刪除

在這裏插入圖片描述

3)、PPP協議的工作狀態

1)當用戶撥號接入ISP時,路由器的調制解調器對撥號做出確認,並建立一條物理連接

2)PC機向路由器發送一系列的LCP分組(封裝成多個PPP幀)

3)這些分組及其響應選擇一些PPP參數,和進行網絡層配置,NCP給新接入的PC機分配一個臨時的IP地址,使PC機成爲因特網上的一個主機

4)通信完畢時,NCP釋放網絡層連接,收回原來分配出去的IP地址。接着,LCP釋放數據鏈路層連接。最後釋放的是物理層的連接

在這裏插入圖片描述

3、使用廣播信道的數據鏈路層

1)、局域網的數據鏈路層

局域網最主要的特點是:網絡爲一個單位所擁有,且地理範圍和站點數目均有限

局域網具有如下的一些主要優點:

  • 具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源
  • 便於系統的擴展和逐漸演變,各設備的位置可靈活調整和改變
  • 提供了系統的可靠性、可用性和生存性

在這裏插入圖片描述

共享信道在技術上有兩種方法

1)靜態劃分信道

  • 頻分複用
  • 時分複用
  • 波分複用
  • 碼分複用

這種劃分信道的方法代價較高,不適合於局域網使用

2)動態媒體接入控制

又稱爲多點接入,其特點是信道並非在用戶通信時固定分配給用戶,分爲:

  • 隨機接入:特點是所有的用戶可隨機地發送消息。但如果恰巧有兩個或更多的用戶在同一時刻發送消息,那麼在共享媒體上就要產生碰撞,使得這些用戶的發送都失敗。因此,必須有解決碰撞的網絡協議
  • 受控接入:如多點線路探詢

2)、CSMA/CD(載波監聽多點接入/碰撞檢測)協議

  • 多點接入:總線型網絡,許多計算機以多點接入的方式連接在一根總線上
  • 載波監聽:用電子技術檢測總線上有沒有其他計算機也在發送。不管在發送前,還是在發送中,每個站都必須不停地檢測信道。在發送前檢測信道,是爲了獲取發送權。如果檢測出已經有其他站在發送,則自己就暫時不許發送數據,必須要等到信道變爲空閒時才能發送。在發送中檢測信道,是爲了及時發現有沒有其他站的發送和本地發送的碰撞

在這裏插入圖片描述

CSMA/CD協議特性

使用CSMA/CD協議的以太網不能進行全雙工通信而只能進行雙向交替通信半雙工通信

每個站在發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。這種發送的不確定性使整個以太網的平均通信量遠小於以太網的最高數據率

爭用期

最先發送數據幀的站,在發送數據幀後至多經過時間2τ(端到端往返時間)就可直到發送的數據幀是否遭受了碰撞

經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞

  • 以太網的端到端往返時延2τ稱爲爭用期,或碰撞窗口。通常,取51.2μs爲爭用期的長度
  • 對於10Mb/s以太網,在爭用期內可發送512bit,即64字節
  • 以太網在發送數據時,若前64字節未發生衝突,則後續的數據就不會發生衝突

最短有效幀長

  • 如果發生衝突,就一定是在發送的前64字節之內
  • 由於一檢測到衝突就立即停止發送,這時已經發送出去的數據一定小於64字節
  • 以太網規定了最短有效幀長爲64字節,凡長度小於64字節的幀都是由於衝突二異常中止的無效幀

二進制指數退避算法

發生碰撞的站在停止發送數據後,要推遲一個隨機時間才能再發送數據

  • 確定基本退避時間,一般取值爭用期2τ

  • 定義參數k:k=Min[重傳次數,10]

  • 從整數集合[0,1,2…,(2k-1)]中隨機地取出一個數,記爲r,重傳所需的時延就是r倍的基本退避時間

  • 當重傳16次仍不能成功時即丟棄該幀,並向高層報告

3)、以太網的信道利用率

在這裏插入圖片描述

一個幀從開始發送,經可能發生的碰撞後,將再重傳數次,直到發送成功且信道轉爲空閒時爲止,是發送一幀所需的平均時間

佔用信道時間=發送時間T0T_0+傳輸時間τ

要提高以太網的信道利用率,就必須減小τ與T0T_0之比,a=τ/T0a=τ/T_0

  • 當a->0時,表示只要一發生碰撞,就立即可以檢測出來,並立即停止發送,因而信道利用率就很高
  • a越大,表明爭用期所佔的比例增大,每發生一次碰撞就浪費許多信道資源,使得信道利用率明顯降低

在理想化的情況下,以太網上的各站發送數據都不會發生碰撞,即總線一旦空閒就有某一個站立即發送數據

發送一幀佔用線路的時間是T0+τT_0+τ,而幀本身的發送時間是T0T_0。可以計算出理想情況下的極限信道利率用SmaxS_{max}爲:

在這裏插入圖片描述

4)、以太網的MAC層

每個網卡有一個全球唯一的MAC地址,也稱爲硬件地址物理地址,共由48位二進制組成,前24位標識廠家,後24位廠家指定

適配器(網卡)從網絡上每收到一個MAC幀就首先用硬件檢查MAC幀中的目的地址

  • 如果是發往本站的幀則收下,然後再進行其他的處理
  • 否則就將此幀丟棄,不再進行其他的處理

發往本站的幀包括以下三種:

  • 單播幀(一對一),即收到的幀的MAC地址與本站的硬件地址相同
  • 廣播幀(一對全體),即發送給本局域網上所有站點的幀
  • 多播幀(一對多),即發送給本局域網上一部分站點的幀

MAC幀的格式

在這裏插入圖片描述

以太網規定了最短有效幀長爲64字節,數據字段的最小長度最短爲46字節(最小長度64字節-18字節的首部和尾部)

無效的MAC幀

  • 幀的長度不是整數個字節
  • 用收到的幀檢驗序列FCS查出有差錯
  • 收到的幀的MAC客戶數據字段的長度不在46-1500字節之間。MAC幀首部和尾部的長度共有18字節,可以得出有效的MAC幀長度64-1518字節之間

對於檢查出的無效MAC幀就簡單地丟棄,以太網不負責重傳丟棄的幀

幀間最小間隔爲9.6μs,相當於96bit的發送時間(一個站在檢測到總線開始空閒後,還要等待9.6μs才能再次發送數據),這樣做是爲了使剛剛收到數據幀的站的接收緩存來得及清理,做接收下一幀的準備

4、擴展的以太網

以太網上的主機之間的距離不能太遠(例如,10BASE-T以太網的兩臺主機之間的距離不超過200米),否則主機發送的信號經過銅線的傳輸就會衰減到使CSMA/CD協議無法正常工作

1)、在物理層考慮擴展

在這裏插入圖片描述

主機使用光纖和一對光纖調制解調器連接到集線器,光纖調制解調器的作用就是進行電信號和光信號的轉換。由於光纖帶來的時延很小,並且帶寬很寬,因此使用這種方法可以很容易地使主機和幾公里以外的集線器相連接

在這裏插入圖片描述

一個學院的三個系各有一個10BASE-T以太網,可通過一個主幹集線器把各系的以太網連接起來,成爲一個更大的以太網

用集線器擴展局域網的優點

  • 使原來屬於不同碰撞域的局域網上的計算機能夠進行跨碰撞域的通信
  • 擴大了局域網覆蓋的地理範圍

用集線器擴展局域網的缺點

  • 碰撞域增大了,但總的吞吐量並未提高
  • 如果不同的碰撞域使用不同的數據率,那麼就不能用集線器將它們互連起來

2)、在數據鏈路層考慮擴展

在數據鏈路層擴展局域網是使用網橋,網橋工作在數據鏈路層,它根據MAC幀的目的地址對收到的幀進行轉發

網橋具有過濾幀的功能,當網橋收到一個幀時,並不是向所有的接口轉發此幀,而是先檢查此幀的目的MAC地址,然後再確定將該幀轉發到哪一個接口

以太網的交換機實質上就是一個多接口的網橋

自學習算法

在這裏插入圖片描述

A先向B發送一幀,從接口1進入到交換機。交換機收到幀後,先查找交換表,沒有查到應從哪個接口轉發這個幀。接着,交換機把這個幀的源地址A和接口1寫入交換表中,並向除接口1以外的所有接口廣播這個幀。C和D將丟棄這個幀,因爲目的地址不對。只B才收下這個目的地址正確的幀

  • 若從A發出的幀從接口x進入了某網橋,那麼從這個接口出發沿相反方向一定可把一個幀傳到A
  • 網橋每收到一個幀,就記下其源地址和進入網橋的接口,作爲轉發表中的一個項目
  • 在建立轉發表時是把幀首部中的源地址寫在地址這一欄的下面
  • 在轉發幀時,則是根據收到的幀首部中的目的地址來轉發的。這時就把在地址欄下面已經記下的源地址當做目的地址,而把記下的進入接口當作轉發接口

使用網橋擴展以太網的優點

  • 過濾通信量
  • 擴大了物理範圍
  • 提高了可靠性
  • 可互連不同物理層、不同MAC子層和不同速率的局域網

使用網橋擴展以太網的缺點

  • 存儲轉發增加了時延
  • 在MAC子層並沒有流量控制功能
  • 具有不同MAC子層的網段橋接在一起時時延更大
  • 網橋只適合於用戶數不太多和通信量不太大的局域網,否則有時還會因廣播過多的廣播信息而產生網絡擁塞。這就是所謂的廣播風暴

3)、虛擬局域網

虛擬局域網VLAN是由一些局域網網段構成的與物理位置無關的邏輯組

  • 這些網段具有某些共同的需求
  • 每一個VLAN的幀都有一個明確的標識符,指明發送這個幀的工作站是屬於哪一個VLAN

虛擬局域網只是局域網LAN給用戶提供的一種服務,並不是一種新型局域網

在這裏插入圖片描述

10臺計算機分配在三個樓層中,構成了三個局域網,即:

LAN1LAN_1:(A1A_1A2A_2B1B_1C1C_1),LAN2LAN_2:(A3A_3B2B_2C2C_2),LAN3LAN_3:(A4A_4B3B_3C3C_3

但這10個用戶劃分爲三個工作組,也就是說劃分爲三個虛擬局域網VLAN。即:

VLAN1VLAN_1:(A1A_1A2A_2A3A_3A4A_4),VLAN2VLAN_2:(B1B_1B2B_2B3B_3),VLAN3VLAN_3:(C1C_1C2C_2C3C_3

一個VLAN=一個廣播域=邏輯網段(子網)

5、高速以太網

100BASE-T以太網

100BASE-T以太網可在全雙工方式下工作而無衝突發生,因此,不使用CSMA/CD協議,MAC幀格式仍然是802.3標準規定的

保持最短幀長不變,但將一個網段的最大電纜長度減小到100m,幀間時間間隔從原來的9.6us改爲現在的0.96us

吉比特以太網

吉比特以太網允許你在1Gb/s下全雙工和半雙工兩種方式工作,使用802.3協議規定的幀格式,在半雙工方式下使用CSMA/CD協議,與10BASE-T和100BASE-T技術向後兼容

當吉比特以太網工作在全雙工方式時,不使用載波延伸和分組突發

在這裏插入圖片描述

推薦學習資料

韓老師講高校《計算機網絡原理》:https://www.bilibili.com/video/BV1Tb411x7CE?p=1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章