1. 程式人生 > >1.2 TCP/IP協議(資料鏈路層)

1.2 TCP/IP協議(資料鏈路層)

資料鏈路層將不可靠的物理層轉變為一條無差錯的鏈路,傳輸的是幀(frame),高層的協議資料被封裝在乙太網幀的資料欄位傳送。

1.資料鏈路層解決三個問題

1.1封裝成幀

(1)解釋

網路層的IP資料報傳送到資料鏈路層就成為了幀的資料部分,在幀的資料部分的前後分別新增首部和尾部,就構成了一個完整的幀。幀長等於資料部分長度加上幀首部和幀尾部的長度,而首部和尾部的一個重要作用就是確定幀的界限。


(2)分析Ethernet II幀格式


含義:

前12位元組分別標識傳送資料幀的源節點MAC地址和接收資料幀的目標節點MAC地址(MAC地址是6個位元組,即48位)。  
接下來的2位元組標識出乙太網幀所攜帶的上層資料型別,當PDU(協議資料單元)來到某一層時,它需要將PDU交付給上層,但是上層協議眾多,因此在處理資料的時候,需要一個欄位來標識把它交給誰。例如:該欄位等於0x0800時,表示交給IP協議;等於0x0806交給ARP;等於0X8035交給RARP。

不定長的資料欄位後是4個位元組的幀校驗序列(FrameCheck Sequence,FCS),採用32位CRC迴圈冗餘校驗對從"目標MAC地址"欄位到"資料"欄位的資料進行校驗。

依據上圖,Ethernet II型別的乙太網幀:

最小長度:64位元組(6+6+2+46+4)

最大長度:1518位元組(6+6+2+1500+4)

(3)當資料是由可列印的ASCII碼組成的文字檔案時,幀定界可以使用特殊的幀定界符(控制字元)。

名稱

十進

十六進

含義

SOH(Start Of Header)

01

0x01

放在幀的最前面,表示幀的首部開始。

EOT(End Of Transmission)

04

0x04

放在幀的最後面,表示幀的結束。

控制字元:控制字元(ControlCharacter)出現於特定的資訊文字中,表示某一控制功能的字元。在ASCII碼中,第0~31號及第127號(共33個)是控制字元或通訊專用字元,如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)等;通訊專用字元:SOH(文頭)、EOT(文尾)、ACK(確認)等。

1.2透明傳輸

(1)解釋

透明傳輸是指不管所傳資料是什麼樣的位元組合,都應當能夠在鏈路上傳送。當所傳資料中的位元組合恰巧與某一個控制資訊完全一樣時,就必須採取適當的措施,使接收方不會將這樣的資料誤認為是某種控制資訊。這樣才能保證資料鏈路層的傳輸是透明的。

(2)字元填充

當傳輸資料中的某個字元的二進位制程式碼恰好和SOH或EOT這樣的控制字元一樣時,資料鏈路層就會錯誤地找到幀的邊界,把誤認為是完整的部分幀收下,把剩下的那部分資料丟棄,這顯然就不是透明傳輸。

  

解決辦法:

傳送端的資料鏈路層在資料中出現控制字元“SOH”和“EOT”的前面插入一個轉義字元”ESC”,而接收端的資料鏈路層在將資料送往網路層時,會刪除插入的轉義字元。這種方法稱為字元填充(character stuffing)。

1.3差錯控制

(1)兩類錯誤:一類是最基本的位元差錯,即位元流在傳輸過程中產生的差錯(如1變成0、0變成1);另一類是收到的幀沒有出現位元錯誤,卻出現了幀丟失、幀重複或幀失序。

誤位元速率BER(BitError Rate):指的是在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比率。

(2)在資料鏈路層傳送的幀中,廣泛使用了迴圈冗餘檢驗CRC的檢錯技術。

(3)迴圈冗餘檢驗CRC和幀檢驗序列FCS的區別:

CRC是一種常用的檢錯方法,而FCS是新增在資料後面的冗餘碼。對資料幀進行CRC運算得出的序列就是幀校驗序列FCS,FCS也可以用其他方法求出。

2.資料鏈路層通道

資料鏈路層使用的通道主要是兩種型別:

(1)點對點通道:使用一對一的點對點通訊方式。

(2)廣播通道:使用一對多的廣播通訊方式。由於連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。

3.資料鏈路層主要協議

3.1PPP(Point-to-Point Protocal)協議

(1)解釋

PPP協議是一種資料鏈路層協議,遵循HDLC(高階資料鏈路控制協議)族的一般報文格式。PPP協議是為了在點對點物理鏈路(如RS232串列埠鏈路、電話ISDN線路等)上傳輸網路層報文而設計的,PPP協議是現在最流行的點對點鏈路控制協議。

PPP協議主要由鏈路控制協議(LCP)、網路控制協議(NCP)和PPP的擴充套件協議組成。

鏈路控制協議(LCP)是PPP協議的一個子集,主要用於建立、拆除和監控PPP資料鏈路。

網路控制協議(NCP)根據不同的網路層協議可以提供一族網路控制協議,最常用的是提供給TCP/IP網路使用的IPCP網路控制協議。當點對點的兩端進行NCP引數配置協商時,主要是用來獲得通訊雙方的網路層地址。

(2)功能:

a.具有動態分配IP地址的能力,允許在連線時刻協商IP地址。

b.支援多種網路協議,比如TCP/IP、NetBEUI、NWLINK等。

c.具有錯誤檢測以及糾錯能力,支援資料壓縮。

d.具有身份驗證功能。

e.可用於多種型別的物理介質上,包括串列埠線、電話線等。

3.2乙太網(Ethernet)協議

乙太網是目前使用最廣泛的區域網技術。由於其簡單、成本低、可擴充套件性強、與IP網能夠很好地結合等特點,乙太網技術的應用正從企業內部網路向公用電信網領域邁進。乙太網接入是指將乙太網技術與綜合佈線相結合,作為公用電信網的接入網,直接向用戶提供基於IP的多種業務的傳送通道。乙太網技術的實質是一種二層的媒質訪問控制技術,可以在五類線上傳送,也可以與其它接入媒質相結合,形成多種寬頻接入技術。隨著技術的發展創新,其應用領域正逐步向接入網、都會網路、甚至廣域網/骨幹網方面拓展,形成基於IP/Ethernet的端到端無縫連線。