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

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

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

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

  • 點對點通道。這種通道使用一對一的點對點通訊方式。
  • 廣播通道。這種通道使用一對多的廣播通訊方式,因此過程比較複雜。廣播通道上連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。

1.1 資料鏈路和幀

  • 鏈路 (link) 是一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。
    • 一條鏈路只是一條通路的一個組成部分。
  • 資料鏈路 (data link) 除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。
    • 現在最常用的方法是使用介面卡(即網絡卡)來實現這些協議的硬體和軟體。
    • 一般的介面卡都包括了資料鏈路層和物理層這兩層的功能。
  • 資料鏈路層傳送的是幀。
資料鏈路層像個數字管道
  • 常常在兩個對等的資料鏈路層之間畫出一個數字管道,而在這條數字管道上傳輸的資料單位是幀。
  • 資料鏈路層不必考慮物理層如何實現位元傳輸的細節。甚至還可以更簡單地設想好像是沿著兩個資料鏈路層之間的水平方向把幀直接傳送到對方。
資料鏈路層三個基本問題
  • 封裝成幀
  • 透明傳輸
  • 差錯控制
封裝成幀
  • 封裝成幀 (framing) 就是在一段資料的前後分別新增首部和尾部,然後就構成了一個幀。確定幀的界限。
  • 首部和尾部的一個重要作用就是進行幀定界。
  • 控制字元 SOH (Start Of Header) 放在一幀的最前面,表示幀的首部開始。另一個控制字元 EOT (End Of Transmission) 表示幀的結束。
透明傳輸
  • 如果資料中的某個位元組的二進位制程式碼恰好和 SOH 或 EOT 一樣,資料鏈路層就會錯誤地“找到幀的邊界”。
  • 解決方法:位元組填充 (byte stuffing) 或字元填充
  • 傳送端的資料鏈路層在資料中出現控制字元“SOH”或“EOT”的前面插入一個轉義字元“ESC” (其十六進位制編碼是 1B)。
  • 接收端的資料鏈路層在將資料送往網路層之前刪除插入的轉義字元。如果轉義字元也出現在資料當中,那麼應在轉義字元前面插入一個轉義字元 ESC。
  • 當接收端收到連續的兩個轉義字元時,就刪除其中前面的一個。
差錯控制
  • 在傳輸過程中可能會產生位元差錯:1 可能會變成 0 而 0 也可能變成 1。
  • 在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比率稱為誤位元速率 BER (Bit Error Rate)。
  • 誤位元速率與信噪比有很大的關係。
  • 為了保證資料傳輸的可靠性,在計算機網路傳輸資料時,必須採用各種差錯檢測措施。
  • 僅用迴圈冗餘檢驗 CRC 差錯檢測技術只能做到無差錯接受 (accept)。
  • “無差錯接受”是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近於 1 的概率認為這些幀在傳輸過程中沒有產生差錯”。
  • 也就是說:“凡是接收端資料鏈路層接受的幀都沒有傳輸差錯”(有差錯的幀就丟棄而不接受)。
  • 要做到“可靠傳輸”(即傳送什麼就收到什麼)就必須再加上確認和重傳機制。

2、點對點協議PPP

2.1 PPP協議的特點

  • 對於點對點的鏈路,目前使用得最廣泛的資料鏈路層協議是點對點協議 PPP (Point-to-Point Protocol)。
  • 使用者使用撥號電話線接入網際網路時, 使用者計算機和 ISP 進行通訊時所使用的資料鏈路層協議就是 PPP 協議。
  • PPP 協議在1994年就已成為網際網路的正式標準。
PPP協議應滿足的需求
  • 簡單 —— 這是首要的要求。
  • 封裝成幀 —— 必須規定特殊的字元作為幀定界符。
  • 透明性 —— 必須保證資料傳輸的透明性。
  • 多種網路層協議 —— 能夠在同一條物理鏈路上同時支援多種網路層協議。
  • 多種型別鏈路 —— 能夠在多種型別的鏈路上執行。
  • 差錯檢測 —— 能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。
  • 檢測連線狀態 —— 能夠及時自動檢測出鏈路是否處於正常工作狀態。
  • 最大傳送單元 —— 必須對每一種型別的點對點鏈路設定最大傳送單元 MTU 的標準預設值,促進各種實現之間的互操作性。
  • 網路層地址協商 —— 必須提供一種機制使通訊的兩個網路層實體能夠通過協商知道或能夠配置彼此的網路層地址。
  • 資料壓縮協商 —— 必須提供一種方法來協商使用資料壓縮演算法。
