溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層

發(fā)布時(shí)間:2020-06-05 01:05:34 來源:網(wǎng)絡(luò) 閱讀:859 作者:yonghuisoft 欄目:網(wǎng)絡(luò)安全

數(shù)據(jù)鏈路層執(zhí)行以下兩種基本任務(wù):

  • 允許上層使用封裝成幀之類的各種技術(shù)訪問介質(zhì)

  • 控制如何使用介質(zhì)控制訪問控制(MAC)和錯(cuò)誤檢測(cè)之類的技術(shù)將數(shù)據(jù)放置到介質(zhì)之上,以及從介質(zhì)接收數(shù)據(jù)


數(shù)據(jù)鏈路層負(fù)責(zé)通過物理網(wǎng)絡(luò)的介質(zhì)在節(jié)點(diǎn)之間交換幀。這包括將3層數(shù)據(jù)包封裝成幀,將幀放到介質(zhì)上,從介質(zhì)上接收幀,將幀解封裝,恢復(fù)為數(shù)據(jù)包等步驟。

對(duì)任何發(fā)送到網(wǎng)絡(luò)的數(shù)據(jù)包,都有可能經(jīng)過不同的數(shù)據(jù)鏈路層技術(shù)和介質(zhì)傳輸。因此,數(shù)據(jù)包在通過不同的介質(zhì)時(shí)要被封裝成為不同的幀。在路徑中的每一跳,通常為路由器,對(duì)幀進(jìn)行如下處理:

  • 從介質(zhì)接收幀

  • 對(duì)幀解封裝,成為數(shù)據(jù)包

  • 構(gòu)建適合下一種介質(zhì)的新幀

  • 將新幀中的數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個(gè)物理網(wǎng)段


創(chuàng)建幀的過程

幀是每個(gè)數(shù)據(jù)鏈路層協(xié)議的關(guān)鍵要素。數(shù)據(jù)鏈路層協(xié)議需要控制信息才能使協(xié)議正常工作??刂菩畔⒖赡芴峁┮韵滦畔ⅲ?/p>

  • 哪些節(jié)點(diǎn)正在相互通信

  • 各節(jié)點(diǎn)之間開始通信和結(jié)束通信的時(shí)間

  • 節(jié)點(diǎn)通信期間發(fā)生了哪些錯(cuò)誤

  • 接下來那些節(jié)點(diǎn)會(huì)參與通信

數(shù)據(jù)鏈路層使用幀頭和幀尾將數(shù)據(jù)包封裝成幀,以便經(jīng)本地介質(zhì)傳輸數(shù)據(jù)包

數(shù)據(jù)鏈路層幀包括如下元素:

  • 數(shù)據(jù)-來自網(wǎng)絡(luò)層的數(shù)據(jù)包

  • 幀頭-包含控制信息(如編址信息)且位于PDU開頭位置

  • 幀尾-包含添加到PDU結(jié)尾的控制信息

在幀內(nèi),每個(gè)控制字段有特定的比特?cái)?shù)。接收節(jié)點(diǎn)利用數(shù)據(jù)鏈路層成幀技術(shù)確定比特流中每個(gè)字段的比特分組。如下圖所示,控制信息作為不同字段插入幀頭和幀尾中。此格式使物理信息具備能被節(jié)點(diǎn)接收并且可以在目的地解碼成為數(shù)據(jù)包的一種結(jié)構(gòu)。

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層

典型的字段類型包括:

  • 開始和停止指示字段-幀的開始和結(jié)束限制

  • 編址或命名字段-目的/源設(shè)備

  • 類型字段-包含在幀中的PDU的類型

  • 質(zhì)量-控制字段

  • 數(shù)據(jù)字段-幀負(fù)載(網(wǎng)絡(luò)層數(shù)據(jù)包)

幀結(jié)尾處的字段形成了幀尾。這些字段的用途是錯(cuò)誤檢測(cè)和標(biāo)示幀的結(jié)束。

并非所有協(xié)議均包含全部此類字段。特定數(shù)據(jù)鏈路層協(xié)議的標(biāo)準(zhǔn)定義了實(shí)際幀格式。


到目前為止,我們討論過的OSI第3層到第7層的執(zhí)行過程,都是在軟件中完成的。第1層當(dāng)然是在硬件中完成的,特殊的是數(shù)據(jù)鏈路層,作為軟件層級(jí)和物理通信過程的中間層,它被劃分為了兩個(gè)子層,用于支持實(shí)際網(wǎng)絡(luò)通信過程的運(yùn)行。

