《計算機網絡》謝希仁版第三章前兩小節總結 - CSDN博客

第三章: 數據鏈路層


1. 數據鏈路層使用的信道主要有兩種類型:點對點信道(一對一的點對點通信方式),廣播信道(一對多的廣播通信方式)
2. 從整個互聯網來看,局域網仍屬於數據鏈路層範圍
3. 點對點信道最常用的點對點協議PPP
4. 數據鏈路層的三個基本問題:封裝成幀、透明傳輸和差錯檢測
5. 兩臺主機通過互聯網進行通信時數據鏈路層所處地位如圖
(注意路由器在轉發分組時使用的協議棧只有下面的三層,根據所使用的路由選擇協議的不同,也有可能需要使用運輸層協議),
鏈路路徑:H1的鏈路層-R1的鏈路層-R2的鏈路層-R3的鏈路層-H2的鏈路層
H1-R1,R1-R2,R2-R3,R3-H2這四段不同的鏈路層可能採用不同的數據鏈路層協議

 

3.1 使用點對點信道的數據鏈路層

3.1.1 數據鏈路和幀
1. 鏈路:是指從一個結點到相鄰結點的一段物理線路(有線或無線),而中間沒有任何其他的交換結點。
2. 數據鏈路:在一條線路上傳輸數據時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制這些數據的傳輸,若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路,現在最常用的方法是使用網絡適配器(既有硬件,也包括軟件)來實現這些協議,一般的適配器都包括了數據鏈路層和物理層這兩層功能
3. 點對點信道的數據鏈路層的協議數據單元:幀
4. 網絡層協議數據單元:IP數據報(或簡稱爲數據報、分組或包)

5. 點對點信道的數據鏈路層主要通信步驟
(1)結點A的數據鏈路層把網絡層交下來的IP數據報添加首部和尾部封裝成幀
(2)結點A把封裝好的幀發送給結點B的數據鏈路層
(3)若結點B的數據鏈路層收到的幀無差錯,則從收到的幀中提取出IP數據報交給上面的網絡層;否則丟棄這個幀

3.1.2 三個基本問題(封裝成幀、透明傳輸和差錯檢測)

(1) 封裝成幀
1. 封裝成幀:就是在一段數據的前後分別添加首部和尾部,這樣就構成了一個幀
2. 幀長:幀長 = 幀的數據部分長度 + 幀首部長度 + 幀尾部長度 (提高幀的傳輸效率應使幀的數據部分長度儘可能大)
3. 首部和尾部作用:(1)幀定界-確定幀的界限,(2)包含必要的控制信息
4. 最大傳輸單元MTU:鏈路層協議規定的所能傳送的幀的數據部分長度上限 (如linux上可以去/etc/sysconfig/network-scripts/ifcfg-eth0下查看或配置)

5. 幀定界符:當數據是可打印的ASCII碼(ASCII碼是7位編碼,共可組成128種不同的ASCII碼,其中可打印的有95個,而不可打印的控制字符有33個)組成的文本文件時,幀定界可以使用特殊的幀定界符
6. 可打印字符:即可以從鍵盤上輸入的字符(因而也是可打印的),我們使用的標準鍵盤有47個鍵可輸入94個字符,加上空格鍵共95個

7. 帶有SOH和EOT的纔是一個完整的幀(start of header/end of transmission)

(2)透明傳輸
1. 所傳輸的數據中的任何8bit的組合一定不允許和用作幀定界的控制字符的bit編碼一樣,否則出現幀定界錯誤
2. 透明傳輸:當傳送的幀是用文本文件組成的幀時(文本文件種字符都是從鍵盤輸入的),其數據部分顯然不會出現像SOH/EOT這樣的幀定界控制字符,可見不管從鍵盤上輸入什麼字符都可以放在這樣的幀中傳輸過去,因此這樣的傳輸就是透明傳輸。
3. 數據部分是非ASCII碼的文本文件時(如二進制代碼的計算機程序或圖像等),數據部分某字節的二進制可能和SOH/EOT控制字符一樣,此時會錯誤的接收幀並丟棄剩下部分。

4. 透明:表示某一個實際存在的事物看起來卻好像不存在一樣(如我們看不見我們前面有塊100%透明的玻璃一樣)
5. 字節(符)填充:將數據部分可能出現的控制字符SOH/EOT前面插入轉義字符ESC,如果轉義字符也包含在數據當中,解決辦法是在轉義字符前再插入一個轉義字符。

