全局性 . 由於線路本身電氣特性所產生的隨機噪聲(熱噪聲),是信道固有的,隨機存在的。
解決辦法:提高信噪比來減少或避免幹擾。(對傳感器下手)
局部性 .外界特定的短暫原因所造成的沖擊噪聲,是產生差錯的主要原因。
解決辦法:通常利用編碼技術來解決。
差錯又分為位錯和幀錯。
鏈路層為網絡層提供服務:無確認無連接服務(通信質量好、有線傳輸鏈路),有確認無連接服務,有確認面向連接服務(後面兩種是 針對通信質量差的無線傳輸鏈路)。
數據鏈路層的錯誤主要是比特錯,對於 這些有檢錯編碼(奇偶校驗碼、循環冗余碼CRC)、糾錯編碼(海明碼)
只能檢查出奇數個錯誤,檢錯能力50%。
例:要發送的數據為1101 0110 11 ,采用CRC校驗,生成多項式是10011,那麽最終發送的數據是?
解答:
最終發送的數據是:要發送的數據+FCS幀檢驗序列
計算冗余碼的步驟是:
(1)加0,假設生成多項式G(x)的階為r,則加 r 個0 (多項式N位,階為N-1)
(2)模2除法,數據加0後除以生成多項式,余數為冗余碼(又叫FCS、CRC校驗碼)的比特序列。
那麽接收端如何檢錯呢?
把收到的每壹個幀都除以同樣的除數,然後檢查得到的余數R。
1.余數為0,判定這個幀沒有差錯, 接受 。
2.余數為不為0,判定這個幀有差錯(無法確定到位), 丟棄 。
FCS的生成以及接收端CRC檢驗都是由硬件實現,處理很迅速,因此不會延誤數據的傳輸。
在數據鏈路層僅僅使用循環冗余檢驗CRC差錯檢測技術,只能做到對幀的無差錯接收,即“凡是接收端數據鏈路層接受的幀,我們都能以非常 接近於1 的概率認為這些幀在傳輸過程中沒有產生差錯”。接收端丟棄的幀雖然曾收到了,但是最終還是因為有差錯被丟棄。“ 凡是接收端數據鏈路層接收的幀均無差錯”。
“可靠傳輸”:數據鏈路層發送端發送什麽,接收端就收到什麽。
鏈路層使用CRC檢驗,能夠實現無比特差錯的傳輸,但這還 不是可靠傳輸 。