計(jì)算機(jī)網(wǎng)絡(luò)-數(shù)據(jù)鏈路層

網(wǎng)絡(luò)層

一、數(shù)據(jù)鏈路

數(shù)據(jù)鏈路(data link) 除了物理線路外,還必須有通信協(xié)議來(lái)控制這些數(shù)據(jù)的傳輸。若把實(shí)現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。

封裝成幀(framing)就是在一段數(shù)據(jù)的前后分別添加首部和尾部,然后就構(gòu)成了一個(gè)幀。

首部和尾部的一個(gè)重要作用就是進(jìn)行幀定界。

SOH 裝在幀中的數(shù)據(jù)部分 EOT

如上的結(jié)構(gòu),通過(guò)插入轉(zhuǎn)義字符 ESC,(十六進(jìn)制 : 1B

在一段時(shí)間內(nèi),傳輸錯(cuò)誤的比特占所傳輸比特總數(shù)的比率稱為誤碼率 BER (Bit Error Rate),誤碼率與信噪比有很大的關(guān)系。

為了保證數(shù)據(jù)傳輸?shù)目煽啃?,在?jì)算機(jī)網(wǎng)絡(luò)傳輸數(shù)據(jù)時(shí),必須采用各種差錯(cuò)檢測(cè)措施,在數(shù)據(jù)鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗(yàn) CRC 的檢錯(cuò)技術(shù)。

在數(shù)據(jù)后面添加上的冗余碼稱為幀檢驗(yàn)序列 FCS (Frame Check Sequence)。
循環(huán)冗余檢驗(yàn) CRC 和幀檢驗(yàn)序列 FCS并不等同。
CRC 是一種常用的檢錯(cuò)方法,而 FCS 是添加在數(shù)據(jù)后面的冗余碼。
FCS 可以用 CRC 這種方法得出,但 CRC 并非用來(lái)獲得 FCS 的唯一方法。

要做到“可靠傳輸”(即發(fā)送什么就收到什么)就必須再加上確認(rèn)和重傳機(jī)制。

二、PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)

三個(gè)組成部分:

  • 一個(gè)將 IP 數(shù)據(jù)報(bào)封裝到串行鏈路的方法。
  • 鏈路控制協(xié)議 LCP (Link Control Protocol)。
  • 網(wǎng)絡(luò)控制協(xié)議 NCP (Network Control Protocol)。

PPP 協(xié)議用在 SONET/SDH 鏈路時(shí),是使用同步傳輸(一連串的比特連續(xù)傳送)。這時(shí) PPP 協(xié)議采用零比特填充方法來(lái)實(shí)現(xiàn)透明傳輸。

在發(fā)送端,只要發(fā)現(xiàn)有 5 個(gè)連續(xù) 1,則立即填入一個(gè) 0。接收端對(duì)幀中的比特流進(jìn)行掃描。每當(dāng)發(fā)現(xiàn) 5 個(gè)連續(xù)1時(shí),就把這 5 個(gè)連續(xù) 1 后的一個(gè) 0 刪除

用戶到 ISP 的鏈路使用 PPP 協(xié)議
  • 標(biāo)志字段 F = 0x7E (符號(hào)“0x”表示后面的字符是用十六進(jìn)制表示。十六進(jìn)制的 7E 的二進(jìn)制表示是 01111110)。
  • 地址字段 A 只置為 0xFF。地址字段實(shí)際上并不起作用。
  • 控制字段 C 通常置為 0x03
  • PPP 是面向字節(jié)的,所有的 PPP 幀的長(zhǎng)度都是整數(shù)字節(jié)。
PPP 協(xié)議的幀格式

三、使用廣播信道的數(shù)據(jù)鏈路層

為了使數(shù)據(jù)鏈路層能更好地適應(yīng)多種局域網(wǎng)標(biāo)準(zhǔn),802 委員會(huì)就將局域網(wǎng)的數(shù)據(jù)鏈路層拆成兩個(gè)子層:
邏輯鏈路控制 LLC (Logical Link Control)子層
媒體接入控制 MAC (Medium Access Control)子層。
與接入到傳輸媒體有關(guān)的內(nèi)容都放在 MAC子層,而 LLC 子層則與傳輸媒體無(wú)關(guān),不管采用何種協(xié)議的局域網(wǎng)對(duì) LLC 子層來(lái)說(shuō)都是透明的

