2009年軟考網(wǎng)絡(luò)工程師教程之六
通過對第六講的學(xué)習(xí),并整理簡要分時筆記如下,如若再不懂請參照視頻。完整六十八講視頻見泳者雷敏播客,陸續(xù)上傳中……
本講主要內(nèi)容:數(shù)據(jù)鏈路層
00:36 鏈路:無源的點(diǎn)到點(diǎn)的物理線段,中間無交換結(jié)點(diǎn)。
02:50 數(shù)據(jù)鏈路(data link)。
04:00 數(shù)據(jù)鏈路層的功能:
1、鏈路管理。
2、幀定界:幀同步、成幀(原因)。
3、流量控制:使接收方來得及接收。
4、差錯控制:前向糾錯、差錯檢測。
5、將數(shù)據(jù)和控制信息分開:幀內(nèi)區(qū)分。
6、透明傳輸:能傳輸所有數(shù)據(jù)。
09:28 停止等待協(xié)議
數(shù)據(jù)鏈路層的簡化模型。
19:50 完全理想化的數(shù)據(jù)傳輸。假定一:無差錯、無丟失;假定二:接收端向主機(jī)交付數(shù)據(jù)速率永遠(yuǎn)不小于發(fā)送端發(fā)送速率。由此實(shí)行無流量控制,這是絕對無法完成的,理想東東。
23:10 具有簡單流量控制的數(shù)據(jù)鏈路層協(xié)議。假定一:無差錯、無丟失。
由接收方控制發(fā)送方的數(shù)據(jù)流的方法實(shí)施簡單流量控制。即,發(fā)送方每發(fā)送一幀就停下來,等待,直到收到接收方發(fā)送的確認(rèn)信號,發(fā)送方再發(fā)送下一幀。
具體流程:
1、發(fā)送結(jié)點(diǎn):
(1)發(fā)送結(jié)點(diǎn)從主機(jī)取一個數(shù)據(jù)幀。
(2)將此數(shù)據(jù)幀送入數(shù)據(jù)鏈路層的發(fā)送緩存。
(3)將緩存中的數(shù)據(jù)發(fā)送出去。
(4)等待。
(5)若收到接收結(jié)點(diǎn)返回的確認(rèn)信息ACK,則轉(zhuǎn)(1)。
2、接收結(jié)點(diǎn):
(1)等待。
(2)收到發(fā)送結(jié)點(diǎn)的數(shù)據(jù)幀,將其放入數(shù)據(jù)鏈路層的接收緩存。
(3)將接收緩存中的數(shù)據(jù)上交主機(jī)。
(4)向發(fā)送結(jié)點(diǎn)發(fā)送一個確認(rèn)信息ACK,轉(zhuǎn)(1)。
30:15 實(shí)用的停止等待協(xié)議
四種情況:(1)正常接收。
(2)數(shù)據(jù)幀出錯,接收結(jié)點(diǎn)返回一個NAK信號,發(fā)送方收到NAK后,重發(fā)該幀。
(3)數(shù)據(jù)幀丟失,發(fā)送方等待確認(rèn)信號時間大于超時時間t(out),事先約定,發(fā)送方重發(fā)該幀。
(4)數(shù)據(jù)幀接收方收到,但接收方發(fā)出的確認(rèn)幀丟失。發(fā)送方超時重傳該幀,接收方收到重復(fù)幀。
注:超時定時器(timeout timer),定時略大于正常發(fā)送數(shù)據(jù)幀到接收到確認(rèn)幀ACK時間的平均時間。
解決重復(fù)幀問題:每個數(shù)據(jù)幀帶上一個發(fā)送序號(接收方同樣發(fā)ACK信號,避免發(fā)送方不斷重復(fù)發(fā)送該幀)。發(fā)送序號幀的長度為1個比特,0和1交替使用即可。
42:40 如何實(shí)現(xiàn)數(shù)據(jù)鏈路層的可靠傳輸
42:50 循環(huán)冗余校驗CRC(不要祥述,見視頻,講得非常淺顯清楚)
幀校驗序列FCS,是指數(shù)據(jù)后添加的冗余碼。
FCS可以由CRC求得,但CRC不是唯一求FCS的方法,另外還有海明碼、奇偶校驗等。
CRC只能檢測出差錯,它沒有能力糾錯;數(shù)據(jù)幀出錯,即丟棄該幀。
生成多項式長度足夠,可以接近100%檢測出差錯。
因此,數(shù)據(jù)鏈路層可以做到無差錯接收,因為一有差錯就丟棄了。
【編輯推薦】