1. 程式人生 > >【計算機網路】CH3.資料鏈路層

【計算機網路】CH3.資料鏈路層

資料鏈路層

  • 組幀
  • 差錯控制
  • 流量控制與可靠傳輸機制
  • 介質訪問控制
  • 區域網
  • 廣域網
  • 資料鏈路層裝置

組幀

  • 字元計數法:計數字段提供的位元組數包含自身所佔的一個位元組
  • 位元組填充的首尾界符法:字元SOH代表Smart of Header(首部開始),EOT代表End of Transmission(傳輸結束)。SOH和EOT都是ASCII碼中的控制字元。SOH的十六進位制編碼是01,EOT是04,ESC的十六進位制編碼是1B。不要誤認為SOH是“S”“O""H"三個字元。PPP幀用來幀定界的欄位為0x7E。
  • 位元填充的首尾標誌法
  • 位元組填充的首尾界符法時,不是所有形式的幀都要開始符和幀結束符,如MAC幀不需要結束符。因為乙太網傳輸幀的時候,各幀間還必須有一定的間隙,所有接收端只要找到幀開始定界符,可見乙太網不需要使用幀結束定界符,不需要使用位元組插入來保證透明傳輸。

差錯控制

檢錯編碼

  • 垂直奇偶校驗、水平奇偶校驗、水平垂直奇偶校驗。
  • 迴圈冗餘碼(CRC)
    • 掌握二進位制除法
    • CRC進行檢錯的重要特性:
      • 具有r檢測位的多項式能檢測出所有小於或等於r的突發錯誤。
      • 長度大於r+1的錯誤逃脫概率為1/2^r
    • CRC有糾錯功能但預設CRC為檢錯碼。
      詳細介紹:CRC演算法的簡單說明

糾錯編碼-海明碼

  • 在資訊欄位中插入若干位資料,用於監督碼字裡的哪一位資料發生了變化,具有一位糾錯能力。假設資訊位有k位,整個碼字的長度是k+r位;每一位的資料只有2種狀態,r位資料就有2^r種狀態。如果每種一狀態代表一個碼元發生了錯誤,有k+r位碼元,要有k+r位來表示,另外還要有一種狀態表示資料正確的情況,所以檢查一位錯誤的條件:2 ^ r >= k + r + 1.
  • 編寫海明碼的過程:
    • 確定校驗位的位數
    • 把數值按序寫出來,M1,M2…Mn,校驗碼Pi(i取1,2,3…)在編碼中的位置為2^(i-1),把校驗位的位置寫出來,按序寫出資料位
    • 求出出錯位e1,e2,…em與M1,M2…Mn的對應關係,然後可以寫出Pi與資料位的對應關係,進而求出Pi。
    • 最後將Pi填入資料位,海明碼就形成了。
  • 校驗海明碼的過程
    • 直接寫出出錯位e1,e2…em與M1,M2…Mn的對應關係,計算e1,e2…em的值。
    • 求出二進位制序列em,e(m-1)……e1對應十進位制的值,則此十進位制數就是出錯的位數,取反即可得到正確的編碼。
  • 海明碼如果要檢測出d位錯誤,需要一個海明距為d+1的編碼方案;如果要糾正d位錯誤,需要一個海明距為2d+1的編碼方案。海明碼糾錯能力恆小於或等於檢錯能力。
  • 誤位元速率和信噪比有關:信噪比越高,失真越小,到達接收端波形變化小,自然誤位元速率低

流量控制與可靠傳輸機制

流量控制

  • 停止-等待流量控制:傳送方發出一幀,等待應答訊號到達再發送另一幀,如果接收方不應答,傳送方必須一直等待。
  • 滑動視窗流量控制:接受視窗大小與傳送視窗無關。

滑動視窗機制

  • 只有在接受視窗向前滑動時(以此同時也傳送了確認),傳送窗口才有可能向前滑動。
  • 可靠傳輸機制包括停止-等待協議、後退N幀協議和選擇重傳協議。從滑動視窗的層次看,這三種協議只是在傳送視窗和接受視窗大小上有差別。
  • 當接受視窗為1時,一定可以保證幀按序接受。