CSMA/CD 協(xié)議
采用較為靈活的無(wú)連接的工作方式,即不必先建立連接就可以直接發(fā)送數(shù)據(jù)。 
以太網(wǎng)對(duì)發(fā)送的數(shù)據(jù)幀不進(jìn)行編號(hào),也不要求對(duì)方發(fā)回確認(rèn)。
這樣做的理由是局域網(wǎng)信道的質(zhì)量很好,因信道質(zhì)量產(chǎn)生差錯(cuò)的概率是很小的。 
  • 以太網(wǎng)提供的服務(wù)是不可靠的交付,即盡最大努力的交付。
  • 當(dāng)目的站收到有差錯(cuò)的數(shù)據(jù)幀時(shí)就丟棄此幀,其他什么也不做。差錯(cuò)的糾正由高層來(lái)決定。
  • 如果高層發(fā)現(xiàn)丟失了一些數(shù)據(jù)而進(jìn)行重傳,但以太網(wǎng)并不知道這是一個(gè)重傳的幀,而是當(dāng)作一個(gè)新的數(shù)據(jù)幀來(lái)發(fā)送。
曼徹斯特(Manchester)編碼

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection(載波監(jiān)聽(tīng)多點(diǎn)接入碰撞檢測(cè))

使用 CSMA/CD 協(xié)議的以太網(wǎng)不能進(jìn)行全雙工通信而只能進(jìn)行雙向交替通信(半雙工通信)

  • “多點(diǎn)接入”表示許多計(jì)算機(jī)以多點(diǎn)接入的方式連接在一根總線上。
  • “載波監(jiān)聽(tīng)”是指每一個(gè)站在發(fā)送數(shù)據(jù)之前先要檢測(cè)一下總線上是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù),如果有,則暫時(shí)不要發(fā)送數(shù)據(jù),以免發(fā)生碰撞。
  • “碰撞檢測(cè)”就是計(jì)算機(jī)邊發(fā)送數(shù)據(jù) 邊檢測(cè)信道上的 信號(hào)電壓大小。(沖突檢測(cè))每一個(gè)正在發(fā)送數(shù)據(jù)的站,一旦發(fā)現(xiàn)總線上出現(xiàn)了碰撞,就要立即停止發(fā)送,免得繼續(xù)浪費(fèi)網(wǎng)絡(luò)資源,然后等待一段隨機(jī)時(shí)間后再次發(fā)送。
傳播時(shí)延對(duì)載波監(jiān)聽(tīng)的影響
  • 最先發(fā)送數(shù)據(jù)幀的站,在發(fā)送數(shù)據(jù)幀后至多經(jīng)過(guò)時(shí)間 2t (兩倍的端到端往返時(shí)延)就可知道發(fā)送的數(shù)據(jù)幀是否遭受了碰撞。
  • 以太網(wǎng)的端到端往返時(shí)延 2t 稱為爭(zhēng)用期,或碰撞窗口
  • 經(jīng)過(guò)爭(zhēng)用期這段時(shí)間還沒(méi)有檢測(cè)到碰撞,才能肯定這次發(fā)送不會(huì)發(fā)生碰撞。
image.png
以太網(wǎng)取 51.2us 為爭(zhēng)用期的長(zhǎng)度。
對(duì)于 10 Mb/s 以太網(wǎng),在爭(zhēng)用期內(nèi)可發(fā)送512 bit,即 64 字節(jié)。
以太網(wǎng)在發(fā)送數(shù)據(jù)時(shí),若前 64 字節(jié)沒(méi)有發(fā)生沖突,則后續(xù)的數(shù)據(jù)就不會(huì)發(fā)生沖突。   

以太網(wǎng)規(guī)定了最短有效幀長(zhǎng)為 64 字節(jié),凡長(zhǎng)度小于 64 字節(jié)的幀都是由于沖突而異常中止的無(wú)效幀。

image.png

IEEE 的注冊(cè)管理機(jī)構(gòu) RA 負(fù)責(zé)向廠家分配地址字段的前三個(gè)字節(jié)(即高位 24 位)。地址字段中的后三個(gè)字節(jié)(即低位 24 位)由廠家自行指派,稱為擴(kuò)展標(biāo)識(shí)符,必須保證生產(chǎn)出的適配器沒(méi)有重復(fù)地址。一個(gè)地址塊可以生成224個(gè)不同的地址。這種 48 位地址稱為 MAC-48,它的通用名稱是EUI-48?!?code>MAC地址”實(shí)際上就是適配器地址或適配器標(biāo)識(shí)符EUI-48。