上子層定義了向網(wǎng)絡(luò)層協(xié)議服務(wù)的軟件進(jìn)程

下子層定義了硬件所執(zhí)行介質(zhì)訪問過程

兩種常見的LAN子層為:

  • 邏輯鏈路控制(LLC)放入幀中的信息用于確定幀所使用的網(wǎng)絡(luò)層協(xié)議,此信息允許多個(gè)第3層協(xié)議,如IPv4 IPv6和IPX,使用相同的網(wǎng)絡(luò)接口和介質(zhì)

  • MAC根據(jù)介質(zhì)的物理信號(hào)要求和使用的數(shù)據(jù)鏈路層協(xié)議類型,提供數(shù)據(jù)鏈路層編址和數(shù)據(jù)分界方法


兩種常用的MAC(介質(zhì)訪問控制方法)是:

受控訪問

基于爭(zhēng)用的訪問

下表描述了兩者的不同

方法特性示例
受控訪問
某一時(shí)刻僅一個(gè)站點(diǎn)傳輸令牌環(huán)FDDI
希望傳輸?shù)恼军c(diǎn)必須等待輪到自己
無沖突
有些網(wǎng)絡(luò)使用令牌傳輸方法
基于爭(zhēng)用的訪問
在任意時(shí)刻站點(diǎn)都可傳輸以太網(wǎng)無線
存在沖突
存在解決競(jìng)爭(zhēng)的機(jī)制
CSMA/CD用于以太網(wǎng),CSMA/CA用于802.11無線網(wǎng)絡(luò)

受控訪問共享介質(zhì)

當(dāng)使用受控訪問共享介質(zhì)時(shí),網(wǎng)絡(luò)設(shè)備將依次訪問介質(zhì),此方法也稱為定期訪問或確定性訪問。如果設(shè)備不需要訪問介質(zhì),則使用介質(zhì)的機(jī)會(huì)將會(huì)傳遞給下一個(gè)等待訪問介質(zhì)的設(shè)備。如果介質(zhì)把幀放到介質(zhì)上,則直到該幀到達(dá)目的地并被處理后,其他設(shè)備才能將幀放到介質(zhì)上。

盡管受控訪問共享介質(zhì)的方式秩序井然并且提供可預(yù)測(cè)的吞吐量,但是確定的方法效率過低,因?yàn)槊總€(gè)設(shè)備都必須等待輪到自己才能使用介質(zhì)傳輸幀信息。


基于爭(zhēng)用訪問共享介質(zhì)

基于爭(zhēng)用的訪問方法允許任意設(shè)備在任何時(shí)刻嘗試訪問共享介質(zhì),它也被稱為非確定性訪問。為防止在介質(zhì)上造成混亂,這些方法使用載波偵聽多路訪問(CSMA)過程先檢測(cè)介質(zhì)上是否正在傳輸信號(hào)。如果介質(zhì)檢測(cè)到來自另一個(gè)節(jié)點(diǎn)的載波信號(hào),則表示另一個(gè)設(shè)備正在傳輸。如果嘗試傳輸?shù)脑O(shè)備發(fā)現(xiàn)介質(zhì)處于忙碌狀態(tài),它將等待并在稍后重試。如果未檢測(cè)到載波信號(hào),設(shè)備將開始傳輸數(shù)。以太網(wǎng)和無線網(wǎng)絡(luò)使用基于爭(zhēng)用的MAC。

CSMA過程也可能發(fā)生故障,如遇到兩個(gè)設(shè)備同時(shí)傳輸,這就會(huì)造成沖突。如果發(fā)生沖突,兩個(gè)設(shè)備發(fā)送的數(shù)據(jù)會(huì)損壞且需要重新發(fā)送。

爭(zhēng)用介質(zhì)MAC沒有受控訪問的開銷,因?yàn)椴恍枰櫘?dāng)前輪到哪個(gè)設(shè)備訪問的機(jī)制。但是爭(zhēng)用介質(zhì)在使用率比較高的情況下無法很好地?cái)U(kuò)展,隨著節(jié)點(diǎn)使用率和數(shù)量的增加,沒有沖突的成功訪問概率越來越小。此外,由于這些沖突降低了吞吐量,需要提供恢復(fù)機(jī)制來糾正錯(cuò)誤。


CSMA常用來與解決沖突的方法配合使用,兩種常用的解決沖突的方法為:

  • CSMA/CD  沖突檢測(cè)

  • CSMA/CA  沖突避免