停止-等待協議

  • 怎麼實現可靠傳輸:傳送方傳送什麼,接受方就接受什麼,使用_確認(傳送確認幀)_和_超時重傳_兩種機制共同完成。
  • 捎帶確認和累計確認:每兩個傳送資料的站都是通過全雙工連線的。
  • 停止-等待協議:傳送方傳輸一個幀後,必須等待對方的確認才可以傳送下一幀。規定時間沒有收到確認,則傳送方超時,重傳原始幀。
    • 第一類錯誤是資料幀被損壞或者丟失。
    • 第二類錯誤是確認幀被破壞或者丟失:對於接收方而要,需要有能夠區別某一幀是新幀還是重複幀的能力。讓傳送方在每個待發的幀頭部加一個編號,接收方歲每個到達的幀的編號進行識別,判斷是新幀還是重複幀。

後退N幀(GBN)協議

  • 基於滑動視窗流量控制技術。如果採用n個位元對幀進行編號,其傳送視窗的尺寸W必須滿足1<=W<=2 n-1.接受視窗尺寸為1.如果傳送視窗尺寸大於2n-1,會造成接收方無法分辨新、舊資料幀。
  • 基本原理:如果某個幀出錯了,接收方只能簡單的丟棄該幀及其所有的後續幀。傳送方超時後需要重發該出錯幀及其後續的所有幀。
  • 減少了等待時間時系統吞吐量提高,但是錯誤幀會造成一定浪費,改進得到選擇重傳協議。

選擇重傳(SR)協議

  • 基本思想:若一幀出錯,其後續幀先存入接收方的快取區中,如是要求傳送方重傳出錯幀,一旦受到重傳幀後,和原先存在緩衝區的其餘幀一起按正確的順序送至主機。提高通道利用率但增加了緩衝空間
  • 若採用n個位元對幀進行編號,為了避免接收端向前移動視窗後新接受視窗和舊接受視窗重疊,傳送視窗的最大尺寸應該不超過序列號範圍的一半:W<=2^(n-1)。
  • 傳送視窗最好不要超過接受視窗,通常情況下是等於。
  • 傳送快取和接受快取:按序到達且沒有被交付給主機的幀被放在接受快取裡面而不是接受窗口裡面。那些不是時序到達的資料且沒有錯誤的幀一定是在接受窗口裡面,因為這些幀不能直接給主機,而放在接受快取的幀是要給主機的,等缺少的幀收到後,再一起放到接受快取。

介質訪問控制

通道劃分介質訪問控制

多路複用技術的基本概念:當傳輸介質的頻寬超過了傳輸單個訊號所需的頻寬,人們就通過在一條介質上同時攜帶多個傳輸訊號的方法來提高傳輸系統的利用率,這就是所謂的多路複用,也是實現通道劃分介質訪問控制的途徑。

  • 頻分多路複用:將一條通道分割成多條不同頻率的通道。注意:每個子通道分配的貸款可以不同,總和不可以超過通道總頻寬。防止子通道的干擾,相鄰通道要加入保護帶。
  • 時分多路複用:同步時分複用;統計時分複用是一種動態的時間分配,同時是非同步的。
  • 波分多路複用:光的頻分多路複用,在一根光纖中傳輸多種不同頻率(波長)的光訊號,最後用分波器將各路波長不一樣的光分解出來
  • 碼分多路複用:又叫分碼多重進接(CDMA),工作在物理層,不存在對資料幀進行確認。既共享通道的頻率,又共享時間,是一種真正動態複用技術。抗干擾能力強、保密性強、語音質量好。

隨機訪問介質訪問控制

