1. 程式人生 > >《計算機網路》之資料鏈路層

《計算機網路》之資料鏈路層

資料鏈路層

一、引言

       前面說過,資料鏈路層的任務是:在兩個相鄰節點之間傳送資料時,資料鏈路層將網路層交下來的IP資料報組裝成幀(frame),在兩個相鄰節點間的鏈路上“透明”地傳送幀中的資料。資料鏈路層協議的三個基本問題是:封裝成幀、透明傳輸和差錯檢測。差錯檢測廣泛使用迴圈冗餘檢驗CRC(Cyclic RedundancyCheck)。實際上CRC僅僅能做到接受到的幀的無差錯,但並不能做到幀丟失、幀重複或幀失序的解決。OSI設計的資料鏈路層是可靠傳輸的,它加入了幀編號、確認和重傳機制來解決這三個問題。不過現在的資料鏈路層在實際中並未採取這些機制,而是簡簡單單採用CRC而已。可靠傳輸由運輸層來實現。

二、乙太網

       乙太網(Ethernet)作為非嚴格情況下“區域網”的代名詞,提供的服務是不可靠的交付(盡最大努力的交付)。傳送的資料都採用Manchester編碼,在同一時間只能允許一臺計算機發送資訊。因此乙太網採用載波監聽多點接入/碰撞檢測CSMA/CD(Cattier Sense Access with Collision Detection)協議。

CSMA/CD協議是資料鏈路層最重要的一個協議,它比較基礎,在這裡也不詳細介紹了。它的一個很重要的概念是爭用期(contentionperiod),又稱碰撞視窗(collision window)。它是乙太網端到端的往返時間.只有經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次傳送不會發生碰撞

。為此規定了最短有效幀長,保證單個數據幀的傳送時間不少於爭用期。乙太網的最短有效幀長為64位元組。

乙太網的通道利用率。式中為單個幀的傳送時間,為端到端的單程時間。

乙太網在資料鏈路層的擴充套件需要用到網橋,多介面網橋即為第二層交換機(switch)。

三、MAC

       MAC地址,又稱硬體地址、實體地址,是指介面卡(網絡卡)地址,共6位元組。前三個位元組為公司識別符號,由RA指派;後三個位元組為擴充套件識別符號,由廠家自行指派。

MAC地址的第一個位元組的最低位為I/G(Individual/Group)位,為0時表示單個站地址,為1時表示組地址(多播)。第一個位元組的最低第二位為G/L (Global/Local)位,為0時是全球管理(唯一),為1時是本地管理(使用者分配)。

MAC幀的格式如下圖。


可以看出,MAC幀的首部有14位元組,尾部有4位元組。資料部分長度為46~1500位元組。尾部是使用CRC檢驗的幀檢驗序列FCS。在交付給物理層時,在幀前還要加上8位元組的同步碼用於同步時鐘頻率。