① 交換機crc校驗原理
CRC是指循環冗餘校驗錯。現在許多交換機都是使用store-and-forward的交換方式,即交換機將數據完全拷貝進自己的御基緩存區並進行校驗。如果有錯,那麼就丟掉該幀。這種錯誤通常是通信雙方的雙工方式不匹配,電鎮猛謹纜故障,網卡故障引起的。
CRC是指循環冗餘校驗錯。現在許多交換機都是使用store-and-forward的交換方式,即交換機將數據完全拷貝進自己的緩存區並進行校驗。如果有錯,那麼就丟掉該幀。這種錯誤通常是通信雙方的雙知擾工方式不匹配,電纜故障,網卡故障引起的。
② 計算機網路中的循環冗餘效驗問題。
CRC碼:原理循環冗餘碼校驗英文名稱為Cyclical Rendaney Check
G(X)是生成多項式。
CRC碼是用G(X)來生成的。(第一句)
K位二進制加上R位CRC碼,信息位要向左移N-K位(這個不難理解吧,碼字長度為N,信息欄位為K位,校驗欄位為R位(N=K+R),就是向左移動R位)
③ 關於計算機網路的crc計算
我們知道,一台主機向另外一台主機發送報文的時候,需要一層層經過自己的協議棧進行數據封裝,到達最後一層(四層協議的網路介面層)時需要在幀尾部添加FCS校驗碼(通過CRC演算法得出)。當對端主機收到時,在接收端同樣通過CRC演算法進行驗證,確認傳輸過程中是否出現錯誤。它只能確認一個幀是否存在比特差錯,但沒有提供解決措施。
循環冗餘校驗的原理
在發送端,先把數據劃分為組(即:一幀)。假定每組 k 個比特。
在每組後面,添加供差錯檢測用的 n 位冗餘碼一起發送。即:實際發送長度為:k+n 比特。
發送前雙方協商n+1位的除數P,方便接收方收到後校驗。
給K比特的數據添加除數減一個0(P-1)作為被除數,與第三步確定的除數做「模2除法」。得出的余數即FCS校驗序列,它的位數也必須是(P-1)。
將FCS校驗序列添加至K個比特位的後面發送出去。
接收方對接收到的每一幀進行校驗,若得出的余數 R = 0,則判定這個幀沒有差錯,就接受(accept)。若余數 R ≠ 0,則判定這個幀有差錯,就丟棄。
對「模2除法」進行說明:
「模2除法」與「算術除法」類似,但它既不向上位借位,也不比較除數和被除數的相同位數值的大小,只要以相同位數進行相除即可。模2加法運算為:1+1=0,0+1=1,0+0=0,無進位,也無借位;模2減法運算為:1-1=0,0-1=1,1-0=1,0-0=0,也無進位,無借位。相當於二進制中的邏輯異或運算。
計算示例
那麼接收方拿到的就是:101001001。再以它為被除數,1101為除數進行「模2除法」。
④ 冗餘校驗的原理
任何一個散列函數都可以用於冗餘檢校驗。最簡單的冗餘校驗,叫作校驗鄭旦和,它包括校驗位、校驗碼以及縱向冗空弊余校驗(LRC,Longitudinal Rendancy Check)。斗叢族其它類型的冗餘校驗包括循環冗餘校驗(CRC,Cyclic Rendancy Check)、水平冗餘校驗、豎直冗餘校驗以及Cryptographic Message Digest。
奇偶校驗僅僅是一個錯誤檢測的機制,根據所用奇校驗與偶校驗的不同可以檢查奇數或者偶數的錯誤。
校驗和演算法
⑤ CRC是什麼意思
循環冗餘校驗(Cyclic Rendancy Check, CRC)是一種根據網路數據包或計算機文件等數據產生簡短固定位數校驗碼的一種信道編碼技術,主要用來檢測或校驗數戚衫擾據傳輸或者保存後可能出現的錯誤。它是利用除法及余數的原理來作錯誤偵測的。
循環冗餘校驗同其他差錯檢測方式一樣,通過在要傳輸的k比特數據D後添加(n-k)比特冗餘位(又稱幀檢驗序列,Frame Check Sequence,FCS)F形成n比特的傳輸幀T,再將其發送出去。
(5)計算機網路冗餘效驗的原理擴展閱讀
在數據傳輸過程中,無論傳輸系統的設高旦計再怎麼完美,差錯總會存在,這種差錯可能會導致在鏈路上傳輸的一個或者多個幀被破壞,從而接受方接收到錯誤的數據。
為盡量提高接受方收到數據的正確率,在接收方接收數據之前需要對數據進行差錯檢測,當且僅當檢測的結果為正塌答確時接收方才真正收下數據。
檢測的方式有多種,常見的有奇偶校驗、網際網路校驗和循環冗餘校驗等。循環冗餘校驗是一種用於校驗通信鏈路上數字傳輸准確性的計算方法。
參考資料來源:網路-CRC
⑥ 計算冗餘碼
FJNU.1240Description
計算機網路中採用循環冗餘碼來校驗數據的正確性。其原理是:發送方計算出待發送的二進制數據的循環冗餘碼,並隨同原數據一起發送到接收方;接收方通過重新計算接收到的數據的循環冗餘碼,並和收到的循環冗餘碼進行比較,如果兩者相同則可判定所收到的數據是正確的,否則說明數據是錯誤的。其中計算二進制數據的循環冗餘碼的計算過程如下:
>>協議事先約定一個二進制生成表達式,本題設為10011;
>>將待發送的二進制數據串的末尾加4個0;
>>將補上0的數據串按模2除法除於生成表達式,取余數;
>>該余數就是該二進制數據串的循環冗餘碼。
例如:
數據串為:1101011011
生成表達式為:10011
循環冗餘碼為1110
計算過程如下:
根據上述的計算方法,請編寫一個循環冗餘碼計算程序,假設二進制數據串的長度不超過20位,生成表達式固定為10011。
Input
輸入的第一行含一個正整數k (1<=k<=10),表示測試例的個數。後面緊接著k行,每行對應一個測試例,含一個N位二進制串(1<=N<=20),代表數據。
Output
每個測試例對應一行輸出,含一個5位二進制串,表示循環冗餘碼。
Sample Input
2
1101011011
10101010
Sample Output
01110
01001
Source
福建師范大學第三屆程序設計比賽網上預賽
My Program
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄它是華麗的分隔線
【題意簡述】
對於輸入的二進制數,在末尾加上4個0後用10011對其進行模2除法。並輸出最後的結果(5位二進制碼)。
【粗略分析】
由於C++中沒有二進制的數據類型,因此採用字元串記錄。
觀察運算圖可知,每次都取前5位對它進行模2除法。我們可以設定一個i = 0 to n-5,用來計算每一步。
我們還可以觀察出,每次只有第i位為1時才會進行運算。所以我們加一個判定m[j]=='1'時才計算。
因為固定除數都為10011,我們直接將它列為數組,i=1 to 5 進行模2並存儲回字元數組即可。
【C++源代碼】
簡單地模擬一下計算過程就可以了。
⑦ 計算機網路循環冗餘檢驗 中的除數怎麼來的
首先要知道CRC生成的多項式P(X)。除數的位數是P(X)最高次冪+1。P(X)每個冪數代表著除數從右到左第幾位為1,其餘的都為0,就得出除數了。比如P(X)=X^4+X^3+1,則除數個數為5,從右往左分別為0 1 2 3 4位,其中4,3,0位為1,其餘為0。除數為11001
⑧ 什麼是循環冗餘校驗
循環冗餘檢查英文全稱為:Cyclical Rendancy Check,簡稱為:CRC,是一種數據傳輸檢錯功能,對數據進行多項式計算,即在每個數據塊(稱之為幀)中加入一個FCS(Frame CheckSequence,幀檢查序列),並將得到的結果附在幀的後面,FCS包含了幀橘逗斗的詳細信息,專門用於發送/接收裝置比較幀的正確與否。以保證數據傳輸的正確性和完整性。若CRC校驗不通過,系統重復向硬碟復制數據,陷入死循環,導致復制過程無法完成。
這里要看你拷貝的原始文件在什麼地方。如果是在U盤里,首先要看是不是U盤中毒或損壞,先查殺病毒;在確保數據安全後,最好完整格式化U盤,防止之後再次出錯。
如果原始文件是在硬碟上,右鍵點擊出錯的盤符,>選擇「屬性」——>彈出「本地磁碟(X:)屬性」窗口,切換到「工具」 選項卡中——>點擊第圓磨一個項目中的「開始檢查(C)」——>彈出窗口中,勾選中指叢「自動修復文件系統錯誤(A)」——>點擊「開始」—— >此時如果系統提示「磁碟檢查不能執行,因為磁碟檢查實用程序需要獨占訪問磁碟上的一些Windows文件...」,直接點擊「是」——>然後重新啟動計算機後,將自動進行磁碟錯誤檢查並且修復出錯的文件;第二步:對出錯的磁碟盤符進行「磁碟碎片整理」;點擊「開始」菜單 ——>選擇「所有程序」——>滑鼠指向「附件」——>再指向「系統工具」——>單擊「磁碟碎片整理程序」——>在「卷」下方選中出錯的盤符,點擊「碎片整理」——>耐心等待磁碟碎片整理結束,重新啟動計算機即可。
⑨ 計算機網路中循環冗餘檢驗的解釋
教科書定義:循環冗餘校驗碼CRC是一種循環碼,它有很強的檢錯能力,而且容易用硬體實現,在區域網中有廣泛應用。
簡單的說下它的實現:用移位寄存器實現,移位寄存器由k位組成,還有幾個異或門和一條反饋迴路。移位寄存器可以按CCITT-CRC標准生成16位的校驗和。寄存器被初始化為0,數據字從右向左逐位輸入。當一位從最左邊移除寄存器時就從右邊輸入完後再輸入k個0。最後,當這一過程結束時,移位寄存器中就形成了校驗和。k位的校驗和跟在數據位後邊發送,接收端可以按同樣的過程計算校驗和並與接收到的校驗和比較,以檢測傳輸中的差錯。
具體實現和數學分析建議你參考網路http://ke..com/view/575295.htm
⑩ 什麼是冗餘校驗
說的簡單點,就是在要傳送的有效數據之後多加一些額外的數據,這些額外的數據與這些有效數據是有一定的關系。如果數據在傳輸的過程中發生錯誤,那麼他們的這種關系就會被破壞。我們通過重新判斷這種關系是否激皮被破壞就可知道數據在傳輸的過程中是否發生錯誤。
最常用的就是CRC循環冗餘校驗:
2.1.2 CRC碼的組成和使用流程
CRC碼由明孝差兩部分組成,前部分是需要校驗保護的有效信息位,後部分是CRC冗餘校驗位。如果有效信息位為k比特,CRC校驗位為r比特,組成n(n=k + r)比特的CRC碼,稱為(n , k)碼。
大部分CRC碼都以r的位數來命名慎岩,如上文中說到的CRC-12表示它的冗餘校驗位數r=12bit,CRC-16的冗餘校驗位數r=16bit。
CRC的使用包括編碼和解碼兩個流程,如圖1-1所示:
圖1-1 CRC使用流程
CRC編碼流程,如圖1-1,本部分由信息發送端完成。
1. 按照CRC編碼規則,計算需要發送的有效信息B(X)的冗餘校驗信息CRC(X)。
2. 將B(X)和CRC(X)一起發送出去。
CRC解碼流程,如圖1-1,本部分由信息接收端完成。
1. 接收B(X)和CRC(X).
2. 按照CRC編碼規則,重新計算有效信息B(X)的校驗信息CRCB1B(X)。
3. 比較CRCB1B(X)與CRC(X)是否相等,如果相等即CRC校驗正確,表示此數據沒有發生錯誤,否則數據出錯,即CRC校驗錯誤。