動態劃分通道分為隨機接入和受控接入。隨機接入指所有使用者可以根據自己的意願隨機的傳送資訊,會產生碰撞,為了解決從而引入CSMA/CD等協議。受控接入就是不能隨機的傳送資料,一定要得到某種東西才有權傳送資料

  • ALOHA協議
    • 純ALOHA協議:不進行任何檢測就傳送資料,一段時間內沒有收到確認,則等待一段隨機時間後再發送資料知道傳送成功。簡單但是效能尤其是通道利用率不理想。
    • 時分ALOHA:所有結點的時間被劃為間隔相同的時隙(Slot),規定每個節點只有等到下一個時隙到來時才可傳送資料。
  • CSMA協議(載波偵聽多路訪問)
    • 1-堅持CSMA:傳送結點監聽到通道空閒時,立即傳送資料,否則繼續監聽。
    • p-堅持CSMA:傳送結點監聽到通道空閒時,以概率p傳送資料,以概率(1-p)延遲一段時間並重新監聽
    • 非堅持CSMA:當傳送結點一旦監聽到通道空閒時,立即傳送資料,否則延遲一段隨機的時間再重新監聽
  • CSDA/CD(帶衝突監測的載波偵聽多路訪問協議):
    • 傳送站點傳輸的過程中仍繼續監聽通道,以檢測是否存在衝突。如果有衝突,通道上可以檢測到超過傳送站點本身傳送的載波訊號的幅度,判斷出衝突的存在,採用截斷二進位制指數型別退避演算法來等待一個隨機的時間再重發,並向總線上發一串阻塞訊號,用以通知總線上其他站點。提高了匯流排的利用率。
    • 爭用期:乙太網端到端的往返時延,只有經過爭用期這段時間還沒有檢測到衝突,才能肯定這次傳送不會發生後從圖。
    • 截斷二進位制指數型別退避演算法:解決了站點檢測到衝突後繼續等待的時間問題。
      • 確定基本退避時間,一般等於爭用期
      • 定義重傳引數k,k=min[重傳次數,10]
      • 當整數集合{0,1,…,(2^k)-1}中隨機選擇一個數記為r,重傳所需時延就是r倍的基本退避時間。
      • 當重傳次數達到十六次仍不成功,說明網路擁擠,丟棄該幀並向上層彙報。
  • CSMA/CA協議:檢查接收方是否發回幀的確認。

輪詢訪問介質訪問控制

令牌傳遞協議

區域網

區域網基本概念和體系結構

  • 區域網(Local Area Network,LAN)指一個小範圍內的多臺計算機或者其他通訊裝置,通過雙絞線、同軸電纜等連線介質互連起來,以達到資源和資訊共享目的的網際網路絡。
  • 區域網最主要的特點

    • 區域網為一個單位所擁有。
    • 地理範圍和站點數目有限
    • 區域網有較高的資料率、較低的時延和較小的誤位元速率。
  • 區域網的主要優點

    • 具有廣播功能
    • 便於系統的擴充套件與演變,各裝置的位置可靈活的調整和改變
    • 提高了系統的可靠性、可用性
    • 各站為平等關係而不是主從關係
  • 區域網主要技術要素

    • 網路拓撲結構、傳輸介質與介質訪問控制方法。
    • 介質訪問方法是最重要的技術要素,決定著區域網的技術特性。
  • 區域網的主要介質訪問控制方法

    • CSMA/CD、令牌匯流排和令牌環,前兩種作用於匯流排型網,令牌環作用於環型網
    • IEEE的802標準將資料鏈路層拆分成兩個子層:邏輯鏈路控制(LLC)子層和媒體接入控制(MAC)子層,與接入到傳輸媒體有關的內容都放在MAC子層。

乙太網的工作原理

乙太網使用匯流排拓撲結構,所有計算機都共享一條匯流排,資訊以廣播形式傳送。使用CSMA/CD技術對匯流排進行訪問控制。考慮到區域網通道質量好,乙太網採取以下兩項重要措施使通訊更加方便

  • 採用無連線的工作方式
  • 不對傳送的資料幀進行編號,也不要求對傳送方傳送確認。

乙太網的MAC幀

每塊網絡卡出廠即被賦予一個全球唯一的MAC地址,被固化在網絡卡的ROM中,共48bit,高24bit為廠商程式碼,低24bit為廠商自行分配的網絡卡序列號。MAC幀的DIX Ethernet V2標準格式

  • 前導碼:在幀前面插入8B,使接收端與傳送端進行時鐘同步。分為前同步碼(7B)和幀開始定界符(1B)。
  • 目的地址、源地址:均使用48bit(6B)的MAC地址。
  • 型別:2B,指出資料與攜帶的資料應交給哪個協議主體處理。
  • 資料:46-1500B
  • 填充:0-46B
  • 校驗碼(FCS):4B,採用迴圈冗餘碼,不但需要校驗MAC幀的資料部分,還要校驗目的地址、源地址和型別欄位,但是_不校驗前導碼_。

