4、數據鏈路層1(計算機網絡筆記)

三、數據鏈路層

3.1 基本概念及基本問題

3.1.1基本概念

數據鏈路層的簡單模型

1

說明:本章我們只是關注數據鏈路層的傳輸,即僅從數據鏈路層觀察幀的流動。

  • 數據鏈路層的信道類型
    數據鏈路層使用的信道主要有以下兩種類型:
    1、點對點信道:這種信道使用一對一的點對點通信方式
    2、廣播信道:這種信道使用一對多的廣播通信方式,因此過程比較復雜。廣播信道上連接的主機很多,因此必須使用抓用的共享信道協議來協調這些主機的數據發送。

  • 鏈路與數據鏈路
    1、鏈路是一條點到點的物理線路段,中間沒有任何其他的交換結點。一條鏈路只是一條通路的一個組成部分。
    2、數據鏈路除了物理線路外,還必須有通信協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。現今最常用的方法是使用適配器(即網卡)來實現這些協議的硬件和軟件。一般的適配器都包括了數據鏈路層和物理層這兩層的功能。


  • 2

    說明:網絡層中傳遞過來的數據報加上幀頭和幀尾以及校驗之后就變為數據幀了。數據鏈路層就像一個數字管道,所以常常在兩個對等的數據鏈路層之間畫出一個數字管道,而在這條數字管道上傳輸的數據單位就是幀。

3.1.2 三個基本問題

  • 封裝成幀
    1、封裝成幀就是在一段數據的前后分別添加首部和尾部,然后就構成了一個幀。確定幀的界限。
    2、首部和尾部的一個重要作用就是進行幀定界。
    3

    下面看一個例子,用控制字符進行幀定界的方法
    4

    說明:試想,幀還未發送完,發送端出了問題,只能重發該幀。接收端卻收到了前面“半截子幀”,它會拋棄嗎?為什么?當然這里的開始和結束字符也可以是別的。
  • 透明傳輸

    5

    說明:若傳輸的數據是ASCII碼中“可打印字符(供95個)”集時,一切正常。若傳輸的數據不是僅由“可打印字符”組成時,就會出現問題,如圖所示。如果數據部分恰好包含了開始標記或者結束標記,如何告訴計算機?
    6

    說明:發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(其十六進制編碼是1B)。字節填充或字符填充:接收端的數據鏈路層在將數據送往網絡層之前刪除插入的轉義字符。如果轉義字符也出現在數據當中,那么應在轉義字符前插入一個轉義字符。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個。

  • 差錯控制
    傳輸過程中可能會產生比特差錯:1可能會變成0,而0也可能變成1。在一段時間內,傳輸錯誤的比特占所傳輸比特總數的比率稱為誤碼率BER(Bit Error Rate)。誤碼率與信噪比有很大關系。為了保證數據傳輸的可靠性,在計算機網絡傳輸數據時,必須采用各種差錯檢測措施。數據鏈路層中如果發現數據有誤會直接將其扔掉,而是否需要重發是由傳輸層來決定。