在CSMA/CD中,設(shè)備監(jiān)視介質(zhì)中是否存在數(shù)據(jù)信號(hào)。若無信號(hào),則表示介質(zhì)處于空閑狀態(tài),設(shè)備可傳輸數(shù)據(jù)。如果隨后檢測(cè)到另一個(gè)設(shè)備正在進(jìn)行傳輸,所有設(shè)備將停止發(fā)送并在稍后重試。傳統(tǒng)以太網(wǎng)便是采用此種方式。


在CSMA/CA中,設(shè)備會(huì)檢查介質(zhì)中是否存在數(shù)據(jù)信號(hào)。如果介質(zhì)空閑,設(shè)備將通過它想要使用的介質(zhì)發(fā)送通知。然后設(shè)備開始傳輸數(shù)據(jù)。802.11無線網(wǎng)絡(luò)便是采用此種方式。

一句話,沖突檢測(cè)是發(fā)生問題后再想辦法解決,沖突避免則是通過提前通知的形式提前給傳輸提供保證。


無共享介質(zhì)的MAC

有一種特殊的場(chǎng)景,就是在點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)拓?fù)渲?,?jié)點(diǎn)無需與其他設(shè)備共享介質(zhì),或者確定幀的發(fā)送目的是否為該節(jié)點(diǎn),所以數(shù)據(jù)鏈路層的協(xié)議幾乎不需要控制點(diǎn)對(duì)點(diǎn)的傳輸?shù)姆枪蚕斫橘|(zhì)訪問。


網(wǎng)絡(luò)拓?fù)?/strong>


網(wǎng)絡(luò)拓?fù)涫侵妇W(wǎng)絡(luò)設(shè)備和他們之間的互聯(lián)布局關(guān)系。我們通常從物理拓?fù)浜瓦壿嬐負(fù)鋬蓚€(gè)方面去描述這種關(guān)系。

物理拓?fù)涫枪?jié)點(diǎn)與他們之間的物理連接的布局。表示如果使用介質(zhì)來互聯(lián)設(shè)備就是物理拓?fù)洹?/p>

邏輯拓?fù)涫侵妇W(wǎng)絡(luò)幀從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)節(jié)點(diǎn)。此布局由網(wǎng)絡(luò)節(jié)點(diǎn)之間的虛擬連接組成,與物理布局無關(guān)。這些邏輯信號(hào)路徑是按照數(shù)據(jù)鏈路層協(xié)議定義的。在控制對(duì)介質(zhì)的數(shù)據(jù)訪問時(shí),數(shù)據(jù)鏈路層“看到”的是網(wǎng)絡(luò)的邏輯拓?fù)?。正是邏輯拓?fù)湓谟绊懻呔W(wǎng)絡(luò)封裝成幀和介質(zhì)控制訪問控制的類型。


幾種常見的網(wǎng)絡(luò)拓?fù)鋱D:

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層

重點(diǎn)解釋下環(huán)形網(wǎng)絡(luò)拓?fù)洌?/p>

在邏輯環(huán)形拓?fù)渲?,各?jié)點(diǎn)依次接收幀。若幀并非發(fā)往該節(jié)點(diǎn),它將把幀傳遞到下一個(gè)節(jié)點(diǎn)。這將允許使用一種介質(zhì)訪問控制技術(shù),稱為令牌傳遞。


邏輯環(huán)拓?fù)渲泄?jié)點(diǎn)從環(huán)中取下幀,檢查地址,如果非發(fā)往該節(jié)點(diǎn),它將幀放回環(huán)上。在環(huán)中,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的環(huán)一周的節(jié)點(diǎn)都將會(huì)檢查該幀。


封裝幀是數(shù)據(jù)鏈路層最重要的工作,幀頭中包含了數(shù)據(jù)鏈路層協(xié)議針對(duì)特定網(wǎng)絡(luò)拓?fù)浜徒橘|(zhì)訪問指定的控制信息。典型的幀頭中包含如下字段:


幀開始字段-表示幀的起始位置

源地址和目的地址字段

優(yōu)先級(jí)/服務(wù)質(zhì)量字段-表示要處理的特殊通信服務(wù)類型

類型字段-表示幀中包含的上層服務(wù)

邏輯連接控制字段-用于在節(jié)點(diǎn)間建立邏輯連接

物理鏈路控制字段-用于建立介質(zhì)鏈路

流量控制字段-用于開始和停止通過介質(zhì)的流量

擁塞控制字段-表示介質(zhì)中的擁塞


我們?cè)賹W(xué)習(xí)網(wǎng)絡(luò)層協(xié)議中,知道第3層的網(wǎng)絡(luò)地址在路由的過程中始終保持不變,而第2層的物理地址僅僅用于在本地網(wǎng)絡(luò)中傳輸幀。