(3)差錯檢測
1. 比特差錯:比特在傳輸過程中可能會產生差錯-1可能變爲0,0也可能變爲1
2. 誤碼率BER:傳輸錯誤的比特佔所傳輸比特總數的比率。誤碼率與信噪比有很大關係。提高信噪比可減少誤碼率。
3. 爲提高數據傳輸可靠性,網絡傳輸數據時,必須採用各種差錯檢測措施,目前數據鏈路層廣泛使用的是循環冗餘校驗CRC。
4. CRC計算舉例:參考百度https://baike.baidu.com/item/%E5%BE%AA%E7%8E%AF%E5%86%97%E4%BD%99%E6%A0%A1%E9%AA%8C%E7%A0%81/10168758?fromtitle=CRC%E6%A0%A1%E9%AA%8C&fromid=3439037
5. 幀檢驗序列FCS:爲了進行檢錯而添加的冗餘碼(如CRC校驗碼)(注意CRC和FCS不是一個概念,CRC是一種檢錯方法,FCS是添加在數據後面的冗餘碼,且CRC不是唯一檢錯方法)
6. 模2運算:相當於異或操作


7. 傳輸無差錯,接收端CRC校驗後餘數肯定爲0(當然不排除餘數有非常非常小的概率爲0)
8. 目前廣泛使用的生成多項式:CRC-16,CRC-CCITT,CRC-32 
9. 在數據鏈路層若僅僅用CRC,則只能做到對幀的無差錯接受,即凡是接收端數據鏈路層接受的幀,我們都能以非常接近於1的概率認爲這些幀在傳輸過程中沒有產生差錯。但這不是可靠傳輸,還要考慮到傳輸差錯。
10. 除了比特差錯,還有傳輸差錯:如幀丟失、幀重複、幀失序。
11. 可靠傳輸區別對待:對於通信質量良好的有線傳輸鏈路,數據鏈路層協議不適用確認和重傳機制,對於通信質量較差的無線傳輸鏈路,數據鏈路層協議使用確認和重傳機制。

3.2 點對點協議PPP

3.2.1 PPP協議的特點
1. 在通信線路質量較差的年代,在數據鏈路層使用可靠性傳輸協議如高級數據鏈路控制HDLC,但現在很少用了,目前最廣泛的是點對點協議PPP。
2. PPP協議是用戶計算機和ISP進行通信時所使用的數據鏈路層協議。

3. PPP協議是IETF在1992年制定的,1994年成爲互聯網的正式標準,RFC1661.
4. PPP協議應滿足的需求:
(1)簡單(對數據鏈路層的幀不糾錯,不需要序號,不需要控制流量,接收方每收到一個幀,就進行CRC檢驗,正確就收下這個幀,反之就丟棄)
(2)封裝成幀(PPP協議必須規定特殊的字符作爲幀定界符)
(3)透明性(數據中碰巧出現和幀定界符一樣的比特組合時,就必須採取有效措施解決)
(4)多種網絡層協議(PPP協議必須能夠在同一條物理鏈路上同時支持多種網絡層協議,如IP和IPX等)
(5)多種類型鏈路(除了支持多種網絡層協議外,還必須能夠在多種類型的鏈路上運行,串行的或並行的、同步的或異步的、低俗的或高速的、電的或光的等)
(6)差錯檢測(對接收端收到的幀進行檢測,並立即丟棄有差錯的幀,如不丟棄,該無用幀還會再網絡中轉發並浪費網絡資源)
(7)檢測連接狀態(檢測鏈路是否正常工作)
(8)最大傳輸單元(如高層協議發送的分組過長並超過MTU數值,PPP需要丟棄這樣的幀,MTU是數據鏈路層的幀可以載荷的數據部分最大長度,而不是幀的總長度)
(9)數據壓縮協商(PPP必須提供一種方法來協商使用數據壓縮算法)
5. PPPoE:1999年公佈的鏈路層協議,該協議將PPP幀再封裝在以太網幀中,數據傳輸速率較高,因此可讓多個連網用戶共享一條到ISP的寬帶鏈路(當然即便一個人用也是PPPoE協議),找到家裏網速慢的原因了,哈哈!
6. TCP/IP協議族中,可靠性傳輸由運輸層的TCP協議負責,因此數據鏈路層的PPP協議不需要進行糾錯,不需要設置序號,不需要流量控制,PPP不支持多點線路,且只支持全雙工鏈路。
7. PPP協議三個組成部分
(1)一個將IP數據報封裝到串行鏈路的方法
(2)一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP
(3)一套網絡控制協議NCP
8. MTU默認值是1500字節,在RFC1661中MTU叫做最大接收單元MRU,TCP的早期版本也叫做NCP,這個NCP和PPP協議組成的NCP不是一回事

