數據發(fā)送模型

點(diǎn)對點(diǎn)信道。這種信道使用一對一的點(diǎn)對點(diǎn)通信方式。
廣播信道。這種信道使用一對多的廣播通信方式,因此過(guò)程比較復雜。廣播信道上連接的主機很多,因此必須使用專(zhuān)用的共享信道協(xié)議來(lái)協(xié)調這些主機的數據發(fā)送。
鏈路與數據鏈路
**鏈路(link)**是一條無(wú)源的點(diǎn)到點(diǎn)的物理線(xiàn)路段,中間沒(méi)有任何其他的交換結點(diǎn)。
一條鏈路只是一條通路的一個(gè)組成部分。
數據鏈路(data link) 除了物理線(xiàn)路外,還必須有通信協(xié)議來(lái)控制這些數據的傳輸。若把實(shí)現這些協(xié)議的硬件和軟件加到鏈路上,就構成了數據鏈路。
現在最常用的方法是使用適配器(即網(wǎng)卡)來(lái)實(shí)現這些協(xié)議的硬件和軟件。
一般的適配器都包括了數據鏈路層和物理層這兩層的功能。
幀
數據鏈路層傳送的是幀
1.封裝成幀
封裝成幀(framing) 就是在一段數據的前后分別添加首部和尾部,然后就構成了一個(gè)幀。確定幀的界限。
首部和尾部的一個(gè)重要作用就是進(jìn)行幀定界。
用控制字符進(jìn)行幀定界的方法舉例
試想:幀還未發(fā)送完,發(fā)送端出了問(wèn)題,只能重發(fā)該幀。接收端卻收到了前面的“半截子幀”,它會(huì )拋棄嗎?為什么?
2.透明傳輸
若傳輸的數據是ASCII碼中“可打印字符(共95個(gè))“集時(shí),一切正常。
若傳輸的數據不是僅由”可打印字符”組成時(shí),就會(huì )出問(wèn)題,如下
用字節填充法解決透明傳輸問(wèn)題
發(fā)送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個(gè)轉義字符“ESC”(其十六進(jìn)制編碼是 1B)。
字節填充(byte stuffing)或字符填充(character stuffing)——接收端的數據鏈路層在將數據送往網(wǎng)絡(luò )層之前刪除插入的轉義字符。
如果轉義字符也出現數據當中,那么應在轉義字符前面插入一個(gè)轉義字符。當接收端收到連續的兩個(gè)轉義字符時(shí),就刪除其中前面的一個(gè)。
當傳送的幀是用文本文件組成的幀時(shí)(文本文件中的字都是從鍵盤(pán)上輸入的),其數據部分顯然不會(huì )出現像SOH或EOT這樣的幀定界控制字符??梢?jiàn)不管從鍵盤(pán)上輸入什么字符都可以放在這樣的幀中傳輸過(guò)去,因此這樣的傳輸就是透明傳輸。

3.差錯控制
在傳輸過(guò)程中可能會(huì )產(chǎn)生比特差錯:1 可能會(huì )變成 0 而 0 也可能變成 1。
在一段時(shí)間內,傳輸錯誤的比特占所傳輸比特總數的比率稱(chēng)為誤碼率 BER (Bit Error Rate)。
誤碼率與信噪比有很大的關(guān)系。
為了保證數據傳輸的可靠性,在計算機網(wǎng)絡(luò )傳輸數據時(shí),必須采用各種差錯檢測措施。
循環(huán)冗余檢驗的原理
在數據鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗 CRC 的檢錯技術(shù)。
在發(fā)送端,先把數據劃分為組。假定每組 k 個(gè)比特。
假設待傳送的一組數據 M = 101001(現在 k = 6)。我們在 M 的后面再添加供差錯檢測用的 n 位冗余碼一起發(fā)送。
冗余碼的計算
用二進(jìn)制的模 2 運算進(jìn)行 2n 乘 M 的運算,這相當于在 M 后面添加 n 個(gè) 0。
得到的 (k + n) 位的數除以事先選定好的長(cháng)度為 (n + 1) 位的除數 P,得出商是 Q 而余數是 R,余數 R 比除數 P 少1 位,即 R 是 n 位。
冗余碼的計算舉例
現在 k = 6, M = 101001。
設 n = 3, 除數 P = 1101,
被除數是 2n**M = 101001000。
模 2 運算的結果是:商 Q = 110101,
余數 R = 001。
把余數 R 作為冗余碼添加在數據 M 的后面發(fā)送出去。發(fā)送的數據是:2n**M + R
即:101001001,共 (k + n) 位。
循環(huán)冗余檢驗的原理說(shuō)明

