導航:首頁 > 網路連接 > 計算機網路crc計算怎麼做

計算機網路crc計算怎麼做

發布時間:2022-08-28 09:04:03

❶ 求CRC校驗計算方法

你這個是CRC16
要實現校驗的話,你首先需要知道對方採用的是何種CRC公式
不同的CRC公式 得到的校驗碼是不一樣的
在知道公式的情況下
做crc表,然後按照crc演算法,計算這8個位元組的整體crc
如果傳輸沒有錯誤的話,最終的crc值是0
也可以計算前六個的crc,然後和最後兩個位元組比較,效果是相同的。

❷ 關於計算機網路的crc計算

我們知道,一台主機向另外一台主機發送報文的時候,需要一層層經過自己的協議棧進行數據封裝,到達最後一層(四層協議的網路介面層)時需要在幀尾部添加FCS校驗碼(通過CRC演算法得出)。當對端主機收到時,在接收端同樣通過CRC演算法進行驗證,確認傳輸過程中是否出現錯誤。它只能確認一個幀是否存在比特差錯,但沒有提供解決措施。


循環冗餘校驗的原理

❸ crc 計算機網路

2017年12月29日,星期五,

兄弟,我先給你簡單再捋一遍CRC編碼的概念和計算公式,原理明白了,以後不管碰到什麼樣的題,你都會迎刃而解了。

首先,需要知道如下幾個概念,

  1. CRC編碼,就是你題目中所說的「待發字串」,它是經加工後帶有CRC校驗的待發送信息,

  2. CRC校驗碼,就是你題目中所說的「CRC循環冗餘碼」,以下都簡稱為CRC校驗碼,它是通過CRC規則計算得來,

  3. 多項式,即真實信息,就是未經CRC編碼規則處理的原始的信息,就是你題目中說的「已知信息碼」,原始的真實信息有兩種表現形式,以本題為例,

    a、原始信息的 二進制字串(形式):1000100101,

    b、原始信息的 多項式(形式):X^9+X^5+X^2+1,

    X^9+X^5+X^2+1多項式,就是由原始信息的二進制形式1000100101得來的,多項式中每一個因數都對應二進制形式 1000100101 中值為1的那一位,X^9 X^5 X^2就是2^9+2^5+2^2,那表示二進制數的權位,

    1000100101

    1*2^90*2^80*2^70*2^6 1*2^5 0*2^4 0*2^3 1*2^2 0*2^11*2^0

    2^0=1...2^9=1 000 000 000,凡是二進制字串中值為1的權位都出現在了多項式中,例如,二進制字串最高位(左1)的1,就是2^9,所以它出現在了多項式中,形狀為X^9,而二進制數串中值為0的權位都沒有出現在多項式中,可以數一下,二進制數串中有4個1,所以對應的多項式中有4個因子:X^9、X^5、X^2、1,其中多項式的最後一個因子1,其實就是X^0,而我們都知道,任何數的0次冪都是1(0除外),可以看出,這兩種形式是等價的,即1000100101=X^9+X^5+X^2+1,當我們再遇到多項式時,就是去數原始信息(1000100101)中的1,然後把它的值為1的權位放到一起,寫成式子(X^9+X^5+X^2+1),兩者意義是一樣的,從二進制形式能推導出多項式,也可以從多項式推導出二進制形式,

  4. 生成多項式,就是你題目中提到的「G(x)=X^5+X^4+X^2+1」,生成多項式也可以寫成二進制形式,X^5+X^4+X^2+1其對應的二進制形式:110101,

  5. 通常,我們為了方便說明問題將生成多項式叫做:G(x),這里請注意,需要將

「生成多項式」和「多項式」進行區分,G(x)中的G就是generator polynomial,生成多項式的意思,

多項式:指的是原始信息1000100101中所有權位為1的權位寫在一起的形式X^9+X^5+X^2+1