高速乙太網

  • 100Base-T乙太網:在雙絞線上傳送100Mbit/s基帶訊號的星形拓撲結構乙太網,使用CSMA/CD協議,又叫做快速乙太網。保持最短幀長不變,將一個網段的最大電纜長度減小到100m,幀間時間間隔從原來的9.6ms轉到現在的0.96ms。

  • 吉位元乙太網(千兆以外網):載波延伸,分組突發

    • 允許在1Gbit/s下全雙工和半雙工兩種方式工作。
    • 在半雙工下使用CSDA/CD 協議,全雙工方式不需要使用CSMA/CD協議
  • 10吉位元乙太網

    • 保留了IEEE802.3標準規定的乙太網幀格式、最小最大幀長,以便升級
    • 不使用銅線而是光纖作為傳輸介質
    • 只工作在全雙工方式下

無線區域網

  • 無線區域網的組成

    • 有固定基礎設施的無線區域網的組成
    • 無固定基礎設施的無線區域網的組成
  • IEEE 802.11標準中的物理層實現方法

    • 跳頻擴頻(FHSS)
    • 直接序列擴頻(DSS)
    • 紅外線(IR)
  • IEEE 802.11標準中的MAC層

    • MAC層在物理層上面,包括兩個子層,依次為分佈協調功能(DCF)子層和點協調功能(PCF)子層。
    • CDMA/CD協議對無線區域網進行衝突檢測花費過大且衝突檢測到通道空閒後仍可能發生衝突,因此在無線區域網的MAC層中,使用的是帶有碰撞避免功能的CSMA/CA協議,同時增加了_確認機制_。

令牌環網的工作原理

令牌是一種特殊的MAC幀,幀中有一個標誌令牌(忙/閒)。令牌總是沿著物理環單向逐站傳送,傳送順序與結點在環中排列順序相同。令牌和資料排列順序如下

  • 網路空閒時,環路中只有令牌在網路中迴圈傳遞
  • 令牌傳送到有資料要傳送的節點處,該結點就修改令牌中的一個標誌位,在令牌中附加自己需要傳輸的資料,令牌被改成了一個數據幀
  • 資料幀沿著環路傳遞,收到的結點一邊轉發資料,一邊檢視幀目的地址。如果目的地址和自己的相同,就複製該資料幀以便下一步處理
  • 資料幀沿著環路傳輸,直到到達該幀的源節點,源節點接受自己發出去的資料幀便不再轉發。同時源節點通過校驗返回的資料幀檢視資料傳輸的過程是否有錯,如果有錯就重傳該幀。
  • 源節點傳送完資料以後,重新產生一個令牌,並傳遞給下一個站點,以交出傳送資料幀的許可權。

廣域網

廣域網的基本概念

由一些結點交換機以及連線這些交換機的鏈路組成。不稱網際網路為廣域網,因為其不同網路的“互連”才是其最主要的特徵,它們之間常採用路由器連線,而廣域網只是一個單一的網路,用結點交換機連線各主機而不是用路由器連線各網路。結點交換機在單個網路中轉發分組,而路由器在多個網路構成的網際網路中轉發分組。

PPP(點對點協議)

  • 由以下三個部分組成
  • 一個將IP資料報封裝到序列鏈路的方法
  • 一個鏈路控制協議(LCP)。用於建立、配置和測試資料鏈路連線,並在不需要時將他們釋放
  • 一套網路控制協議(NCP)。每個協議支援不同的網路層協議,用來建立和配置不同的網路層協議。
  • PPP的工作狀態
    • 使用者撥號接入ISP時,路由器的調變解調器對撥號進行確認,建議一條物理連線。
    • 個人計算機向路由器傳送一系列的LCP分組(封裝成多個PPP幀),這些分組及其相應選擇了將使用的一些PPP引數。
    • 進行網路層配置,網路控制協議(NCP)給新接入的個人計算機分配一個臨時的IP地址。
    • 這樣,個人計算機就成為因特網上的一個主機了。
  • PPP是一個面向位元組的協議。
  • PPP不需要的功能:糾錯(只負責檢錯)、流量控制(TCP負責)、序號(PPP是不可靠傳輸協議)、多點線路(PPP是點對點的)、半雙工或單工(PPP只支援全雙工鏈路)。