循環(huán)冗余檢驗 CRC 和幀檢驗序列 FCS并不等同。
CRC 是一種常用的檢錯方法,而 FCS 是添加在數據后面的冗余碼。
FCS 可以用 CRC 這種方法得出,但 CRC 并非用來(lái)獲得 FCS 的唯一方法。
接收端對收到的每一幀進(jìn)行 CRC 檢驗
(1) 若得出的余數 R = 0,則判定這個(gè)幀沒(méi)有差錯,就接受(accept)。
(2) 若余數 R ≠ 0,則判定這個(gè)幀有差錯,就丟棄。
但這種檢測方法并不能確定究竟是哪一個(gè)或哪幾個(gè)比特出現了差錯。
只要經(jīng)過(guò)嚴格的挑選,并使用位數足夠多的除數 P,那么出現檢測不到的差錯的概率就很小很小。
補零位數比除數位數少一
異或運算
1+1=0 1+0=0 0+1=0 0+0=0
除數由兩臺計算機數據鏈路層協(xié)議決定
小結:CRC差錯檢測技術(shù)
僅用循環(huán)冗余檢驗 CRC 差錯檢測技術(shù)只能做到無(wú)差錯接受(accept)。
“無(wú)差錯接受”是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近于 1 的概率認為這些幀在傳輸過(guò)程中沒(méi)有產(chǎn)生差錯”。也就是說(shuō):“凡是接收端數據鏈路層接受的幀都沒(méi)有傳輸差錯”(有差錯的幀就丟棄而不接受)。
要做到“可靠傳輸”(即發(fā)送什么就收到什么)就必須再加上確認和重傳機制。
考慮:幀重復、幀丟失、幀亂序的情況
可以說(shuō)“CRC是一種無(wú)比特差錯,而不是無(wú)傳輸差錯的檢測機制”
OSI/RM模型的觀(guān)點(diǎn):數據鏈路層要做成無(wú)傳輸差錯的!但這種理念目前不被接受。
·數據鏈路層使用的信道主要有以下兩種類(lèi)型:
點(diǎn)對點(diǎn)信道。 這種信道使用一對一的點(diǎn)對點(diǎn)通信方式。
廣播信道。 這種信道使用一對多的廣播通信方式,因此過(guò)程比較復雜。廣播信道上連接的主機很多,因此必須使用專(zhuān)用的共享信道協(xié)議來(lái)協(xié)調這些主機的數據發(fā)。
·
現在全世界使用得最多的數據鏈路層協(xié)議是點(diǎn)對點(diǎn)協(xié)議 PPP (Point-to-Point Protocol)。
用戶(hù)使用撥號電話(huà)線(xiàn)接入因特網(wǎng)時(shí),一般都是使用 PPP 協(xié)議。
用戶(hù)到 ISP 的鏈路使用 PPP 協(xié)議

PPP 協(xié)議應滿(mǎn)足的需求
簡(jiǎn)單——這是首要的要求
封裝成幀
透明性
多種網(wǎng)絡(luò )層協(xié)議
多種類(lèi)型鏈路
差錯檢測
檢測連接狀態(tài)
最大傳送單元
網(wǎng)絡(luò )層地址協(xié)商
數據壓縮協(xié)商
·
PPP 協(xié)議不需要的功能
糾錯
流量控制
序號
多點(diǎn)線(xiàn)路
半雙工或單工鏈路
PPP 協(xié)議的組成
1992 年制訂了 PPP 協(xié)議。經(jīng)過(guò) 1993 年和 1994 年的修訂,現在的 PPP 協(xié)議已成為因特網(wǎng)的正式標準[RFC 1661]。
PPP 協(xié)議有三個(gè)組成部分
一個(gè)將 IP 數據報封裝到串行鏈路的方法。
鏈路控制協(xié)議 LCP (Link Control Protocol)。
網(wǎng)絡(luò )控制協(xié)議 NCP (Network Control Protocol)。
標志字段 F = 0x7E (符號“0x”表示后面的字符是用十六進(jìn)制表示。十六進(jìn)制的 7E 的二進(jìn)- - 制表示是 01111110)。
地址字段 A 只置為 0xFF。地址字段實(shí)際上并不起作用。
控制字段 C 通常置為 0x03。
PPP 是面向字節的,所有的 PPP 幀的長(cháng)度都是整數字節。

