軟考網工難點分析之三 CRC迴圈冗餘校驗

2021-09-04 04:14:56 字數 982 閱讀 2713

在資料傳輸的過程中,不可避免會出現差錯,為判斷乙個資料塊中是否存在傳輸錯誤,傳送方可在資料塊中加入一些冗餘資訊,使接收方可通過這些冗餘資訊判斷傳輸是否出錯,這些加入的冗餘資訊稱為差錯編碼。

差錯編碼分為檢錯碼和糾錯碼。

檢錯碼只能讓接收方判斷資料塊是否有錯,但無法確認錯誤的位置,主要有奇偶校驗碼和crc迴圈冗餘碼。

糾錯碼不僅能發現錯誤,而且能糾正錯誤,主要是海明碼。由於糾錯碼開銷較大,所以不適合於計算機通訊。在計算機通訊中主要使用檢錯重發方法,主要使用的是檢錯碼,其中crc是一種能力相當強的檢錯碼,並且實現編碼和檢錯的電路比較簡單,因而得到了廣泛的應用。

crc編碼主要用於資料鏈路層,它的基本思想將二進位制位串看成係數為0或1的多項式。乙個n位的幀被看成是n-1次多項式的係數列表。最左邊是xn-1

項的係數,接著是xn-2

項的係數,依此類推,直到x0

項的係數。如二進位制數11100011可以表示為多項式x7+x6+x5+x+1。同樣的,多項式x4+ x+1,可以表示為二進位制數10011。

假設傳送方要傳送的資料幀是1010101010,在進行crc編碼時,傳送方和接收方必須事先商定乙個生成多項式,如x4+ x+1,對應的二進位制數為10011,其最高端為4,則在幀1010101010後面附加4個0,成為10101010100000。

用10101010100000除以10011,得到的餘數就是crc校驗碼。

這個除法用到的是異或運算,基本規則是兩個相同的數相除,其結果是0,兩個不同的數相除,其結果是1。最終得到的crc校驗碼為0100(生成多項式的最高端為幾,就可以得到乙個幾位的crc校驗碼),然後將10101010100000用模2減法(實際上也是異或運算)減去crc校驗碼0100,就得到了最終實際要傳輸的資料幀10101010100100。

若資訊碼字為11100011,生成多項式 g(x)=x5+x4+x+1,則計算出的 crc 校驗碼為 (16) 。

(16)a.01101    b.11010    c.001101    d.0011010

軟考網工難點分析之一 記憶體編址

下個週末就要迎來本年度的網工考試了,班上的同學們在備考的過程中遇到不少難點,下面選其中的部分難點予以講解,希望對大家能夠有所幫助。在本篇博文中主要談一下記憶體編址的問題。記憶體編址屬於計算機硬體部分的基礎知識,在介紹這個概念之前,我們先來談談為什麼32位的作業系統只能最多使用4gb容量的記憶體。我們...

軟考網工備考經驗分享

書我建議多看幾遍,不然有些知識點不能很好的銜接起來,第一遍看書就是了解乙個大概,雖然不能全部看懂,但是會有個印象。看第二遍書就要結合題目了,歷年的真題一定要準備好,從年份比較久的開始做起,一開始肯定是經常出錯的,做錯了以後結合書本,把知識點弄清楚,後面遇到同樣的考查內容就不會那麼容易出錯了,反反覆覆...

軟考網工主要考什麼?有什麼用?

什麼是軟考網路工程師 網路工程師屬於軟考中的乙個中級考試,軟考設三個級別層次,五個專業,共有27種崗位資格考試 網路工程師是通過學習和訓練,掌握網路技術的理論知識和操作技能的網路技術人員。網路工程師能夠從事計算機資訊系統的設計 建設 執行和維護工作。網路工程師是指基於硬 軟體兩方面的工程師,根據硬體...