計網4
資料鏈路層
- 結點:主機、路由器
- 鏈路:網路中兩個結點之間的物理通道,鏈路的傳輸介質主要有雙絞線,光纖和微博。分為有線鏈路、無線鏈路。
- 資料鏈路:網路中兩個結點之間的邏輯通道,把實現控制資料傳輸協議的硬體和軟體加到鏈路上就構成資料鏈路。
- 幀:鏈路層的協議資料單元(PDU),封裝網路層資料報。
資料鏈路層用於將網路層給它的資料報封裝為幀,然後傳輸到與其通過物理鏈路直接相連的節點。
-
封裝成幀(組幀)
將網路層的IP資料報的前後部分分別新增首部和尾部。
接收端在收到物理層上交的位元流之後,可以根據首部和尾部來從收到的位元流中識別幀。
組幀的四種方法:
- 字元計數法
- 字元(節)填充法
- 零位元填充法
- 違規編碼法
-
幀同步
接收方應當能從收到的二進位制位元流中區分出幀的開始和終止。
透明傳輸:不管所傳的資料是什麼樣的位元組合,都應當能在鏈路上傳送。
-
字元計數法
缺點:一步錯,步步錯
-
字元填充法
通過新增轉義字元"ESC",避免原始資料中的位元流被錯誤解讀為控制資訊。
-
零位元填充法
-
違規編碼法
之前的三種編碼方法,都是考慮如何加工來自網路層的IP資料報;
違規編碼法,不加工IP資料報,而是在物理層編碼時採用違規的編碼方式來界定幀的起始和終止。如,曼徹斯特編碼不允許出現高高和低低電平,即高低和低高編碼原始資料,高高編碼幀起始,低低編碼幀終止;
可靠傳輸:傳送端發什麼資料,接收端就接收到什麼資料
傳輸差錯
概括來說,傳輸過程的差錯是由於噪聲引起的。
-
噪聲包含兩類:
一方面,由於線路的電氣特性所產生的隨機噪聲,是固有的。解決方法是提高信噪比。另一方面,由於外界特定的原因造成的衝擊噪聲,是產生差錯的最主要原因。解決方法是採用一定的編碼技術。
-
差錯包含兩類:
位錯:【位元位出錯,1變成0,0變成1】
幀錯:
原始資料 【#1】-【#2】-【#3】
- 幀丟失 【#1】-【#3】
- 幀重複【#1】-【#2】-【#2】-【#3】
- 幀失序【#1】-【#3】-【#2】
解決方案:幀編號,確認重傳機制
由於現線上路質量好,我們只對通訊質量差的無線傳輸鏈路(上圖右邊兩種)採用確認重傳機制。
資料鏈路層主要解決的是位錯(位元錯)
檢錯編碼:
-
奇偶校驗碼
新增一位校驗位,使得1的個數為奇數(或偶數);如果產生了奇數個位元的翻轉,可以發現錯誤。
-
CRC迴圈冗餘碼
CRC可以判斷幀內是否出現位錯,但無法確認是哪一位出錯。經過CRC後所接收的幀是正確的,但還沒有實現可靠傳輸,因為它丟棄了錯誤的幀。
糾錯編碼:海明碼
發現雙位元錯,糾正單位元錯
海明不等式:\(2^r - 1\geqslant k+r\) (r為冗餘資訊位,k為資訊位)
要傳送的資料:\(D=101101\)
流量控制:控制傳送端傳送資料的速率,使得接收方有足夠的緩衝時間來接收每一個幀。
較高的傳送速度和較低的接受能力不匹配,會造成傳輸出錯,因此流量控制也是資料鏈路層的一項重要工作。
資料鏈路層的流量控制是點對點的,傳輸層的流量控制是端到端的。
資料鏈路層流量控制手段:接收方收不下,就不回覆確認。
傳輸層流量控制手段:接收方給傳送方一個視窗公告。
鏈路層的流量控制協議有三種:
-
停止-等待協議(本質上也是滑動視窗,傳送視窗=接收視窗=1)
-
滑動視窗協議
包含兩種:
- 後退N幀協議(GBN)
- 選擇重傳協議(SR)
停止-等待協議
每傳送完一個分組(or 幀)就停止傳送,等待對方確認,在收到確認後再發送下一個分組。
分為:無差錯 和 有差錯 兩種情況
-
無差錯情況
-
有差錯情況
-
資料幀丟失或檢測到幀出錯
如果幀丟失或幀出錯,接收方都不會返回給傳送方一個確認幀。此時,傳送方的超時計時器等待時間超過了設定的重傳時間,便會再次傳送之前的幀。
這要求:
- 發完一個幀後,必須先保留它的副本
- 資料幀和確認幀必須編號:可以解決幀丟失,幀重複,幀失序等問題
-
ACK 丟失
-
ACK遲到
缺點:通道利用率低
通道利用率:傳送方在一個傳送週期內,有效地傳送資料所需要的時間佔整個傳送週期的比率。
-
一般在計算時,除非題目明確給出資訊,都忽略確認幀時間 \(T_A\)
後退N幀協議(GBN):
傳送方需要解決的事情:
接收方需要解決的事情:
- 傳送方一次傳送的是一組幀,如傳送【#0】【#1】【#2】...【#5】
- 接收方依次接收到各個幀,依次返還確認【#0】【#1】【#2】...【#5】
- 接收方依次收到各個確認,每次視窗右移一格
出現差錯的情況:
- 傳送方一次傳送的是一組幀,如傳送【#0】【#1】【#2】【#3】【#4】
- 接受【#0】
- 交付【#0】,返還【ACK#0】,期待【#1】
- 視窗右移
- 接收【#1】
- 交付【#1】,返還【ACK#1】,期待【#2】
- 視窗右移
- 接收【#2】
- 交付【#2】,返還【ACK#2】,期待【#3】
- 視窗右移
- 接收【#4】
- 由於【#3】沒有收到,返還【ACK#2】,期待【#3】
- 重發【#3】~【#7】
本質上是傳送方按塊傳送,提高了傳輸效率(這是對於通道質量好的;如果通道質量過差,這麼做甚至不如停止等待協議)
視窗不可過長
資料傳輸時的兩種鏈路:
-
點對點鏈路:兩個節點通過一個鏈路相連,沒有第三者
常用於廣域網
-
廣播式鏈路:所有主機共享通訊介質
常用於區域網。典型的拓撲結構:匯流排型、星型(邏輯匯流排型)
由於廣播式鏈路存在衝突的問題,有必要採用介質訪問控制
介質訪問控制:採取一定的措施,使得兩對節點之間的通訊不會發生互相干擾的情況。
包括兩類:
- 靜態劃分通道(通道劃分介質訪問控制):
- 頻分複用FDM
- 時分複用TDM
- 波分複用WDM
- 碼分複用CDM
- 動態分配通道
- 輪詢訪問介質訪問控制 - 令牌傳遞協議
- 隨機訪問介質訪問控制 - ALOHA 協議;CSMA協議;CSMA/CD 協議;CSMA/CA 協議
- 靜態劃分通道(通道劃分介質訪問控制):
通道劃分介質訪問控制:將使用介質的裝置與來自同一通道的其他裝置的通訊隔離開,把時域和頻域資源合理地分配給網路上的裝置。
-
頻分複用
-
時分複用
-
波分複用
本質上是光的頻分複用
-
碼分複用
每一個使用者可以在同樣的時間使用同樣的頻帶進行通訊,由於各使用者使用經過特殊挑選的不同碼型,因此各使用者之間不會造成干擾。碼分複用最初用於軍事通訊,因為這種系統傳送的訊號有很強的抗干擾能力,其頻譜類似於白噪聲,不易被敵人發現,後來才廣泛的使用在民用的行動通訊中,它的優越性在於可以提高通訊的話音質量和資料傳輸的可靠性,減少干擾對通訊的影響,增大通訊系統的容量,,降低手機的平均發射功率等,其工作原理如下:
分碼多重進接(CDMA)是碼分複用的一種方式,在CDMA中,每一個位元時間在劃分為m個短的間隔,稱為碼片(chip),通常m的值為64或128,為了方便說明,取m為8
-
使用CDMA的每一個站被指派一個唯一的m bit碼片序列,一個站如果要傳送位元1,則傳送它自己的m bit碼片序列,如果要傳送0,則傳送該碼片序列的二進位制反碼,按照慣例將碼片中的0寫成-1,將1寫成+1
-
CDMA給每一個站分配的碼片序列不僅必須各不相同,並且還必須互相正交,用數學公式表示,令向量S表示站S的碼片向量,再令T表示其他任何站的碼片向量。兩個不同站的碼片序列正交,就是向量S和T的規格化內積都是S * T = 0
-
任何一個碼片向量和該碼片向量自己的規格化內積都是S * S = 1
-
任何一個碼片向量和該碼片的反碼的向量的規格化內積都是-1
所有其他站的訊號都被過濾,而只剩下S站傳送的訊號。當S站傳送位元1時,在X站計算內積結果為+1;當S站傳送位元0時,內積結果為-1;當S站不傳送時,內積結果為0,S與X正交。
-
區域網(LAN),是指在某一區域內由多臺計算機互連成的計算機組,使用廣播通道。
特點:
- 範圍小,幾千米內
- 使用專門鋪設的傳輸介質(雙絞線,同軸電纜)進行聯網,資料傳輸速率高(10Mb/s~10Gb/s)
- 通訊延遲短,誤位元速率低,可靠性高
- 各個站點平等,共享傳輸通道
- 多采用分散式控制和廣播式通訊,能進行廣播或組播
總結為三個要素:網路拓撲,傳輸介質,介質訪問控制方法
拓撲結構
匯流排型拓撲最好
傳輸介質:
- 有限區域網:雙絞線、同軸電纜、光纖
- 無線區域網:電磁波
區域網介質訪問控制方法:CSMA/CD協議
載波監聽多點接入/碰撞檢測
- CS:carrier sense,載波監聽,每一個站點在傳送資料前以及傳送資料時都要檢測一下總線上是否有其他計算機在傳送資料。
- MA:multiple access,多點接入,表示多臺計算機連線在一根總線上
- CD:collision detection,碰撞檢測,介面卡邊傳送資料邊檢測通道上電壓的變化情況,以便判斷自己在傳送資料時其他站點是否也在傳送資料。
由於電磁波傳播需要時間,可能存在站點A向B傳送的訊號還沒有到達B,站點B也要向A傳送資料,但此時檢測到通道空閒,也傳送資料的情況。
檢測到碰撞的時間 \(t\in(0, 2\tau)\)
重傳時間:
- 基本退避(推遲)時間 \(2 \tau\)
- 定義引數 \(k\),表示重傳次數,但是不超過10。即 \(k \in \min(重傳次數, 10)\) 。
- 從離散集合 \([0,1,...,2^{k-1}]\) 中隨機取一個數 \(r\), 重傳所需要的退避時間就是 \(r\) 倍的退避時間,即 \(2 *r *\tau\)
- 若重傳到達16次,說明網路擁擠,拋棄此幀並向高層報告。
最小幀長:
由於,CSMA/CD 就是為了避免因為衝突而傳送錯誤的資料,而如果幀過段,即使檢測到了衝突,也無法叫停幀的傳送(因為幀傳送完了)。為了解決這個問題,設定最小幀長,滿足:幀的傳輸時延至少是訊號在匯流排中的傳播時延的兩倍。
區域網的分類
MAC子層和LLC子層
IEEE802標準將資料鏈路層劃分為邏輯鏈路層LLC子層 和 介質訪問控制MAC子層
- 乙太網
集線器進行廣播
介面卡:
計算機通過通訊介面卡與外界區域網連線。
介面卡的ROM上有MAC地址,又稱為實體地址,全球唯一。
廣域網:幾十公里到幾千公里,遠距離通訊。
主要採用分組交換技術。因特網(Internet)是最大的廣域網。
PPP協議:對於點對點鏈路,採用點對點協議。==只支援全雙工鏈路=
三個組成部分:
- 將IP資料報封裝到序列鏈路的方法
- 鏈路控制協議LCP
- 網路控制協議NCP
-
透明傳輸:
非同步傳輸時,採用位元組填充;同步傳輸零位元填充
-
工作流程:
擴充套件乙太網:
- 物理層擴充套件 (採用集線器、中繼器)
-
鏈路層擴充套件(採用網橋、交換機)
鏈路層裝置(使用了MAC地址):
網橋、源路由網橋、交換機(直通式交換機、儲存轉發式交換機)
網橋:平分傳輸媒體頻寬;交換機:獨佔傳輸媒體頻寬