生成多項式:是人為指定的多項式,由編碼人指定的東西,本例被人為指定成X^5+X^4+X^2+1即 110101 ,這個生成多項式是人為指定的,不是固定的,個人理解你指定成X^5+X^3+X^2+1也行,制定成X^5+X^4+X^3+X^2+1也行,


好了,接下來,我們要說最關鍵的CRC的定義和計算過程了,

CRC的定義:

結合本題,我們來做一遍,原始數據:1000100101,生成多項式:110101,根據上面的規則有,

1000100101*2^5=1000100101 00000



把原始值右邊加上5個零:1000100101 00000之後,去除以生成多項式:110101

1000100101 00000

110101

----------------------------

0101110101 00000

左對齊,並開始按位異或,得0101110101 00000,



進行第二次除運算:

101110101 00000

110101

--------------------------

011011101 00000

左對齊,再按位異或,得到011011101 00000




開始第三次除運算:

11011101 00000

110101

--------------------

00001001 00000

左對齊,再按位異或,得到00001001 00000



進行第四次除運算:

100100000

110101

-----------------

010001000

左對齊,再異或,得到010001000



進行第五次除運算:

10001000

110101

------------

01011100

左對齊,再異或,得到01011100



進行第六次除運算:

1011100

110101

-------------

0110110

左對齊,再異或,得到0110110



進行第七次,最後一次除運算:

110110

110101

------------

000011


最終余數為000011,而由G(x)的最高次冪X^5的冪指數決定了,CRC校驗碼取5位,因此,最終得到的CRC校驗碼為:00011,

用文字表達就是,原始數據乘以,2的 【生成多項式中最高冪指數】 次冪,然後再加上生成多項式,最終得到要在線路中傳送的CRC編碼待發字串,

接著,以本例進行餘下的計算,原始數據:1000100101,CRC校驗碼(CRC循環冗餘碼)為:00011,

根據上面的定義,有:

1000100101*2^5=1000100101 00000,

1000100101 00000

+ 00011

----------------------

100010010100011

所以最終的「待發字串」CRC編碼為:100010010100011

❹ CRC校驗是怎麼算的

你這個是CRC16要實現校驗的話,你首先需要知道對方採用的是何種CRC公式不同的CRC公式 得到的校驗碼是不一樣的在知道公式的情況下做crc表,然後按照crc演算法,計算這8個位元組的整體crc如果傳輸沒有錯誤的話,最終的crc值是0也可以計算前六個的crc,然後和最後兩個位元組比較,效果是相同的。

❺ CRC計算方法

你應該看到了我的那個回答啊,很簡單的,只是剛開始理解有點難,懂了就會了,你用的教材是謝希仁的嗎,那個講的比較透徹?還是以那個例子回答哦
已知信息位為1100(知道數據比特序列),生成多項式G(x)
=
x3+x+1,求CRC碼。
M(x)
=
1100
M(x)*x3
=
1100000
G(x)
=
1011
M(x)*x3
/
G(x)
=
1110
+
010
/1011
R(x)
=
010
CRC碼為:
M(x)*x
3+R(x)=1100000+010
=1100010
如果你還是不懂,你就把1100按模二除法除以G(x)就可以了,這里就是1100/1011,得到的余數就是CRC碼
其原理是:CRC碼一般在k位信息位之後拼接r位校驗位生成。編碼步驟如下:
(1)將待編碼的k位信息表示成多項式
M(x)。
(2)將
M(x)左移
r
位,得到
M(x)*xr

(3)用r+1位的生成多項式G(x)去除M(x)*xr
得到余數R(x)。
(4)將M(x)*xr
與R(x)作模2加,得到CRC碼。

❻ 這個CRC編碼怎麼算啊

2018年01月07日,星期日,

不好意思,今天剛看到,

我先大概說一下CRC相關概念,然後咱們開始解題,

1、多項式形式與二進制形式是有關聯的,因子是對應的,

比如,題中,發送多項式為:X^11+X^8+X^7+X^6+X^4+X^3+X^2+1,