零位元填充
  • PPP 協議用在 SONET/SDH 鏈路時,使用同步傳輸(一連串的位元連續傳送)。這時 PPP 協議採用零位元填充方法來實現透明傳輸。
  • 在傳送端,只要發現有 5 個連續 1,則立即填入一個 0。
  • 接收端對幀中的位元流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除。

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

3.1區域網的資料鏈路層

  • 區域網最主要的特點是:

    • 網路為一個單位所擁有;
    • 地理範圍和站點數目均有限。
  • 區域網具有如下主要優點:

    • 具有廣播功能,從一個站點可很方便地訪問全網。

    • 區域網上的主機可共享連線在區域網上的各種硬體和軟體資源。

    • 便於系統的擴充套件和逐漸地演變,各裝置的位置可靈活調整和改變。提高了系統的可靠性、可用性和殘存性。

媒體共享技術
  • 頻分複用
  • 時分複用
  • 波分複用
  • 碼分複用

3.2 CSMA/CD協議

乙太網採取了兩種重要的措施

為了通訊的簡便,乙太網採取了兩種重要的措施:

  • 採用較為靈活的無連線的工作方式
    • 不必先建立連線就可以直接傳送資料。
    • 對傳送的資料幀不進行編號,也不要求對方發回確認。
    • 這樣做的理由是區域網通道的質量很好,因通道質量產生差錯的概率是很小的。
  • 乙太網傳送的資料都使用曼徹斯特 (Manchester) 編碼
乙太網提供的服務
  • 乙太網提供的服務是不可靠的交付,即盡最大努力的交付。
  • 當目的站收到有差錯的資料幀時就丟棄此幀,其他什麼也不做。差錯的糾正由高層來決定
  • 如果高層發現丟失了一些資料而進行重傳,但乙太網並不知道這是一個重傳的幀,而是當作一個新的資料幀來發送。
CSMA/CD協議
  • CSMA/CD 含義:載波監聽多點接入 / 碰撞檢測 (Carrier Sense Multiple Access with Collision Detection) 。
  • 多點接入”表示許多計算機以多點接入的方式連線在一根總線上。
  • 載波監聽”是指每一個站在傳送資料之前先要檢測一下總線上是否有其他計算機在傳送資料,如果有,則暫時不要傳送資料,以免發生碰撞。
  • 總線上並沒有什麼“載波”。因此, “載波監聽”就是用電子技術檢測總線上有沒有其他計算機發送的資料訊號。
碰撞檢測
  • “碰撞檢測”就是計算機邊傳送資料邊檢測通道上的訊號電壓大小。
  • 當幾個站同時在總線上傳送資料時,總線上的訊號電壓擺動值將會增大(互相疊加)。
  • 當一個站檢測到的訊號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在傳送資料,表明產生了碰撞。
  • 所謂“碰撞”就是發生了衝突。因此“碰撞檢測”也稱為“衝突檢測”。
檢測到碰撞後
  • 在發生碰撞時,總線上傳輸的訊號產生了嚴重的失真,無法從中恢復出有用的資訊來。
  • 每一個正在傳送資料的站,一旦發現總線上出現了碰撞,就要立即停止傳送,免得繼續浪費網路資源,然後等待一段隨機時間後再次傳送。
CSMA/CD 重要特性
  • 使用 CSMA/CD 協議的乙太網不能進行全雙工通訊而只能進行雙向交替通訊(半雙工通訊)。
  • 每個站在傳送資料之後的一小段時間內,存在著遭遇碰撞的可能性。
  • 這種傳送的不確定性使整個乙太網的平均通訊量遠小於乙太網的最高資料率。