HDLC(高階資料鏈路控制)協議

  • 面向位元(PPP是面向位元組的)的資料鏈路控制位元組協議
  • 非平衡配置的特點是由一個主站控制整個鏈路的工作。
  • 平衡配置的特點是鏈路兩端的兩個站都是複合站,每個複合站都可以品等的發起資料傳輸,而不需要得到對方複合站的允許。

資料鏈路層裝置

網橋的概念和基本原理

隨著區域網的發展,需要將多個區域網用一些中間裝置連線起來,實現區域網之間的通訊,這是區域網的擴充套件。物理層擴充套件區域網使用的是中繼器和集線器。缺點有(1)擴大了衝突域且總的吞吐量未提高(2)不能互聯使用不同乙太網技術的區域網。資料鏈路層擴充套件區域網是使用網橋,網橋的特點是具有過濾幀的功能,至少有兩個埠,每個埠和一個網段相連。沒從一個埠接收到一個幀,就先暫存到快取中。通過查詢轉發表將該幀從對應的埠發出。僅在同一個網段中通訊的幀,不會被網橋轉發到另一個網段中,因而不會加重整個網路的負擔。

  • 網橋的優點:
    • 過濾通訊量
    • 擴大了物理範圍
    • 提高了可靠性
    • 可互連不同物理層,不同MAC子層和不同速率的乙太網。
  • 網橋的缺點:
    • 儲存轉發增加了時延
    • 在MAC子層並沒有流量控制功能
    • 具有不同MAC子層的網段橋接在一起時時延更大
    • 網橋只適合使用者數不太多(不超過幾百個)和通訊量不太大的區域網,否則會因傳播過多的廣播資訊產生網路擁塞,即廣播風暴。

網橋的分類

  • 透明網橋(選擇的不是最佳路由)
    • 透明是指區域網的站點並不知道所傳送的幀將要經過哪幾個網橋。透明網橋是即插即用的裝置,不用人工配置轉發表
    • 網橋收到一幀後先進行自學習,查詢轉發表中與收到幀的源地址有無相匹配的專案。沒有就在轉發表中增加一個專案(源地址、進入的介面與時間),有則把原來的專案進行更新。
    • 轉發幀:查詢轉發表中與收到幀的目的地址有無相匹配的專案。沒有就通過所有其他介面(進入網橋的介面除外)進行轉發。
    • 轉發表中給出的介面是該幀進入網橋的介面,則丟棄該幀。
    • 為了避免轉發的幀在網路中不斷地轉圈,透明網橋使用一種生成樹演算法。使整個擴充套件區域網在邏輯上形成樹形環路,工作起來邏輯上沒有環路,但生成樹一般不是最佳路由。
  • 源選徑網橋(選擇的是最佳網橋)
    • 路由選擇由傳送資料幀的源站負責,網橋根據資料幀的路由資訊進行接收和轉發。
    • 源站先廣播向欲通目的站傳送一個傳送幀。傳送幀在區域網中沿著所有可能的路由傳送,記錄所經過的路由。傳送幀到達目的站後,沿著原來的路徑返回源站,源站得知這些路徑後從所有可能路由中選擇一個最佳路由。
    • 傳送幀確定最佳路由,還可以用來確定整個網路可以通過幀的最大長度。
  • 透明網橋和源選徑網橋中提到的最佳路由不一定是經過路由器最少的路由,也可以是傳送幀往返時間最短的路由,這樣才能真正的進行負載平衡。

區域網交換機及其工作原理

  • 基本概念:實質上是硬體實現的多埠網橋,通常有十幾個埠,每個埠直接與主機或者集線器相連,工作在全雙工方式。允許多對計算機間同時通訊
  • 交換機總容量計算方式:埠數 x 每個埠頻寬(半雙工);埠數 x 每個埠頻寬 x 2(全雙工)。
  • 兩種交換方式
    • 直通式交換:速度快但缺乏安全性,無法支援不同速率的埠的交換。
    • 儲存轉發式交換:可靠性高,支援不同速率埠間的轉換,缺點是延遲較大
    • 無碎片轉發既避免了儲存轉發速度慢的問題又避免了直通轉發中有碎片的問題。
  • 工作原理:檢測從某埠進入交換機的幀的源MAC地址和目的MAC地址,與系統內部的動態查詢表進行比較