1. 程式人生 > >計算機網路概述---資料鏈路層

計算機網路概述---資料鏈路層

資料鏈路層基本概念

三個基本問題

封裝成幀:在一段資料的前後加上首部和尾部,然後構成幀,首部和尾部的作用就是進行幀的界定;

透明傳輸:當傳輸的資料中含有首部和尾部的字元時,需要進行轉義(用位元組填充解決,給資料中的特殊字元前面填充轉義字元);

差錯控制:傳輸過程中可能產生位元差錯,1變成0,0變成1等情況,在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比值稱為誤位元速率,誤位元速率與信噪比有很大的關係;

為了保證資料傳輸的可靠性,在計算機傳輸資料的過程中,必須採用各種差錯檢驗措施(迴圈冗餘檢驗CRC);FSC為CRC後的結果,幀檢驗序列FSC是指在資料後面加上冗餘碼(FSC),迴圈冗餘檢驗CRC和幀檢驗序列FCS並不等同;

CRC:是一種常用的檢錯方法;

FSC:是新增在資料後面的冗餘碼,FSC可以用CRC得出,而CRC並非是得出FSC的唯一途徑;

兩種情況下的資料鏈路層

使用點對點通道的資料鏈路層

現在全世界使用最多的資料鏈路層協議就是ppp協議,使用者使用撥號電話線接入因特網時,一般就是點到點協議;

ppp協議應該滿足的要求 ppp協議不需要滿足的要求

封裝成幀

透明性

多種網路層協議

多種型別鏈路

差錯檢驗

檢測連線狀態

最大傳送單元

網路層地址協商

資料壓縮協商

糾錯

流量控制

序號

多點線路

半雙工或單工鏈路

 

ppp協議的組成:

1.資料鏈路層協議可以用於非同步序列或同步序列介質;

2.它使用LCP(鏈路控制協議)建立並維護資料鏈路連線;

3.網路控制協議(NCP)允許點到點連線上使用多種網路協議;

ppp協議幀格式:

 

首部中的標誌欄位F(Flag),規定為0x7E(符號0x表示它後面的字元是用十六進位制表示的。十六進位制的7E的二進位制表示是01111110),標誌欄位表示一個幀的開始。

首部中的地址欄位A規定為0xFF(即11111111)。
首部中的控制欄位C規定為0x03(即00000011)。
首部中的2位元組的協議欄位:
(1)當協議欄位為0x0021時,PPP幀的資訊欄位就是IP資料報。
(2)當協議欄位為0xC021時,PPP幀的資訊欄位就是PPP鏈路控制協議LCP的資料。
(3)當協議欄位為0x8021時,PPP幀的資訊欄位就是網路層的控制資料。
PPP幀的資訊欄位部分,資訊欄位的長度是可變的,不超過1500位元組。
PPP幀的尾部
尾部中的第一個欄位(2個位元組)是使用CRC的幀檢驗序列FCS。
尾部中的標誌欄位F(Flag),規定為0x7E(符號0x表示它後面的字元是用十六進位制表示的。十六進位制的7E的二進位制表示是01111110),標誌欄位表示一個幀的結束。
注:標誌欄位就是PPP幀的定界符。連續兩幀之間只需要用一個標誌欄位。如果連續出現兩個標誌欄位,就表示這是一個空幀,應當丟棄。

 

PPP協議中的透明傳輸的實現方式
當資訊欄位中出現和標誌欄位一樣的位元(0x7E)組合時,就必須採取一些措施使這種形式上和標誌欄位一言的位元組合不出現在資訊欄位中。

