結點:主機、路由器
鏈路:兩個節點的物理通道
數據鏈路:邏輯通道,把實現 控制數據傳輸協議的硬件和軟件加到鏈路上就構成數據鏈路
幀:鏈路層的協議數據單元,封裝網絡層數據報
數據鏈路層在物理層提供服務的基礎上向網絡層提供服務,其最基本的功能是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層,其主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造稱邏輯上無差錯的數據鏈路,使之對網絡層變現為一條無差錯的鏈路。
功能:
- 為網絡層提供服務。無確認無連接服務,有確認無連接服務,有確認有面向連接服務。有連接一定有確認
- 鏈路管理,即連接的建立、維持、釋放(用于面向連接的服務)
- 組幀
- 流量控制
- 差錯控制(幀錯/位錯)
封裝成幀和透明傳輸
封裝成幀:在首部和尾部添加幀定界符,確定幀的界限
幀同步:接收方能從接收的二進制比特流中區分出幀的起始和終止
最大傳送單元MTU:數據部分不能超過MTU
組幀的四種方法:
- 字符計數法
- 字符(節)填充法
- 零比特填充法
- 違規編碼法
透明傳輸:不管數據是什么樣的比特組合都應當能夠在鏈路上傳送。
字符計數法
幀首部使用一個計數字段(第一個字節,八位)來標明幀內字符數
缺點:如果計數字段發生錯誤,那么全部都會出錯
字符填充法
零比特填充法
違規編碼法
差錯控制
奇偶校驗碼
CRC循環冗余碼
使用循環冗余碼保證(幾乎)無比特差錯接收,不能實現可靠傳輸
可靠傳輸:保證發送的數據都能夠被接收到
海明碼
發現雙比特錯,糾正單比特錯
- 確定校驗碼位數r
海明不等式:2k?k+r+12^k \geqslant k+r+12k?k+r+1,其中r是冗余碼位數,k是信息位數 - 確定校驗碼和數據的位置
- 確定校驗碼的值
- 檢錯并糾錯
流量控制、可靠傳輸機制
流量控制:較高的發送速度和較低的接受能力的不匹配會造成傳輸出錯,因此需要進行控制。
鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的。
數據鏈鏈路層流量控制的手段:接收方收不下就不回復確認幀。
傳輸層流量控制手段:接收端發送一個窗口公告,告訴發送方應該發送的窗口的大小
流量控制的方法:
- 停止-等待協議:每發送一個幀就停止發送,等待對方的確認,收到確認之后再發送下一個幀。
- 滑動窗口協議:后退N幀協議(GBN)、選擇重傳協議(SR)
停止-等待協議是一種特殊的滑動窗口協議
窗口大小都是固定的,在傳輸層的窗口大小是變化的。
可靠傳輸:發送端發啥,接收端收啥
流量控制:控制發送速率,使接收方有足夠的緩沖空間來接收每一個幀
停止-等待協議
信道利用率:發送方在一個發送周期內,有效地發送數據所需要時間占 整個發送周期的比率。
如果沒有說明確認幀的發送時延就忽略不計。
浪費資源
后退N幀(GBN)協議
GBN協議中,對n號幀的確認采用累積確認的方式,標明接收方已經收到n號幀和它之前的全部幀。
發送方:
如果超時會重發所有已經發送但是沒有確定的幀。
接收方
滑動窗口長度
滑動窗口長度不能過大,如果采用n個比特對幀編號(即窗口中最多有2n2^n2n個幀),則發送窗口的尺寸W應該1?W?2n?11\leqslant W \leqslant 2^n-11?W?2n?1。因為發送窗口尺寸過大會導致接收方無法區別新幀和舊幀。無法確定是因為舊幀的ACK丟失導致發送方又發送了一遍舊幀還是發送方正常收到了ACK正常發送新幀。
重點:
- 累計確認(偶爾捎帶確認,如果接收方也發送數據的話可以將確認幀放在需要發送的數據中)
- 接收方只按順序接收幀,不按序無情丟棄。(如果接收的幀不是想要的那個就扔掉)
- 確認序列號最大的、按序到達的幀
- 發送窗口最大為2n?12^n-12n?1,接收窗口為1.是固定的(和傳輸層的不同)
性能分析
優點:因連續發送數據幀而提高了信道利用率
缺點:在重傳時必須把原來已經正確傳送的數據幀重傳,降低傳送效率
選擇重傳(SR)協議
發送方
接收方
滑動窗口長度
發送窗口最好等于接收窗口,最大為2n?12^{n-1}2n?1
重點:
- 對數據幀逐一確認,接收一個確認一個
- 只重傳出錯幀
- 接收方有緩存
介質訪問控制
- 點對點鏈路:兩個相鄰節點通過一個鏈路相連,沒有第三者。應用:PPP協議,常用于廣域網
- 廣播式鏈路:所有主機共享通信介質。應用:早期的總線以太網、無線局域網
典型拓撲結構:總線型、星型(邏輯總線型)
介質訪問控制:采取一定的措施,使得兩對節點之間的通信不會相互干擾
信道劃分介質訪問控制(靜態劃分信道)
將使用介質的每個設備與來自同一信道上的其他設備的通信隔離開,把時域和頻域資源合理地分配給網絡上的設備
多路復用技術:把多個信號組合再一條物理信道上進行傳輸,使得多個計算機或中斷共享信道資源,實際就是把廣播信道轉變成點對點通信。
頻分多路復用FDM
時分多路復用TDM
改進的時分復用:統計時分復用STDM
波分多路復用WDM
就是光的頻分多路復用
碼分多路復用CDM
碼分多址(CDMA)是碼分多路復用的一種方式
每一個站點被指定一個唯一的m位芯片序列,就是1代表的序列,0是1的反碼。
為了避免沖突,要求各個站點的芯片序列的規格化內積為0.
發送數據的時候將各個站點的數據線性相加
等發送到目的站點以后,再求相加后的向量和對應站點的芯片序列的規格化內積。1表示1,-1表示0
動態分配信道(動態媒體接入控制/多點接入)
特點:信道并非在用戶通信時固定分配給用戶
隨機訪問介質訪問控制
所有用戶可隨機發送信息,發送信息時占用全部帶寬
ALOHA協議
- 純ALOHA協議:不監聽信道,不按時間槽發送,隨機重發。
T0=發送時間+傳輸時間
- 時隙ALOHA協議
吞吐量:單位時間內發送成功的幀數 - 純ALOHA協議比時隙ALOHA協議吞吐量更低,效率更低
- 純ALOHA協議想發就發,時隙ALOHA協議只有在時間片開始才能發送
CSMA協議(載波監聽多路訪問協議)
主要的問題就是沒法立即檢測到是否沖突,需要根據是否收到ACK判斷是否發生了沖突
CSMA/CD(載波監聽多點接入/碰撞檢測)協議
發送數據前以及發送數據時都要檢測一下總線上是否有其他計算機在發送數據。
應用于半雙工網絡
單程端到端傳播時延τ\tauτ
可能會產生監聽失誤,從而產生沖突
最多經過兩倍的端到端傳播時延2τ2\tau2τ發現沖突
重傳時機
最小幀長
最小幀長 = 總線傳播時延 ?*? 數據傳輸速率 ?*? 2 = 數據傳輸速率 ?2τ* 2\tau?2τ
CSMA/CA(載波監聽多點接入/碰撞避免)協議
應用于無線局域網
不使用CSMA/CD協議的原因
輪詢訪問MAC協議
輪詢協議
令牌傳遞協議
局域網基本結構
常用的時總線型拓撲
以太網
以太網提供無連接、不可靠的服務
10Base-T以太網
適配器與MAC地址
廣域網
PPP協議
點對點協議PPP協議是目前使用最廣泛的數據鏈路層協議,用戶使用撥號電話接入因特網時一般都是用PPP協議
只支持全雙工鏈路
不支持:糾錯、流量控制、序號、多點線路
PPP協議面向字節,使用全雙工通信方式
HDLC協議