資料鏈路層之服務與成幀

weixin_33843409發表於2017-11-16

服務:

1.無確認的無連線服務

2.有確認的無連線服務

3.有確認的有連線服務

 

成幀:

通常的做法是,將位元流拆分成多個離散的幀,為每個幀計算一個稱為校驗和的短令牌,並將該校驗和和放在幀中一起傳輸。接收方同樣計算校驗和,核對。

拆分位元流,有以下方法:

1.位元組計數法

方法:每個幀第一位元組標識幀的大小。以此確定幀的邊界。

缺點:一旦首位元組損壞,找不到下一個幀,方法失效。

應用:很少用到。

2.位元組填充的標誌位元組法

方法:每個幀採用一些特殊的位元組作為幀的開始和結束邊界,這些位元組稱為標誌位元組FLAG(如同c語言裡字串的結尾0)。考慮到這些位元組可能出現在資料中,需要額外的轉義位元組ESC,與c語言類似,構成【ESC FLAG】。當然,資料中遇到轉義位元組,也要進行轉義【ESC ESC】。這些FLAG和ESC都屬於額外填充的位元組,故而幀大小不確定。

缺點:只能使用8bit的位元組;幀大小不定。

應用:PPP協議

3.位元填充的標誌位元法

方法:幀的劃分可以在bit級完成。每個幀採用一個特殊位元組,作為邊界,它是01111110或0x7E標記。幀的大小是任意大小bit數,而不一定是8的倍數(不完整位元組)。傳送方在資料裡每遇到5個連續的1,就填充一個0。如果資料中有標誌位元組01111110,會被填充後成為011111010。故而保證標誌位元組是唯一的,只能出現在邊界。

缺點:幀大小不定。

應用:USB(通用序列匯流排),乙太網,802.11(實際使用中,FLAG並不是一個位元組)

4.物理層編碼違禁法

方法:物理層位元編碼成訊號通常會加些冗餘,意味著一些訊號不表示資料。可以利用這些非資料訊號來表示幀邊界,實際上,採用“編碼違法”來區分幀的邊界。










本文轉自 jiu~ 部落格園部落格,原文連結:http://www.cnblogs.com/jiu0821/p/7414524.html,如需轉載請自行聯絡原作者

相關文章