1 位元組填充——PPP使用非同步傳輸
當PPP使用非同步傳輸時,它把轉移符定義為0x7D,並使用位元組填充。
RFC1662規定了如下填充方法:
(1)把資訊欄位中出現的每一個0x7E位元組轉變為2位元組序列(0x7D,0x5E)。
(2)若資訊欄位中出現一個0x7D的位元組(即出現了和轉義字元一樣的位元組合),則把轉義字元0x7D轉變為2位元組序列(0x7D,0x5D)。
(3)若資訊欄位中出現ASCII碼的控制字元(即數值小於0x20的字元),則在該字元前面要加入一個0x7D位元組,同時將該字元的編碼加以改變。例如,出現0x03(在控制字元中是“傳輸結束”ETX)就要把它轉變為2位元組序列的(0x7D,0x31)。
由於在傳送端進行了位元組填充,因此在鏈路上傳送的資訊位元組數就超過了原來的資訊位元組數。但接收端在接收到資料後再進行與傳送端位元組填充相反的變換,就可以正確地恢復出原來的資訊。
2 零位元填充——PPP使用同步傳輸
當PPP使用同步傳輸時,使用零位元填充。
零位元填充的具體方法:
(1)在傳送端先掃描整個資訊欄位(通常使用硬體實現,但也可以用軟體實現,但是會慢一些)。
(2)只要發現有5個連續的1,則立即填入一個0。
(3)接收端在收到一個幀時,先找到標誌欄位F以確定幀的邊界,接著再用硬體對其中的位元流進行掃描,每當發現5個連續1時,就把5個連續1後的一個0刪除,以還原成原來的資訊位元流。
因此通過這種零位元填充後的資料,就可以保證在資訊欄位中不會出現連續6個1。

 

使用廣播通道的資料鏈路層

1. 廣播通道在區域網的資料鏈路層中使用

區域網的拓撲型別有 匯流排型,環形,星型

區域網的共享通道的方式為匯流排型網路為多點接入

分為以下兩種

隨機接入:也就是說通道不是固定的分配給某一個主機而是每個主機都可以隨時的傳送資訊,但是這裡的問題是如果同時有多個使用者傳送資訊的話,就會造成碰撞,這樣就都會失敗,所以說必須要有解決碰撞的協議

受控接入:受控接入的特點是使用者不能夠隨時的傳送資訊,而是受到一定的控制,比如說給每個使用者一個令牌,或者說輪詢

2. 介面卡

介面卡又稱為網絡卡,通過I/O匯流排與cpu相連線,介面卡中包含著計算機的唯一標示Mac地址。

現在的介面卡功能都比較強大,傳送和接收幀都可以自己實現而不用cpu這樣就節省了cpu的時間。另外介面卡還可以進行差錯檢測。

介面卡擁有過濾功能,能夠將不屬於本站的收下,不屬於本站的幀丟棄

通常區域網中有三種幀

1 單播幀(一對一),收到的幀的mac地址與本機的硬體地址相同

2 廣播幀(一對全體),傳送給本區域網的所有幀(地址全是1)

3 多播幀(一對多),傳送給區域網的一部分主機

介面卡還可以設定為混雜方式工作,即接收區域網上的所有幀,這樣就可以監聽別人的資訊,這種方式是不好滴

3. CSMA/CD協議

乙太網是匯流排型結構,所以說當一臺計算機發送信心的時候,所有的計算機都能都監聽到,所以說需要有mac地址來知名目的地址。

只有mac地址與資料幀首部的mac地址相同的時候才會接收其他情況下丟棄。

為了簡便通訊乙太網採用了無連線工作方式,也就是說傳送資訊的時候不必要建立連線,差錯重傳之類的交給高層協議比如說TCP。

CSMA/CD協議的主要內容

多點接入:說明是匯流排型網路

載波監聽:因為每個計算機隨時都可以傳送資訊,所以說為了防止資訊失效就採用載波監聽,如果說通道中有其他計算機正在傳送資訊自己就不傳送

碰撞檢測:也就是邊傳送邊檢測,載波監聽的時候會有時間差,也就是說當一個主機發送的時候,傳播的其他主機是需要時間的,所以說如果一個主機發送的時候,其他主機並沒有檢測到(因為時間差),那麼其他的主機也有可能傳送

這樣的話就會有可能造成碰撞。所以說需要碰撞檢測,如果發生碰撞的話就會停止傳送,然後等待一段時間重新發送。