王道《计算机网络》第三章数据链路层 学习笔记
數據鏈路層
- 鏈路層的功能
- 鏈路層的兩種信道
- 局域網、廣域網
- 鏈路層的設備
數據鏈路層的功能概述
數據鏈路層的基本概念
結點:主機、路由器
鏈路:網絡中兩個結點之間的物理通道,根據傳輸介質的不同分為有線鏈路和無線鏈路
數據鏈路:網絡中兩個結點之間的邏輯通道,把實現控制數據傳輸協議的硬件和軟件加到鏈路上就構成數據鏈路
幀:鏈路層的協議數據單元,封裝網絡層數據報
功能概述
在物理層提供服務的基礎上向網絡層提供服務。主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成邏輯上無差錯的數據鏈路,使之對網絡層表現為一條無差錯的鏈路
- 功能一:為網絡層提供服務:無確認無連接服務,有確認無連接服務,有確認面向連接服務(注意:有連接一定有確認)
- 功能二:鏈路管理:連接的建立、維持、釋放
- 功能三:組幀
- 功能四:流量控制
- 功能五:差錯控制:幀錯/位錯
封裝成幀和透明傳輸
封裝成幀
在一段數據的前后部分添加首部和尾部,這樣就構成了一個幀。
首部和尾部包含許多控制信息,其中一個重要作用是方便幀定界和幀同步。
組幀的兩個要考慮的問題:
(1)如何定界(2)針對原始數據中與首部和尾部相同的數據怎么處理。
四種方法:
- 字符計數法:幀首部使用一個計數字段(第一個字節,8位)來標明幀內字符數
- 字符填充法:用兩個字節SOH,EOT來標明開始和結束。在原始數據的EOT和SOH之前添加字節填充,來標識非頭尾的SOH和EOT。
- 零比特填充法:發送端,只要連續5個1,就立即填入1個0;接收端做逆操作。
- 違規編碼法:用不合法的編碼來定界幀的起始和中止。
透明傳輸
不管所傳數據是什么樣的比特組合,都應當能夠在鏈路上傳送。
差錯控制(檢錯編碼)
差錯
差錯源于噪聲
全局性噪聲:由于線路本身電氣特性所產生的隨機噪聲(熱噪聲),有信道固有的,隨機存在的。解決辦法:調高信噪比
局部性噪聲:外界特定的短暫原因所造成的沖擊噪聲,是產生差錯的主要原因。解決辦法:編碼技術。
差錯:位錯,幀錯(丟失、重復、失序)
數據鏈路層的差錯控制
奇偶校驗碼
只能檢查出奇數個比特錯誤,檢錯能力為50%。
CRC循環冗余碼
下圖可簡單理解原理
只能做到無差錯接收:凡是接收端數據鏈路層接受的幀,都能以非常接近1的概率認為這些幀在傳輸過程中沒有產生差錯。
可靠傳輸:數據鏈路層發送端發什么,接收端就收到什么。所以無差錯接收還不是可靠傳輸。
差錯控制(糾錯編碼)
海明碼:發現雙比特錯,糾正單比特錯
海明不等式2r≥k+r+12^r \geq k+r+12r≥k+r+1,r為冗余信息位,k為信息位
流量控制與可靠傳輸機制
數據鏈路層的流量控制
較高發送速度與較低的接收能力的不匹配,會造成傳輸出錯,因此要進行流量控制。
鏈路層與傳輸層流量控制的區別
- 數據鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的。
- 數據鏈路層流量控制手段:接收方收不下就不回復確認(確認幀)。
傳輸層流量控制手段:接收端給發送端一個窗口公告。
流量控制的方法
- 停止-等待協議:每發送完一個幀就停止發送,等待對方的確認,在收到確認后再發送下一個幀
- 滑動窗口協議
- 后退N幀協議(GBN)
- 選擇重傳協議(SR)
| 停止-等待協議 | =1 | =1 |
| 后退N幀協議 | >1 | =1 |
| 選擇重傳協議 | >1 | >1 |
鏈路層的滑動窗口大小是固定的,傳輸層的滑動窗口是不固定的
可靠傳輸、滑動窗口、流量控制
可靠傳輸:發送端發什么,接收端就收什么
流量控制:控制發送速率
滑動窗口協議可解決可靠傳輸和流量控制
停止-等待協議
停止等待就是每發送完一個分組就停止發送,等待對方確認,在收到確認后再發送下一個分組。
數據的丟失在不同的層體現不同,在鏈路層就為丟包
無差錯情況
每發送1個數據幀就停止并等待,因此用1bit來編號就夠。
有差錯情況
超時計時器:設置的重傳時間應當比幀傳輸的平均RTT更長一些。
1. 數據幀丟失或檢測到幀出錯
- 發送完一個幀后,必須保留它的副本。
- 數據幀和確認幀必須編號
2. ACK丟失
超時計時器,接收方丟棄重復的接收幀,重傳丟失的確認幀
3. ACK遲到
停等協議性能分析
信道利用率太低
信道利用率
總的來說有三部分:發送幀的發送時延TDT_DTD?,RTT,確認幀的發送時延TAT_ATA?
如果題目沒給確認幀的發送時延,就忽略不計。
信道吞吐率
后退N幀協議(GBN)
在停等協議基礎上引入流水線技術,一次連續發多個幀,但是必須同時有以下處理
- 必須增加序號范圍
- 發送方需要緩存多個分組
對應GBN和SR
GBN中的滑動窗口
發送窗口:發送方維持一組連續的允許發送的幀的序號
接收窗口:接收方維持一組連續的允許接收的幀的序號
發送方必須響應的三件事
接收方要做的事
滑動窗口長度
若采用n個比特對幀編號,那么發送窗口的尺寸WTW_TWT?應該滿足:1≤WT≤2n?11\leq W_T \leq 2^n-11≤WT?≤2n?1
因為如果發送窗口尺寸過大,就會使得接收方無法區別新幀和舊幀。(注意窗口的編號是循環編號)
重點總結
性能分析
優點:因連續發送數據幀而提高了信道利用率
缺點:在重傳時必須把原來已經正確傳送的數據幀重傳,使傳送效率降低。改進:選擇重傳協議。
選擇重傳協議
GBN協議的弊端
累計確認帶來批量重傳
可不可以只重傳出錯的幀?
選擇重傳協議中的滑動窗口
PS:注意窗口移動一定是下界得到了確認,如果下界沒有確認,即使后面的窗口得到了確認,整個窗口仍然不能滑動
SR發送方必須響應的三件事
SR接收方要做的事
如果在圖示情況時收到了4~7號幀,則返回一個ACK,接收方認為之前發送的ACK可能丟失。如果收到了其他號幀,就忽略該幀。
滑動窗口的長度
發送窗口最好等于接收窗口。(大了會溢出,小了沒意義)
(具體演示見視頻)
SR協議重點總結
信道劃分介質訪問控制
傳輸數據使用的兩種鏈路
點對點鏈路
廣播式鏈路
介質訪問控制
廣播式網絡
定義:采取一定的措施,使得兩對節點之間的通信不會發生相互干擾的情況。
信道劃分介質訪問控制
頻分多路復用FDM
頻分復用的所有用戶在同樣的時間占用不同的帶寬(頻率帶寬)資源
優點:充分利用傳輸介質帶寬,系統效率較高;由于技術比較成熟,實現也比較容易
時分多路復用TDM
將時間劃分為一段段等長的時分復用幀,每一個時分復用的用戶在每一個TDM幀中占用固定序號的時隙,所有用戶輪流占用信道
統計時分多路復用STDM
優點:更加高效,提高信道利用率
波分多路復用WDM(考的少)
WDM即為光的頻分多路復用
碼分多路復用CDM
見視頻或王道書吧。。。
ALOHA協議
動態分配信道:又叫動態媒體接入控制/多點接入,特點是信道并非在用戶通信時固定分配給用戶。
隨機訪問介質訪問控制:所有用戶可隨機發送信息,發送信息時占全部帶寬。由此帶來的沖突由若干協議來解決。
純ALOHA協議
思想:不監聽信道,不按時間槽發送,隨機重發。
直到收到來自接收方的確認幀為止。
時隙ALOHA協議
關于ALOHA要知道的事
吞吐量:在一段時間內成功發送的平均幀數
CSMA協議–先聽再說
CSMA協議
全稱:載波監聽多路訪問協議。CS:載波偵聽;MA:多點接入
協議思想:發送幀之前,監聽信道
1-堅持CSMA
信道忙則一直監聽,直到空閑馬上傳輸。
如果有沖突(一段時間內未收到肯定回復),則等待一個隨機長的時間再監聽,重復上述過程。
非堅持CSMA
p-堅持CSMA
!!!這里上面好像錯了,應該為“忙則持續監聽”
上面三種,沖突檢測是通過發送數據幀后,是否接收到確認幀來判斷,未收到則認為是沖突。這導致,發生沖突后還是要堅持把數據幀發送完,造成了浪費。
三種CSMA對比總結
同理,p-CSMA應該是“忙則持續監聽”
CSMA/CD協議
先聽再說,邊聽邊說
CSMA/CD協議
載波監聽多點接入/碰撞檢測
MA表明是總線型網絡,CD說明是半雙工網絡
傳播時延對載波監聽的影響
如何確定碰撞后的重傳時機
最小幀長問題
上面所說的碰撞檢測,都是發送的第一批數據到達接收方進行的,在發送方知道自己發送的數據發生了碰撞之前,后續的數據還是會發到信道上。
所以引出一個問題:發送方發送的幀過短,導致在檢測到碰撞之前,幀已經發送完畢。故要定義最短幀長:幀的傳輸時延至少要兩倍于信號在總線中的傳播時延。
這里鞏固傳輸時延是對于端而言的,傳播時延是對于信道而言的。
CSMA-CA協議
載波監聽多點接入/碰撞避免協議
CSMA-CD協議運用于總線式以太網,而CSMA-CA協議運用于無線局域網。
工作原理
隱蔽站的問題通過RTS/CTS幀來解決
CSMA/CD與CSMA/CA比較
輪詢訪問介質訪問控制
信道劃分介質訪問控制(MAC)協議
- 基于多路復用技術劃分資源
- 網絡負載重:共享信道效率高,且公平;網絡負載輕:共享信道效率低
隨機訪問MAC協議
- 用戶根據意愿隨機發送信息,發送信息時可獨占信道帶寬
- 網絡負載重:產生沖突開銷;網絡負載輕:共享信道效率高,單個結點可利用信道全部帶寬
輪詢訪問MAC協議,既不產生沖突,又要發送時占全部帶寬。包括:
- 輪詢協議
- 令牌傳遞協議
輪詢協議
主結點輪流“邀請”從屬結點發送數據
問題:
- 輪詢開銷
- 等待延遲(對于后面的主機)
- 單點故障(主結點宕機)
令牌傳遞協議
令牌環網(物理上星型拓撲,邏輯上環形拓撲)如下如所示。令牌環網無碰撞。
令牌:一個特殊格式的MAC控制幀,不含任何信息。用來控制信道的使用,確保同一時刻只有一個結點獨占信道。
每個結點都可以在一定的時間內(令牌持有時間)獲得發送數據的權力,并不是無限制地持有令牌。
存在的問題:1. 令牌開銷;2. 等待延遲;3. 單點故障
常用于負載較重、通信量較大的網絡中。
局域網的基本概念和體系結構
局域網
局域網的上述特點是由網絡拓撲,傳輸介質與介質訪問控制方法決定的
網絡拓撲
總線型拓撲較好,最廣泛使用
局域網傳輸介質
局域網介質訪問控制方法
局域網的分類
PS:WIFI是無線局域網的一種應用
IEEE 802標準
IEEE 802.3:以太網介質訪問控制協議(CSMA/CD)及物理層技術規范
IEEE 802.5:令牌環網的介質訪問控制協議及物理層技術規范
IEEE 802.8:光纖技術資訊組,提供有關光纖聯網的技術咨詢(FDDI)
IEEE 802.11:無線局域網的介質訪問控制協議及物理層技術規范
MAC子層和LLC子層
以太網
概述
PS:基帶是數字信號,寬帶是模擬信號
以太網提供無連接、不可靠的服務
糾錯是由高層實現
傳輸介質和拓撲結構的發展
10BASE-T以太網
適配器與MAC地址
!!此處應為6組2位16進制數表示,也就是12個16進制數
以太網的MAC幀
高速以太網
這里的全雙工,由于交換機隔離了沖突域,所以每個連到交換機上的主機都可以發送和接收,且不會發送沖突。
IEEE 802.11無線局域網
IEEE 802.11
符合IEEE 802.11b和IEEE 802.11g標準的就是WIFI
802.11的MAC幀頭格式
RA是接收方接入點的MAC地址,TA是發送方接入點的MAC地址;DA是接收方的MAC地址,SA是發送方的MAC地址。
ap會隨著位置變化而變化,比如手機此刻離1基站近,那么此刻接入點就是1基站;另一時刻離2基站近,那么接入點就變為2基站。
802.11的MAC幀頭格式
BSSID就是AP基站的地址。
考試時根據情景,選擇相應的幀格式
無線局域網的分類
有固定基礎設施無線局域網
WIFI的名字就是一個服務集標識符。一個服務集標識符對應一個基站,一個無線接入點。
無固定基礎設施無線局域網的自組織網絡
僅作了解
PPP協議&HDLC協議
廣域網
廣域網覆蓋物理層、鏈路層一直到網路層,而局域網只覆蓋物理層和鏈路層。
局域網通常采用多點接入技術,而廣域網采用點對點連接。
廣域網強調資源共享,而局域網強調數據傳輸。
PPP協議的特點
PPP協議應滿足的要求
PPP協議無需滿足的要求
PPP協議的三個組成部分
PPP協議的狀態圖
PPP協議的幀格式
插入轉義字符的意思是,在數據部分如果碰到幀定界符,就在它前面插入轉義字符7D(此處待查證),即為字節填充(區別于0比特插入法)
面向字節是說PPP的幀格式最小單位是字節
PPP也能通過0比特插入來實現透明傳輸
看到彈幕的一個問題,百度了一下
HDLC協議
異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。同步傳輸的比特分組要大得多。它不是獨立地發送每個字符,每個字符都有自己的開始位和停止位,而是把它們組合起來一起發送。這些組合就是數據幀。
HDLC的站
HDLC的幀格式
控制字段和PPP中的協議字段類似
記住HDLC幀的類型:信息幀,監督幀,無編號幀
PPP&HDLC
PS:為什么HDLC能實現可靠傳輸,但是用的反而不多?沒必要,現在一般網路層和鏈路層不需要差錯控制,這樣會加大網絡延遲,網絡層和鏈路層只是盡量交付的傳輸,可靠傳輸交給傳輸層。
鏈路層設備
物理層擴展以太網
主機和集線器之前的距離不能超過100米,否則失真嚴重。現在想要距離更遠的主機之間進行通信。在物理層擴展方法如下:
方法1:
方法2:
鏈路層擴展以太網
網橋分割了沖突域,A與B通信和B與C通信兩者互不干擾。所以如果上圖每一個網段的數據傳輸速率是10Mb/s,那么使用網橋合起來就是30Mb/s。而如果使用集線器,則A~F屬于一個沖突域,所以合起來仍是10Mb/s。
透明網橋
注意轉發表中記錄的相當于是一種連接關系,譬如A與1接口可以相連,F與2接口可以相連。這些連接關系可以方便后續數據傳輸。
轉發表中填的是源地址,比如A想發給B,A的數據到了網橋1后,網橋在自己的轉發表中尋找地址為A的項,沒有則填入。接著網橋在轉發表中找也沒有目的地址B的項,也沒有,就直接將數據從除了1端口之外的端口發出;如果有,就直接按照對應的端口發給B。
源路由網橋
廣播發出的發現幀到達目的站后原路返回,然后在源站處在所有路由信息(因為返回的發現幀可能不止一個)中選出最優的路由信息,下一次發送就可以直接使用。
以太網交換機(多接口網橋)
每一個端口都是一個沖突域,每一個沖突域可以獨占媒體帶寬。
以太網交換機的兩種交換方式
沖突域和廣播域
鏈路層設備,一個端口為一個沖突域
廣播域要看有沒有路由器,沒有路由器的都是一個廣播域。
(簡單記錄,有誤再改)
總結
以上是生活随笔為你收集整理的王道《计算机网络》第三章数据链路层 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。