版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第三章數(shù)據(jù)鏈路層13.1數(shù)據(jù)鏈路層基本概念
3.1.1數(shù)據(jù)鏈路層概述數(shù)據(jù)鏈路層的最基本功能是將物理層提供的原始傳送比特流可能出錯(cuò)的物理連接改造成為邏輯上無差錯(cuò)的數(shù)據(jù)鏈路。鏈路(link)是一條無源的點(diǎn)到點(diǎn)的物理線路段,中間沒有任何其他的交換結(jié)點(diǎn)。一條鏈路只是一條通路的一個(gè)組成部分。數(shù)據(jù)鏈路(datalink)除了物理線路外,還必須有通信協(xié)議來控制這些數(shù)據(jù)的傳輸。若把實(shí)現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路?,F(xiàn)在最常用的方法是使用適配器(即網(wǎng)卡)來實(shí)現(xiàn)這些協(xié)議的硬件和軟件。一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能。2數(shù)據(jù)鏈路層像個(gè)數(shù)字管道常常在兩個(gè)對(duì)等的數(shù)據(jù)鏈路層之間畫出一個(gè)數(shù)字管道,而在這條數(shù)字管道上傳輸?shù)臄?shù)據(jù)單位是幀(frame)。物理層傳送比特流,物理傳輸媒體傳送的是信號(hào)早期的數(shù)據(jù)通信協(xié)議曾叫作通信規(guī)程(procedure)。因此在數(shù)據(jù)鏈路層,規(guī)程和協(xié)議是同義語。結(jié)點(diǎn)結(jié)點(diǎn)幀幀343.1.2數(shù)據(jù)鏈路層功能數(shù)據(jù)鏈路層中位于第二層,它在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù)。數(shù)據(jù)鏈路層可以在物理鏈路上提供可靠的數(shù)據(jù)傳輸服務(wù)。數(shù)據(jù)鏈路層的信息傳送機(jī)制是利用物理層提供的物理通路,首先在相鄰節(jié)點(diǎn)之間建立數(shù)據(jù)鏈路,然后把將要傳送的數(shù)據(jù)組裝成幀,并加入應(yīng)答、差錯(cuò)控制、流量控制信息,使有差錯(cuò)的物理線路變成無差錯(cuò)的數(shù)據(jù)鏈路,從而為網(wǎng)絡(luò)層提供可靠的信息。5數(shù)據(jù)鏈路層的主要功能(1)幀同步(幀定界)(2)差錯(cuò)控制:1.前向糾錯(cuò)2.差錯(cuò)檢測(cè)(3)流量控制滑動(dòng)窗口協(xié)議集幀確認(rèn)、流量控制、差錯(cuò)控制于一身,得到廣泛應(yīng)用。(4)鏈路管理(5)尋址(6)將數(shù)據(jù)和控制信息區(qū)分開(7)透明傳輸:透明傳輸是指數(shù)據(jù)都應(yīng)當(dāng)能夠在鏈路上傳送,不管所傳送的數(shù)據(jù)是什么樣的比特組合。63.2幀與成幀引入幀機(jī)制是為了實(shí)現(xiàn)相鄰結(jié)點(diǎn)之間的可靠傳輸以及提高數(shù)據(jù)傳輸?shù)男省.?dāng)發(fā)現(xiàn)接收到的某一個(gè)(或幾個(gè))比特出錯(cuò)時(shí),可以只對(duì)相應(yīng)的幀進(jìn)行特殊處理(如請(qǐng)求重發(fā)等),而不需要對(duì)其他未出錯(cuò)的幀進(jìn)行這種處理;如果發(fā)現(xiàn)某一幀被丟失,也只需請(qǐng)求發(fā)送方重傳所丟失的幀,這樣就大大提高了數(shù)據(jù)處理和傳輸?shù)男?。引入幀機(jī)制后,發(fā)送方的數(shù)據(jù)鏈路層必須提供從網(wǎng)絡(luò)層接收的分組(Packet)封裝成幀的功能,即為來自上層的分組加上必要的幀頭和幀尾部分,通常稱此為成幀(Framing)而接收方數(shù)據(jù)鏈路層則必須提供將幀重新拆裝成分組的拆幀功能,即去掉發(fā)送端數(shù)據(jù)鏈路層所加的幀頭和幀尾部分,從中分離出網(wǎng)絡(luò)層所需的分組。73.2.1幀的基本格式不同的數(shù)據(jù)鏈路層協(xié)議給出的幀格式基本相同通常數(shù)據(jù)字段之前的所有字段被統(tǒng)稱為幀頭部分,而數(shù)據(jù)字段之后的所有字段被稱為幀尾部分。83.2.2成幀與拆幀成幀是將上一層的傳輸單元(分組)加上幀頭和幀尾,組裝成數(shù)據(jù)鏈路層的傳輸單元——幀的過程。發(fā)送端的數(shù)據(jù)鏈路層接收到網(wǎng)絡(luò)層的發(fā)送請(qǐng)求之后,從網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層之間的接口處取下待發(fā)送的分組,并封裝成幀,然后經(jīng)過其下層物理層送入傳輸信道,這樣不斷地將幀送入傳輸信道就形成了連續(xù)的比特流。拆幀是將對(duì)方物理層傳送來的比特流信息除去幀頭和幀尾,還原為分組的過程。接收端的數(shù)據(jù)鏈路層從來自其物理層的比特流中識(shí)別出每一個(gè)的獨(dú)立幀,然后利用幀中的FCS字段對(duì)每一個(gè)幀進(jìn)行校驗(yàn),判斷是否有錯(cuò)誤。如果沒有錯(cuò)誤,就對(duì)幀實(shí)施拆封,并將其中的數(shù)據(jù)部分即分組通過數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層之間的接口上交給網(wǎng)絡(luò)層,從而完成了相鄰節(jié)點(diǎn)的數(shù)據(jù)鏈路層拆幀的任務(wù)。93.2.3幀的定界幀定界就是標(biāo)識(shí)幀的開始與結(jié)束。幀定界有四種常見的方法:(1)字符計(jì)數(shù)法。這種方法是在幀頭部中使用一個(gè)字符計(jì)數(shù)字段來標(biāo)明幀內(nèi)字符數(shù)。例如,發(fā)送序列“5
ABCDE4
UVWX
7
1234458”表示一共有三個(gè)幀,三個(gè)幀的長度分別為5字節(jié)、4字節(jié)和7字節(jié)。但是這種方法很容易出現(xiàn)定界錯(cuò)誤。假如計(jì)數(shù)值出現(xiàn)傳輸差錯(cuò),接收端收到的序列為“5ABCDE6UVWX71234458”時(shí),則接收端會(huì)將第二幀解釋為“6UVWX71”,從而導(dǎo)致因發(fā)收雙方對(duì)幀大小和內(nèi)容理解不一致而出錯(cuò)。10(2)帶字符填充的首尾界符法。這種方法是在每一幀的開頭加上ASCII字符“DLE
STX”,在幀末尾加上ASCII字符“DLEETX”。例如,假設(shè)待發(fā)送的數(shù)據(jù)是ADLECB,則在數(shù)據(jù)鏈路層封裝的幀為:
DLESTXADLECBDLEETX
如果發(fā)送方在數(shù)據(jù)幀中遇到幀頭或者幀尾字符,就采用字符填充法來處理。例如,數(shù)據(jù)幀有DLE字符,就在其前面加一個(gè)DLE。
DLESTXADLE
DLECBDLEETX11如果接收方在接收到的數(shù)據(jù)幀中遇到單個(gè)DLE,就斷定是幀邊界;若遇到成對(duì)出現(xiàn)的DLE,則認(rèn)為是數(shù)據(jù),并去掉前面的一個(gè)DLE。
這種方法的缺點(diǎn)是當(dāng)需要發(fā)送的數(shù)據(jù)中包含很多的DLE字符時(shí),幀中會(huì)出現(xiàn)大量冗余DLE。12(3)帶位填充的首尾標(biāo)志法(零比特填充法)。這種方法是用一個(gè)特殊的位模式“01111110”作為幀邊界。數(shù)據(jù)中可能包含“01111110”數(shù)據(jù),如何判斷?采用零比特填充法使一幀中兩個(gè)邊界字段之間的數(shù)據(jù)不會(huì)出現(xiàn)6個(gè)連續(xù)1。在發(fā)送端,當(dāng)一串比特流數(shù)據(jù)中有5個(gè)連續(xù)1時(shí),就立即填入一個(gè)0。如此保證數(shù)據(jù)部分不會(huì)出現(xiàn)6個(gè)連續(xù)的1在接收幀時(shí),先找到邊界字段以確定幀的邊界。接著再對(duì)比特流進(jìn)行掃描。每當(dāng)發(fā)現(xiàn)5個(gè)連續(xù)1時(shí),就將其后的一個(gè)0刪除,以還原成原來的比特流。13零比特填充法14(4)物理層編碼違例法物理層編碼違例法就是利用物理層信息編碼中未用的電信號(hào)來作為幀的邊界。例如,用曼徹斯特編碼,在傳輸之前,將數(shù)據(jù)位1編碼成高-低電平對(duì),數(shù)據(jù)位0編碼成低-高電平對(duì)。那么高-高電平、低-低電平就可以用作幀的邊界。153.3差錯(cuò)檢測(cè)和糾錯(cuò)方法
3.3.1差錯(cuò)產(chǎn)生的原因差錯(cuò)是指接收端收到的數(shù)據(jù)與發(fā)送端實(shí)際發(fā)出的數(shù)據(jù)出現(xiàn)不一致的現(xiàn)象。差錯(cuò)的產(chǎn)生主要是因?yàn)樵谕ㄐ啪€路上有噪聲干擾。對(duì)差錯(cuò)的處理有兩種處理策略:前向糾錯(cuò)或簡稱為糾錯(cuò)(forwarderrorcorrection)差錯(cuò)檢測(cè)(errordetecting)163.3.2奇偶校驗(yàn)奇偶校驗(yàn)是在原數(shù)據(jù)位后附加一個(gè)校驗(yàn)位,將其值置為“0”或“1”,使附加在該位后的整個(gè)數(shù)據(jù)碼中“1”的個(gè)數(shù)成為奇數(shù)或偶數(shù)。使用奇數(shù)個(gè)“1”進(jìn)行校驗(yàn)的方案被稱為奇校驗(yàn)。對(duì)應(yīng)于偶數(shù)個(gè)“1”的校驗(yàn)方案被稱為偶校驗(yàn)。奇偶校驗(yàn)有三種使用方式,即水平奇偶校驗(yàn)垂直奇偶校驗(yàn)水平垂直奇偶校驗(yàn)。17水平奇偶校驗(yàn)碼是指在面向字符的數(shù)據(jù)傳輸中,在每個(gè)字符的7位信息碼后附加一個(gè)校驗(yàn)位“0”或“1”18垂直奇偶校驗(yàn)垂直奇偶校驗(yàn)是將所發(fā)送的若干個(gè)字符組成字符組或字符塊,形式上相當(dāng)于是一個(gè)矩陣,每行為一個(gè)字符,每列為所有字符對(duì)應(yīng)的相同位。在這一組字符的未尾即最后一行附加一個(gè)校驗(yàn)字符,該校驗(yàn)字符中的第i位分別對(duì)應(yīng)組中所有字符第i位的校驗(yàn)位。19水平垂直奇偶校驗(yàn)方法203.3.3海明碼海明碼(HammingCode)編碼的關(guān)鍵是使用多余的奇偶校驗(yàn)位來識(shí)別一位錯(cuò)誤。假設(shè)信息碼共有n
位,海明碼共有h
位,那么總共的碼長為n+h
位。為能檢測(cè)出n+h
位編碼中其中一位的錯(cuò)誤,海明碼必須能夠表示至少n+h+1
種狀態(tài),其中n+h
種表示n+h位編碼中有一位錯(cuò)誤,另外還需要1種來表示整個(gè)編碼正確無誤。則海明碼的長度需要滿足下列關(guān)系:2h>=n+h+1以4位信息位為例,由可以看出需要的海明碼長度為3。
21碼字(CodeWord)按如下方法1、把所有2的冪次方的數(shù)據(jù)位標(biāo)記為奇偶校驗(yàn)位(編號(hào)為1,2,4,8,16,32,64等的位置)2、其他數(shù)據(jù)位用于待編碼數(shù)據(jù).(編號(hào)為3,5,6,7,9,10,11,12,13,14,15,17等的位置)3、每個(gè)奇偶校驗(yàn)位的值代表了碼字中部分?jǐn)?shù)據(jù)位的奇偶性,其所在位置決定了要校驗(yàn)和跳過的比特位順序。位置1:校驗(yàn)1位,跳過1位,校驗(yàn)1位,跳過1位(1,3,5,7,9,11,13,15,…)位置2:校驗(yàn)2位,跳過2位,校驗(yàn)2位,跳過2位(2,3,6,7,10,11,14,15,…)位置4:校驗(yàn)4位,跳過4位,校驗(yàn)4位,跳過4位(4,5,6,7,12,13,14,15,20,21,22,23,…)位置8:校驗(yàn)8位,跳過8位,校驗(yàn)8位,跳過8位(8~15,24~31,40~47,…)22則4位信息碼時(shí),海明碼的位置為20,21,22。即H1,H2,H423已知:信息碼為:“11001100”(k=8)。求:海明碼碼字解:(1)把冗余碼A、B、C、…,順序插入信息碼中,得海明碼
碼字:“A
B1C100D11
0
0”
碼位:123456789101112
其中A,B,C,D分別插于2k位(k=0,1,2,3)。碼位分別為1,2,4,8。24(2)冗余碼A,B,C,D的線性碼位是:(相當(dāng)于監(jiān)督關(guān)系式)
A->1,3,5,7,9,11;
B->2,3,6,7,10,11;
C->4,5,6,7,12;(注5=4+1;6=4+2;7=4+2+1;12=8+4)D->8,9,10,11,12。(3)把線性碼位的值的偶校驗(yàn)作為冗余碼的值(設(shè)冗余碼初值為0):碼字:“A
B1C100D11
0
0”
A=∑(0,1,1,0,1,0)=1
B=∑(0,1,0,0,1,0)=0
C=∑(0,1,0,0,0)
=1
D=∑(0,1,1,0,0)
=0(4)最終編碼為:"101110001100"
25例已知:接收的碼字為:“100110001100”(k=8)
求:發(fā)送端的信息碼。解:1)設(shè)錯(cuò)誤累加器(err)初值=0
2)求出冗余碼的偶校驗(yàn)和,并按碼位累加到err中:
A=∑(1,0,1,0,1,0)=1
err=err+20=1
B=∑(0,0,0,0,1,0)=1
err=err+21=3
C=∑(1,1,0,0,0)
=0
err=err+0=3
D=∑(0,1,1,0,0)
=0
err=err+0=3
由err≠0可知接收碼字有錯(cuò),
26
3)碼字的錯(cuò)誤位置就是錯(cuò)誤累加器(err)的值3。
4)糾錯(cuò)--對(duì)碼字的第3位值取反得正確碼字:
"101110001100"
5)把位于2k位的冗余碼刪除得信息碼:"11001100"273.3.4循環(huán)冗余檢驗(yàn)的原理在數(shù)據(jù)鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗(yàn)CRC的檢錯(cuò)技術(shù)。假設(shè)待傳送的數(shù)據(jù)M=1010001101(共kbit)。我們?cè)贛的后面再添加供差錯(cuò)檢測(cè)用的nbit
冗余碼一起發(fā)送。28冗余碼的計(jì)算選定生成多項(xiàng)式,其對(duì)應(yīng)(n+1)bit的數(shù)Px5+x4+x2+x0對(duì)應(yīng)
P=110101用二進(jìn)制的模
2
運(yùn)算進(jìn)行2n乘M的運(yùn)算,這相當(dāng)于在M后面添加n個(gè)0。得到的(k+n)bit的數(shù)除以事先選定好的長度為(n+1)bit的數(shù)P,得出商是Q而余數(shù)是R,余數(shù)R比除數(shù)P至少要少1個(gè)比特。29
1101010110
←
Q
商
除數(shù)
P→
110101101000110100000
←
2nM被除數(shù)
110101
111011
110101
111010
110101
111110
110101
101100
110101
110010
110101
01110
←
R
余數(shù)30設(shè)
n=5,P=110101,模2運(yùn)算的結(jié)果是:商Q=1101010110,余數(shù)R=01110。(R為5bit)將余數(shù)R作為冗余碼添加在數(shù)據(jù)M的后面發(fā)送出去,即發(fā)送的數(shù)據(jù)是101000110101110,或者說2nM+R。31檢測(cè)出差錯(cuò)只要得出的余數(shù)R不為0,就表示檢測(cè)到了差錯(cuò)。但這種檢測(cè)方法并不能確定究竟是哪一個(gè)或哪幾個(gè)比特出現(xiàn)了差錯(cuò)。一旦檢測(cè)出差錯(cuò),就丟棄這個(gè)出現(xiàn)差錯(cuò)的幀。只要經(jīng)過嚴(yán)格的挑選,并使用位數(shù)足夠多的除數(shù)P,那么出現(xiàn)檢測(cè)不到的差錯(cuò)的概率就很小很小。32三個(gè)生成多項(xiàng)式國際標(biāo)準(zhǔn)
CRC-12:x12+x11+x3+x2+x1+1用于字符長度為6位CRC-16:x16+x15+x2+1用于字符長度為8位CRC-CCITT:x16+x12+x5+1用于字符長度為8位CRC-32:x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7+x5+x4+x2+x1+133練習(xí)(1)已知:信息碼:110011信息多項(xiàng)式:K(X)=X5+X4+X+1
生成碼:11001
生成多項(xiàng)式:G(X)=X4+X3+1(r=4)
求:循環(huán)冗余碼和碼字。(2)已知:接收碼字:1100111001多項(xiàng)式:T(X)=X9+X8+X5+X4+X3+1
生成碼:
11001
生成多項(xiàng)式:G(X)=X4+X3+1(r=4)
求:碼字的正確性。若正確,則指出冗余碼和信息碼。
34已知:信息碼:110011信息多項(xiàng)式:K(X)=X5+X4+X+1
生成碼:11001
生成多項(xiàng)式:G(X)=X4+X3+1(r=4)
求:循環(huán)冗余碼和碼字。
解:1)(X5+X4+X+1)*X4的積是X9+X8+X5+X4
對(duì)應(yīng)的碼是1100110000。
2)由計(jì)算結(jié)果知冗余碼是1001,碼字就是1100111001。
100001←Q(X)
G(x)→11001)1100110000←F(X)*Xr
11001,
10000
11001
1001←R(X)(冗余碼)35(2)已知:接收碼字:1100111001多項(xiàng)式:T(X)=X9+X8+X5+X4+X3+1
生成碼:
11001
生成多項(xiàng)式:G(X)=X4+X3+1(r=4)
求:碼字的正確性。若正確,則指出冗余碼和信息碼。
解:1)用字碼除以生成碼,余數(shù)為0,所以碼字正確。
100001←Q(X)
G(x)→11001)1100111001←F(X)*Xr+R(x)
11001,
11001
11001
0←S(X)(余數(shù))
2)因r=4,所以冗余碼是:11001,信息碼是:110011363.4數(shù)據(jù)鏈路協(xié)議
3.4.1停止等待協(xié)議停止等待協(xié)議是實(shí)現(xiàn)可靠傳輸?shù)囊粋€(gè)簡單的協(xié)議可靠傳輸
無差錯(cuò)、按序、無丟失、無重復(fù)的數(shù)據(jù)傳輸完全理想化的數(shù)據(jù)傳輸所基于的兩個(gè)假定假定1:鏈路是理想的傳輸信道,所傳送的任何數(shù)據(jù)既不會(huì)出差錯(cuò)也不會(huì)丟失。假定2:不管發(fā)送方以多快的速率發(fā)送數(shù)據(jù),接收方總是來得及收下,并及時(shí)上交主機(jī)這個(gè)假定就相當(dāng)于認(rèn)為:接收端接收并向主機(jī)交付數(shù)據(jù)的速率永遠(yuǎn)不會(huì)低于發(fā)送端發(fā)送數(shù)據(jù)的速率。37具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議現(xiàn)在去掉上述的第二個(gè)假定。但是,仍然保留第一個(gè)假定,即主機(jī)A向主機(jī)B傳輸數(shù)據(jù)的信道仍然是無差錯(cuò)無丟失的理想信道。然而現(xiàn)在不能保證接收端向主機(jī)交付數(shù)據(jù)的速率永遠(yuǎn)不低于發(fā)送端發(fā)送數(shù)據(jù)的速率。由收方控制發(fā)方的數(shù)據(jù)流,乃是計(jì)算機(jī)網(wǎng)絡(luò)中流量控制的一個(gè)基本方法。38具有最簡單流量控制的
數(shù)據(jù)鏈路層協(xié)議算法(發(fā)送方)在發(fā)送結(jié)點(diǎn):(1)從主機(jī)取一個(gè)數(shù)據(jù)幀(給網(wǎng)絡(luò)層的數(shù)據(jù)報(bào)加上控制信息構(gòu)成數(shù)據(jù)幀)。(2)將數(shù)據(jù)幀送到數(shù)據(jù)鏈路層的發(fā)送緩存。(3)將發(fā)送緩存中的數(shù)據(jù)幀發(fā)送出去。(4)等待。(5)若收到由接收結(jié)點(diǎn)發(fā)過來的信息(此信息的格式與內(nèi)容可由雙方事先商定好),則從主機(jī)取一個(gè)新的數(shù)據(jù)幀,然后轉(zhuǎn)到(2)。39具有最簡單流量控制的
數(shù)據(jù)鏈路層協(xié)議算法(接收方)在接收結(jié)點(diǎn):(1)等待。(2)若收到由發(fā)送結(jié)點(diǎn)發(fā)過來的數(shù)據(jù)幀,則將其放入數(shù)據(jù)鏈路層的接收緩存。(3)將接收緩存中的數(shù)據(jù)幀上交主機(jī)。(4)向發(fā)送結(jié)點(diǎn)發(fā)一信息,表示數(shù)據(jù)幀已經(jīng)上交給主機(jī)。(5)轉(zhuǎn)到(1)。40兩種情況的對(duì)比(傳輸均無差錯(cuò))ABDATADATADATADATA送主機(jī)B送主機(jī)B送主機(jī)B送主機(jī)BABDATA送主機(jī)BDATA送主機(jī)B時(shí)間不需要流量控制需要流量控制413.4.3實(shí)用的停止等待協(xié)議建立在不可靠信道上的可靠數(shù)據(jù)傳輸:可靠數(shù)據(jù)傳輸是建立在ARQ(Automatic
RepeatreQuest–自動(dòng)重復(fù)請(qǐng)求)協(xié)議之上的。ARQ協(xié)議的3種功能:錯(cuò)誤檢測(cè)接收方反饋發(fā)送方重傳42時(shí)間ABDATA0送主機(jī)ACKDATA1送主機(jī)ACK(a)正常情況ABDATA0DATA0送主機(jī)ACK(c)數(shù)據(jù)幀丟失重傳tout丟失!ABDATA0送主機(jī)ACKDATA0丟棄ACK(d)確認(rèn)幀丟失重傳tout丟失!ABDATA0NAKDATA0送主機(jī)ACK(b)數(shù)據(jù)幀出錯(cuò)重傳出錯(cuò)43停止等待協(xié)議可靠傳輸機(jī)制的工作原理發(fā)送方等待接收方發(fā)送的確認(rèn)幀實(shí)現(xiàn)流量控制,防止因接收方緩沖區(qū)溢出造成的幀丟失。接收方使用循環(huán)冗余校驗(yàn)和發(fā)送否認(rèn)幀,發(fā)送方重傳,實(shí)現(xiàn)了差錯(cuò)控制超時(shí)重傳解決幀丟失的問題幀序號(hào)的使用解決幀重復(fù)的問題可靠傳輸機(jī)制:確認(rèn)、校驗(yàn)、順序號(hào)、超時(shí)/重傳44錯(cuò)誤1:數(shù)據(jù)幀出錯(cuò)等待下層調(diào)用收到一個(gè)有比特錯(cuò)誤的數(shù)據(jù)幀,則向發(fā)送方發(fā)送NAK收到一個(gè)正確的數(shù)據(jù)幀,則向發(fā)送方發(fā)送ACK接收方發(fā)送方等待上層調(diào)用等待ACK或NAK向接收方發(fā)送一幀收到否認(rèn)幀NAK向接收方重傳該幀收到確認(rèn)幀ACK45無比特差錯(cuò)時(shí)發(fā)送方與接收方的配合收到確認(rèn)幀ACK收到否認(rèn)幀NAK向接收方重傳該幀發(fā)送方等待上層調(diào)用等待ACK或NCK向接收方發(fā)送一幀收到一個(gè)有幀比特錯(cuò)誤的數(shù)據(jù)幀,則向發(fā)送方發(fā)送NAK等待下層調(diào)用收到一個(gè)正確的數(shù)據(jù)幀,則向發(fā)送方發(fā)送ACK接收方46數(shù)據(jù)幀比特差錯(cuò)向接收方發(fā)送一幀收到否認(rèn)幀NAK向接收方重傳該幀收到一個(gè)有幀比特錯(cuò)誤的數(shù)據(jù)幀,則向發(fā)送方發(fā)送NAK發(fā)送方等待上層調(diào)用等待ACK或NCK收到確認(rèn)幀ACK等待下層調(diào)用收到一個(gè)正確的數(shù)據(jù)幀,則向發(fā)送方發(fā)送ACK接收方47錯(cuò)誤2:數(shù)據(jù)幀丟失向接收方發(fā)送一幀啟動(dòng)超時(shí)計(jì)時(shí)器發(fā)送方等待上層調(diào)用等待ACK或NAK收到否認(rèn)幀NAK向接收方重傳該幀收到確認(rèn)幀ACK超時(shí)則重傳該幀等待下層調(diào)用收到一個(gè)有幀比特錯(cuò)誤的數(shù)據(jù)幀,則向發(fā)送方發(fā)送NAK收到一個(gè)正確的數(shù)據(jù)幀,則向發(fā)送方發(fā)送ACK接收方48超時(shí)計(jì)時(shí)器的作用結(jié)點(diǎn)A發(fā)送完一個(gè)數(shù)據(jù)幀時(shí),就啟動(dòng)一個(gè)超時(shí)計(jì)時(shí)器(timeouttimer)。計(jì)時(shí)器又稱為定時(shí)器。若到了超時(shí)計(jì)時(shí)器所設(shè)置的重傳時(shí)間tout而仍收不到結(jié)點(diǎn)B的任何確認(rèn)幀,則結(jié)點(diǎn)A就重傳前面所發(fā)送的這一數(shù)據(jù)幀。一般可將重傳時(shí)間選為略大于“從發(fā)完數(shù)據(jù)幀到收到確認(rèn)幀所需的平均時(shí)間”。49簡單的重傳出現(xiàn)的問題發(fā)送方sendpkt(超時(shí))resendpktrecvACKsendpkt接收方recv
pktsendACKrecv
pkt?(新的幀還是重發(fā)的幀?)50錯(cuò)誤3:重復(fù)幀或者確認(rèn)幀丟失發(fā)送方收不到確認(rèn)幀,卻無法判斷是數(shù)據(jù)幀丟失,RTT太大、還是確認(rèn)幀丟失等原因。唯一能做的就是重傳數(shù)據(jù),由此可能造成重復(fù)幀。問題接收方無法知道當(dāng)前收到的幀是新的幀還是重傳的上一個(gè)幀。發(fā)送方收到ACK(NAK)時(shí)如何知道這是接收方對(duì)最近一幀的確認(rèn)還是延遲到達(dá)的對(duì)以前的幀的確認(rèn)呢?51解決重復(fù)幀的問題使每一個(gè)數(shù)據(jù)幀帶上不同的發(fā)送序號(hào)(順序號(hào))。每發(fā)送一個(gè)新的數(shù)據(jù)幀就把它的發(fā)送序號(hào)加1。若結(jié)點(diǎn)B收到發(fā)送序號(hào)相同的數(shù)據(jù)幀,就表明出現(xiàn)了重復(fù)幀。這時(shí)應(yīng)丟棄重復(fù)幀。但此時(shí)結(jié)點(diǎn)B還必須向A發(fā)送確認(rèn)幀ACK,因?yàn)锽已經(jīng)知道A可能沒有收到上一次發(fā)過去的確認(rèn)幀ACK。補(bǔ)充:接收方為了表明是對(duì)哪個(gè)數(shù)據(jù)幀的確認(rèn),給確認(rèn)幀ACK以編號(hào)。52幀的編號(hào)問題任何一個(gè)編號(hào)系統(tǒng)的序號(hào)所占用的比特?cái)?shù)一定是有限的。因此,經(jīng)過一段時(shí)間后,發(fā)送序號(hào)就會(huì)重復(fù)。序號(hào)占用的比特?cái)?shù)越少,數(shù)據(jù)傳輸?shù)念~外開銷就越小。
對(duì)于停止等待協(xié)議,由于每發(fā)送一個(gè)數(shù)據(jù)幀就停止等待,因此用一個(gè)比特來編號(hào)就夠了。一個(gè)比特可表示0和1兩種不同的序號(hào)。數(shù)據(jù)幀中的發(fā)送序號(hào)N(S)以0和1交替的方式出現(xiàn)在數(shù)據(jù)幀中。每發(fā)一個(gè)新的數(shù)據(jù)幀,發(fā)送序號(hào)就和上次發(fā)送的不一樣。用這樣的方法就可以使收方能夠區(qū)分開新的數(shù)據(jù)幀和重傳的數(shù)據(jù)幀了。53發(fā)送方等待上層調(diào)用等待上層調(diào)用等待ACK0等待ACK1發(fā)送pkt0啟動(dòng)計(jì)時(shí)器收到ACK0超時(shí)則重發(fā)pkt0啟動(dòng)計(jì)時(shí)器收到ACK1發(fā)送pkt1啟動(dòng)計(jì)時(shí)器收到ACK1收到ACK0超時(shí)則重發(fā)pkt1啟動(dòng)計(jì)時(shí)器54按照習(xí)慣的表示法,ACKn
表示“第
n–1
號(hào)幀已經(jīng)收到,現(xiàn)在期望接收第
n
號(hào)幀”。ACK1表示“0
號(hào)幀已收到,現(xiàn)在期望接收的下一幀是
1
號(hào)幀”;ACK0
表示“1
號(hào)幀已收到,現(xiàn)在期望接收的下一幀是0號(hào)幀”。55接收方等待pkt0等待pkt1
收到pkt1則發(fā)送ACK0
收到pkt0則發(fā)送ACK1
收到pkt0則發(fā)送ACK1收到pkt1則發(fā)送ACK056可靠傳輸雖然物理層在傳輸比特時(shí)會(huì)出現(xiàn)差錯(cuò),但由于數(shù)據(jù)鏈路層的停止等待協(xié)議采用了有效的檢錯(cuò)重傳機(jī)制,數(shù)據(jù)鏈路層對(duì)上面的網(wǎng)絡(luò)層就可以提供可靠傳輸?shù)姆?wù)。57停止等待協(xié)議的算法這里不使用否認(rèn)幀(實(shí)用的數(shù)據(jù)鏈路層協(xié)議大都是這樣的),而且確認(rèn)幀帶有序號(hào)n。按照習(xí)慣的表示法,ACKn
表示“第
n–1
號(hào)幀已經(jīng)收到,現(xiàn)在期望接收第
n
號(hào)幀”。ACK1表示“0
號(hào)幀已收到,現(xiàn)在期望接收的下一幀是
1
號(hào)幀”;ACK0
表示“1
號(hào)幀已收到,現(xiàn)在期望接收的下一幀是0號(hào)幀”。58在發(fā)送結(jié)點(diǎn)(1)從主機(jī)取一個(gè)數(shù)據(jù)幀,送交發(fā)送緩存。(2)V(S)←0。(3)N(S)←V(S)。(4)將發(fā)送緩存中的數(shù)據(jù)幀發(fā)送出去。(5)設(shè)置超時(shí)計(jì)時(shí)器。(6)等待。{等待以下(7)和(8)這兩個(gè)事件中最先出現(xiàn)的一個(gè)}(7)收到確認(rèn)幀ACKn,若n=1–V(s),則:從主機(jī)取一個(gè)新的數(shù)據(jù)幀,放入發(fā)送緩存;
V(S)←[1
V(S)],轉(zhuǎn)到(3)。否則,丟棄這個(gè)確認(rèn)幀,轉(zhuǎn)到(6)。(8)若超時(shí)計(jì)時(shí)器時(shí)間到,則轉(zhuǎn)到(4)。59在接收結(jié)點(diǎn)(1)V(R)←0。(2)等待。(3)收到一個(gè)數(shù)據(jù)幀;若N(S)=V(R),則執(zhí)行(4);否則丟棄此數(shù)據(jù)幀,然后轉(zhuǎn)到(6)。(4)將收到的數(shù)據(jù)幀中的數(shù)據(jù)部分送交上層軟件(也就是數(shù)據(jù)鏈路層模型中的主機(jī))。(5)V(R)←[1
V(R)]。(6)n←V(R);發(fā)送確認(rèn)幀ACKn,轉(zhuǎn)到(2)。60停止等待協(xié)議的要點(diǎn)只有收到序號(hào)正確的確認(rèn)幀
ACKn
后,才更新發(fā)送狀態(tài)變量
V(S)一次,并發(fā)送新的數(shù)據(jù)幀。接收端接收到數(shù)據(jù)幀時(shí),就要將發(fā)送序號(hào)
N(S)
與本地的接收狀態(tài)變量
V(R)
相比較。若二者相等就表明是新的數(shù)據(jù)幀,就收下,并發(fā)送確認(rèn)。否則為重復(fù)幀,就必須丟棄。但這時(shí)仍須向發(fā)送端發(fā)送確認(rèn)幀
ACKn,而接收狀態(tài)變量
V(R)
和確認(rèn)序號(hào)
n
都不變。
連續(xù)出現(xiàn)相同發(fā)送序號(hào)的數(shù)據(jù)幀,表明發(fā)送端進(jìn)行了超時(shí)重傳。連續(xù)出現(xiàn)相同序號(hào)的確認(rèn)幀,表明接收端收到了重復(fù)幀。61發(fā)送端在發(fā)送完數(shù)據(jù)幀時(shí),必須在其發(fā)送緩存中暫時(shí)保留這個(gè)數(shù)據(jù)幀的副本。這樣才能在出差錯(cuò)時(shí)進(jìn)行重傳。只有確認(rèn)對(duì)方已經(jīng)收到這個(gè)數(shù)據(jù)幀時(shí),才可以清除這個(gè)副本。發(fā)送端對(duì)出錯(cuò)的數(shù)據(jù)幀進(jìn)行重傳是自動(dòng)進(jìn)行的,因而這種差錯(cuò)控制體制常簡稱為ARQ(AutomaticRepeatreQuest),直譯是自動(dòng)重傳請(qǐng)求,但意思是自動(dòng)請(qǐng)求重傳。停止等待協(xié)議即停止等待ARQ協(xié)議。62停止等待協(xié)議中數(shù)據(jù)幀和
確認(rèn)幀的發(fā)送時(shí)間關(guān)系A(chǔ)BDATADATAACK傳播時(shí)延tp處理時(shí)間tpr確認(rèn)幀發(fā)送時(shí)間ta傳播時(shí)延tp處理時(shí)間tprtT時(shí)間兩個(gè)成功發(fā)送的數(shù)據(jù)幀之間的最小時(shí)間間隔數(shù)據(jù)幀的發(fā)送時(shí)間tf設(shè)置的重傳時(shí)間tout63停止等待協(xié)議的優(yōu)缺點(diǎn)優(yōu)點(diǎn):比較簡單。缺點(diǎn):通信信道的利用率不高,也就是說,信道還遠(yuǎn)遠(yuǎn)沒有被數(shù)據(jù)比特填滿。為了克服這一缺點(diǎn),就產(chǎn)生了另外兩種協(xié)議,即連續(xù)ARQ和選擇重傳ARQ。643.4.2回退N幀協(xié)議
1.連續(xù)ARQ協(xié)議的工作原理
在發(fā)送完一個(gè)數(shù)據(jù)幀后,不是停下來等待確認(rèn)幀,而是可以連續(xù)再發(fā)送若干個(gè)數(shù)據(jù)幀。如果這時(shí)收到了接收端發(fā)來的確認(rèn)幀,那么還可以接著發(fā)送數(shù)據(jù)幀。由于減少了等待時(shí)間,整個(gè)通信的吞吐量就提高了。65連續(xù)ARQ協(xié)議的工作原理DATA0DATA1DATA2DATA3DATA4DATA5重傳DATA2重傳DATA3ACK1ACK2ACK1確認(rèn)DATA0ACK2確認(rèn)DATA1DATA2出錯(cuò),丟棄DATA3不按序,丟棄,重傳ACK2DATA4不按序,丟棄,重傳ACK2DATA5不按序,丟棄,重傳ACK2ACK3ACK3確認(rèn)DATA2ACK4確認(rèn)DATA3ACK4重傳DATA5重傳DATA4超時(shí)重傳時(shí)間ABtout送交主機(jī)送交主機(jī)…??ACK2ACK2ACK266需要注意:(1)接收端只按序接收數(shù)據(jù)幀。雖然在有差錯(cuò)的2號(hào)幀之后接著又收到了正確的3個(gè)數(shù)據(jù)幀,但接收端都必須將這些幀丟棄,因?yàn)樵谶@些幀前面有一個(gè)2號(hào)幀還沒有收到。雖然丟棄了這些不按序的無差錯(cuò)幀,但應(yīng)重復(fù)發(fā)送已發(fā)送過的最后一個(gè)確認(rèn)幀(防止確認(rèn)幀丟失)。(2)ACK1表示確認(rèn)0號(hào)幀DATA0,并期望下次收到1號(hào)幀;ACK2表示確認(rèn)1號(hào)幀DATA1,并期望下次收到2號(hào)幀。依此類推。67(3)結(jié)點(diǎn)A在每發(fā)送完一個(gè)數(shù)據(jù)幀時(shí)都要設(shè)置該幀的超時(shí)計(jì)時(shí)器。如果在所設(shè)置的超時(shí)時(shí)間內(nèi)收到確認(rèn)幀,就立即將超時(shí)計(jì)時(shí)器清零。但若在所設(shè)置的超時(shí)時(shí)間到了而未收到確認(rèn)幀,就要重傳相應(yīng)的數(shù)據(jù)幀(仍需重新設(shè)置超時(shí)計(jì)時(shí)器)。在等不到2號(hào)幀的確認(rèn)而重傳2號(hào)數(shù)據(jù)幀時(shí),雖然結(jié)點(diǎn)A已經(jīng)發(fā)完了5號(hào)幀,但仍必須向回走,將2號(hào)幀及其以后的各幀全部進(jìn)行重傳。連續(xù)ARQ
又稱為Go-back-NARQ,意思是當(dāng)出現(xiàn)差錯(cuò)必須重傳時(shí),要向回走N個(gè)幀,然后再開始重傳。
連續(xù)ARQ協(xié)議又稱為GBN協(xié)議。68滑動(dòng)窗口的概念在使用連續(xù)ARQ協(xié)議時(shí),如果發(fā)送端一直沒有受到對(duì)方的確認(rèn)信息,那么實(shí)際上發(fā)送端并不能無限制的發(fā)送其數(shù)據(jù)。這是因?yàn)???dāng)未被確認(rèn)的數(shù)據(jù)幀的數(shù)目太多時(shí),只要有一幀出了差錯(cuò),就要有很多的數(shù)據(jù)幀需要重傳,這必然浪費(fèi)很多時(shí)間。另外為了對(duì)所發(fā)送的大量數(shù)據(jù)幀進(jìn)行編號(hào),每個(gè)數(shù)據(jù)幀的發(fā)送序號(hào)也要占用較多的比特?cái)?shù),這樣又增加了一些不必要的開銷。因此,在連續(xù)ARQ協(xié)議中必須將已發(fā)送出去、但未被確認(rèn)的數(shù)據(jù)幀的數(shù)目加以限制。6901234567012發(fā)送窗口WT不允許發(fā)送這些幀允許發(fā)送5個(gè)幀(a)01234567012不允許發(fā)送這些幀還允許發(fā)送4個(gè)幀WT已發(fā)送(b)01234567012不允許發(fā)送這些幀WT已發(fā)送(c)01234567012不允許發(fā)送這些幀還允許發(fā)送
3個(gè)幀WT已發(fā)送已發(fā)送并已收到確認(rèn)(d)70發(fā)送端的發(fā)送窗口:還沒有收到對(duì)方確認(rèn)信息的情況下發(fā)送端可以連續(xù)發(fā)送的數(shù)據(jù)幀的序號(hào)范圍。發(fā)送窗口的大小
WT
代表在還沒有收到對(duì)方確認(rèn)信息的情況下發(fā)送端最多可以發(fā)送多少個(gè)數(shù)據(jù)幀。發(fā)送窗口用來對(duì)發(fā)送端進(jìn)行流量控制。停止等待ARQ協(xié)議可以看成發(fā)送窗口大小為1的連續(xù)ARQ協(xié)議的特例。71接收端可以連續(xù)收到好幾個(gè)正確的幀以后才發(fā)一個(gè)確認(rèn)(累積確認(rèn)),或者在自己要發(fā)送數(shù)據(jù)時(shí)捎帶確認(rèn)信息。接收端的接收窗口:決定可以接收的數(shù)據(jù)幀的序號(hào)范圍。接收端只有當(dāng)收到的數(shù)據(jù)幀的發(fā)送序號(hào)落入接收窗口內(nèi)才允許將該數(shù)據(jù)幀收下。若接收到的數(shù)據(jù)幀落在接收窗口之外,則一律將其丟棄。在連續(xù)ARQ協(xié)議中,接收窗口的大小WR=1。只有當(dāng)收到的幀的序號(hào)與接收窗口一致時(shí)才能接收該幀。否則,就丟棄它。每收到一個(gè)序號(hào)正確的幀,接收窗口就向前(即向右方)滑動(dòng)一個(gè)幀的位置。同時(shí)發(fā)送對(duì)該幀的確認(rèn)。接收端設(shè)置接收窗口72不允許接收這些幀01234567012WR準(zhǔn)備接收0號(hào)幀(a)不允許接收這些幀01234567012WR準(zhǔn)備接收
1號(hào)幀已收到(b)不允許接收這些幀01234567012WR準(zhǔn)備接收4號(hào)幀已收到(c)73滑動(dòng)窗口的重要特性只有在接收窗口向前滑動(dòng)時(shí)(與此同時(shí)也發(fā)送了確認(rèn)),發(fā)送窗口才有可能向前滑動(dòng)。收發(fā)兩端的窗口按照以上規(guī)律不斷地向前滑動(dòng),因此這種協(xié)議(GBN協(xié)議)又稱為滑動(dòng)窗口協(xié)議。當(dāng)發(fā)送窗口和接收窗口的大小都等于1時(shí),就是停止等待協(xié)議。當(dāng)用n個(gè)比特進(jìn)行編號(hào)時(shí),若接收窗口的大小為1,則只有在發(fā)送窗口的大小WT
2n1時(shí),連續(xù)ARQ協(xié)議才能正確運(yùn)行。例如,當(dāng)采用3bit編碼時(shí),發(fā)送窗口的最大值是7而不是8。74可靠的數(shù)據(jù)傳輸提供的技術(shù)校驗(yàn)順序號(hào)確認(rèn)超時(shí)/重傳753.4.2選擇性重傳協(xié)議(SelectiveRepeat)接收窗口>1可加大接收窗口,先收下發(fā)送序號(hào)不連續(xù)但仍處在接收窗口中的那些數(shù)據(jù)幀。等到所缺序號(hào)的數(shù)據(jù)幀收到后再一并送交主機(jī)。選擇重傳ARQ協(xié)議可避免重復(fù)傳送那些本來已經(jīng)正確到達(dá)接收端的數(shù)據(jù)幀。但我們付出的代價(jià)是在接收端要設(shè)置具有相當(dāng)容量的緩存空間。對(duì)于選擇重傳ARQ協(xié)議,若用n
比特進(jìn)行編號(hào),則接收窗口的最大值受下式的約束
WR
2n/2
76773.5數(shù)據(jù)鏈路層協(xié)議實(shí)例
3.5.1高級(jí)數(shù)據(jù)鏈路控制HDLC高級(jí)數(shù)據(jù)鏈路控制(規(guī)程)(HighLevelDataLinkControl,HDLC)是一個(gè)在同步網(wǎng)上傳輸數(shù)據(jù)、面向比特的數(shù)據(jù)鏈路層協(xié)議,它是由國際標(biāo)準(zhǔn)化組織(ISO)制訂的。面向字符在鏈路上傳輸?shù)臄?shù)據(jù)必須是特定字符集的字符組成的,鏈路上的控制信息也必須是一個(gè)字符集中若干指定的控制字符構(gòu)成的。面向比特鏈路上能夠傳輸任意比特組合的數(shù)據(jù)78面向字符和面向比特79標(biāo)志字段F(Flag)為6個(gè)連續(xù)1加上兩邊各一個(gè)0共8bit(0x7E)。在接收端只要找到標(biāo)志字段就可確定一個(gè)幀的位置。地址字段A是8bit。幀檢驗(yàn)序列FCS字段共16bit。所檢驗(yàn)的范圍是從地址字段的第一個(gè)比特起,到信息字段的最末一個(gè)比特為止。80零比特的填充與刪除數(shù)據(jù)中某一段比特組合恰好出現(xiàn)和F字段一樣的情況01001111110001010會(huì)被誤認(rèn)為是F字段發(fā)送端在5個(gè)連1之后填入0比特再發(fā)送出去填入0比特010011111010001010在接收端將5個(gè)連1之后的0比特刪除,恢復(fù)原樣在此位置刪除填入的0比特01001111101000101081透明傳輸采用零比特填充法就可傳送任意組合的比特流,或者說,就可實(shí)現(xiàn)數(shù)據(jù)鏈路層的透明傳輸。當(dāng)連續(xù)傳輸兩個(gè)幀時(shí),前一個(gè)幀的結(jié)束標(biāo)志字段F可以兼作后一幀的起始標(biāo)志字段。當(dāng)暫時(shí)沒有信息傳送時(shí),可以連續(xù)發(fā)送標(biāo)志字段,使收端可以一直和發(fā)端保持同步。82信息幀:第1比特為0;N(S)發(fā)送序號(hào);N(R)確認(rèn)號(hào);探詢/終止P/F(Poll/Final)比特。主站發(fā)出的幀的P比特置為1表示要求對(duì)方立即發(fā)送響應(yīng),對(duì)方確認(rèn)的幀中若將F比特置為1則表示要發(fā)送的數(shù)據(jù)發(fā)送完畢。83監(jiān)督幀:四種,取決于3~4比特的值無編號(hào)幀:沒有編號(hào),用5bit(3,4,6,7,8)來表示不同功能的無編號(hào)幀。84HDLC連接建立、數(shù)據(jù)傳輸和連接拆除853.5.2PPP協(xié)議現(xiàn)在全世界使用得最多的數(shù)據(jù)鏈路層協(xié)議是點(diǎn)對(duì)點(diǎn)協(xié)議
PPP(Point-to-PointProtocol)。用戶使用撥號(hào)電話線接入因特網(wǎng)時(shí),一般都使用PPP協(xié)議。86PPP協(xié)議1992年制訂了PPP協(xié)議。經(jīng)過1993年和1994年的修訂,現(xiàn)在的PPP協(xié)議已成為因特網(wǎng)的正式標(biāo)準(zhǔn)[RFC1661]。PPP協(xié)議有三個(gè)組成部分一個(gè)將IP數(shù)據(jù)報(bào)封裝到串行鏈路的方法。鏈路控制協(xié)議LCP(LinkControlProtocol)。網(wǎng)絡(luò)控制協(xié)議NCP(NetworkControlProtocol)。PPP的幀格式和HDLC的相似。標(biāo)志字段
F
仍為0x7E(符號(hào)“0x”表示后面的字符是用十六進(jìn)制表示。十六進(jìn)制的
7E
的二進(jìn)制表示是01111110)。地址字段
A
只置為0xFF。地址字段實(shí)際上并不起作用??刂谱侄?/p>
C
通常置為0x03。PPP是面向字節(jié)的,所有的PPP
幀的長度都是整數(shù)字節(jié)。87PPP協(xié)議的幀格式88字符填充法將信息字段中出現(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í)將該字符的編碼加以改變。89不使用序號(hào)和確認(rèn),不提供可靠傳輸PPP協(xié)議之所以不使用序號(hào)和確認(rèn)機(jī)制是出于以下的考慮:在數(shù)據(jù)鏈路層出現(xiàn)差錯(cuò)的概率不大時(shí),使用比較簡單的PPP協(xié)議較為合理。在因特網(wǎng)環(huán)境下,PPP的信息字段放入的數(shù)據(jù)是IP數(shù)據(jù)報(bào)。數(shù)據(jù)鏈路層的可靠傳輸并不能夠保證網(wǎng)絡(luò)層的傳輸也是可靠的。幀檢驗(yàn)序列FCS字段可保證無差錯(cuò)接受。90PPP協(xié)議的工作狀態(tài)當(dāng)用戶撥號(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ò)層連接,收回原來分配出去的IP地址。接著,LCP釋放數(shù)據(jù)鏈路層連接。最后釋放的是物理層的連接。91923.6數(shù)據(jù)鏈路層的設(shè)備
3.6.1網(wǎng)橋擴(kuò)展網(wǎng)絡(luò)的距離或范圍,而且可提高網(wǎng)絡(luò)的性能、可靠性和安全性。網(wǎng)橋工作在數(shù)據(jù)鏈路層,具體說是工作在OSI模型中數(shù)據(jù)鏈路層的MAC子層。它將兩個(gè)局域網(wǎng)(LAN)連起來,根據(jù)MAC地址(物理地址)來轉(zhuǎn)發(fā)幀。網(wǎng)橋具有過濾幀的功能。當(dāng)網(wǎng)橋收到一個(gè)幀時(shí),并不是向所有的端口轉(zhuǎn)發(fā)此幀,而是先檢查此幀的目的MAC地址,然后再確定將該幀轉(zhuǎn)發(fā)到哪一個(gè)端口。931網(wǎng)橋的工作原理94網(wǎng)橋處理幀和建立轉(zhuǎn)發(fā)表的算法95網(wǎng)橋應(yīng)當(dāng)按照以下算法
處理收到的幀和建立轉(zhuǎn)發(fā)表(1)從端口x收到無差錯(cuò)的幀(如有差錯(cuò)即丟棄),在轉(zhuǎn)發(fā)表中查找目的站MAC地址。(2)如有,則查找出到此MAC地址應(yīng)當(dāng)走的端口d,然后進(jìn)行(3),否則轉(zhuǎn)到(5)。(3)如到這個(gè)MAC地址去的端口d=x,則丟棄此幀(因?yàn)檫@表示不需要經(jīng)過網(wǎng)橋進(jìn)行轉(zhuǎn)發(fā))。否則從端口d轉(zhuǎn)發(fā)此幀。(4)轉(zhuǎn)到(6)。(5)向網(wǎng)橋除x以外的所有端口轉(zhuǎn)發(fā)此幀(這樣做可保證找到目的站)。(6)如源站不在轉(zhuǎn)發(fā)表中,則將源站MAC地址加入到轉(zhuǎn)發(fā)表,登記該幀進(jìn)入網(wǎng)橋的端口號(hào),設(shè)置計(jì)時(shí)器。然后轉(zhuǎn)到(8)。如源站在轉(zhuǎn)發(fā)表中,則執(zhí)行(7)。(7)更新計(jì)時(shí)器。(8)等待新的數(shù)據(jù)幀。轉(zhuǎn)到(1)。962網(wǎng)橋的分類網(wǎng)橋通常有透明網(wǎng)橋和源路由選擇網(wǎng)橋兩大類。透明網(wǎng)橋:簡單的講,使用這種網(wǎng)橋,不需要改動(dòng)硬件和軟件,無需設(shè)置地址開關(guān),無需裝入路由表或參數(shù)。只須插入電纜就可以,現(xiàn)有LAN的運(yùn)行完全不受網(wǎng)橋的任何影響?!巴该鳌笔侵妇钟蚓W(wǎng)上的站點(diǎn)并不知道所發(fā)送的幀將經(jīng)過哪幾個(gè)網(wǎng)橋,因?yàn)榫W(wǎng)橋?qū)Ω髡緛碚f是看不見的。透明網(wǎng)橋采用的算法是逆向?qū)W習(xí)法(backwardlearning)。網(wǎng)橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。查看源地址即可知道在哪個(gè)LAN上可訪問哪臺(tái)機(jī)器,于是在散列表中添上一項(xiàng)。97透明網(wǎng)橋使用了支撐樹算法這是為了避免產(chǎn)生轉(zhuǎn)發(fā)的幀在網(wǎng)絡(luò)中不斷地兜圈子。局域網(wǎng)2局域網(wǎng)1網(wǎng)橋2網(wǎng)橋1
AFF2④F1③不停地兜圈子①②A發(fā)出的幀⑤網(wǎng)橋1轉(zhuǎn)發(fā)的幀⑥網(wǎng)橋2轉(zhuǎn)發(fā)的幀網(wǎng)絡(luò)資源白白消耗了98透明網(wǎng)橋容易安裝,但網(wǎng)絡(luò)資源的利用不充分。源路由(sourceroute)網(wǎng)橋在發(fā)送幀時(shí)將詳細(xì)的路由信息放在幀的首部中。源站以廣播方式向欲通信的目的站發(fā)送一個(gè)發(fā)現(xiàn)幀,每個(gè)發(fā)現(xiàn)幀都記錄所經(jīng)過的路由。發(fā)現(xiàn)幀到達(dá)目的站時(shí)就沿各自的路由返回源站。源站在得知這些路由后,從所有可能的路由中選擇出一個(gè)最佳路由。凡從該源站向該目的站發(fā)送的幀的首部,都必須攜帶源站所確定的這一路由信息。99特點(diǎn)透明網(wǎng)橋源路由網(wǎng)橋有無連接無連接面向連接透明性完全透明不透明配置方式自動(dòng)手動(dòng)路由次優(yōu)優(yōu)化學(xué)習(xí)逆向?qū)W習(xí)發(fā)現(xiàn)幀復(fù)雜性在網(wǎng)橋在主機(jī)100網(wǎng)橋在轉(zhuǎn)發(fā)表中登記以下三個(gè)信息站地址:登記收到的幀的源MAC地址。端口:登記收到的幀進(jìn)入該網(wǎng)橋的端口號(hào)。時(shí)間:登記收到的幀進(jìn)入該網(wǎng)橋的時(shí)間。轉(zhuǎn)發(fā)表中的MAC地址是根據(jù)源MAC地址寫入的,但在進(jìn)行轉(zhuǎn)發(fā)時(shí)是將此MAC地址當(dāng)作目的地址。如果網(wǎng)橋現(xiàn)在能夠從端口x收到從源地址A發(fā)來的幀,那么以后就可以從端口x將幀轉(zhuǎn)發(fā)到目的地址A。1013網(wǎng)橋的優(yōu)缺點(diǎn)(與中繼器相比)網(wǎng)橋的存儲(chǔ)和轉(zhuǎn)發(fā)功能與中繼器相比有優(yōu)點(diǎn)也有缺點(diǎn),其優(yōu)點(diǎn)是:(1)使用網(wǎng)橋進(jìn)行互連克服了物理限制,這意味著構(gòu)成LAN的數(shù)據(jù)站總數(shù)和網(wǎng)段數(shù)很容易擴(kuò)充。(2)網(wǎng)橋納入存儲(chǔ)和轉(zhuǎn)發(fā)功能可使其適應(yīng)于連接使用不同MAC協(xié)議的兩個(gè)LAN。因而構(gòu)成一個(gè)不同LAN混連在一起的混合網(wǎng)絡(luò)環(huán)境。(3)網(wǎng)橋的中繼功能僅僅依賴于MAC幀的地址,因而對(duì)高層協(xié)議完全透明。(4)網(wǎng)橋?qū)⒁粋€(gè)較大的LAN分成段,有利于改善可靠性、可用性和安全性。102網(wǎng)橋的主要缺點(diǎn)是:由于網(wǎng)橋在執(zhí)行轉(zhuǎn)發(fā)前先接收幀并進(jìn)行緩沖,與中繼器相比會(huì)引入更多時(shí)延。由于網(wǎng)橋不提供流量控制功能,因此在流量較大時(shí)有可能使其過載,從而造成幀的丟失。網(wǎng)橋的優(yōu)點(diǎn)多于缺點(diǎn)正是其廣泛使用的原因1033.6.2交換機(jī)與網(wǎng)橋一樣,交換機(jī)按每一個(gè)包中的MAC地址相對(duì)簡單地決策信息轉(zhuǎn)發(fā)。與網(wǎng)橋不同的是交換機(jī)轉(zhuǎn)發(fā)延遲很小,操作接近單個(gè)局域網(wǎng)性能,遠(yuǎn)遠(yuǎn)超過了普通橋接互聯(lián)網(wǎng)絡(luò)之間的轉(zhuǎn)發(fā)性能。交換機(jī)本質(zhì)上是多接口的網(wǎng)橋。利用專門設(shè)計(jì)的集成電路可使交換機(jī)以線路速率在所有的端口并行轉(zhuǎn)發(fā)信息,提供了比傳統(tǒng)橋接器高得多的操作性能。104交換機(jī)的基本原理所謂“交換”實(shí)際上就是指轉(zhuǎn)發(fā)數(shù)據(jù)幀(Frame)。在數(shù)據(jù)通信中,所有的交換設(shè)備(即交換機(jī))執(zhí)行兩個(gè)基本的操作:(1)交換數(shù)據(jù)幀,將從輸入介質(zhì)上收到的數(shù)據(jù)幀轉(zhuǎn)發(fā)至相應(yīng)的輸出介質(zhì);交換機(jī)根據(jù)數(shù)據(jù)幀的MAC(MediaAccessControl)地址(即物理地址)進(jìn)行數(shù)據(jù)幀的轉(zhuǎn)發(fā)操作。交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)幀時(shí),遵循以下規(guī)則:①如果數(shù)據(jù)幀的目的MAC地址是廣播地址或者組播地址,則向交換機(jī)所有端口轉(zhuǎn)發(fā)(除數(shù)據(jù)幀來的端口)。②如果數(shù)據(jù)幀的目的地址是單播地址,但是這個(gè)地址并不在交換機(jī)的地址表中,那么也會(huì)向所有的端口轉(zhuǎn)發(fā)(除數(shù)據(jù)幀來的端口)。105③如果數(shù)據(jù)幀的目的地址在交換機(jī)的地址表中,那么就根據(jù)地址表轉(zhuǎn)發(fā)到相應(yīng)的端口。④如果數(shù)據(jù)幀的目的地址與數(shù)據(jù)幀的源地址在一個(gè)網(wǎng)段上,它就會(huì)丟棄這個(gè)數(shù)據(jù)幀,交換也就不會(huì)發(fā)生。(2)維護(hù)交換操作,構(gòu)造和維護(hù)交換地址表。1063種交換技術(shù)(1)端口交換。這種交換技術(shù)最早出現(xiàn)在插槽式的集線器中,是基于OSI第一層上完成的,具有靈活性和負(fù)載平衡能力等優(yōu)點(diǎn)。如果配置得當(dāng),那么還可以在一定程度進(jìn)行容錯(cuò)錯(cuò),但沒有改變共享傳輸介質(zhì)的特點(diǎn),自而未能稱之為真正的交換。(2)幀交換幀交換是目前應(yīng)用最廣的局域網(wǎng)交換技術(shù),它通過對(duì)傳統(tǒng)傳輸媒介進(jìn)行微分段,提供并行傳輸?shù)臋C(jī)制,以減小沖突域,獲得高的帶寬。107(3)信元交換ATM采用固定長度53個(gè)字節(jié)的信元交換,由于長度固定,因而便于用硬件實(shí)現(xiàn)。ATM采用專用的非差別連接,并行運(yùn)行,可以通過一個(gè)交換機(jī)同時(shí)建立多個(gè)結(jié)點(diǎn),但并不會(huì)影響每個(gè)結(jié)點(diǎn)之間的通信能力。ATM還容許在源結(jié)點(diǎn)和目標(biāo)結(jié)點(diǎn)建立多個(gè)虛擬鏈接,以保障足夠的帶寬和容錯(cuò)能力。ATM采用了統(tǒng)計(jì)時(shí)分電路進(jìn)行復(fù)用,因而能大大提高通道的利用率。108交換機(jī)與網(wǎng)橋的異同點(diǎn)交換機(jī)與網(wǎng)橋相同,是一種多端口設(shè)備。交換機(jī)和網(wǎng)橋的不同在于:交換機(jī)端口數(shù)較多;交換機(jī)的數(shù)據(jù)傳輸效較高。109直通交換和存儲(chǔ)轉(zhuǎn)發(fā)交換直通交換:當(dāng)接收到一個(gè)幀的目的地址(MAC地址)后馬上決定轉(zhuǎn)發(fā)的目的端口,并開始轉(zhuǎn)發(fā),而不必等待接收到一個(gè)幀的全部字節(jié)后再進(jìn)行轉(zhuǎn)發(fā)。相對(duì)存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)而言,降低了傳輸延遲,但在傳輸過程中不能進(jìn)行校驗(yàn),同時(shí)也可能傳遞廣播風(fēng)暴。存儲(chǔ)轉(zhuǎn)發(fā)交換:從功能上講,就是網(wǎng)橋所使用的技術(shù),等到全部數(shù)據(jù)都接收后再進(jìn)行處理,包括校驗(yàn)、轉(zhuǎn)發(fā)等。相對(duì)于直通技術(shù)而言,傳輸延遲較大。一些交換機(jī)可以同時(shí)使用上述兩種技術(shù)。當(dāng)網(wǎng)絡(luò)誤碼率較低時(shí)采用直通技術(shù),當(dāng)網(wǎng)絡(luò)誤碼率較高時(shí)則采用存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)。這種交換機(jī)被稱為自適應(yīng)交換機(jī)。1103.7異步傳輸方式ATM
1概念A(yù)TM(AsynchronousTransferMode,異步傳輸方式)是一項(xiàng)先進(jìn)和實(shí)用的通信技術(shù),它采用固定大小報(bào)文分組動(dòng)態(tài)地分配帶寬。數(shù)據(jù)壓縮、編碼和傳輸是異步進(jìn)行的。ATM也被稱為“快速報(bào)文分組”。三網(wǎng)在傳輸內(nèi)容上的不同需求與特點(diǎn):語音、視頻、數(shù)字;數(shù)據(jù)網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時(shí),由于發(fā)送數(shù)據(jù)的終端數(shù)量不同,會(huì)產(chǎn)生不固定的延遲;現(xiàn)有數(shù)據(jù)網(wǎng)絡(luò)分組長度不適合傳輸語音信號(hào)。ATM選擇固定長度的短信元(cell)作為信息傳輸?shù)膯挝?,有利于寬帶高速交換。信元長度為53字節(jié),其首部(可簡稱為信頭)為5字節(jié)。111“異步”的含義SDH傳送的同步比特流被劃分為一個(gè)個(gè)固定時(shí)間長度的幀(請(qǐng)注意,這是時(shí)分復(fù)用的時(shí)間幀,而不是數(shù)據(jù)鏈路層的幀)。當(dāng)用戶的ATM信元需要傳送時(shí),就可插入到SDH的一個(gè)幀中。同步時(shí)分復(fù)用異步時(shí)分復(fù)用如果用戶有很多信元要發(fā)送,就可以接續(xù)不斷地發(fā)送出去。只要SDH的幀有空位置就可以將這些信元插入進(jìn)來。ATM采用異步時(shí)分復(fù)用的方式將來自不同信息源的信息匯集到一起,信元信頭中的虛通道標(biāo)識(shí)符/虛通路標(biāo)識(shí)符(VPI/VCI)作為地址標(biāo)記,網(wǎng)絡(luò)根據(jù)信頭中的標(biāo)記識(shí)別和轉(zhuǎn)發(fā)信元。1122ATM層次參考模型圖ATM協(xié)議參考模型共三層,大體上與OSI的最低兩層相當(dāng)物理層物理媒體相關(guān)(PhysicalMediumDependent,PMD)子層負(fù)責(zé)在物理媒體上正確傳輸和接收比特流。它完成只和媒體相關(guān)的功能,如線路編碼和解碼、比特定時(shí)以及光電轉(zhuǎn)換等。113傳輸匯聚子層
(TransmissionConvergenceSublayer)TC
子層實(shí)現(xiàn)信元流和比特流的轉(zhuǎn)換,包括速率適配(空閑信元的插入)、信元定界與同步、傳輸幀的產(chǎn)生與恢復(fù)等。在發(fā)送時(shí),TC子層將ATM層交下來的信元流轉(zhuǎn)換成比特流,再交給下面的PMD子層。在接收時(shí),TC子層將PMD子層交上來的比特流轉(zhuǎn)換成信元流,標(biāo)記出每一個(gè)信元的開始和結(jié)束,并交給ATM層。TC子層的存在使得ATM層實(shí)現(xiàn)了與下面的傳輸媒體完全無關(guān)。典型的TC子層就是SONET/SDH。114ATM信元流
裝入一個(gè)STM-1幀的例子一個(gè)STM-1幀共有270*9=2430Byte115ATM
層的功能信元的復(fù)用與分用信元首部的產(chǎn)生與提取流量控制信元的VPI/VCI轉(zhuǎn)換(就是將一個(gè)入信元的VPI/VCI轉(zhuǎn)換成新的數(shù)值)116ATM
層
虛通路VC、虛通道VP一個(gè)虛通路VC是在兩個(gè)或兩個(gè)以上的端點(diǎn)之間的一個(gè)運(yùn)送ATM信元的通信通路。一個(gè)虛通道VP包含有許多相同端點(diǎn)的虛通路VC,而這許多VC都使用同一個(gè)VPI。117
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 碳排放管理員創(chuàng)新實(shí)踐強(qiáng)化考核試卷含答案
- 膠狀化妝品制造工操作規(guī)程競(jìng)賽考核試卷含答案
- 塑料真空成型工崗前安全檢查考核試卷含答案
- 健康照護(hù)師變革管理競(jìng)賽考核試卷含答案
- 禮儀主持人安全知識(shí)競(jìng)賽評(píng)優(yōu)考核試卷含答案
- 救護(hù)儀器維修工崗前理論評(píng)估考核試卷含答案
- 技術(shù)專利合同范本
- 承攬合同三方協(xié)議
- 開荒農(nóng)戶合同范本
- 采購珠寶合同范本
- 品管圈QCC成果匯報(bào)提高門急診科靜脈留置針穿刺成功率
- 遠(yuǎn)程手術(shù)實(shí)時(shí)監(jiān)控
- 2025年《保險(xiǎn)法》知識(shí)考試題庫及答案解析
- JJG646-2006移液器檢定規(guī)程
- 2025年超星爾雅學(xué)習(xí)通《現(xiàn)代教育技術(shù)與應(yīng)用》考試備考題庫及答案解析
- 傣家竹樓介紹
- 2025年法律實(shí)務(wù)賽項(xiàng) 國賽 備考考試試題庫 有答案
- 朱柏祥電工基礎(chǔ)課件
- ECMO中心多學(xué)科協(xié)作(MDT)診療方案
- 感染科醫(yī)護(hù)人員防護(hù)措施
- 物料異常應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論