透明傳輸問(wèn)題
當 PPP 用在同步傳輸鏈路時(shí),協(xié)議規定采用硬件來(lái)完成比特填充(和 HDLC 的做法一樣)。
當 PPP 用在異步傳輸時(shí),就使用一種特殊的 字符填充法 。
字符填充
將信息字段中出現的每一個(gè) 0x7E 字節轉變成為 2 字節序列(0x7D, 0x5E)。
若信息字段中出現一個(gè) 0x7D 的字節, 則將其轉變成為 2 字節序列(0x7D, 0x5D)。
若信息字段中出現 ASCII 碼的控制字符(即數值小于 0x20 的字符),則在該字符前面要加入一個(gè) 0x7D 字節,同時(shí)將該字符的編碼加以改變。
.
零比特填充
PPP 協(xié)議用在 SONET/SDH 鏈路時(shí),是使用同步傳輸(一連串的比特連續傳送)。這時(shí) PPP 協(xié)議采用零比特填充方法來(lái)實(shí)現透明傳輸。
在發(fā)送端,只要發(fā)現有 5 個(gè)連續 1,則立即填入一個(gè) 0。接收端對幀中的比特流進(jìn)行掃描。每當發(fā)現 5 個(gè)連續1時(shí),就把這 5 個(gè)連續 1 后的一個(gè) 0 刪除。

不提供使用序號和確認 的可靠傳輸
PPP 協(xié)議之所以不使用序號和確認機制是出于以下的考慮:
在數據鏈路層出現差錯的概率不大時(shí),使用比較簡(jiǎn)單的 PPP 協(xié)議較為合理。
在因特網(wǎng)環(huán)境下,PPP 的信息字段放入的數據是 IP 數據報。數據鏈路層的可靠傳輸并不能夠保證網(wǎng)絡(luò )層的傳輸也是可靠的。
幀檢驗序列 FCS 字段可保證無(wú)差錯接受。
當用戶(hù)撥號接入 ISP 時(shí),路由器的調制解調器對撥號做出確認,并建立一條物理連接。
PC 機向路由器發(fā)送一系列的 LCP 分組(封裝成多個(gè) PPP 幀)。
這些分組及其響應選擇一些 PPP 參數,和進(jìn)行網(wǎng)絡(luò )層配置,NCP 給新接入的 PC機分配一個(gè)臨時(shí)的 IP 地址,使 PC 機成為因特網(wǎng)上的一個(gè)主機。
通信完畢時(shí),NCP 釋放網(wǎng)絡(luò )層連接,收回原來(lái)分配出去的 IP 地址。接著(zhù),LCP 釋放數據鏈路層連接。最后釋放的是物理層的連接。

局域網(wǎng)最主要的特點(diǎn)是:網(wǎng)絡(luò )為一個(gè)單位所擁有,且地理范圍和站點(diǎn)數目均有限。
局域網(wǎng)具有如下的一些主要優(yōu)點(diǎn):
具有廣播功能,從一個(gè)站點(diǎn)可很方便地訪(fǎng)問(wèn)全網(wǎng)。局域網(wǎng)上的主機可共享連接在局域網(wǎng)上的各種硬件和軟件資源。
便于系統的擴展和逐漸地演變,各設備的位置可靈活調整和改變。
提高了系統的可靠性、可用性和殘存性。

靜態(tài)劃分信道
頻分復用
時(shí)分復用
波分復用
碼分復用
聯(lián)系客服