幀尾的作用

典型的幀尾字段包括:

幀校驗(yàn)序列-用于檢查幀內(nèi)容有無錯(cuò)誤

停止字段-用于指明幀結(jié)束,也用于向小尺寸或固定大小的幀添加內(nèi)容

幀尾的作用是確定幀是否無錯(cuò)到達(dá)。此過程稱為錯(cuò)誤檢測(cè)。通過將組成幀的各個(gè)位的邏輯或數(shù)學(xué)摘要放入幀尾中來實(shí)現(xiàn)錯(cuò)誤的檢測(cè)。


幀校驗(yàn)序列(FCS)字段用于確定幀的傳輸和接收過程有無錯(cuò)誤發(fā)生。之所以在數(shù)據(jù)鏈路程中添加錯(cuò)誤檢測(cè),是因?yàn)閿?shù)據(jù)是通過該層的介質(zhì)傳輸?shù)?。?duì)于數(shù)據(jù)而言,介質(zhì)是個(gè)不穩(wěn)定的因素,介質(zhì)上的信號(hào)可能受到干擾、丟失、損壞,從而改變這些信號(hào)各個(gè)位的值。通過使用FCS字段提供的校驗(yàn)機(jī)制,可找出發(fā)生的大部分錯(cuò)誤。

為確保在目的節(jié)點(diǎn)接收的幀和離開源節(jié)點(diǎn)的幀一致,傳輸節(jié)點(diǎn)將針對(duì)幀內(nèi)容創(chuàng)建一個(gè)邏輯摘要。它就是我們所熟知的 循環(huán)冗余校驗(yàn)CRC,此值將放入幀的幀校驗(yàn)序列FCS字段中代表幀的內(nèi)容。

如果初始節(jié)點(diǎn)所產(chǎn)生的CRC與接收數(shù)據(jù)的遠(yuǎn)端設(shè)備計(jì)算的CRC不匹配,即是表明發(fā)生了錯(cuò)誤。當(dāng)幀到達(dá)目的節(jié)點(diǎn)后,接收節(jié)點(diǎn)會(huì)計(jì)算自身的幀邏輯摘要(CRC)。然后接收節(jié)點(diǎn)將比較這兩個(gè)CRC值。如果兩個(gè)值相同,則認(rèn)為幀已經(jīng)按發(fā)送的原樣送達(dá)。如果FCS字段中CRC值與接收節(jié)點(diǎn)自身算出的值不同,幀會(huì)被丟棄。

通過比較CRC,幀的改變會(huì)被檢查出來,CRC錯(cuò)誤通常是由于網(wǎng)絡(luò)噪聲或數(shù)據(jù)鏈路的其他錯(cuò)誤造成的。在以太網(wǎng)中,錯(cuò)誤可能是由于沖突或傳輸了損壞的數(shù)據(jù)。


我們前面已經(jīng)說過,數(shù)據(jù)鏈路層為上層網(wǎng)絡(luò)通信提供了透明介質(zhì)傳輸過程,所以不同的介質(zhì)傳輸過程有不同的第2層協(xié)議,常見的第二層協(xié)議有:

  • 以太網(wǎng)

  • PPP

  • 高級(jí)數(shù)據(jù)鏈路控制(HDLC)

  • 幀中繼

  • ATM

每個(gè)協(xié)議執(zhí)行特定網(wǎng)絡(luò)拓?fù)湎碌牡?層介質(zhì)訪問控制。


以太網(wǎng)幀的示意圖如下:

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層

  • 前導(dǎo)碼-用于定時(shí)同步,也包含標(biāo)記定時(shí)信息結(jié)束的界定符

  • 目的地址-48位目的節(jié)點(diǎn)MAC地址

  • 源地址-48位源節(jié)點(diǎn)MAC地址

  • 類型-指明以太網(wǎng)過程完成后用于接收數(shù)據(jù)的上層協(xié)議類型

  • 數(shù)據(jù)或填充-在介質(zhì)上傳輸?shù)腜DU,通常為IPv4數(shù)據(jù)包

  • 幀校驗(yàn)序列FCS-用于檢查損壞幀的CRC值


WAN中的PPP

點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)用于在兩個(gè)節(jié)點(diǎn)之間傳送幀。PPP標(biāo)準(zhǔn)由RFC定義,這和許多數(shù)據(jù)鏈路層協(xié)議不同,它們是由電氣工程組織定義的。PPP是一種WAN協(xié)議,可在許多串行的WAN中實(shí)施的協(xié)議。PPP用于各種物理介質(zhì),包括雙絞線,光纜,衛(wèi)星傳輸以及虛擬連接。

