您好,登錄后才能下訂單哦!
數據鏈路層執行以下兩種基本任務:
允許上層使用封裝成幀之類的各種技術訪問介質
控制如何使用介質控制訪問控制(MAC)和錯誤檢測之類的技術將數據放置到介質之上,以及從介質接收數據
數據鏈路層負責通過物理網絡的介質在節點之間交換幀。這包括將3層數據包封裝成幀,將幀放到介質上,從介質上接收幀,將幀解封裝,恢復為數據包等步驟。
對任何發送到網絡的數據包,都有可能經過不同的數據鏈路層技術和介質傳輸。因此,數據包在通過不同的介質時要被封裝成為不同的幀。在路徑中的每一跳,通常為路由器,對幀進行如下處理:
從介質接收幀
對幀解封裝,成為數據包
構建適合下一種介質的新幀
將新幀中的數據包轉發到下一個物理網段
創建幀的過程
幀是每個數據鏈路層協議的關鍵要素。數據鏈路層協議需要控制信息才能使協議正常工作。控制信息可能提供以下信息:
哪些節點正在相互通信
各節點之間開始通信和結束通信的時間
節點通信期間發生了哪些錯誤
接下來那些節點會參與通信
數據鏈路層使用幀頭和幀尾將數據包封裝成幀,以便經本地介質傳輸數據包
數據鏈路層幀包括如下元素:
數據-來自網絡層的數據包
幀頭-包含控制信息(如編址信息)且位于PDU開頭位置
幀尾-包含添加到PDU結尾的控制信息
在幀內,每個控制字段有特定的比特數。接收節點利用數據鏈路層成幀技術確定比特流中每個字段的比特分組。如下圖所示,控制信息作為不同字段插入幀頭和幀尾中。此格式使物理信息具備能被節點接收并且可以在目的地解碼成為數據包的一種結構。
典型的字段類型包括:
開始和停止指示字段-幀的開始和結束限制
編址或命名字段-目的/源設備
類型字段-包含在幀中的PDU的類型
質量-控制字段
數據字段-幀負載(網絡層數據包)
幀結尾處的字段形成了幀尾。這些字段的用途是錯誤檢測和標示幀的結束。
并非所有協議均包含全部此類字段。特定數據鏈路層協議的標準定義了實際幀格式。
到目前為止,我們討論過的OSI第3層到第7層的執行過程,都是在軟件中完成的。第1層當然是在硬件中完成的,特殊的是數據鏈路層,作為軟件層級和物理通信過程的中間層,它被劃分為了兩個子層,用于支持實際網絡通信過程的運行。
上子層定義了向網絡層協議服務的軟件進程
下子層定義了硬件所執行介質訪問過程
兩種常見的LAN子層為:
邏輯鏈路控制(LLC)放入幀中的信息用于確定幀所使用的網絡層協議,此信息允許多個第3層協議,如IPv4 IPv6和IPX,使用相同的網絡接口和介質
MAC根據介質的物理信號要求和使用的數據鏈路層協議類型,提供數據鏈路層編址和數據分界方法
兩種常用的MAC(介質訪問控制方法)是:
受控訪問
基于爭用的訪問
下表描述了兩者的不同
方法 | 特性 | 示例 |
受控訪問 | 某一時刻僅一個站點傳輸 | 令牌環FDDI |
希望傳輸的站點必須等待輪到自己 | ||
無沖突 | ||
有些網絡使用令牌傳輸方法 | ||
基于爭用的訪問 | 在任意時刻站點都可傳輸 | 以太網無線 |
存在沖突 | ||
存在解決競爭的機制 | ||
CSMA/CD用于以太網,CSMA/CA用于802.11無線網絡 |
受控訪問共享介質
當使用受控訪問共享介質時,網絡設備將依次訪問介質,此方法也稱為定期訪問或確定性訪問。如果設備不需要訪問介質,則使用介質的機會將會傳遞給下一個等待訪問介質的設備。如果介質把幀放到介質上,則直到該幀到達目的地并被處理后,其他設備才能將幀放到介質上。
盡管受控訪問共享介質的方式秩序井然并且提供可預測的吞吐量,但是確定的方法效率過低,因為每個設備都必須等待輪到自己才能使用介質傳輸幀信息。
基于爭用訪問共享介質
基于爭用的訪問方法允許任意設備在任何時刻嘗試訪問共享介質,它也被稱為非確定性訪問。為防止在介質上造成混亂,這些方法使用載波偵聽多路訪問(CSMA)過程先檢測介質上是否正在傳輸信號。如果介質檢測到來自另一個節點的載波信號,則表示另一個設備正在傳輸。如果嘗試傳輸的設備發現介質處于忙碌狀態,它將等待并在稍后重試。如果未檢測到載波信號,設備將開始傳輸數。以太網和無線網絡使用基于爭用的MAC。
CSMA過程也可能發生故障,如遇到兩個設備同時傳輸,這就會造成沖突。如果發生沖突,兩個設備發送的數據會損壞且需要重新發送。
爭用介質MAC沒有受控訪問的開銷,因為不需要跟蹤當前輪到哪個設備訪問的機制。但是爭用介質在使用率比較高的情況下無法很好地擴展,隨著節點使用率和數量的增加,沒有沖突的成功訪問概率越來越小。此外,由于這些沖突降低了吞吐量,需要提供恢復機制來糾正錯誤。
CSMA常用來與解決沖突的方法配合使用,兩種常用的解決沖突的方法為:
CSMA/CD 沖突檢測
CSMA/CA 沖突避免
在CSMA/CD中,設備監視介質中是否存在數據信號。若無信號,則表示介質處于空閑狀態,設備可傳輸數據。如果隨后檢測到另一個設備正在進行傳輸,所有設備將停止發送并在稍后重試。傳統以太網便是采用此種方式。
在CSMA/CA中,設備會檢查介質中是否存在數據信號。如果介質空閑,設備將通過它想要使用的介質發送通知。然后設備開始傳輸數據。802.11無線網絡便是采用此種方式。
一句話,沖突檢測是發生問題后再想辦法解決,沖突避免則是通過提前通知的形式提前給傳輸提供保證。
無共享介質的MAC
有一種特殊的場景,就是在點對點的網絡拓撲中,節點無需與其他設備共享介質,或者確定幀的發送目的是否為該節點,所以數據鏈路層的協議幾乎不需要控制點對點的傳輸的非共享介質訪問。
網絡拓撲
網絡拓撲是指網絡設備和他們之間的互聯布局關系。我們通常從物理拓撲和邏輯拓撲兩個方面去描述這種關系。
物理拓撲是節點與他們之間的物理連接的布局。表示如果使用介質來互聯設備就是物理拓撲。
邏輯拓撲是指網絡幀從一個節點傳輸到另一個節點。此布局由網絡節點之間的虛擬連接組成,與物理布局無關。這些邏輯信號路徑是按照數據鏈路層協議定義的。在控制對介質的數據訪問時,數據鏈路層“看到”的是網絡的邏輯拓撲。正是邏輯拓撲在影響者網絡封裝成幀和介質控制訪問控制的類型。
幾種常見的網絡拓撲圖:
重點解釋下環形網絡拓撲:
在邏輯環形拓撲中,各節點依次接收幀。若幀并非發往該節點,它將把幀傳遞到下一個節點。這將允許使用一種介質訪問控制技術,稱為令牌傳遞。
邏輯環拓撲中節點從環中取下幀,檢查地址,如果非發往該節點,它將幀放回環上。在環中,源節點和目的節點之間的環一周的節點都將會檢查該幀。
封裝幀是數據鏈路層最重要的工作,幀頭中包含了數據鏈路層協議針對特定網絡拓撲和介質訪問指定的控制信息。典型的幀頭中包含如下字段:
幀開始字段-表示幀的起始位置
源地址和目的地址字段
優先級/服務質量字段-表示要處理的特殊通信服務類型
類型字段-表示幀中包含的上層服務
邏輯連接控制字段-用于在節點間建立邏輯連接
物理鏈路控制字段-用于建立介質鏈路
流量控制字段-用于開始和停止通過介質的流量
擁塞控制字段-表示介質中的擁塞
我們再學習網絡層協議中,知道第3層的網絡地址在路由的過程中始終保持不變,而第2層的物理地址僅僅用于在本地網絡中傳輸幀。
幀尾的作用
典型的幀尾字段包括:
幀校驗序列-用于檢查幀內容有無錯誤
停止字段-用于指明幀結束,也用于向小尺寸或固定大小的幀添加內容
幀尾的作用是確定幀是否無錯到達。此過程稱為錯誤檢測。通過將組成幀的各個位的邏輯或數學摘要放入幀尾中來實現錯誤的檢測。
幀校驗序列(FCS)字段用于確定幀的傳輸和接收過程有無錯誤發生。之所以在數據鏈路程中添加錯誤檢測,是因為數據是通過該層的介質傳輸的。對于數據而言,介質是個不穩定的因素,介質上的信號可能受到干擾、丟失、損壞,從而改變這些信號各個位的值。通過使用FCS字段提供的校驗機制,可找出發生的大部分錯誤。
為確保在目的節點接收的幀和離開源節點的幀一致,傳輸節點將針對幀內容創建一個邏輯摘要。它就是我們所熟知的 循環冗余校驗CRC,此值將放入幀的幀校驗序列FCS字段中代表幀的內容。
如果初始節點所產生的CRC與接收數據的遠端設備計算的CRC不匹配,即是表明發生了錯誤。當幀到達目的節點后,接收節點會計算自身的幀邏輯摘要(CRC)。然后接收節點將比較這兩個CRC值。如果兩個值相同,則認為幀已經按發送的原樣送達。如果FCS字段中CRC值與接收節點自身算出的值不同,幀會被丟棄。
通過比較CRC,幀的改變會被檢查出來,CRC錯誤通常是由于網絡噪聲或數據鏈路的其他錯誤造成的。在以太網中,錯誤可能是由于沖突或傳輸了損壞的數據。
我們前面已經說過,數據鏈路層為上層網絡通信提供了透明介質傳輸過程,所以不同的介質傳輸過程有不同的第2層協議,常見的第二層協議有:
以太網
PPP
高級數據鏈路控制(HDLC)
幀中繼
ATM
每個協議執行特定網絡拓撲下的第2層介質訪問控制。
以太網幀的示意圖如下:
前導碼-用于定時同步,也包含標記定時信息結束的界定符
目的地址-48位目的節點MAC地址
源地址-48位源節點MAC地址
類型-指明以太網過程完成后用于接收數據的上層協議類型
數據或填充-在介質上傳輸的PDU,通常為IPv4數據包
幀校驗序列FCS-用于檢查損壞幀的CRC值
WAN中的PPP
點對點協議(PPP)用于在兩個節點之間傳送幀。PPP標準由RFC定義,這和許多數據鏈路層協議不同,它們是由電氣工程組織定義的。PPP是一種WAN協議,可在許多串行的WAN中實施的協議。PPP用于各種物理介質,包括雙絞線,光纜,衛星傳輸以及虛擬連接。
PPP采用分層體系結構,為滿足各種介質類型的要求,PPP在兩個節點間建立稱為會話的邏輯連接。PPP會話向上層PPP協議隱藏底層的物理介質。這些會話還為PPP提供了用于封裝點對點鏈路上的多個協議的方法。鏈路上封裝的各個協議均建立了自己的PPP會話。
PPP還允許兩個節點協商PPP會話中的選項:
身份驗證-為建立點到點鏈路通信,PPP鏈路的每個終端節點需要PPP驗證
壓縮-PPP壓縮可以減少經網絡鏈路傳輸的數據幀的大小。這可以減少網絡傳輸時間
多重鏈接-PPP多重鏈路是使用多條鏈路發送數據幀的方法。這可允許使用多條物理鏈路支持一個PPP會話
下圖為PPP幀的基本字段:
標志——表示幀開始和結束位置的一個字節。標志字段包括二進制序列01111110
地址——包含標準PPP廣播地址的一個字節。PPP不分配獨立的站點地址
控制——包含二進制序列00000011,要求在不排序的幀中傳輸數據
協議——兩個字節,標志封裝于幀中的數據字段中的協議。RFC中指定了協議字段的最新值
數據——0個或多個字節,包含協議字段中指定協議的數據報
幀校驗序列——通常為16位,通過事先協商,一致同意PPP實施可使用32位FCE,從而提供錯誤檢測能力
LAN的無線協議:
802.11是802標準的擴展。它使用與802LAN相同的的802.2LLC和48位編址方案。但是,MAC子層和物理層中存在很多差異。在無線環境中,需要考慮一些特殊的因素。由于沒有確定的物理連通性,因此,外部因素可能干擾數據傳輸且難以進行訪問控制。為了解決這些難題,無線標準中制定了額外的控制功能。
IEEE 802.11標準,也就是我們通常所說的Wi-Fi 是一種爭用系統,使用的是CSMA/CA介質訪問例程。CSMA/CA為等待傳輸的所有節點指定了一個隨機回退的過程。最可能發生介質爭用的時間是在介質變為可用后,使節點隨機回退一段時間可以大大降低沖突發生的可能性。
802.11網絡還使用數據鏈路確認來確定幀已成功接收。如果發送站沒有檢測到確認幀,原因可能是收到的原始數據幀或確認不完整,就會重傳幀。這樣明確的確認就可以克服干擾及其他無線電相關的問題。
802.11支持的其他服務有身份驗證、關聯(到無線設備的連通性)、和隱私(加密)
下圖簡單描述以下802.11中的幀結構:
序列控制結構:
幀控制中的具體信息:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。