• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      4b/5b編解碼對(duì)100BASE-TX以太網(wǎng)安全性的影響

      2013-10-10 01:56:44楊福宇
      關(guān)鍵詞:誤碼解碼以太網(wǎng)

      楊福宇

      (重慶工業(yè)自動(dòng)化儀表研究所,重慶401123)

      引 言

      以太網(wǎng)已滲透到工業(yè)領(lǐng)域,例如工業(yè)自動(dòng)控制中的各種工業(yè)以太網(wǎng)(如Profinet、etherCAT、EPA),航空領(lǐng)域的AFDX,汽車領(lǐng)域的 Open(One-pair ether-net),目前主要是基于IT領(lǐng)域的100BASE-TX以太網(wǎng)技術(shù)。工業(yè)領(lǐng)域與民用有較大的區(qū)別:現(xiàn)場(chǎng)的干擾大,實(shí)時(shí)性要求高,可信賴性要求高。所以它們都添加了許多措施來(lái)滿足這樣的要求。但是對(duì)深埋在底層機(jī)制中的問(wèn)題尚未觸及,即物理層中的4b/5b編碼/解碼,它會(huì)影響到幀的CRC檢驗(yàn)效果。物聯(lián)網(wǎng)、云計(jì)算等介于民用與工業(yè)應(yīng)用之間,它們也倚賴以太網(wǎng)傳送數(shù)據(jù),所以也要重視這一問(wèn)題可能帶來(lái)的影響。

      以太網(wǎng)的傳送速率比較高,為了傳送中不致出現(xiàn)長(zhǎng)時(shí)間的同一極性的信號(hào)電平傳送,造成接收處時(shí)鐘恢復(fù)的困難以及直流電平漂移引起信號(hào)失真,或者頻率域上能量分布不均,某一頻率下的成分太高,造成電磁干擾太大,影響周邊環(huán)境中的電子裝置,所以在物理層有專門的編碼設(shè)計(jì)。這些設(shè)計(jì)會(huì)造成傳送中產(chǎn)生的誤碼數(shù)目放大,雖然32位CRC檢驗(yàn)可以發(fā)現(xiàn)部分錯(cuò),但仍容易造成錯(cuò)幀漏檢,對(duì)控制用途的工業(yè)以太網(wǎng)來(lái)說(shuō)已經(jīng)超出了容許值。鑒于工業(yè)以太網(wǎng)已有規(guī)模性的應(yīng)用,有些還是安全攸關(guān)的,這一問(wèn)題就很嚴(yán)重。

      1 4b/5b編碼/解碼

      圖1是100BASE-TX收發(fā)器的方塊圖,以太幀的數(shù)據(jù)以4b為單位經(jīng)MII接口送到收發(fā)器,然后經(jīng)4b/5b編碼器轉(zhuǎn)為5b,串行化后再經(jīng)擾碼器、3電平編碼送往輸出。擾碼器是帶反饋的線性移位寄存器,它提供一個(gè)頻譜較寬的數(shù)據(jù)流,它的輸出與4b/5b編碼器的串行輸出異或后到3電平編碼器。所以它只是提供一個(gè)調(diào)制信號(hào)。真正在電纜上傳送的是5b編碼且經(jīng)亂碼后的數(shù)據(jù)流,它的傳送速率是125Mb/s。接收過(guò)程正好相反,由于擾碼器開(kāi)始在收發(fā)二端實(shí)行了同步,在線路上不出錯(cuò)的情況下,收到的5b編碼就是發(fā)送的5b編碼。如果線路上有干擾,收發(fā)二端的5b編碼就有所不同,誤碼的個(gè)數(shù)可在5b編碼流中統(tǒng)計(jì)。但是,以太幀的CRC檢驗(yàn)是對(duì)解碼后的4b數(shù)據(jù)進(jìn)行的。CRC檢驗(yàn)一般以海明距離(HD)來(lái)表示其檢錯(cuò)的能力,例如HD=4表示發(fā)生4個(gè)位(bit)錯(cuò)時(shí),這時(shí)CRC檢驗(yàn)可能驗(yàn)不出錯(cuò),只能保證任意3個(gè)位錯(cuò)一定可驗(yàn)出來(lái)。根據(jù)參考文獻(xiàn)[1],以太網(wǎng)的32位CRC多項(xiàng)式只能達(dá)到HD=4。4b/5b編碼如表1所列。

      圖1 100BASE-TX方塊圖(見(jiàn)MC9S12NE64單片機(jī))

      表1 100BASE-TX以太網(wǎng)4b/5b編碼

      1.1 誤碼擴(kuò)展關(guān)系

      由表1可見(jiàn),電纜上以5b編碼傳送中發(fā)生一個(gè)錯(cuò)時(shí),在收發(fā)兩端會(huì)產(chǎn)生4b編碼的多位錯(cuò),例如4b碼0000對(duì)應(yīng)的5b編碼為11110,傳送中在5b編碼的第5位錯(cuò)變?yōu)?1110,解碼回來(lái)是0110,就有2位錯(cuò),更嚴(yán)重的是傳送中在5b編碼的第2位錯(cuò)變?yōu)?1100,解碼回來(lái)是1110,就有3位錯(cuò)。對(duì)每種4b編碼的改變情況分析后可知,誤碼擴(kuò)展較多為2倍。這種誤碼的擴(kuò)展是否線性地縮小了CRC檢驗(yàn)的HD是值得關(guān)心的,如果擴(kuò)展2倍,原來(lái)的CRC檢驗(yàn)理論HD=4,就只相當(dāng)于實(shí)際HD=2了。

      5b中未被占用的部分或者是非法代碼,或者是控制代碼,發(fā)生變?yōu)檫@類5b錯(cuò)時(shí)會(huì)有其他的報(bào)錯(cuò)措施處理,這里就不討論了。

      1.2 模2加法疊加

      在關(guān)注誤碼擴(kuò)展造成CRC檢驗(yàn)的有效性下降時(shí),需要考慮有誤碼時(shí)產(chǎn)生的錯(cuò)碼多項(xiàng)式。如果錯(cuò)碼多項(xiàng)式是CRC生成多項(xiàng)式的倍數(shù),那么CRC檢驗(yàn)就失效了,會(huì)產(chǎn)生錯(cuò)幀漏檢。但是像以太網(wǎng)幀長(zhǎng)很長(zhǎng),受CRC檢驗(yàn)的部分達(dá)到12 112位,要搜索漏檢的最小出錯(cuò)數(shù)(即受4b/5b編碼影響后的海明距離HD)將有天文數(shù)字的工作量,需要大型計(jì)算機(jī)才能完成。但是我們?nèi)阅芡ㄟ^(guò)簡(jiǎn)單的搜索來(lái)找出HD的上限,可以證明4b/5b編碼對(duì)原有CRC檢驗(yàn)的檢驗(yàn)?zāi)芰τ休^大的影響。

      這個(gè)方法是:選擇能因5b中的一個(gè)誤碼使某個(gè)4b碼變?yōu)?000的4b作為種子,然后找出最少量的4b種子在幀的不同位置時(shí)進(jìn)行組合,求出CRC值,如果CRC值中含最少量的非全0的4b,且這個(gè)4b也是一個(gè)種子,那么這個(gè)組合誤碼時(shí)便使CRC檢驗(yàn)通過(guò),此時(shí)參與組合的4b的數(shù)目及CRC中的種子數(shù)就最少,就是HD。

      為此,先要確定哪些4b是種子。根據(jù)表1,4b∈{1110,1010,1100,0110},在5b中的一個(gè)誤碼作用下會(huì)變成0000。

      而{1000,0100,0010,0001}需要5b中的2~4個(gè)誤碼才會(huì)變?yōu)?000。例如0001的5b編碼是01001,它需要5b中的4個(gè)誤碼才會(huì)變?yōu)?1110(對(duì)應(yīng)0000)。但是利用模2加法的疊加原理,它們也能在5b中的一個(gè)誤碼時(shí)變?yōu)?000。我們?cè)?001上疊加0010,于是4b變?yōu)?011,對(duì)應(yīng)的4b是10101,5b中的第1位產(chǎn)生誤碼,變?yōu)?0100,譯碼后變?yōu)?010,即疊加上的4b,原來(lái)的0001不見(jiàn)了,這個(gè)5b中的一個(gè)誤碼等效地使0001變?yōu)?000。類似地分析其他各種4b,可以得到4b∈{1110,1010,1100,0110,1000,0100,0010,0001}時(shí),在5b中的一個(gè)誤碼作用下會(huì)變成0000,這些4b稱為種子,用于程序的搜索。其余的4b無(wú)法滿足種子的要求。

      疊加原理在CRC檢驗(yàn)中是可行的,假定所有產(chǎn)生誤碼的種子(不管它是否要疊加一個(gè)值),都處在CRC域以外,5b中的多個(gè)誤碼就可以由這些種子的變化,而使幀產(chǎn)生以這些種子構(gòu)成的錯(cuò)碼多項(xiàng)式。我們只要搜索以這些種子構(gòu)成的錯(cuò)碼多項(xiàng)式,就可以確定HD的上限了。

      2 4b/5b編碼解碼對(duì)16位CRC檢驗(yàn)的影響

      為了便于讀者理解,先以16位CRC檢驗(yàn)加以說(shuō)明。在利用100BASE-TX以太網(wǎng)傳送功能安全要求的應(yīng)用時(shí),往往添加高層協(xié)議,這些協(xié)議采用附加的16位CRC檢驗(yàn),例如Safety on etherCAT規(guī)定每2字節(jié)數(shù)據(jù)添加1個(gè)16位CRC檢驗(yàn)和。一般地說(shuō),對(duì)很短的幀,16位CRC檢驗(yàn)可以達(dá)到很高的錯(cuò)誤檢出數(shù)[2],例如G=0xC86C=[1100,1000,0110,1100,1],在135位時(shí)可達(dá)到 HD=6,即可以檢測(cè)出所有5位及以下的位錯(cuò)。

      但根據(jù)本次搜索,在5b傳送過(guò)程中有3位錯(cuò)就要漏檢了。如圖2所示,b35~32=1110,b11~8=1000時(shí),CRC=0000,0000,0000,1110,由于很短,甚至用手工也可以進(jìn)行驗(yàn)算。它的3個(gè)非0000的4b均屬于種子4b,只要各有一個(gè)傳送位錯(cuò)就可以變?yōu)?000。由于b11~8=1000需要添加輔助的數(shù)據(jù)0010,而變?yōu)?010,所以要將上述b35~32=1110,b11~8=1010及其CRC全部放到以太幀的數(shù)據(jù)域中,就左移16位,將有Txd51~48=1110,Txd27~24=1010,以及Txd3~0=1110。添加數(shù)據(jù)的其余4b可以任選。在這個(gè)例子的對(duì)應(yīng)半字節(jié)處以5b傳送時(shí)各發(fā)生一個(gè)錯(cuò),接收方就會(huì)收到Rxd51~48=0000,Rxd27~24=0010,以及 Rxd3~0=0000,而收發(fā)雙方的差錯(cuò)就時(shí),Exd51~48=1110,Exdb27~24=1000,以及 Exd3~0=1110。它是b35~32=1110,b11~8=1000,時(shí)CRC=0000,0000,0000,1110左移16位的結(jié)果,所以它是CRC生成多項(xiàng)式的倍數(shù)。這個(gè)例子就是錯(cuò)幀漏檢了,而實(shí)際發(fā)生的傳送中的位錯(cuò)只有3個(gè),且?guī)拈L(zhǎng)度僅52位。與未受4b/5b編碼影響時(shí)的135位時(shí)可達(dá)到HD=6相比,可見(jiàn)性能退化很多。

      圖2 由于5b中有3個(gè)位錯(cuò)而錯(cuò)幀漏檢的例子

      另一個(gè)常用的16位CRC是ANSI-16,其生成多項(xiàng)式是 G=0xC002=[1100,0000,0000,0010,1]。當(dāng) b3~0=1100時(shí)CRC=0000,0000,0010,1000。它的3個(gè)非0000的4b均屬于種子4b。將它左移16位,可見(jiàn)數(shù)據(jù)只要3字節(jié),就可能出現(xiàn)HD=3的漏檢。

      由于只要對(duì)應(yīng)的3個(gè)4b處是規(guī)定的種子或與種子配合生成的特定數(shù)據(jù)(例如與1110對(duì)應(yīng)的特定數(shù)據(jù)為1110,與1000配合0010生成特定數(shù)據(jù)為1010),幀的其余部分可以任選,所以HD=3的漏檢例子的概率是(2-4)3=2-12。如果考慮16位CRC檢驗(yàn)覆蓋的數(shù)據(jù)幀中其他的漏檢數(shù)據(jù)流實(shí)例還有很多,那么HD=3的漏檢的概率會(huì)很大,例如ANSI-16的搜索結(jié)果中會(huì)有136次,此時(shí)ANSI-16HD=3的漏檢概率大約為0.033。而0xC86C的HD=3的漏檢概率僅0.001,可見(jiàn)不同的生成多項(xiàng)式受影響的程度還是有區(qū)別的。

      3 對(duì)以太網(wǎng)MAC幀32位CRC的影響

      仍然用種子4b在以太網(wǎng)MAC幀的不同位置進(jìn)行組合,搜索找出HD的上限。

      由于以太幀長(zhǎng)12 112位,有3 028個(gè)4b位置,CRC含8個(gè)4b位置,搜索比較費(fèi)時(shí)。得到的結(jié)果是HD的上限=4,這似乎與原來(lái)CRC檢驗(yàn)的HD=4一致,但是其出現(xiàn)漏檢的概率大為增加了。Koopman[1]的計(jì)算結(jié)果是接近2-32=2.3×10-10。按本文搜索到HD=4的每個(gè)實(shí)例的漏檢率相當(dāng)于(2-4)4=2-16。而這樣的實(shí)例有近100個(gè),如此一來(lái),HD=4的漏檢概率大約為0.001 5,大了許多。

      上述計(jì)算的近似性質(zhì)源于搜索方法,由于時(shí)間的限制,未能做更多的組合搜索。實(shí)際上存在4個(gè)4b種子的組合,它們的 CRC和是全0。DATA1:b5587~5584=1010,b715~712=0110時(shí),CRC和=0000,0000,0000,0000,0000,0000,1110,0110。DATA2:b8379~8376=0100,b1727~1724=1010時(shí)CRC和也是=0000,0000,0000,0000,0000,0000,1110,0110。當(dāng)DATA1和DATA2相加時(shí)便有全0的CRC和。此時(shí)4個(gè)4b種子全在數(shù)據(jù)域。根據(jù)CRC檢驗(yàn)的做法知道,當(dāng)生成多項(xiàng)式除盡時(shí),CRC檢驗(yàn)和是全0。所以當(dāng)除法做到生成多項(xiàng)式最后一位是b712時(shí)已經(jīng)除盡,上述4個(gè)4b種子的位置以4b為單位左、右移時(shí),CRC檢驗(yàn)和仍然是全0??梢?jiàn)這樣的漏檢幀也是很多的,這樣的組合未在搜索方法之中,引起漏檢概率的低估。

      對(duì)以太網(wǎng)MAC幀CRC檢驗(yàn),HD=4的起始位置是幀長(zhǎng)大于2 975位[1]。在本搜索的結(jié)果中,由于4b/5b編碼的干擾,HD=4的位置已發(fā)現(xiàn)有496位的例子:錯(cuò)誤多項(xiàng)式為b495~492=1000,b395~392=1110,b19~16=1000,b3~0=0001。它的CRC檢驗(yàn)和為全0。而在原來(lái)未干擾前,這個(gè)長(zhǎng)度下可以保證HD=5。

      4 4b/5b編碼解碼影響CRC檢驗(yàn)的后果

      在分析干擾對(duì)誤碼影響時(shí)要考慮這樣一點(diǎn):干擾在時(shí)間上不是均勻分布的。誤碼率是在一段較長(zhǎng)時(shí)間內(nèi)統(tǒng)計(jì)的平均值,所以在短時(shí)間內(nèi)仍有可能出現(xiàn)較多的誤碼。干擾發(fā)生在電感性負(fù)載開(kāi)關(guān)的瞬間,或者雷擊的時(shí)候,此時(shí)誤碼就較多。功能安全的設(shè)計(jì)要考慮這個(gè)瞬間可能引起的問(wèn)題。

      補(bǔ)充CRC檢驗(yàn)是PROFISAFE的關(guān)鍵安全措施,其設(shè)計(jì)要求是在最壞誤碼率ber=10-2時(shí)能達(dá)到殘余錯(cuò)(即錯(cuò)幀漏檢 概率)引 起 的功 能 失效 概 率小 于 10-9/h[3]。PROFISAFE對(duì)123字節(jié)的數(shù)據(jù),采用補(bǔ)充的32位CRC,此時(shí)碼長(zhǎng)為984位。假定這個(gè)32位CRC與以太網(wǎng)的一樣(如果不一樣,則需要做相應(yīng)的搜索,找出4b/5b編碼對(duì)該CRC檢驗(yàn)HD的影響,這是工作量的問(wèn)題,不妨礙以下討論),按本文搜索到的例子,只要496位就會(huì)發(fā)生HD=4的情況,這個(gè)誤差多項(xiàng)式在984位中有(984-496)/4=122個(gè)可存在的位置,所以它的安全數(shù)據(jù)被錯(cuò)幀漏檢的概率是(ber)4×122。在ber=10-2時(shí),錯(cuò)幀漏檢概率就是1.22×10-6。對(duì)PROFISAFE而言,他們可能原來(lái)考慮在984位長(zhǎng)度時(shí),32位CRC的 HD=6,ber=10-2時(shí),錯(cuò)幀漏檢概率就是1×10-12。即便這樣,如果每小時(shí)送的幀數(shù)考慮進(jìn)去,還是不到要求:在100Mb/s速率下,每個(gè)MAC幀長(zhǎng)為12 112位,加上先導(dǎo)符,空閑等開(kāi)銷,假定為15 000位,則需0.15ms,每小時(shí)可送2.4×107個(gè) MAC幀,再假定總線利用率為20%,則每小時(shí)可送4.8×106個(gè) MAC幀,假定每個(gè)MAC幀只送1個(gè)PROFISAFE幀,則每小時(shí)可 送 4.8×106個(gè) PROFISAFE 幀,這 樣,由 于PROFISAFE傳送錯(cuò)幀引起的安全失效概率將是4.8×10-6/h>>10-9/h。如果將ber設(shè)為10-3,那么引起的安全失效概率將是4.8×10-12/h,可以達(dá)到要求。但是由于4b/5b編碼對(duì)原有CRC檢驗(yàn)的檢驗(yàn)?zāi)芰τ写蟮挠绊?,使ber=10-2時(shí),錯(cuò)幀漏檢概率就是1.22×10-6,引起的安全失效概率將是5.8/h,在ber=10-3時(shí)安全失效概率將是5.8×10-4/h,仍達(dá)不到要求。只有當(dāng)ber<10-5時(shí),才能達(dá)到要求,而這會(huì)嚴(yán)重影響其使用:必須加大投資,對(duì)干擾嚴(yán)防死守。

      對(duì)于其他的用法,例如未加功能安全協(xié)議的AFDX,參照上述計(jì)算,每小時(shí)收到漏檢錯(cuò)幀的數(shù)目非常大,在ber=10-3時(shí)安全失效概率將是5.8×10-4/h。特別是,盡管有雙通道的冗余,但是它只收下第一個(gè)通過(guò)CRC檢驗(yàn)的幀,不管是否漏檢的幀,冗余不能減弱這種風(fēng)險(xiǎn)。在飛機(jī)上,要想從源頭上減少電磁干擾更為困難:你難以把雷擊的干擾弱化,特別是以后為減輕重量與成本要采用纖維蒙皮。

      筆者電子郵件地址:yfy812@163.com。

      [1]Koopman P.32-bit cyclic redundancy codes for Internet applications[OL].(2012-05-23)[2013-03].http://citeseerx.ist.psu.edu/viewdoc/download doi=10.1.1.131.2899&rep=rep1&type=pdf

      [2]Philip Koopman,Tridib Chakravarty.Cyclic Redundancy Code(CRC)Polynomial Selection For Embedded Networks [OL].(2006-12-22)[2013-03].http://www.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc_poly_embedded.pdf.

      [3]PROFIsafe System Description [OL].(2012-11-22)[2013-03].http://www.profibus.com/nc/downloads/downloads/profisafe-technology-and-application-system-description/download/9594.

      猜你喜歡
      誤碼解碼以太網(wǎng)
      《解碼萬(wàn)噸站》
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      解碼eUCP2.0
      ZPW-2000A電碼化軌道電路誤碼問(wèn)題分析及解決方案
      NAD C368解碼/放大器一體機(jī)
      Quad(國(guó)都)Vena解碼/放大器一體機(jī)
      一種基于CAN總線的誤碼測(cè)試方法
      電子制作(2018年11期)2018-08-04 03:25:58
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      多支路兩跳PF協(xié)作系統(tǒng)的誤碼性能
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      东港市| 淳化县| 阜宁县| 密山市| 姜堰市| 英山县| 象州县| 宁阳县| 从江县| 溆浦县| 大英县| 忻城县| 和龙市| 阆中市| 邓州市| 通海县| 巫溪县| 武定县| 固始县| 全南县| 淄博市| 秦皇岛市| 尼勒克县| 高州市| 名山县| 满洲里市| 永吉县| 温泉县| 星子县| 孟连| 东乌珠穆沁旗| 锡林郭勒盟| 泸西县| 静乐县| 平谷区| 碌曲县| 连江县| 宝应县| 娄烦县| 离岛区| 中阳县|