PPP采用分層體系結(jié)構(gòu),為滿足各種介質(zhì)類型的要求,PPP在兩個(gè)節(jié)點(diǎn)間建立稱為會(huì)話的邏輯連接。PPP會(huì)話向上層PPP協(xié)議隱藏底層的物理介質(zhì)。這些會(huì)話還為PPP提供了用于封裝點(diǎn)對(duì)點(diǎn)鏈路上的多個(gè)協(xié)議的方法。鏈路上封裝的各個(gè)協(xié)議均建立了自己的PPP會(huì)話。

PPP還允許兩個(gè)節(jié)點(diǎn)協(xié)商PPP會(huì)話中的選項(xiàng):

  • 身份驗(yàn)證-為建立點(diǎn)到點(diǎn)鏈路通信,PPP鏈路的每個(gè)終端節(jié)點(diǎn)需要PPP驗(yàn)證

  • 壓縮-PPP壓縮可以減少經(jīng)網(wǎng)絡(luò)鏈路傳輸?shù)臄?shù)據(jù)幀的大小。這可以減少網(wǎng)絡(luò)傳輸時(shí)間

  • 多重鏈接-PPP多重鏈路是使用多條鏈路發(fā)送數(shù)據(jù)幀的方法。這可允許使用多條物理鏈路支持一個(gè)PPP會(huì)話


下圖為PPP幀的基本字段:

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層


  • 標(biāo)志——表示幀開始和結(jié)束位置的一個(gè)字節(jié)。標(biāo)志字段包括二進(jìn)制序列01111110

  • 地址——包含標(biāo)準(zhǔn)PPP廣播地址的一個(gè)字節(jié)。PPP不分配獨(dú)立的站點(diǎn)地址

  • 控制——包含二進(jìn)制序列00000011,要求在不排序的幀中傳輸數(shù)據(jù)

  • 協(xié)議——兩個(gè)字節(jié),標(biāo)志封裝于幀中的數(shù)據(jù)字段中的協(xié)議。RFC中指定了協(xié)議字段的最新值

  • 數(shù)據(jù)——0個(gè)或多個(gè)字節(jié),包含協(xié)議字段中指定協(xié)議的數(shù)據(jù)報(bào)

  • 幀校驗(yàn)序列——通常為16位,通過事先協(xié)商,一致同意PPP實(shí)施可使用32位FCE,從而提供錯(cuò)誤檢測(cè)能力


LAN的無線協(xié)議:

802.11是802標(biāo)準(zhǔn)的擴(kuò)展。它使用與802LAN相同的的802.2LLC和48位編址方案。但是,MAC子層和物理層中存在很多差異。在無線環(huán)境中,需要考慮一些特殊的因素。由于沒有確定的物理連通性,因此,外部因素可能干擾數(shù)據(jù)傳輸且難以進(jìn)行訪問控制。為了解決這些難題,無線標(biāo)準(zhǔn)中制定了額外的控制功能。

IEEE 802.11標(biāo)準(zhǔn),也就是我們通常所說的Wi-Fi 是一種爭(zhēng)用系統(tǒng),使用的是CSMA/CA介質(zhì)訪問例程。CSMA/CA為等待傳輸?shù)乃泄?jié)點(diǎn)指定了一個(gè)隨機(jī)回退的過程。最可能發(fā)生介質(zhì)爭(zhēng)用的時(shí)間是在介質(zhì)變?yōu)榭捎煤?,使?jié)點(diǎn)隨機(jī)回退一段時(shí)間可以大大降低沖突發(fā)生的可能性。

802.11網(wǎng)絡(luò)還使用數(shù)據(jù)鏈路確認(rèn)來確定幀已成功接收。如果發(fā)送站沒有檢測(cè)到確認(rèn)幀,原因可能是收到的原始數(shù)據(jù)幀或確認(rèn)不完整,就會(huì)重傳幀。這樣明確的確認(rèn)就可以克服干擾及其他無線電相關(guān)的問題。

802.11支持的其他服務(wù)有身份驗(yàn)證、關(guān)聯(lián)(到無線設(shè)備的連通性)、和隱私(加密)

下圖簡(jiǎn)單描述以下802.11中的幀結(jié)構(gòu):


網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層


序列控制結(jié)構(gòu):

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層

幀控制中的具體信息:

網(wǎng)絡(luò)基礎(chǔ)---數(shù)據(jù)鏈路層



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI