天天看點

計算機資料鍊路層

Copyright©stonee

效率效率效率!

約定:本文是針對于《計算機網絡》第七版(謝希仁)中第三章的知識點總結,不适合單獨看,結合課本或者PPT中的圖檔複習更佳

1. 資料鍊路介紹

  • 資料鍊路層信道主要由點對點信道和廣播信道
  • 本章介紹有線區域網路中的資料鍊路,沒有無線區域網路
  • 鍊路是一條有線或者無線的從一個結點到相鄰結點的一段實體線路
  • 資料鍊路 = 實作協定的網絡擴充卡(硬體 + 軟體) + 鍊路
  • 幀是資料鍊路層的協定資料單元
三個基本問題
  • 封裝成幀
    • IP資料報傳到資料鍊路層會變成幀的資料部分,資料部分前後部分會加上幀首部和幀尾部。其作用是進行幀定界
    • 每一種資料鍊路層都規定了資料部分上限——MTU
  • 透明傳輸
    • 防止資料部分出現幀尾部的幀結束符,引入了轉義字元,使其變得透明
  • 差錯檢測
    • 資料鍊路層中的協定都有一個字段是為了幀校驗,廣泛使用的是CRC,循環備援校驗
    • 除了資料鍊路層,每一層都有差錯檢測,但是差錯檢測隻保證盡力傳遞,不保證可靠傳遞
    • CRC 是一種常用的檢錯方法,而 FCS 是添加在資料後面的備援碼
    • FCS 可以用 CRC 這種方法得出,但 CRC 并非用來獲得 FCS 的唯一方法

2. PPP

特點
  • 主要用于計算機和ISP進行通信時所使用的身份識别
  • 在滿足三個基本問題的基礎上,PPP協定還要滿足**簡單、支援多種網絡協定、可以在多種鍊路(串行,并行,同步,異步,電纜,光纜)**等條件
組成
  • PPP由三部分組成
    • 一種将IP資料報封裝到串行鍊路的方法
    • 一個用來建立,測試,配置資料鍊路連接配接的鍊路控制協定LCP
    • 一套網絡控制協定NCP
  • 協定格式(PPP是面向位元組的,長度都是整數位元組)
    • 首部四個字段,尾部2個字段
    • MTU = 1500
    • F(1) + A(1) + C(1) + 協定(2) + 資料(MTU) + FCS(2) + F (1)
    • F規定為0x7E,表示幀開始或結束
    • A和C沒用
    • 協定表示的是資料中用的協定,可能是IP,LCP,NCP
    • FCS即為CRC的備援碼
  • 當PPP使用異步傳輸的時候,轉義字元被定義為0x7D,并使用位元組填充,轉義字元被定為為0x7D,0x5D,7E被定義為0x7D, 0x5E
  • 當PPP使用同步傳輸的時候,使用零比特填充,有5個連續的1就填充0
  • 同步傳輸和異步傳輸差別
工作狀态
  • 首先使用者撥号接入ISP,建立一條實體連接配接
  • 使用者向ISP發送一系列鍊路控制協定LCP分組(這些被封裝成了PPP幀),建立LCP連接配接
  • 進行身份鑒别
  • 通過NCP給新接入的使用者配置設定臨時IP
  • 通信完畢後,NCP釋放網絡層連接配接,收回IP
  • LCP釋放資料鍊路層連接配接。最後釋放實體層連接配接

3. 以太網中的資料鍊路層

  • 區域網路可分為星形網、環形網、總線網
  • 區域網路具有廣播功能
  • 區域網路中需要用到共享信道
    • 靜态劃分信道:頻分複用等。不會産生沖突,但是這種代價較高
    • 動态媒體接入/多點接入:随機接入和受控接入。随機接入是重點
  • 現階段區域網路有兩種标準:IEEE802.3和以太網标準
  • 擴充卡
    • 計算機通過擴充卡和外界區域網路進行連接配接,網卡也是一種擴充卡
    • 擴充卡實作的功能既包括資料鍊路層也包括實體層
    • 資料鍊路層的協定基本是由擴充卡實作的
    • 擴充卡可以實作差錯檢驗,并進行串/并行轉換,通過驅動程式和作業系統互動,發送相應資料
    • MAC位址存在擴充卡的ROM中,IP位址存在計算機的存儲器中
  • 以太網中不保證可靠傳遞,使用無連接配接和曼徹斯特編碼,曼徹斯特編碼效率低
  • 一個站不能同時發送接收,隻能進行半雙工通信,是以CSMA/CD誕生了
