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