欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用FEC解決網(wǎng)絡(luò)丟包-創(chuàng)新互聯(lián)

本文在介紹關(guān)于FEC的基礎(chǔ)上,重點探討了使用FEC解決網(wǎng)絡(luò)丟包的具體步驟,步驟簡單易上手操作,文章內(nèi)容步步緊湊,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)2013年至今,公司以成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶千余家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計、獨特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

FEC:Forward Error Correction,前向糾錯

FEC 是一種通過在網(wǎng)絡(luò)傳輸中增加數(shù)據(jù)包的冗余信息,使得接收端能夠在網(wǎng)絡(luò)發(fā)生丟包后利用這些冗余信息直接恢復(fù)出丟失的數(shù)據(jù)包的一種方法。

FEC 的基礎(chǔ)理論:異或

異或的規(guī)則

兩個值不相等則為 1,相等則為 0;

0 ^ 0 = 0 1 ^ 1 = 0 0 ^ 1 = 1 1 ^ 0 = 1

注:按位異或 ^,則是把兩個數(shù)轉(zhuǎn)換為二進制,按位進行異或運算。

異或的特性

恒等律:X ^ 0 = X 歸零律:X ^ X = 0 交換律:A ^ B = B ^ A 結(jié)合律:A ^ (B ^ C) = (A ^ B) ^ C

注:可以通過數(shù)學(xué)方法推導(dǎo)證明,我們這里只需要記住這些規(guī)則即可,后面有大量的應(yīng)用。

XOR 的應(yīng)用案例

有了這些 XOR 的基礎(chǔ)理論,我們看看它是怎么應(yīng)用到實際中的 “校驗” 和 “糾錯” 的。

奇偶校驗(Parity Check)

判斷一個二進制數(shù)中 1 的數(shù)量是奇數(shù)還是偶數(shù)(應(yīng)用了異或的 恒等律 和  歸零律):

// 例如:求 10100001 中 1 的數(shù)量是奇數(shù)還是偶數(shù) // 結(jié)果為 1 就是奇數(shù)個 1,結(jié)果為 0 就是偶數(shù)個 1 1 ^ 0 ^ 1 ^ 0 ^ 0 ^ 0 ^ 0 ^ 1 = 1

這條性質(zhì)可用于奇偶校驗(Parity Check),每個字節(jié)的數(shù)據(jù)都計算一個校驗位,數(shù)據(jù)和校驗位一起發(fā)送出去,這樣接收方可以根據(jù)校驗位粗略地判斷接收到的數(shù)據(jù)是否有誤。

磁盤陣列-RAID5

使用 3 塊磁盤(A、B、C)組成RAID5 陣列來存儲用戶的數(shù)據(jù),把每份數(shù)據(jù)切分為 A、B 兩部分,然后把 A xor B 的結(jié)果作為 C ,分別寫入 A、B、C 三塊磁盤。最終,任意一塊磁盤出錯,都是可以通過另外兩塊磁盤的數(shù)據(jù)進行恢復(fù)的。

實現(xiàn)原理:應(yīng)用了異或的 恒等律 和  結(jié)合律

c = a ^ b a = a ^ (b ^ b) = (a ^ b) ^ b = c ^ b b = (a ^ a) ^ b = a ^ c

基于 XOR 的 FEC

假設(shè)網(wǎng)絡(luò)通信有 N 個 packet 需要發(fā)送,那么,可以類似上述 RAID5 的策略,每 2 個 packet 生成一個 FEC packet,這樣,連續(xù)的 3 個 packet 的任意一個 packet 丟失,都能通過另外 2 個恢復(fù)出來的。

但考慮到每 2 個 packet 就產(chǎn)生 1 個 fec packet,冗余度可能有點高(比較浪費帶寬),我們能否每 3 個或者每 N 個 packet 再產(chǎn)生一個 fec packet 呢?當然可以,我們以每 3 個 packet(A、B、C) 產(chǎn)生 1 個 fec packet(D)為例來推導(dǎo)一下:

