计算机网络原理第二章笔记,计算机网络原理笔记 第三章 数据链路层(一)
數(shù)據(jù)鏈路層(一)
3.1 使用點(diǎn)對(duì)點(diǎn)信道的數(shù)據(jù)鏈路層
3.1.1 數(shù)據(jù)鏈路層和幀
數(shù)據(jù)發(fā)送模型
數(shù)據(jù)鏈路層的信道類(lèi)型
數(shù)據(jù)鏈路層使用的信道主要有以下兩種類(lèi)型:點(diǎn)對(duì)點(diǎn)信道。這種信道使用一對(duì)一的點(diǎn)對(duì)點(diǎn)通信方式。
廣播信道。這種信道使用一對(duì)多的廣播通信方式,因此過(guò)程比較復(fù)雜。廣播信道上連接的主機(jī)很多,因此必須使用專(zhuān)用的共享信道協(xié)議來(lái)協(xié)調(diào)這些主機(jī)的數(shù)據(jù)發(fā)送。
鏈路與數(shù)據(jù)鏈路**鏈路(link)**是一條無(wú)源的點(diǎn)到點(diǎn)的物理線(xiàn)路段,中間沒(méi)有任何其他的交換結(jié)點(diǎn)。一條鏈路只是一條通路的一個(gè)組成部分。數(shù)據(jù)鏈路(data link) 除了物理線(xiàn)路外,還必須有通信協(xié)議來(lái)控制這些數(shù)據(jù)的傳輸。若把實(shí)現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。現(xiàn)在最常用的方法是使用適配器(即網(wǎng)卡)來(lái)實(shí)現(xiàn)這些協(xié)議的硬件和軟件。
一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能。
幀數(shù)據(jù)鏈路層傳送的是幀
3.1.2 三個(gè)基本問(wèn)題
1.封裝成幀封裝成幀(framing) 就是在一段數(shù)據(jù)的前后分別添加首部和尾部,然后就構(gòu)成了一個(gè)幀。確定幀的界限。
首部和尾部的一個(gè)重要作用就是進(jìn)行幀定界。
用控制字符進(jìn)行幀定界的方法舉例試想:幀還未發(fā)送完,發(fā)送端出了問(wèn)題,只能重發(fā)該幀。接收端卻收到了前面的“半截子幀”,它會(huì)拋棄嗎?為什么?
2.透明傳輸若傳輸?shù)臄?shù)據(jù)是ASCII碼中“可打印字符(共95個(gè))“集時(shí),一切正常。
若傳輸?shù)臄?shù)據(jù)不是僅由”可打印字符”組成時(shí),就會(huì)出問(wèn)題,如下
用字節(jié)填充法解決透明傳輸問(wèn)題發(fā)送端的數(shù)據(jù)鏈路層在數(shù)據(jù)中出現(xiàn)控制字符“SOH”或“EOT”的前面插入一個(gè)轉(zhuǎn)義字符“ESC”(其十六進(jìn)制編碼是 1B)。
字節(jié)填充(byte stuffing)或字符填充(character stuffing)——接收端的數(shù)據(jù)鏈路層在將數(shù)據(jù)送往網(wǎng)絡(luò)層之前刪除插入的轉(zhuǎn)義字符。
如果轉(zhuǎn)義字符也出現(xiàn)數(shù)據(jù)當(dāng)中,那么應(yīng)在轉(zhuǎn)義字符前面插入一個(gè)轉(zhuǎn)義字符。當(dāng)接收端收到連續(xù)的兩個(gè)轉(zhuǎn)義字符時(shí),就刪除其中前面的一個(gè)。
當(dāng)傳送的幀是用文本文件組成的幀時(shí)(文本文件中的字都是從鍵盤(pán)上輸入的),其數(shù)據(jù)部分顯然不會(huì)出現(xiàn)像SOH或EOT這樣的幀定界控制字符。可見(jiàn)不管從鍵盤(pán)上輸入什么字符都可以放在這樣的幀中傳輸過(guò)去,因此這樣的傳輸就是透明傳輸。
3.差錯(cuò)控制在傳輸過(guò)程中可能會(huì)產(chǎn)生比特差錯(cuò):1 可能會(huì)變成 0 而 0 也可能變成 1。
在一段時(shí)間內(nèi),傳輸錯(cuò)誤的比特占所傳輸比特總數(shù)的比率稱(chēng)為誤碼率 BER (Bit Error Rate)。
誤碼率與信噪比有很大的關(guān)系。
為了保證數(shù)據(jù)傳輸?shù)目煽啃?#xff0c;在計(jì)算機(jī)網(wǎng)絡(luò)傳輸數(shù)據(jù)時(shí),必須采用各種差錯(cuò)檢測(cè)措施。
循環(huán)冗余檢驗(yàn)的原理在數(shù)據(jù)鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗(yàn) CRC 的檢錯(cuò)技術(shù)。
在發(fā)送端,先把數(shù)據(jù)劃分為組。假定每組 k 個(gè)比特。
假設(shè)待傳送的一組數(shù)據(jù) M = 101001(現(xiàn)在 k = 6)。我們?cè)?M 的后面再添加供差錯(cuò)檢測(cè)用的 n 位冗余碼一起發(fā)送。
冗余碼的計(jì)算用二進(jìn)制的模 2 運(yùn)算進(jìn)行 2n 乘 M 的運(yùn)算,這相當(dāng)于在 M 后面添加 n 個(gè) 0。
得到的 (k + n) 位的數(shù)除以事先選定好的長(zhǎng)度為 (n + 1) 位的除數(shù) P,得出商是 Q 而余數(shù)是 R,余數(shù) R 比除數(shù) P 少1 位,即 R 是 n 位。
冗余碼的計(jì)算舉例現(xiàn)在 k = 6, M = 101001。
設(shè) n = 3, 除數(shù) P = 1101,
被除數(shù)是 2n**M = 101001000。
模 2 運(yùn)算的結(jié)果是:商 Q = 110101,
余數(shù) R = 001。
把余數(shù) R 作為冗余碼添加在數(shù)據(jù) M 的后面發(fā)送出去。發(fā)送的數(shù)據(jù)是:2n**M + R
即:101001001,共 (k + n) 位。
循環(huán)冗余檢驗(yàn)的原理說(shuō)明
幀檢驗(yàn)序列 FCS
在數(shù)據(jù)后面添加上的冗余碼稱(chēng)為幀檢驗(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 的唯一方法。
接收端對(duì)收到的每一幀進(jìn)行 CRC 檢驗(yàn)(1) 若得出的余數(shù) R = 0,則判定這個(gè)幀沒(méi)有差錯(cuò),就接受(accept)。
(2) 若余數(shù) R ≠ 0,則判定這個(gè)幀有差錯(cuò),就丟棄。
但這種檢測(cè)方法并不能確定究竟是哪一個(gè)或哪幾個(gè)比特出現(xiàn)了差錯(cuò)。
只要經(jīng)過(guò)嚴(yán)格的挑選,并使用位數(shù)足夠多的除數(shù) P,那么出現(xiàn)檢測(cè)不到的差錯(cuò)的概率就很小很小。
補(bǔ)零位數(shù)比除數(shù)位數(shù)少一異或運(yùn)算
1+1=0 1+0=0 0+1=0 0+0=0
除數(shù)由兩臺(tái)計(jì)算機(jī)數(shù)據(jù)鏈路層協(xié)議決定
小結(jié):CRC差錯(cuò)檢測(cè)技術(shù)
僅用循環(huán)冗余檢驗(yàn) CRC 差錯(cuò)檢測(cè)技術(shù)只能做到無(wú)差錯(cuò)接受(accept)。“無(wú)差錯(cuò)接受”是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近于 1 的概率認(rèn)為這些幀在傳輸過(guò)程中沒(méi)有產(chǎn)生差錯(cuò)”。也就是說(shuō):“凡是接收端數(shù)據(jù)鏈路層接受的幀都沒(méi)有傳輸差錯(cuò)”(有差錯(cuò)的幀就丟棄而不接受)。
要做到“可靠傳輸”(即發(fā)送什么就收到什么)就必須再加上確認(rèn)和重傳機(jī)制。考慮:幀重復(fù)、幀丟失、幀亂序的情況
可以說(shuō)“CRC是一種無(wú)比特差錯(cuò),而不是無(wú)傳輸差錯(cuò)的檢測(cè)機(jī)制”
OSI/RM模型的觀點(diǎn):數(shù)據(jù)鏈路層要做成無(wú)傳輸差錯(cuò)的!但這種理念目前不被接受。
數(shù)據(jù)鏈路層的信道類(lèi)型
·數(shù)據(jù)鏈路層使用的信道主要有以下兩種類(lèi)型:點(diǎn)對(duì)點(diǎn)信道。 這種信道使用一對(duì)一的點(diǎn)對(duì)點(diǎn)通信方式。
廣播信道。 這種信道使用一對(duì)多的廣播通信方式,因此過(guò)程比較復(fù)雜。廣播信道上連接的主機(jī)很多,因此必須使用專(zhuān)用的共享信道協(xié)議來(lái)協(xié)調(diào)這些主機(jī)的數(shù)據(jù)發(fā)。
·
3.2 點(diǎn)對(duì)點(diǎn)協(xié)議 PPP現(xiàn)在全世界使用得最多的數(shù)據(jù)鏈路層協(xié)議是點(diǎn)對(duì)點(diǎn)協(xié)議 PPP (Point-to-Point Protocol)。
用戶(hù)使用撥號(hào)電話(huà)線(xiàn)接入因特網(wǎng)時(shí),一般都是使用 PPP 協(xié)議。
用戶(hù)到 ISP 的鏈路使用 PPP 協(xié)議
3.2.1 PPP協(xié)議的特點(diǎn)
PPP 協(xié)議應(yīng)滿(mǎn)足的需求簡(jiǎn)單——這是首要的要求
封裝成幀
透明性
多種網(wǎng)絡(luò)層協(xié)議
多種類(lèi)型鏈路
差錯(cuò)檢測(cè)
檢測(cè)連接狀態(tài)
最大傳送單元
網(wǎng)絡(luò)層地址協(xié)商
數(shù)據(jù)壓縮協(xié)商
·
PPP 協(xié)議不需要的功能糾錯(cuò)
流量控制
序號(hào)
多點(diǎn)線(xiàn)路
半雙工或單工鏈路
PPP 協(xié)議的組成1992 年制訂了 PPP 協(xié)議。經(jīng)過(guò) 1993 年和 1994 年的修訂,現(xiàn)在的 PPP 協(xié)議已成為因特網(wǎng)的正式標(biāo)準(zhǔn)[RFC 1661]。PPP 協(xié)議有三個(gè)組成部分
一個(gè)將 IP 數(shù)據(jù)報(bào)封裝到串行鏈路的方法。
鏈路控制協(xié)議 LCP (Link Control Protocol)。
網(wǎng)絡(luò)控制協(xié)議 NCP (Network Control Protocol)。
3.2.2 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é)。
透明傳輸問(wèn)題當(dāng) PPP 用在同步傳輸鏈路時(shí),協(xié)議規(guī)定采用硬件來(lái)完成比特填充(和 HDLC 的做法一樣)。
當(dāng) PPP 用在異步傳輸時(shí),就使用一種特殊的 字符填充法 。
字符填充將信息字段中出現(xiàn)的每一個(gè) 0x7E 字節(jié)轉(zhuǎn)變成為 2 字節(jié)序列(0x7D, 0x5E)。
若信息字段中出現(xiàn)一個(gè) 0x7D 的字節(jié), 則將其轉(zhuǎn)變成為 2 字節(jié)序列(0x7D, 0x5D)。
若信息字段中出現(xiàn) ASCII 碼的控制字符(即數(shù)值小于 0x20 的字符),則在該字符前面要加入一個(gè) 0x7D 字節(jié),同時(shí)將該字符的編碼加以改變。
.
零比特填充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 刪除。
不提供使用序號(hào)和確認(rèn) 的可靠傳輸PPP 協(xié)議之所以不使用序號(hào)和確認(rèn)機(jī)制是出于以下的考慮:在數(shù)據(jù)鏈路層出現(xiàn)差錯(cuò)的概率不大時(shí),使用比較簡(jiǎn)單的 PPP 協(xié)議較為合理。
在因特網(wǎng)環(huán)境下,PPP 的信息字段放入的數(shù)據(jù)是 IP 數(shù)據(jù)報(bào)。數(shù)據(jù)鏈路層的可靠傳輸并不能夠保證網(wǎng)絡(luò)層的傳輸也是可靠的。
幀檢驗(yàn)序列 FCS 字段可保證無(wú)差錯(cuò)接受。
3.2.3 PPP協(xié)議的工作狀態(tài)當(dāng)用戶(hù)撥號(hào)接入 ISP 時(shí),路由器的調(diào)制解調(diào)器對(duì)撥號(hào)做出確認(rèn),并建立一條物理連接。
PC 機(jī)向路由器發(fā)送一系列的 LCP 分組(封裝成多個(gè) PPP 幀)。
這些分組及其響應(yīng)選擇一些 PPP 參數(shù),和進(jìn)行網(wǎng)絡(luò)層配置,NCP 給新接入的 PC機(jī)分配一個(gè)臨時(shí)的 IP 地址,使 PC 機(jī)成為因特網(wǎng)上的一個(gè)主機(jī)。
通信完畢時(shí),NCP 釋放網(wǎng)絡(luò)層連接,收回原來(lái)分配出去的 IP 地址。接著,LCP 釋放數(shù)據(jù)鏈路層連接。最后釋放的是物理層的連接。
3.3 使用廣播信道的數(shù)據(jù)鏈路層(局域網(wǎng))
3.3.1 局域網(wǎng)的數(shù)據(jù)鏈路層
局域網(wǎng)最主要的特點(diǎn)是:網(wǎng)絡(luò)為一個(gè)單位所擁有,且地理范圍和站點(diǎn)數(shù)目均有限。
局域網(wǎng)具有如下的一些主要優(yōu)點(diǎn):具有廣播功能,從一個(gè)站點(diǎn)可很方便地訪問(wèn)全網(wǎng)。局域網(wǎng)上的主機(jī)可共享連接在局域網(wǎng)上的各種硬件和軟件資源。
便于系統(tǒng)的擴(kuò)展和逐漸地演變,各設(shè)備的位置可靈活調(diào)整和改變。
提高了系統(tǒng)的可靠性、可用性和殘存性。
媒體共享技術(shù)
靜態(tài)劃分信道頻分復(fù)用
時(shí)分復(fù)用
波分復(fù)用
碼分復(fù)用
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的计算机网络原理第二章笔记,计算机网络原理笔记 第三章 数据链路层(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Underscore.js (1.7.0
- 下一篇: 怎么用计算机截图快捷键,电脑怎么截图截屏