就是:2^11+2^8+2^7+2^6+2^4+2^3+2^2+1,

所以,對應的二進制形式為:100111011101,

這里的發送多項式說的就是,未經CRC校驗運算的原始數據,

2、同理,CRC生成多項式也與一組二進制數相對應,

例如,題中,CRC生成多項式為:x^4+x^2+x^1+1,

就是:2^4+2^2+2^1+1,

對應的二進制是:10111,

生成多項式是人為指定的,沒有固定值,指定成x^4+x^3+x^2+x^1+1即11111也行,

3、發送多項式的二進制形式是:100111011101,這是我們的原始數據,

CRC生成多項式的二進制形式是:10111,我們要使用它來按照CRC規則與原始數據進行運算後,得出我們要在線路上傳輸的,經過CRC校驗的,原始數據的CRC編碼,

這里比較繞,簡單點理解就是,我們要通過給出的CRC生成多項式,用它與原始數據進行計算後,得到的帶有CRC校驗的一串二進制數,我們把這串帶有CRC校驗的二進制就稱為原始數據的CRC編碼,就是題目中的「該發送多項式的CRC編碼」,

4、接下來就是CRC計算規則了,


這里想再說一下,為什麼生成多項式的最高次冪是幾,最後的余數就是幾位的,

比如本例中,生成多項式為:x^4+x^2+x^1+1,最後的余數就是4位的1100,

這個規則是可以推導出來的,

首先,將生成多項式中的 1 改寫成 x^0,則有x^4+x^2+x^1+x^0,

這就很明顯可以看出來,指數是從0開始的,雖然中間有一個指數3因為該權位上的值為0而沒有寫在這個生成多項式中,但是在該生成多項式的二進制形式中該權位上是數字0,這不是重點,

重點是,我們可以一目瞭然的看出來,指數是從0開始的,而不是從1開始的,所以,以本題為例,當生成多項式的最高次冪為x^4即指數為4時,該冪所在的權位的右側一定有4位二進制數,因為該冪的權位決定了這個生成多項式一定是一個5位的二進制數,而最高冪所在的權位是右數第五個位置,所以它的右邊一定還有4個二進制位,

結合開頭描述的,要讓原始值去乘,2的,生成多項式的最高次冪這么多次方,也就是讓原始值向左移動多少位,好騰出地方放置余數,

還有一個很巧妙的地方是,因為生成多項式的二進制形式中,最高位一定是1,所以,和加了0的原始值進行異或運算,到最後得到的余數的位數一定比生成多項式的二進制形式的位數小,拿本例來說,生成多項式是:

x^4+x^2+x^1+1

對應的二進制形式是:

10111

所以,不管原值最後剩下什麼組合,只要和 10111左對齊後,因為要進行異或的操作,最高位一定變0,所以,最後的余數的二進制位數一定小於生成多項式的二進制位數,

再結合,指數從0開始,

所以,生成多項式的最高次冪,可以決定余數的位數,

❼ 在計算機網路中什麼是crc校驗和,怎麼計算