適配器從網(wǎng)絡(luò)上每收到一個(gè) MAC 幀就首先用硬件檢查 MAC幀 中的 MAC 地址。如果是發(fā)往本站的幀則收下,然后再進(jìn)行其他的處理。否則就將此幀丟棄,不再進(jìn)行其他的處理。

“發(fā)往本站的幀”包括以下三種幀:

  • 單播(unicast)幀(一對(duì)一)
  • 廣播(broadcast)幀(一對(duì)全體)
  • 多播(multicast)幀(一對(duì)多)
無(wú)效的MAC幀
  • 數(shù)據(jù)字段的長(zhǎng)度與長(zhǎng)度字段的值不一致;
  • 幀的長(zhǎng)度不是整數(shù)個(gè)字節(jié);
  • 用收到的幀檢驗(yàn)序列 FCS 查出有差錯(cuò);
  • 數(shù)據(jù)字段的長(zhǎng)度不在 46 ~ 1500 字節(jié)之間。
  • 有效的 MAC 幀長(zhǎng)度為 64 ~ 1518 字節(jié)之間。
  • 對(duì)于檢查出的無(wú)效 MAC 幀就簡(jiǎn)單地丟棄。以太網(wǎng)不負(fù)責(zé)重傳丟棄的幀。
  • 幀間最小間隔為 9.6 us,相當(dāng)于 96 bit 的發(fā)送時(shí)間。
  • 一個(gè)站在檢測(cè)到總線開(kāi)始空閑后,還要等待 9.6 us 才能再次發(fā)送數(shù)據(jù)。
  • 這樣做是為了使剛剛收到數(shù)據(jù)幀的站的接收緩存來(lái)得及清理,做好接收下一幀的準(zhǔn)備。
image.png

在數(shù)據(jù)鏈路層擴(kuò)展局域網(wǎng)是使用網(wǎng)橋。網(wǎng)橋工作在數(shù)據(jù)鏈路層,它根據(jù) MAC 幀 的目的地址對(duì)收到的幀進(jìn)行轉(zhuǎn)發(fā)。

網(wǎng)橋使各網(wǎng)段成為隔離開(kāi)的碰撞域

image.png
image.png
image.png

透明網(wǎng)橋使用了生成樹(shù)算法 避免產(chǎn)生轉(zhuǎn)發(fā)的幀在網(wǎng)絡(luò)中不斷地兜圈子.

交換機(jī)

image.png
  • 以太網(wǎng)交換機(jī)的每個(gè)接口都直接與主機(jī)相連,并且一般都工作在全雙工方式。
  • 交換機(jī)能同時(shí)連通許多對(duì)的接口,使每一對(duì)相互通信的主機(jī)都能像獨(dú)占通信媒體那樣,進(jìn)行無(wú)碰撞地傳輸數(shù)據(jù)。
  • 以太網(wǎng)交換機(jī)由于使用了專用的交換結(jié)構(gòu)芯片,其交換速率就較高。
優(yōu)點(diǎn):
  • 對(duì)于普通 10 Mb/s 的共享式以太網(wǎng),若共有 N 個(gè)用戶,則每個(gè)用戶占有的平均帶寬只有總帶寬(10 Mb/s)的 N 分之一。
  • 使用以太網(wǎng)交換機(jī)時(shí),雖然在每個(gè)接口到主機(jī)的帶寬還是 10 Mb/s,但由于一個(gè)用戶在通信時(shí)是獨(dú)占而不是和其他網(wǎng)絡(luò)用戶共享傳輸媒體的帶寬,因此對(duì)于擁有 N 對(duì)接口的交換機(jī)的總?cè)萘繛?N*10 Mb/s。這正是交換機(jī)的最大優(yōu)點(diǎn)。

利用以太網(wǎng)交換機(jī)可以很方便地?實(shí)現(xiàn)虛擬局域網(wǎng) ,虛擬局域網(wǎng)其實(shí)只是局域網(wǎng)給用戶提供的一種服務(wù),而并不是一種新型局域網(wǎng)。

image.png

虛擬局域網(wǎng)限制了接收廣播信息的工作站數(shù),使得網(wǎng)絡(luò)不會(huì)因傳播過(guò)多的廣播信息(即“廣播風(fēng)暴”)而引起性能惡化

image.png

10 吉比特以太網(wǎng)只工作在全雙工方式,因此沒(méi)有爭(zhēng)用問(wèn)題,也不使用 CSMA/CD 協(xié)議

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容