文章目錄
3.1 基本概念
1. 數據鏈路層的簡單模型
數據鏈路層像個數字管道,常常在對等的數據鏈路層之間畫出一個數字管道,而在這條數據管道上傳輸的數據單位是幀
。
2. 數據鏈路層使用的信道
點對點信道
:這種信道使用一對一的點對點通信方式。
廣播信道
:這種信道使用一對多的廣播通信方式,過程比較複雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。
3. 鏈路與數據鏈路
鏈路
是一條點到點的物理線路段,中間沒有任何其他的交換結點。
一條鏈路只是一條通路的一個組成部分。
數據鏈路
除了物理線路外,還必須有通信協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。
- 現最常用的方法是使用適配器(即網卡)來實現這些協議的硬件和軟件。
- 一般的適配器都包括了數據鏈路層和物理層這兩層的功能。
4. 幀
數據鏈路層談的數據流稱爲數據幀。
例子:
注意:數據鏈路層的幀中 IP4是數據包的起點IP地址, IP3是數據包的終點;而M1是數據包的起點mac地址,M2是數據包的下一個位置的mac地址(不一定是終點的)。
3.2 基本問題
數據鏈路層要解決三個基本問題:封裝成幀、透明傳輸、差錯控制
1. 封裝成幀
2. 透明傳輸
用字節填充法解決透明傳輸的問題
發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(其十六進制編碼是 1B)。
接收端的數據鏈路層在將數據送往網絡層之前刪除插入的轉義字符。
如果轉義字符也出現數據當中,那麼應在轉義字符前插入一個轉義字符。
3. 差錯檢測 CRC
【在數據鏈路層傳送的幀中,廣泛使用了循環冗餘檢驗 CRC
的檢錯技術。】
1. 有關CRC的一些概念
- 假設待傳送的一組數據M = 101001。我們在 M 的後面再添加供差錯檢測用的 n 位冗餘碼一起發送;即
發送的數據
。 - n位冗餘碼又稱
幀檢驗序列 FCS
。
2. 如何使用CRC
(1)計算冗餘碼FCS:
- 在M後加n個0作爲被除數,除數任意定,但必須是n+1位
- 做模2除法,最終得到的餘數爲冗餘碼。
(2)M後添加冗餘碼得到 發送的數據
(3)接收端對收到的每一幀進行 CRC 檢驗
檢驗方法:用 收到的數據(即(2)中的發送的數據
) 與除數再進行模2除法。得到餘數R
若得出的餘數 R = 0,則判定這個幀沒有差錯,就接受。
若餘數 R ≠ 0,則判定這個幀有差錯,就丟棄。
3. 例子
已知 M = 101001。計算冗餘碼FCS,以及發送出的數據。並檢驗。
解:
設 n = 3,除數爲1101。
則被除數爲101001000。
計算如下:
所以冗餘碼FCS爲001,發送的數據爲101001001。
檢驗:
因爲餘數是0,因此這個數據幀沒有差錯,接受。
3.3 使用點對點信道的數據鏈路層
廣域網使用
一對一通信。
因爲不會發生碰撞,因此也比較簡單,使用 PPP 協議進行控制。
1. ppp協議
現在全世界使用得最多的數據鏈路層協議是點對點協議 PPP (Point-to-Point Protocol)
。
因特網用戶通常都要連接到某個ISP 才能接入到因特網。 PPP協議就是用戶計算機和ISP進行通信時所使用的數據鏈路層協議。 ISP使用PPP協議爲計算機分配一些網絡參數(如IP地址、域名等)。
PPP協議是一個協議集,主要包含下面三部分
數據鏈路層協議可以用於異步串行或同步串行介質。
LCP(鏈路控制協議)
NCP (網絡控制協議)
2. ppp協議幀格式
3. 零比特填充方法
信息字段中出現了標誌字段的值,可能會被誤認爲是“標誌”。
這時 PPP 協議採用零比特填充方法
來實現透明傳輸
。
在發送端,只要發現有 5 個連續 1,則立即填入一個 0。接收端對幀中的比特流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除。
3.4 使用廣播信道的數據鏈路層
局域網使用
所有的節點都在同一個廣播信道上發送數據,因此需要有專門的控制方法進行協調,避免發生衝突(衝突也叫碰撞) 。
主要有兩種控制方法進行協調,一個是使用信道複用技術
,一個是使用 CSMA/CD 協議
。
1. 局域網的拓撲
2. 局域網的特點與優點
3.5 CSMA/CD協議
1. def
CSMA/CD協議(載波監聽多點接入/碰撞檢測) 以太網使用此協議
。
“多點接入”
表示許多計算機以多點接入的方式連接在一根總線上。
“載波監聽”
是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞。
2. 重要特性
3. 爭用期
4. 二進制指數類型退避算法
3.6 以太局域網(以態網)
現在的以太網被用來指各種採用 CSMA/CD 技術的局域網。
3.6.1 概述
1. 以太網的兩個標準
DIX Ethernet V2 、IEEE 的 802.3 標準
2. 以太網與數據鏈路層的兩個子層
3. 以太網提供的服務
以太網只提供無差錯接收,不提供糾錯(傳輸層糾錯)。
3.6.2 10BASE-T以太網
傳統的以太網採用星形拓撲
,國際上給這種以集線器連的以太網定義了一個標準10BASE-T
。
10BASE-T以太網是以太網中很重要的一種以太網。
10 代表10Mbit/s的數據率;
BASE表示連接線上的信號是基帶信號;
T代表雙絞線。
物理上採用星型拓撲、邏輯上總線型,每段雙絞線最長不超過100m(每個站到集線器的距離不超過 100 m)。
採用曼徹斯特編碼。
採用CSMA/CD介質訪問。
3.6.3 信道利用率
3.6.4 MAC層
在局域網中,硬件地址又稱爲物理地址,或 MAC 地址(即網卡地址) 。
每個適配器(即網卡) 有一個全球唯一的48位二進制地址,前24位代表廠家(由IEEE規定),後24位廠家自己制定,常用十六進制數表示。
1. 適配器檢查 MAC 地址
適配器從網絡上每收到一個 MAC 幀就首先用硬件檢查 MAC 幀中的 MAC 地址。
- 如果是發往本站的幀則收下,然後再進行其他的處理。
- 否則就將此幀丟棄,不再進行其他的處理。
2. MAC 幀格式
3. 無效的 MAC 幀
4. 幀間最小間隔
3.7 擴展以太網
1. 距離上的擴展
2. 數量上的擴展
這種集線器級聯,使網絡中計算機數量增加,但是效率變低了,因爲這無疑是組建了一個更大的衝突域。
3. 對數量上擴展的優化
使用網橋(交換機的前身)。
網橋工作在數據鏈路層,它根據 MAC 幀的目的地址對收到的幀進行存儲轉發。
【網橋具有過濾幀的功能。當網橋收到一個幀時,並不是向所有的接口轉發此幀,而是先檢查此幀的目的 MAC 地址,然後再確定將該幀轉發到哪一個接口。】
3.8 高速以太網
速率達到或超過 100 Mb/s 的以太網
稱爲高速以太網。
在雙絞線上傳送 100 Mb/s 基帶信號的星型拓撲以太網,仍使用 IEEE 802.3 的CSMA/CD 協議。100BASE-T 以太網又稱爲快速以太網。
1. 100Base-T以太網特點
可在全雙工方式下工作而無衝突發生。因此,不使用 CSMA/CD 協議。
幀間時間間隔從原來的 9.6微妙 改爲現在的 0.96 微妙。
2. 1000Base-T以太網特點
允許在 1 Gb/s 下全雙工和半雙工兩種方式工作。
使用 802.3 協議規定的幀格式。
【在半雙工方式下使用 CSMA/CD 協議(全雙工方式不需要使用 CSMA/CD 協議)。】
與 10BASE-T 和 100BASE-T 技術向後兼容。
當吉比特以太網工作在全雙工方式時(即通信雙方可同時進行發送和接收數據),不使用載波延伸和分組突發。