CSMA/CD
  • 要點:多點接入、載波監聽、碰撞檢測
  • 電磁波在1km電纜的傳播時延約為5us
  • 步驟:
    • 發送之前,先檢測信道,即“載波監聽”,如果信道在96bit時間内保持空閑,擴充卡就開始發送資訊
    • 如果發送資訊過程中,經過2t之後還沒檢測到碰撞,那麼這次發送就肯定不會發生碰撞。這段時間稱為征用期
    • 如果在征用期内檢測到碰撞,則停止發送資料,并發送人為幹擾信号(32B或48B)來強化碰撞,執行二進制退避算法:基本退避時間是2t,争用期時間是51.2us,重傳時間推後r倍的争用期(r參考書),當重傳16次還不行的話,放棄并向上層報告
  • 擴充卡對過去發生的碰撞并無記憶功能
  • 為了防止幀很短小于512bit,使得檢測不到該幀的碰撞,是以最小幀應該大于64B,故隻要長度小于64B都是無效幀,應該丢棄
集線器
  • 集線器通過雙絞線将多個站點用星形拓撲連到一起,成為一個區域網路
  • 集線器工作在實體層,不進行碰撞檢測,它像很多接口的轉發器,單純轉發比特,少量容錯能力和網絡管理能力,不能進行幀緩存
  • 集線器中的各站點仍然使用CSMA/CD協定
以太網信道使用率算法
  • a = t/T 表明以太網連線長度不能太長,幀長度不能太短
  • S = 1/ (1 + a)
MAC
  • MAC位址段有兩種:6B和2B(本地管理),IEEE會配置設定前3B
  • 第一位元組的最低為為I/G位,決定了單點傳播,多點傳播和廣播
  • 第一位元組的倒數第二位是G/L位,決定本地管理和全球管理
  • MAC幀格式(以太網V2)
    • 首部3個字段,尾部1個字段
    • 目的位址(6B) + 源位址(6B) + 類型(2) + 資料(MTU) + FCS(4)
    • 目的位址之前還有一個前同步碼全為010101…直到11,其中,前7個位元組是前同步碼,後一個位元組是幀定界符
    • 因為資料幀最小為64B,MTU一般最大為1500,是以MAC幀長度為64-1500B
  • IEEE802.3
    • 當類型大于0x0600時,表示類型,小于該值時表示長度,需要在資料字段裝入LLC幀

4. 擴充以太網

從實體層擴充
  • 使用光纖和光纖數據機
  • 使用多個集線器或者轉發器
  • 雖然擴大了以太網的覆寫範圍,且使得不同碰撞域的一台網上的計算機可以跨碰撞域通信
  • 但是總的吞吐量并未提高,同時不能連接配接不同資料率的碰撞域
從資料鍊路層
  • 這種方法比從實體層擴充更常用,集線器逐漸退出市場
  • 最初通過網橋,對MAC位址進行轉發和過濾。之後誕生了一種交換式集線器,也叫交換機
  • 交換機是一個多接口的網橋
  • 交換機具有自學習的功能,可以進行幀緩存
  • 交換機即插即用,用硬體轉發,比用軟體轉發的網橋快很多
  • 以太網從總線型過渡到星形

交換機比集線器多了個緩存功能,這就使得通信不再沖突,達到全雙工

交換機分為存儲轉發方式和直通轉發方式

自學習:

  • 先查找交換表
  • 如果沒有則在交換表中新增這個項目(源位址,進入接口,有效時間),并轉發
  • 如果有則更新項目并轉發

為了防止兜圈子,産生了生成樹協定STP

VLAN
  • 每一個 VLAN 的幀都有一個明确的辨別符,指明發送這個幀的計算機是屬于哪一個 VLAN
  • 插入的辨別符為4位元組
  • 目的位址(6B) + 源位址(6B) + 标記(4B) + 類型(2) + 資料(MTU) + FCS(4)

5. 高速以太網

  • 快速以太網:100M/s + , 需要擴充卡和集線器/交換機,可全雙工
  • 吉比特以太網 :1G/s + ,可全雙工
    • 為了保證半雙工的64B最小幀長:增加了載波延伸和分組突發功能
  • 10吉比特以太網:10G/s + ,隻能全雙工
  • 用以太網進行寬帶接入
    • (此處意味着身份鑒别),就要把PPP協定裝到以太網中
    • 可以提供雙向寬帶通信
    • 不需要幀格式轉換

問題

  • PPP中哪個字段進行使用者檢驗
  • LCP 和 NCP 都屬于網絡層嗎
  • 具體的征用期時間51.2可以滿足2t嗎
    • 可以,端到端時延小于25.6us,即端到端小于5km
  • 集線器有增強信号的功能嗎
  • MAC幀怎麼沒有幀開始和幀結束

繼續閱讀