3.1 使用點對點信道的數據鏈路層
數據鏈路層使用的信道主要有以下兩種類型:
(1)點對點信道:使用一對一的點對點通信方式。
(2)廣播信道:一對多的廣播通信方式,因此必須使用專用的共享信道協議來協調這些主機的數據發送。
3.1.1 數據鏈路和幀
(1)鏈路:一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。一條鏈路只是一條通路的一個組成部分。
(2)數據鏈路: 除了物理線路外,還要把實現通信協議的硬件和軟件加到鏈路上,就構成了數據鏈路。(鏈路+協議)
3.1.2 三個基本問題
(1)封裝成幀:在一段數據的前後分別添加首部和尾部,然後就構成了一個幀。
首部和尾部的一個重要作用就是進行幀定界。
控制字符 SOH (Start Of Header) 放在一幀的最前面,表示幀的首部開始。另一個控制字符 EOT (End Of Transmission) 表示幀的結束。
(2)透明傳輸:無論發送什麼樣的比特組合的數據,這些數據都能夠按照原樣沒有差錯地通過這個數據鏈路層。
如果數據中的某個字節的二進制代碼恰好和 SOH 或 EOT 一樣,數據鏈路層就會錯誤地“找到幀的邊界”。
解決方法:字節填充或字符填充
I.發送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC”(其十六進制編碼是1B)。
II.接收端的數據鏈路層在將數據送往網絡層之前刪除插入的轉義字符。
III.如果轉義字符也出現在數據當中,那麼應在轉義字符前面插入一個轉義字符 ESC。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個。
(3)差錯檢測:在傳輸過程中可能會產生比特差錯:1 可能會變成 0, 而 0 也可能變成 1。
①循環冗餘檢驗的原理:在發送端,先把數據劃分爲組。假定每組 k 個比特。 在每組 M 後面再添加供差錯檢測用的 n 位冗餘碼,然後一起發送出去。
②冗餘碼的計算:用二進制的模 2 運算進行 2n 乘 M 的運算,這相當於在 M 後面添加 n 個 0。得到的 (k + n) 位的數除以事先選定好的長度爲 (n + 1) 位的除數 P,得出商是 Q 而餘數是 R,餘數 R 比除數 P 少 1 位,即 R 是 n 位。
舉例:現在 k = 6, M = 101001。設 n = 3, 除數 P = 1101,被除數是 2nM = 101001000。
計算結果爲商 Q = 110101,餘數 R = 001。把餘數 R 作爲冗餘碼添加在數據 M 的後面發送出去。發送的數據是:2nM + R,即:101001001,共 (k + n) 位。
計算的時候注意各位對齊,還有記得是模2運算!!!
③接收端對收到的每一幀進行 CRC 檢驗
但這種檢測方法並不能確定究竟是哪一個或哪幾個比特出現了差錯。只要經過嚴格的挑選,並使用位數足夠多的除數 P,那麼出現檢測不到的差錯的概率就很小很小。
④幀檢驗序列 FCS:在數據後面添加上的冗餘碼
循環冗餘檢驗 CRC 和幀檢驗序列 FCS 並不等同。CRC 是一種常用的檢錯方法,而 FCS 是添加在數據後面的冗餘碼。FCS 可以用 CRC 這種方法得出,但 CRC 並非用來獲得 FCS 的唯一方法。
注意:僅用循環冗餘檢驗 CRC 差錯檢測技術只能做到無差錯接受,而不能實現無差錯傳輸,本章介紹的數據鏈路層協議都不是可靠傳輸的協議。
3.2 點對點協議PPP
3.2.1 PPP協議的特點
(1)PPP 協議應滿足的需求
①簡單 —— 這是首要的要求。
②封裝成幀 —— 必須規定特殊的字符作爲幀定界符。
③透明性 —— 必須保證數據傳輸的透明性。
④多種網絡層協議 —— 能夠在同一條物理鏈路上同時支持多種網絡層協議。
⑤多種類型鏈路 —— 能夠在多種類型的鏈路上運行。
⑥差錯檢測 —— 能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。
⑦檢測連接狀態 —— 能夠及時自動檢測出鏈路是否處於正常工作狀態。
⑧最大傳送單元 —— 必須對每一種類型的點對點鏈路設置最大傳送單元 MTU 的標準默認值,促進各種實現之間的互操作性。
⑨網絡層地址協商 —— 必須提供一種機制使通信的兩個網絡層實體能夠通過協商知道或能夠配置彼此的網絡層地址。
⑩數據壓縮協商 —— 必須提供一種方法來協商使用數據壓縮算法。
(2)PPP 協議的組成
①一個將 IP 數據報封裝到串行鏈路的方法。
②鏈路控制協議 LCP 。
③網絡控制協議 NCP。
3.2.2 PPP協議的幀格式
(1)各字段的意義
PPP 幀的首部和尾部分別爲 4 個字段和 2 個字段。標誌字段 F = 0x7E。地址字段 A 只置爲 0xFF。地址字段實際上並不起作用。控制字段 C 通常置爲 0x03。
PPP 是面向字節的,所有的 PPP 幀的長度都是整數字節。
(2)字節填充
①將信息字段中出現的每一個 0x7E 字節轉變成爲 2 字節序列 (0x7D, 0x5E)。
②若信息字段中出現一個 0x7D 的字節, 則將其轉變成爲 2 字節序列 (0x7D, 0x5D)。
③若信息字段中出現 ASCII 碼的控制字符(即數值小於 0x20 的字符),則在該字符前面要加入一個 0x7D 字節,同時將該字符的編碼加以改變。
(3)零比特填充
在發送端,只要發現有 5 個連續 1,則立即填入一個 0。接收端對幀中的比特流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除。
3.2.3 PPP協議的工作狀態
3.3 使用廣播信道的數據鏈路層
3.3.1 局域網的數據鏈路層
(1)局域網最主要的特點
①網絡爲一個單位所擁有;
②地理範圍和站點數目均有限。
(2)局域網具有如下主要優點
①具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源。
②便於系統的擴展和逐漸地演變,各設備的位置可靈活調整和改變。
③提高了系統的可靠性、可用性和生存性。
(3)局域網拓撲結構
(4)媒體共享技術
①靜態劃分信道:頻分複用、時分複用、波分複用和碼分複用 。
②動態媒體接入控制(多點接入):隨機接入和受控接入。
(5)以太網的兩個標準 :DIX Ethernet V2 和 IEEE 802.3 。
(6)數據鏈路層的兩個子層:邏輯鏈路控制 LLC (Logical Link Control)子層和媒體接入控制 MAC (Medium Access Control)子層。
(7)適配器的作用
①網絡接口板又稱爲通信適配器或網絡接口卡 NIC (Network Interface Card),或“網卡”。
②適配器的重要功能:進行串行/並行轉換、對數據進行緩存、在計算機的操作系統安裝設備驅動程序和實現以太網協議。
3.3.2 CSMA/CD協議
(1)以太網採取兩種重要的措施
①採用較爲靈活的無連接的工作方式
②以太網發送的數據都使用曼徹斯特編碼
(2)多點接入:許多計算機以多點接入的方式連接在一根總線上。
(3)載波監聽:每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不要發送數據,以免發生碰撞。
(4)碰撞檢測:計算機邊發送數據邊檢測信道上的信號電壓大小。檢測到碰撞後,立即停止發送,免得繼續浪費網絡資源,然後等待一段隨機時間後再次發送。
(5)爭用期(碰撞窗口)
最先發送數據幀的站,在發送數據幀後至多經過時間 2τ(兩倍的端到端往返時延)就可知道發送的數據幀是否遭受了碰撞。
以下內容是真的沒有看懂,之後多看點別的再來修改。
(6)二進制指數類型退避算法
當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。
(7)10 Mbit/s 以太網爭用期的長度
10 Mbit/s 以太網取 51.2 μs 爲爭用期的長度。
(8)最短有效幀長
以太網規定了最短有效幀長爲 64 字節,凡長度小於 64 字節的幀都是由於衝突而異常中止的無效幀。
(9)覆蓋範圍
在 10 Mbit/s 以太網 51.2 μs 的爭用期內,信號能傳輸5 km。
(10)幀間最小間隔
幀間最小間隔爲 9.6 μs,相當於 96 bit 的發送時間。
(11)CSMA/CD協議的重要特性
①使用 CSMA/CD 協議的以太網不能進行全雙工通信而只能進行雙向交替通信(半雙工通信)。
②每個站在發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。
③這種發送的不確定性使整個以太網的平均通信量遠小於以太網的最高數據率。
3.3.3 使用集線器的星形拓撲
(1)星形以太網 10BASE-T
(2)集線器的一些特點
①集線器是使用電子器件來模擬實際電纜線的工作,因此整個系統仍然像一個傳統的以太網那樣運行。
②使用集線器的以太網在邏輯上仍是一個總線網,各工作站使用的還是 CSMA/CD 協議,並共享邏輯上的總線。
③集線器很像一個多接口的轉發器,工作在物理層。
④集線器採用了專門的芯片,進行自適應串音回波抵消,減少了近端串音。
3.3.4 以太網的信道利用率
(1)設幀長爲 L (bit),數據發送速率爲 C (bit/s),則幀的發送時間爲 T0 = L/C (s)。
一個站在發送幀時出現了碰撞。經過一個爭用期 2τ 後,可能又出現了碰撞。這樣經過若干個爭用期後,一個站發送成功了。假定發送幀需要的時間是 T0。
(2)參數 a 與利用率
在以太網中定義了參數 a ,它是以太網單程端到端時延 與幀的發送時間 T0 之比:
①a → 0,表示一發生碰撞就立即可以檢測出來, 並立即停止發送,因而信道利用率很高。
②a 越大,表明爭用期所佔的比例增大,每發生一次碰撞就浪費許多信道資源,使得信道利用率明顯降低。
(3)對以太網參數 a 的要求
爲提高利用率,以太網的參數 a 的值應當儘可能小些。
①當數據率一定時,以太網的連線的長度受到限制,否則 τ 的數值會太大。
②以太網的幀長不能太短,否則 T0 的值會太小,使 a 值太大。
(4)信道利用率的最大值 Smax
發送一幀佔用線路的時間是 T0 + τ ,而幀本身的發送時間是 T0。於是,我們可計算出理想情況下的極限信道利用率 Smax 爲:
①只有當參數 a 遠小於 1 才能得到儘可能高的極限信道利用率。
②據統計,當以太網的利用率達到 30% 時就已經處於重載的情況。很多的網絡容量被網上的碰撞消耗掉了。
3.3.5 以太網的MAC層
(1)MAC層的硬件地址
在局域網中,硬件地址又稱爲物理地址,或 MAC 地址。
①單站地址,組地址,廣播地址
IEEE 規定地址字段的第一字節的最低位爲 I/G 位。I/G 表示 Individual / Group。
當 I/G 位 = 0 時,地址字段表示一個單站地址。當 I/G 位 = 1 時,表示組地址。當 I/G 位分別爲 0 和 1 時,一個地址塊可分別生成 223 個單個站地址和 223 個組地址。所有 48 位都爲 1 時,爲廣播地址。只能作爲目的地址使用。
②全球管理與本地管理
IEEE 把地址字段第一字節的最低第 2 位規定爲 G/L 位,表示 Global / Local。
當 G/L 位 = 0 時,是全球管理(保證在全球沒有相同的地址),廠商向 IEEE 購買的 OUI 都屬於全球管理。當 G/L 位 = 1 時, 是本地管理,這時用戶可任意分配網絡上的地址。
③適配器檢查 MAC 地址
適配器從網絡上每收到一個 MAC 幀就首先用硬件檢查 MAC 幀中的 MAC 地址。
如果是發往本站的幀則收下,然後再進行其他的處理。否則就將此幀丟棄,不再進行其他的處理。(“發往本站的幀”包括以下三種幀: 單播幀(一對一)、廣播幀(一對全體)和多播幀(一對多))
④所有的適配器都至少能夠識別前兩種幀,即能夠識別單播地址和廣播地址。有的適配器可用編程方法識別多播地址。只有目的地址才能使用廣播地址和多播地址。以混雜方式 工作的以太網適配器只要“聽到”有幀在以太網上傳輸就都接收下來。
(2)MAC幀的格式:DIX Ethernet V2 標準和IEEE 的 802.3 標準
最常用的 MAC 幀是以太網 V2 的格式。
①類型字段用來標誌上一層使用的是什麼協議,以便把收到的 MAC 幀的數據上交給上一層的這個協議。
②數據字段的正式名稱是 MAC 客戶數據字段。最小長度 64 字節 - 18 字節的首部和尾部 = 數據字段的最小長度(46字節)
③當傳輸媒體的誤碼率爲 1x10-8 時,MAC 子層可使未檢測到的差錯小於 1x10-14 。
④當數據字段的長度小於 46 字節時,應在數據字段的後面加入整數字節的填充字段,以保證以太網的 MAC 幀長不小於 64 字節。
⑤在幀的前面插入(硬件生成)的 8 字節中,第一個字段共 7 個字節,是前同步碼,用來迅速實現 MAC 幀的比特同步。第二個字段 1 個字節是幀開始定界符,表示後面的信息就是 MAC 幀。
(3)無效的MAC幀
①數據字段的長度與長度字段的值不一致;
②幀的長度不是整數個字節;
③用收到的幀檢驗序列 FCS 查出有差錯;
④數據字段的長度不在 46 ~ 1500 字節之間;
⑤有效的 MAC 幀長度爲 64 ~ 1518 字節之間。
(4)IEEE 802.3 MAC 幀格式
與以太網 V2 MAC 幀格式相似,區別在於:
①IEEE 802.3 規定的 MAC 幀的第三個字段是“長度 / 類型”。
當這個字段值大於 0x0600 時(相當於十進制的 1536),就表示“類型”。這樣的幀和以太網 V2 MAC 幀完全一樣。當這個字段值小於 0x0600 時才表示“長度”。
②當“長度/類型”字段值小於 0x0600 時,數據字段必須裝入上面的邏輯鏈路控制 LLC 子層的 LLC 幀。
(5)幀間最小間隔
幀間最小間隔爲 9.6 μs,相當於 96 bit 的發送時間。
3.4 擴展的以太網
3.4.1 在物理層擴展以太網
使用集線器擴展:將多個以太網段連成更大的、多級星形結構的以太網。
(1)優點:
①使原來屬於不同碰撞域的以太網上的計算機能夠進行跨碰撞域的通信。
②擴大了以太網覆蓋的地理範圍。
(2)缺點:
①碰撞域增大了,但總的吞吐量並未提高。
②如果不同的碰撞域使用不同的數據率,那麼就不能用集線器將它們互連起來。
3.4.2 在數據鏈路層擴展以太網
(1)網橋:網橋工作在數據鏈路層。它根據 MAC 幀的目的地址對收到的幀進行轉發和過濾。
當網橋收到一個幀時,並不是向所有的接口轉發此幀,而是先檢查此幀的目的 MAC 地址,然後再確定將該幀轉發到哪一個接口,或把它丟棄。
(2)交換機:多接口的網橋
①特點:每個接口都直接與一個單臺主機或另一個以太網交換機相連,並且一般都工作在全雙工方式。以太網交換機具有並行性。能同時連通多對接口,使多對主機能同時通信。
②交換方式:存儲轉發方式和直通方式
③自學習功能
④生成樹協議:不改變網絡的實際拓撲,但在邏輯上則切斷某些鏈路,使得從一臺主機到所有其他主機的路徑是無環路的樹狀結構,從而消除了兜圈子現象。
(3)從總線以太網到星形以太網
總線以太網:所有計算機都處於同一個碰撞域(或衝突域)中和同一個廣播域中。
星形以太網:每個接口都處於一個獨立的碰撞域(或衝突域)中,但所有計算機都處於同一個廣播域中。
3.4.3 虛擬局域網
虛擬局域網 VLAN 是由一些局域網網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。虛擬局域網其實只是局域網給用戶提供的一種服務,而並不是一種新型局域網。
①優點:改善了性能,簡化了管理,降低了成本,改善了安全性。
②虛擬局域網使用的以太網幀格式
3.5 高速以太網
速率達到或超過 100 Mbit/s 的以太網稱爲高速以太網。
3.5.1 100BASE-T以太網
(1)特點
①可在全雙工方式下工作而無衝突發生。在全雙工方式下工作時,不使用 CSMA/CD 協議。
②MAC 幀格式仍然是 802.3 標準規定的。
③保持最短幀長不變,但將一個網段的最大電纜長度減小到 100 米。
④幀間時間間隔從原來的 9.6 μs 改爲現在的 0.96 μs 。
(2)100 Mbit/s 以太網的三種不同的物理層標準
3.5.2 吉比特以太網
(1)特點
①允許在 1 Gbit/s 下以全雙工和半雙工兩種方式工作。
②使用 IEEE 802.3 協議規定的幀格式。
③在半雙工方式下使用 CSMA/CD 協議,全雙工方式不使用 CSMA/CD 協議。
④與 10BASE-T 和 100BASE-T 技術向後兼容。
(2)吉比特以太網的物理層
(3)載波延伸
使最短幀長仍爲 64 字節(這樣可以保持兼容性),同時將爭用時間增大爲 512 字節。凡發送的 MAC 幀長不足 512 字節時,就用一些特殊字符填充在幀的後面,使MAC 幀的發送長度增大到 512 字節。接收端在收到以太網的 MAC 幀後,要將所填充的特殊字符刪除後才向高層交付。
(4)分組突發
當很多短幀要發送時,第一個短幀要採用載波延伸方法進行填充,隨後的一些短幀則可一個接一個地發送,只需留有必要的幀間最小間隔即可。這樣就形成可一串分組的突發,直到達到 1500 字節或稍多一些爲止。
當吉比特以太網工作在全雙工方式時(即通信雙方可同時進行發送和接收數據),不使用載波延伸和分組突發。
3.5.3 10吉比特以太網(10GE)和更快的以太網
(1)特點
①與 10 Mbit/s、100 Mbit/s 和 1 Gbit/s 以太網的幀格式完全相同。
②保留了 802.3 標準規定的以太網最小和最大幀長,便於升級。
③不再使用銅線而只使用光纖作爲傳輸媒體。
④只工作在全雙工方式,因此沒有爭用問題,也不使用 CSMA/CD 協議。
(2)端到端的以太網傳輸
以太網的工作範圍已經從局域網(校園網、企業網)擴大到城域網和廣域網,從而實現了端到端的以太網傳輸。
好處:
①技術成熟;
②互操作性很好;
③在廣域網中使用以太網時價格便宜;
④採用統一的以太網幀格式,簡化了操作和管理。
3.5.4 使用以太網進行寬帶接入
(1)特點
①可以提供雙向的寬帶通信。
②可以根據用戶對帶寬的需求靈活地進行帶寬升級。
③可以實現端到端的以太網傳輸,中間不需要再進行幀格式的轉換。這就提高了數據的傳輸效率且降低了傳輸的成本。
④但是不支持用戶身份鑑別。
(2)PPPoE
PPPoE (PPP over Ethernet) 的意思是“在以太網上運行 PPP”,它把 PPP 協議與以太網協議結合起來 —— 將 PPP 幀再封裝到以太網中來傳輸。
小結
本章主要是講數據鏈路層。相比之前的物理層,數據鏈路層就開始要兼顧上下的兼容,通過各種協議進行通信。內容是真的越來越多了,計算機網絡學習的困難之處可能就是因爲知識點有點多吧。