3.2.2 PPP協議的幀格式
1. PPP幀首部四個字段,尾部兩個字段,首部第一字段和尾部第二個字段都是標誌字段(爲0x7E),標誌字段表示一個幀的開始和結束,因此標誌字段就是PPP幀的定界符。具體格式參考下圖

2. 字節填充:處理信息字段中出現的和標誌字段一樣的比特,比如異步傳輸時,添加各種轉義字符,發送端填充,接收端去除。
3. 零比特填充:PPP協議用在SONET/SDH鏈路時,使用同步傳輸,此時採用該方法實現透明傳輸。
4. PPP協議的工作狀態:


 

3.3 使用廣播信道(一對多的通信)的數據鏈路層
1. 局域網特點:網絡爲一個單位所擁有,且地理範圍和站點數目均有限。
2. 局域網優點:廣播功能、便於擴展、提高系統的可靠性可用性和生存性。
3. 局域網傳輸媒體:雙絞線->光纖。
4. 共享信道兩個方法:靜態劃分信道(代價高,不適合局域網)、動態媒體接入控制(又稱多點接入,非固定分配,分爲隨機接入-碰撞和受控接入-輪詢兩類)。
5. 以太網兩個標準:DIX Ethernet V2(世界上第一個局域網產品規約)、IEEE 802.3(如圖3-14,把數據鏈路層拆爲邏輯鏈路控制LLC子層和媒體接入控制MAC子層,目前各廠商僅裝有MAC協議而沒有LLC協議)。


6. 適配器:主機箱內插入的一塊網絡接口板,又稱網卡(即網絡接口卡NIC),上面裝有處理器和存儲器(RAM/ROM),與局域網之間通信通過電纜或雙絞線以串行方式進行,與計算機之間通信通過計算機主板I/O總線以並行方式進行。
7. 適配器功能(作用):進行數據串行傳輸和並行傳輸的轉換。
8. 計算機硬件地址在適配器ROM中,計算機軟件地址(IP地址)在計算機存儲器中。如圖3-15.


9. 總線的特點:當一臺計算機發送數據時,總線上的所有計算機都能檢測到這個數據,即廣播通信方式。
10. 爲了通信簡便以太網採取的兩種措施:CSMA/CD協議(載波監聽多點接入/碰撞檢測,同一時間只允許一臺計算機發送數據)、以太網發送的數據都使用曼徹斯特編碼的信號(如圖3-16,缺點是頻帶寬度比原始的基帶信號增加了一倍)。


11. 傳播時延對載波監聽的影響,如圖3-17.


12. 使用CSMA/CD協議時,一個站不可能同時進行發送和接收(但必須邊發送邊監聽信道),即不可能進行全雙工通信只能進行雙向交替通信(半雙工通信)。
13. 以太網使用截斷二進制指數退避算法來確定碰撞後重傳的時機。
14. 雙絞線以太網總是和集線器配合使用的。
15. 以太網信道被佔用的情況:如圖3-21.

16. 硬件地址又稱物理地址或MAC地址(因爲這種地址用在MAC幀中)。
17. 局域網的“地址”應當是每一個站的“名字”或標識符。(6個字節48位,IEEE標準還有個2字節16位,但是2字節對於全球範圍內的局域網適配器不夠用)
18. IEEE的註冊管理機構RA是局域網全球地址的法定管理機構,它負責分配地址字段的6各字節中的前三個字節(即高24位,世界所有廠商都需要向IEEE購買這3個字節構成的地址塊-組織唯一標識符OUI),低24位(即擴展標識符,有2的24次方)由廠家自行指派。
19. 存在部分廠商不願向IEEE的RA購買OUI,爲此IEEE把地址字段第一字節的最低第二位規定爲G/L位,G/L爲0時是全球管理(全球沒有相同地址,廠商購買的OUI都是全球管理),G/L爲1是本地管理,以太網不理會這個G/L位。
20. MAC地址分配總有用完時間,預測2020年前不會耗盡。
21. 適配器有過濾功能,從網絡上每收到一個MAC幀就先用硬件檢查MAC幀中的目的地址,如果是發往本站的則收下,反之丟棄。
22. 發往本站的幀分三種:單播幀(一對一,幀MAC地址與本站MAC地址相同)、廣播幀(一對全體,全1地址)、多播幀(一對多,發送本局域網上部分站點的幀)。
23. 混雜模式:只要“聽到”有幀在以太網上傳輸就悄悄接收下來,而不管這些幀發送哪個站。即黑客所謂的“竊聽”,有利也有弊。(比如有種網絡工具叫嗅探器就使用了設置爲混雜方式的網絡適配器)
24. 以太網V2的MAC幀格式:如圖3-22.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章