d = a ^ b ^ c a = a ^ (b ^ b) ^ (c ^ c) = (b ^ c) ^ (a ^ b ^ c) = b ^ c ^ d b = (a ^ a) ^ b ^ (c ^ c) = (a ^ c) ^ (a ^ b ^ c) = a ^ c ^ d c = (a ^ a) ^ (b ^ b) ^ c = (a ^ b) ^ (a ^ b ^ c) = a ^ b ^ d

由上述公式推導(dǎo)即可知道,這 4 個 packet,任意丟失 1 個 packet,均可以由其他 3 個 packet 恢復(fù)出來。

對象存儲-EC糾刪碼

一些互聯(lián)網(wǎng)云計算公司提供的對象存儲服務(wù),都會宣稱自己具有極高的數(shù)據(jù)可靠性,使用了如三副本技術(shù)、EC 糾刪碼技術(shù)等等,后者大致方案如圖所示:

如何使用FEC解決網(wǎng)絡(luò)丟包

圖中采用的是 8+4 的糾刪碼策略(即:原始數(shù)據(jù)切割為 8 份,計算出 4 份冗余信息),將這 12 份分別存儲在 不同機柜的 12 臺不同節(jié)點上,即使同一時刻出現(xiàn)多臺節(jié)點(至多 4 臺)損壞或不可訪問,只要有不少于 8 個節(jié)點可用,數(shù)據(jù)即可恢復(fù)。

不知道大家看出來點什么沒有?相比于上面基于 N 個 packet 產(chǎn)生 1 個 FEC packet 的方案,這種 K + M 的糾刪碼策略具有更好的扛丟失能力,總結(jié)下來就是:

通過 K個有效數(shù)據(jù),產(chǎn)生 M 個 FEC 冗余包,這 K + M 個數(shù)據(jù),任意丟失 M 個數(shù)據(jù),都能把 K 個有效數(shù)據(jù)恢復(fù)出來。

其實這種方案,最早也是應(yīng)用于網(wǎng)絡(luò)傳輸領(lǐng)域的,只不過被借用到存儲領(lǐng)域來提高磁盤的利用率。要實現(xiàn)這種 K + M 的 FEC 策略,使用簡單的 XOR 異或來推導(dǎo)比較難,需要借助矩陣相關(guān)的計算,實現(xiàn)方案有很多種,下面簡單介紹下最著名和常用的 Reed-solomon codes。

Reed-Solomon Codes

里德-所羅門碼(Reed-solomon codes,簡稱 RS codes),利用該原理實現(xiàn)的 FEC 策略,通常也叫做 RS-FEC。網(wǎng)上關(guān)于它的介紹特別多,本文就不詳細展開了,僅簡單以示意圖的形式給出大致的原理:

RS codes 編碼過程

大致原理如下:假設(shè)有效數(shù)據(jù)有 K 個,期望生成 M 個 FEC 數(shù)據(jù)

  1.  把 K 個有效數(shù)據(jù)組成一個單位向量 D

  2.  生成一個變換矩陣 B:由一個 K 階的單位矩陣 和一個 K * M 的范德蒙特 矩陣(Vandemode)組成

  3.  兩個矩陣相乘得到的矩陣 G,即包含了 M 個冗余的 FEC 數(shù)據(jù)

RS codes 解碼過程

假設(shè)數(shù)據(jù) D1,D4,C2 丟失了,則取對應(yīng)行的范德蒙矩陣的逆 * 沒有丟失的數(shù)據(jù)矩陣,則可以恢復(fù)出原始的數(shù)據(jù)矩陣。

如何使用FEC解決網(wǎng)絡(luò)丟包

大致原理如下:假設(shè)數(shù)據(jù) D1,D4,C2 丟失了

  1.  對矩陣 B 和 D,分別取沒有丟失的行構(gòu)成 B‘ 和 G’

  2.  根據(jù)如下公式,即可計算恢復(fù)出有效數(shù)據(jù)向量 D

B' x D = G'  ->>>  D = B' 的逆 x G'

關(guān)于使用FEC解決網(wǎng)絡(luò)丟包就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站題目:如何使用FEC解決網(wǎng)絡(luò)丟包-創(chuàng)新互聯(lián)
本文URL:http://chinadenli.net/article10/gcpgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作商城網(wǎng)站網(wǎng)站改版微信小程序網(wǎng)站設(shè)計公司自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化