3.2 兩種情況下的數據鏈路層

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

  • PPP協議使用場合

    7

    說明:我們家用的電腦到路由器的那根線就是點對點,使用的是PPP協議。這是一個數據鏈路層的協議。現在全世界是有那個的最多的數據鏈路層協議是點對點協議PPP(Point-toPoint Protocol)。用戶使用撥號電話線接入Internet時,一般都是使用此協議。

  • PPP協議滿足的要求

    • 簡單:這是首要的要求
    • 封裝成幀
    • 透明性
    • 多種網絡協議:如TCP
    • 多種類型鏈路
    • 差錯檢測
    • 檢測連接狀態
    • 最大傳送單元
    • 網絡層地址協商
    • 數據壓縮協商
  • PPP協議不需要滿足的要求

    • 糾錯
    • 流量控制
    • 序號
    • 多點線路
    • 半雙工或單工鏈路
  • PPP協議的組成

    • 數據鏈路層協議可以用于異步串行或同步串行介質
    • 它使用LCP(鏈路控制協議)建立并維護數據鏈路連接,如身份驗證,計費
    • 網絡控制協議(NCP)允許在點到點連接上使用多種網絡協議,如圖所示
      8
  • PPP協議的幀格式

    9

    說明:其中A、C段是固定的,因為這是點對點,所以不需要地址。而FCS是幀檢驗序列。PPP是面向字節的,所有的PPP幀的長度都是整數字節。
    這里也會出現字節填充的問題:信息字段中出現了標志字段的值,可能會被誤認為是“標志”,怎么辦?

    • 將信息字段中出現的每個0x7E字節轉變成兩個字節序列(0x7D,0x5E
    • 若信息字段中出現一個0x7D的字節,則將其轉變成兩個字節序列(0x7D,0x5D
    • 若信息字段中出現ASCII碼的控制字符(即數值小于0x20的字符),則在該字符前面要加上一個0x7D字節,同時將該字符的編碼加以改變。

如果信息部分傳遞的不是上面所說的字節流,而是二進制流,則透明傳輸的問題需要使用零比特填充方法:PPP協議用在SONET/SDH鏈路時,是使用同步傳輸(一連串的比特連續傳送)。這時PPP協議采用零比特填充方法來實現透明傳輸。在發送端,只要發現有五個連續的1,則立即填入一個0。接收端對幀中的比特流進行掃描。每當發現五個連續1,就把這五個連續1后的一個0刪除。

10

  • PPP協議不使用序號和確認機制
    此協議之所以不適用序號和確認機制是出于一下考慮:

    • 在數據鏈路層出現差錯的概率不大時,使用比較簡單的PPP協議較為合理
    • Internet環境下,PPP的信息字段放入的數據是IP數據報。數據鏈路層的可靠傳輸并不能夠保證網絡層的傳輸頁式可靠的。比如在傳輸的過程中數據丟失了、有錯,這里是不會讓發送端重發的,如果有錯就扔掉。
    • 幀檢驗序列FCS字段可保證無差錯接受。
  • PPP協議的工作狀態
    當用戶撥號接入ISP時,路由器的調制解調器對撥號做出確認,并建立一條物理連接。PC機向路由器發送一系列的LCP分組(封裝成多個PPP幀)。這些分組及其響應的選擇一些PPP參數,和進行網絡層配置,NCP(網絡控制協議)給新接入的PC機分配一個臨時的IP地址,使PC機稱為Internet上的一個主機。通信完畢時,NCP釋放網絡層連接,收回原來分配出去的IP地址。接著,LCP釋放數據鏈路層連接。最后釋放的是物理層的連接。

3.2.2 使用廣播信道的數據鏈路層

局域網中使用廣播信道進行數據傳輸。

  • 共享通信媒體
    1、靜態劃分信道(太麻煩,一般不使用)
    頻分復用
    時分復用
    波分復用
    馬分復用
    2、動態媒體接入控制(多點接入)
    隨機接入(主要被以太網采用)
    受控接入,如多點線路探尋或輪詢(目前已不被采用)

  • 認識以太網
    最初的以太網是將許多計算機都連接到一根總線上。當初人為這樣的連接方法既簡單又可靠,因為總線上沒有源器件。

    11

    說明:這是正常情況下的情況,但是如果A計算機想要獲得相關數據,就可以使用一些抓包工具實現,這樣信息就不安全了。

  • 以太網使用CSMA/CD協議
    CSMA/CD表示載波監聽多點接入/碰撞檢測Carrier Sense Multiple Access with Collision Detection。“多點接入”表示許多計算機以多點接入的方式連接在一根總線上行。“載波監聽”是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞,就是用電子技術檢測總線上有沒有其他計算機發送的數據信號。

  • 碰撞檢測

    • 碰撞檢測就是計算機邊發送數據邊檢測信道上的信號電壓大小。
      1、當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)
      2、當一個站檢測到信號電壓擺動值超過一定的門限值時,就人為總線上至少有兩個站同時在發送數據,標明產生了碰撞。
      3、所謂“碰撞”就是發生了沖突。因此“碰撞檢測”也稱“沖突檢測”。
    • 檢測到碰撞后
      1、在發生碰撞時,總線上傳輸的信號產生了嚴重的失真,無法從中恢復出有用的信息來。
      2、每一個正在發送數據的站,一旦發現總線上出現了碰撞,就要立即停止發送,免得繼續浪費網絡資源,然后等待一段隨機時間后再次發送。
  • CSMA/CD協議的重要特性
    使用此協議的以太網不能進行全雙工通信而只能進行雙向交替通信(半雙工通信)。每個站在發送數據之后一小段時間內,存在著遭遇碰撞的可能性。這種發送的不確定性使整個以太網的平均通信量遠小于以太網的最高數據率。

  • 爭用期
    最先發送數據幀的站,在發送數據幀后至多經過時間2τ(兩倍的端到端時延)就可知道發送的數據幀是否遭到了碰撞。經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。
    爭用期
    1、以太網的端到端時延稱為爭用期或碰撞窗口。通常,取51.2μs為爭用期的長度。
    2、對于10Mb/s以太網,在爭用期內可發送512bit,即64字節
    3、以太網在發送數據時,若前64字節未發生沖突,則后續的數據就不會發生沖突
    最短有效幀長
    1、如果發生沖突,就一定是在發送的前64字節之內
    2、由于一檢測到沖突就立即中止發送,這時已經發送出去的數據一定小于64字節
    3、以太網規定了最短有效幀長為64字節,凡長度小于64字節的幀都是由于沖突而異常中止的無效幀。

  • 二進制指數類型退避算法
    發生碰撞的站在停止發送數據后,要推遲(退避)一個隨機時間才能再發送數據

    • 確定基本退避時間,一般是取為爭用期
    • 確定參數k,k = Min[重傳次數, 10]
    • 從整數集合[0, 1, ......, (2^k-1)]中隨機地取出一個數,記為r。重傳所需的時延就是r倍的基本退避時間
    • 當重傳達16次仍不能成功時即丟棄該幀,并向高層報告。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容