① 數據鏈路層的差錯的檢測和恢復(奇偶校驗碼,CRC校驗,校驗和),各種運算
在原始的物理傳輸線路上傳輸數據信號是有差錯的,存在一定的誤碼率,數據鏈路層存在的目的就是給原始二進制位流增加一些控制信息 ,實現如何在有差錯的線路上進行無差錯傳輸
數據設定為M位,冗餘位設定為R位,如果位數滿足即認為不出錯,如果位數不滿足即肯定出錯
差錯產生的原因
信道的電氣特性引起信號幅度,頻率,相位的畸變,信號反射,串擾,閃電,大功率電機的啟停等
計算機網路中出現的差錯是連續的還是離散的差錯? → 是連續的突發性的差錯
比如傳了一個這樣的位串0001101001,連續的差錯:比如一共出錯了3位,連續的出錯在一起。離散的差錯:一共出錯了3位,不是連續出的,是分散出的
保證幀正確,按序送交上層(順序要對,不能重復也不能跳幀)。在接收方能夠判斷接收的數據是否正確,若錯誤還可能要恢復錯誤
糾錯控制主要由接收方做,能檢查出錯並定位到是哪兒出錯了
接收方通過反饋機制告訴發送方出錯,發送方通過重發的方式恢復差錯
☆自動糾錯比檢錯反饋重發機制代價大,在發生數據丟失的情況下,只是自動糾錯機制無法進行差錯恢復,還是需要檢錯反饋重發機制
一個幀包括m個數據位,r個校驗位(是冗餘位,和m位的有效數據是無關的),稱為n位碼字(n=m+r),我們希望r盡量短,並且盡量有一個固定長度
加入了冗餘位,使接收方知道有差錯發生,但不知道什麼差錯,然後請求重發
加入了足夠多的冗餘位,使接收方不僅知道有差錯發生,並知道哪些位發生差錯
兩個編碼的海明距離: 兩個編碼不相同位的個數
例:0000000000與0000011111的海明距離是5
編碼方案的海明距離: 編碼方案中任兩個編碼海明距離的最小值
ASCII這樣的連續編碼的海明距離都是1
為檢測d位錯,編碼方案的海明距離應至少為d+1
當發生d位錯時,不會由一種合法編碼變為另一種合法編碼,也就是想要由一種合法編碼變為另一種合法編碼,需要d+1以上出錯
對接收方來講,它判定一個編碼是否出錯的唯一依據是這個編碼是否是一個合法的編碼。即使接收方收到了一個合法的編碼,它也無法判斷是否是一個合法編碼,因為它不知道這個合法編碼原本就是合法的,還是出錯以後也依然是一個合法編碼。因此需要海明距離應至少為d+1
在數據鏈路層一般是不用這種檢錯方法的,因為檢錯率太低
若接收方收到的位元組奇偶結果不正確,就可以知道傳輸中發生了錯誤
增加奇偶校驗位後海明距離由1變為2,因此根據「為檢測d位錯,編碼方案的海明距離應至少為d+1」,可以檢查出一位二進制位的差錯
用這種方法,有一位出錯時,就會由合法編碼(奇校驗時1的個數為奇數,偶校驗時1的個數為偶數)變成一種非合法編碼(奇數校驗時1的個數為偶數,偶校驗時1的個數為奇數)
為糾正d位錯,編碼方案的海明距離應至少為2d+1
當發生d位錯時,出錯編碼仍然最接近於原始的正確編碼
例:現在有一個編碼方案,這個編碼方案之中只有4種合法編碼↓
0000000000
0000011111
1111100000
1111111111
它們之間的海明距離為5,按照定理,能夠糾正2位錯
假設接收方收到了這樣的編碼:0001100000,很明顯這是個非法編碼,怎麼樣糾正
呢?我們知道出錯的位數是≤ 2位的,它和第一種的海明距離為2,和第二種為7,和
第三種為3,和第四種為8,離它最近的是第一種編碼。它採用這種就近恢復的原則將
出錯的編碼恢復到原始編碼
數據鏈路層用的最多的一種檢錯方法
但是高層(網路層,傳輸層)是不用這種檢錯方法的,而用檢驗和的方法
生成多項式G(x)
發方,收方事前約定。這里的約定是數據鏈路層的協議已經定義該協議使用什麼生成多項式
生成多項式的高位和低位必須為1
生成多項式必須比傳輸信息對應的多項式短
(現在最多用的是CRC-32,生成多項式是32位,能否保證生成多項式比傳輸的對應的多項式短呢?從原始數據來講保證不了,但是到數據鏈路層時加了傳輸層的頭,網路層的頭之後肯定能保證大於32位。比如現在的Internet網路,例如在傳輸層使用TCP加20個位元組,在網路層IP又加了20個位元組,已經超過32位了,所以肯定能保證)
理論上來講生成多項式的階越高,檢錯率越高
硬體實現CRC校驗
四個多項式已經成為國際標准
CRC碼(增加的r位冗餘位檢錯碼,即校驗和)加在幀尾(效率比較高),使帶CRC碼的幀的多項式能被G(x)除盡:接收方接收時,用G(x)去除它,若有餘數,則傳輸出錯
• 模2加法運算定義為:(對應於邏輯異或)
0+0=0 0+1=1 1+0=1 1+1=0
例如0101+0011=0110
• 模2減法運算定義為:(對應於邏輯異或)
0-0=0 0-1=1 1-0=1 1-1=0
例如0110-0011=0101
• 模2乘法運算定義為:
0x0=0 0x1=0 1x0=0 1x1=1
• 模2除法運算定義為:
0 ÷1=0 1÷1=1
利用模2減求余數,余數最高位為1,則商1,否則商0,每商1位則余數減少1位,
直到余數位數少於除數位數
按位與運算:
按位與運算符」&」是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現
例如: 9 & 5
00001001(9的二進制補碼)
&
00000101 (5的二進制補碼)
00000001
可見9 & 5 =1
最高位作為符號位,若符號位為0,則表示正數,若符號位為1,則表示負數
其餘各位代表數值本身的絕對值(以二進製表示)
絕對值相同的正數和負數,它們除了符號位不同外,其他各位都相同
一個數如果值為正,則它的反碼與原碼相同
一個數如果值為負,則將其符號位置為1,其餘各位為對原碼相應數據位取反
(取反:二進制中有0和1兩種狀態,取反就是取與當前狀態相反的狀態,1取反等於0,0取反等於1)
正數的補碼與反碼,原碼相同
負數的補碼則將其最高位置為1,其餘各位為對原碼的相應數據位取反,再對整個數加1
即 X為負數時,【X】補 = 【X】反+1
(+0)補 = 00000000
(-0)反 = 11111111
(-0)補 = 11111111 + 1 = 100000000→進位1捨去→00000000
假設用一個位元組表示一個數,補碼的表示範圍為:-128 ----- +127
用反碼表示的最小值為:-128,其反碼為:10000000
用反碼表示的最大值為:+127,其反碼為:01111111
按位或運算符」|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的兩個二進位有一個為1時,結果位就為1.參與運算的兩個數均以補碼出現
例如:9|5
00001001
| 00000101
00001101(十進制為13)
可見9|5=13
~為單目運算符,具有右結合性。其功能是對參與運算的數的各二進位按位求反
例如:~9
~(0000000000001001)結果為:1111111111110110
按位異或運算符」 ^ 」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或。當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現
例如:9^5
00001001
^ 00000101
00001100(十進制為12)
左移運算符」 << 」是雙目運算符。其功能是把 」 << 」左邊的運算數的各二進位全部左移若干位,由」 << 」右邊的數指定移動的位數,高位丟棄,低位補0
例如:a=00000011(十進制3),a << 4,結果為:00110000(十進制48)
右移運算符」 >> 」是雙目運算符。其功能是把」 >> 」左邊的運算數的各二進制全部右移若干位,」 >> 」右邊的數指定移動的位數
例如:a=15(00001111),a >>2,結果為00000011(十進制3)
計算方法例:
※CRC碼計算還有一個好處:
我們希望不管m是多少位的,但是冗餘位r是越短越好,而且最好位數是固定的。用這CRC碼的好處就是生成多項式是多少階的,那麼最後的余數(冗餘位)的位數就是多少位。如果是n階的,那麼最後就是4位
循環冗餘校驗法檢驗不出來的錯的情況:收到的位串雖然是錯誤的,但是恰巧能被生成多項式整除,這個時候檢測不出來
適用於高層協議,如IP,TCP,UDP等
校驗碼放在前面或後面影響都不大,所以絕大多數是放在前面的
檢錯率低於循環冗餘校驗法
在↓例子中,如果第1位和第9位同時出錯,或者第2位和第10位同時出錯···出錯,那麼它們取反相加的數是不變的,這個時候是檢查不出錯的。但是網路當中連續突發的錯占絕大部分,這種跳躍性的出錯概率很小,所以檢驗和的檢錯率還是比較高的
高層不用冗餘校驗法的原因是,冗餘校驗法主要採用除的計算方式,比累加的(校驗和)計算方式效率要低,而數據鏈路層用這種方法可以用硬體實現,但是網路層和傳輸層一般只能通過軟體實現,那麼效率就降低了。而且數據鏈路層已經提供了比較可靠的支持,所以高層就可以用這種檢錯率相對低一點的檢錯法
檢驗欄位初值置0,數據拆分成與檢驗欄位等長的分片,不足部分補0,將所有分片逐位取反,並連續累加,丟棄最高進位,計算結果置於檢驗欄位。接收端執行相同的過程(分段處理,取反累加,把累加出的校驗和與校驗碼欄位當中保存的校驗和進行比對,如果是完全一致就沒錯),並將計算結果和傳輸過來的檢驗和進行比較以確定是數據是否出現差錯
② 計算機通信中通常使用的差錯檢驗方法
在LDPC(Low-Density Parity-Check,低密度奇偶校驗)碼用於糾錯碼時,能夠抑制吞吐量下降並且高精度地進行差錯檢測的無線通信裝置。在該無線通信裝置中,CRC(Cyclic Rendancy Check,循環冗餘校驗)編碼單元(101)基於LDPC碼的校驗矩陣的列權重,只對發送比特串的一部分比特進行CRC編碼而生成CRC編碼數據,LDPC編碼單元(102)使用與CRC編碼單元(101)進行CRC編碼時使用的校驗矩陣相同的校驗矩陣,對CRC編碼數據進行LDPC編碼而生成LDPC編碼數據
③ 在數據通信系統中為什麼需要差錯檢驗解決數據傳輸差錯問題的方法主要有哪些
差錯檢驗注意是為了防止數據在傳輸中出錯了
主要方法是校驗,如奇偶校驗等
當然數據要求非常高的,可重復校驗,就是同一數據發送多次,然後相互核對
④ 計算機網路,關於數據鏈路層差錯檢測的【循環冗餘演算法】
這個題目不完整。這類題目的做法是:要發送的數據為被除數,後面要加上CRC生成的多項式P(X)最高次冪個0。並且除數的位數是P(X)最高次冪+1。P(X)每個冪數代表著除數從右到左第幾位為1,其餘的都為0,就得出除數了。最後通過模2運算出余數,余數的位數等於被除數後面加的0的個數。模2運算即1+1=0,0+0=0,0+1=1,1-1=0,1-0=0,0-1=0,0-0=0
舉個例子:要發送的數據為101110。採用CRC生成多項式是P(X)=X^3+1。試求應添加在數據後面的余數
答:除數P為1001,被除數為101110000(此處後面加了3個0),模2運算得出商Q=101011,余數R=011
最後PS:採用CRC檢驗後,數據鏈路層的傳輸並非變成了可靠運輸。接收方進行CRC檢驗時,如果發現差錯就簡單的丟棄這個幀。另外,余數不為0則代表接收的數據有差錯
⑤ 計算機網路的差錯控制指的是什麼
差錯產生原因主要是由於線路本身電氣特性所產生的隨機噪音,信號振幅,頻率和相位的衰減等設備故障因素造成
差錯分為單比特差錯和突發差錯,單比特差錯是指在傳輸的數據單元只有一個比特發生變化,而突發差錯是有兩個或兩個以上的比特發生變化
--差錯控制的兩種方法
1.從硬體入手,但增加通信成本
2.傳輸過程中進行差錯控制,在數據鏈路層採用編碼進行查錯CRC和糾錯處理
⑥ 計算機網路中差錯控制方法
一、總的方法折疊:
1、前向糾錯。實時性好,單工通信採用。
2、自動重發請求(ARQ)。強調檢錯能力,不要求有糾錯能力,雙向通道採用。
3、混合糾錯。上述兩種方式的綜合,但傳輸設備相對復雜。
二、分類方法折疊:
1、差錯檢測是差錯控制的基礎。能糾錯的碼首先應具有差錯檢測能力,而只有在能夠判定接收到的信號是否出錯才談得上是否要求對方重發出錯消息。具有差錯檢測能力的碼不一定具有差錯糾正能力。由於差錯檢測並不能提高信道利用率,所以主要應用於傳輸條件較好的信道上做為誤碼統計和質量控制的手段。
2、自動請示重發ARQ和前向糾錯FEC是進行差錯控制的兩種方法。
一在ARQ方式中,接收端檢測出有差錯時,就設法通知發送端重發,直到正確的碼字收到為止。ARQ方式使用檢錯碼,但必須有雙向信道才可能將差錯信息反饋到發送端。同時,發送方要設置數據緩沖區,用以存放已發出的數據以便於重發出錯的數據。
二在FEC方式中,接收端不但能發現差錯,而且能確定二進制碼元發生錯誤的位置,從而加以糾正。FEC方式使用糾錯碼,不需要反向信道來傳遞請示重發的信息,發送端也不需要存放以務重發的數據緩沖區。但編碼效率低,糾錯設備也比較復雜。
3、差錯控制編碼又可分為檢錯碼和糾錯碼。
檢錯碼只能檢查出傳輸中出現的差錯,發送方只有重傳數據才能糾正差錯;而糾錯碼不僅能檢查出差錯而且能自動糾正差錯,避免了重傳。
4、演播的檢錯碼有:奇偶校驗碼、循環冗餘碼。
在實際通信網中,往往在不同的應用場合採用不同的差錯控制技術。前向糾錯主要用於信道質量較差、對傳輸時延要求較嚴格的有線和無線傳輸當中;差錯檢測往往用於傳輸質量較高或進行了前向糾錯後的通路的監測管理之中>自動請求重發則多用於象計算機通信等對時延要求不高但對數據可靠性要求非常高的文件傳輸之中。
⑦ 簡述計算機的網路故障分類及其解決方法
寬頻連接錯誤:691(由於域上的用戶名或密碼無效而拒絕訪問)。
寬頻連接錯誤:內623(找不到電話薄項目)。
寬頻連接錯容誤:678(遠程計算機沒響應)。
寬頻連接錯誤:645產生原因為撥號軟體文件受損造成(常見於XP系統) 。
寬頻連接錯誤:721(遠程計算機沒有響應)。
以上信息僅供參考,星卡日租版辦理即送20元話費,200G星卡專屬定向流量包,刷視頻、玩全網,更輕松、更自由,詳情可登錄廣西電信網上營業廳查看,客服107號為您解答。
⑧ 電腦網路連接出現差錯怎麼辦
解決方法1:方法是打開「控制面板」——「網路連接」,找到當前的本地連接,右擊它,選「屬性」,在「常規」選項卡中雙擊
「Internet協議 (TCP/IP)」,選擇「使用下面的IP地址」,在「IP地址」中填寫「192.168.0.1」,在「子網掩碼」中填寫
「255.255.255.0」,其他不用填寫,然後點「確定」即可解決該問題。(如果當前計算機加入工作組或域,就要根據情況而設置)
解決方法2:可以在「網路連接「的」本地連接「的設置里把」無連接時通知我「的選項去掉就行了。
系統托盤區出現「受限制」的連接圖標
採用虛擬撥號上網的用戶安裝SP2後,在托盤區中可能會看到一個新的網路連接圖標,系統提示「此連接受限制或無連接,您可能無法
訪問Internet或部分網路資源」。出現這個圖標是由於沒有指定IP地址,不過並不會影響正常的上網。如果要隱藏這個受限制的網路連接
圖標,可以打開「網路連接」窗口,用右鍵單擊受限制的網路連接,選擇「屬性」,並在彈出的對話框中取消「此連接被限制或無連接時
通知我」即可.3.檢查連接,無問題,換根網線試試。
⑨ 在計算機網路中什麼是crc校驗和,怎麼計算
CRC即循環冗餘校驗碼
是數據通信領域中最常用的一種差錯校驗碼,其特徵是信息欄位和校驗欄位的長度可以任意選定。
循環冗餘校驗碼(CRC)的基本原理是:在K位信息碼後再拼接R位的校驗碼,整個編碼長度為N位,因此,這種編碼也叫(N,K)碼。對於一個給定的(N,K)碼,可以證明存在一個最高次冪為N-K=R的多項式G(x)。根據G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項式。 校驗碼的具體生成過程為:假設要發送的信息用多項式C(X)表示,將C(x)左移R位(可表示成C(x)*2R),這樣C(x)的右邊就會空出R位,這就是校驗碼的位置。用 C(x)*2R 除以生成多項式G(x)得到的余數就是校驗碼。
謝謝 希望能幫助到你