計算機網路原理的計算題(crc校驗和數據傳輸問題)第1題:設要發送的二進制數據為10110011,若採用crc校驗方法,生成多項式為x^4+x^3+1,度求出實際發送的二進制數字序列。(要求寫出計算
計算機網路原理的計算題(crc校驗和數據傳輸問題)
第1題:設要發送的二進制數據為10110011,若採用crc校驗方法,生成多項式為x^4+x^3+1,度求出實際發送的二進制數字序列。(要求寫出計算過程)
這是自考08年四月份的試題,我總是跟答案算的不一樣。
答案是:待發送的序列m=10110011,除數p=11001,m*2^5與除數p進行模2除法運算,得余數r=1000,所以要發送的二進制序列為:101100111000
我不明白為什麼m要乘以2的5次方,我是用101100110000除以11001得到的余數是100。
第2題:一條長度為100km的點對點鏈路,對於一個100位元組的分組,帶寬為多大時傳播延遲等於發送延遲?(信道傳輸速度為2*10^8m/s)
答案是:
傳播延遲為:100km/(2*10^8m/s)=50ms
發送延遲等於傳播延遲時:100/c=50ms
則信道傳輸速率:c=200kbps

❽ 【計算機組成原理】如何計算CRC校驗位

在crc計算時只用8個數據位,起始位及停止位,如有奇偶校驗位也包括奇偶校驗位,都不參與crc計算。crc計算方法是:1、
載入一值為0xffff的16位寄存器,此寄存器為crc寄存器。2、
把第一個8位二進制數據(即通訊信息幀的第一個位元組)與16位的crc寄存器的相異或,異或的結果仍存放於該crc寄存器中。3、
把crc寄存器的內容右移一位,用0填補最高位,並檢測移出位是0還是1。4、
如果移出位為零,則重復第三步(再次右移一位);如果移出位為1,crc寄存器與0xa001進行異或。5、
重復步驟3和4,直到右移8次,這樣整個8位數據全部進行了處理。6、
重復步驟2和5,進行通訊信息幀下一個位元組的處理。7、
將該通訊信息幀所有位元組按上述步驟計算完成後,得到的16位crc寄存器的高、低位元組進行交換8、
最後得到的crc寄存器內容即為:crc校驗碼。

❾ CRC循環冗餘碼計算方法

CRC碼一般在k位信息位之後拼接r位校驗位生成。

例如:

假設使用的生成多項式是G(X)=X3+X+1。4位的原始報文為1010,求編碼後的報文。

解:

1、將生成多項式G(X)=X3+X+1轉換成對應的二進制除數1011。

2、此題生成多項式有4位(R+1)(注意:4位的生成多項式計算所得的校驗碼為3位,R為校驗碼位數),要把原始報文C(X)左移3(R)位變成1010 000

3、用生成多項式對應的二進制數對左移3位後的原始報文進行模2除(高位對齊),相當於按位異或得到的余位011,所以最終編碼為:1010 011

(9)計算機網路crc計算怎麼做擴展閱讀:

注意事項

是接受方和發送方的一個約定,也就是一個二進制數,在整個傳輸過程中,這個數始終保持不變。

在發送方,利用生成多項式對信息多項式做模2除生成校驗碼。在接收方利用生成多項式對收到的編碼多項式做模2除檢測和確定錯誤位置。

應滿足以下條件:

1、生成多項式的最高位和最低位必須為1。

2、當被傳送信息(CRC碼)任何一位發生錯誤時,被生成多項式做除後應該使余數不為0。

3、不同位發生錯誤時,應該使余數不同。

4、對余數繼續做除,應使余數循環。

閱讀全文

與計算機網路crc計算怎麼做相關的資料

熱點內容
網路檯球安卓跟蘋果 瀏覽:605
計算機網路編程書籍 瀏覽:553
電腦網路辦公系統 瀏覽:491
天翼怎麼關無線網路 瀏覽:458
橙光網路異常打不開 瀏覽:465
劍俠情緣1網路版如何轉身 瀏覽:502
金立手機在哪切換4g網路 瀏覽:589
魅族手機如何設置網路顯示 瀏覽:437
移動網路有線電視台收費 瀏覽:27
真想投訴移動網路 瀏覽:149
小米怎樣把移動網路變好 瀏覽:695
小米電視網路版和電影版哪個好 瀏覽:222
康佳網路電視回看如何快進 瀏覽:706
筆記本電腦網路手動獲取 瀏覽:496
為什麼連接wifi卻無法連接網路 瀏覽:723
廣電網路怎麼開通無線網 瀏覽:941
蜂窩移動網路的優點及特點 瀏覽:166
小區移動網路覆蓋合作協議 瀏覽:389
手機連了wifi網路超慢 瀏覽:333
什麼網路教學平台好 瀏覽:243

友情鏈接