網(wǎng)站設(shè)計(jì)主要包含3個方面市場調(diào)研報(bào)告萬能模板
摘要:
隨著企業(yè)數(shù)字化轉(zhuǎn)型快速發(fā)展,越來越多企業(yè)將IT系統(tǒng)、應(yīng)用和服務(wù)部署到云上,以實(shí)現(xiàn)更高效、靈活的管理和使用。這就對廣域網(wǎng)提出了更高的要求,而廣域網(wǎng)線路往往存在帶寬費(fèi)用昂貴、服務(wù)質(zhì)量不可靠等問題。為了改善用戶體驗(yàn),提高應(yīng)用運(yùn)行質(zhì)量,降低廣域網(wǎng)線路費(fèi)用,廣域網(wǎng)優(yōu)化技術(shù)隨之產(chǎn)生。
1 節(jié)省廣域網(wǎng)帶寬
很多對信息安全和服務(wù)質(zhì)量要求嚴(yán)格的用戶,分支機(jī)構(gòu)和總部以及不同總部之間,租用的是運(yùn)營商的高質(zhì)量專線(例如:MSTP),線路費(fèi)用很高,廣域網(wǎng)帶寬資源不足。這種用戶希望在保障和提高業(yè)務(wù)服務(wù)質(zhì)量的前提下盡量節(jié)省廣域網(wǎng)帶寬。緩存和壓縮技術(shù)是解決這種訴求的好方法。網(wǎng)站緩存和數(shù)據(jù)消冗技術(shù)可以很好的起到節(jié)省廣域網(wǎng)線路帶寬資源的作用。
1.1 網(wǎng)站緩存(Web cache)
Web cache是將用戶通過HTTP、HTTPS協(xié)議訪問過的Web頁面上某些指定文件類型(如apk、doc、微軟補(bǔ)丁等)的內(nèi)容,緩存在設(shè)備本地,在緩存文件老化時間內(nèi),用戶訪問相同內(nèi)容時,以URL為索引直接從本地響應(yīng)的一種廣域網(wǎng)加速技術(shù)。
Web cache的工作流程如下圖所示:
- 用戶通過 HTTP/HTTPS 協(xié)議請求指定服務(wù)器的Web 頁面內(nèi)容時, Web Cache 將服務(wù)器響應(yīng)的內(nèi)容緩存在本地文件中。
- 后續(xù)用戶訪問該服務(wù)器時,Web Cache 獲取報(bào)文的URL,依據(jù)URL 在本地緩存文件中進(jìn)行查找。
- Web Cache 使用查找到的本地緩存文件中的內(nèi)容直接響應(yīng)用戶。
通過部署WebCache,可以有效提高分支用戶網(wǎng)頁響應(yīng)速度,極大的提升了用戶體驗(yàn);同時相同文件在廣域網(wǎng)鏈路上只傳輸1次,極大的降低了廣域網(wǎng)帶寬的消耗。
1.2 數(shù)據(jù)消冗
在廣域網(wǎng)鏈路中傳輸?shù)臄?shù)據(jù)本質(zhì)上就是類似于“011110001001”這樣的“二進(jìn)制”碼流,實(shí)際上不同的IT應(yīng)用傳輸?shù)臄?shù)據(jù)存在大量重復(fù)的碼流片段。降低這種重復(fù)碼流片段傳輸次數(shù),是一種降低帶寬消耗的方法。DRE是一種有效的數(shù)據(jù)消除冗余技術(shù),在相互通信的網(wǎng)絡(luò)設(shè)備上保存重復(fù)數(shù)據(jù)塊與字典索引對應(yīng)的數(shù)據(jù)字典。數(shù)據(jù)發(fā)送前首先查找字典,如果查找到該數(shù)據(jù)塊的字典表項(xiàng),則認(rèn)為之前發(fā)送過該數(shù)據(jù)塊,稱為重復(fù)數(shù)據(jù)塊。發(fā)送端將重復(fù)數(shù)據(jù)塊替換為字典索引在廣域網(wǎng)鏈路上傳輸。接收端通過識別字典索引,將其還原成重復(fù)數(shù)據(jù)塊,以減少廣域網(wǎng)鏈路傳輸?shù)臄?shù)據(jù)量,提高數(shù)據(jù)傳輸速度。用字典索引替換重復(fù)數(shù)據(jù)塊的過程稱為DRE壓縮。用重復(fù)數(shù)據(jù)塊替換字典索引的過程稱為DRE解壓縮。
DRE壓縮過程
數(shù)據(jù)分塊和替換:DRE壓縮前將待發(fā)送數(shù)據(jù)劃分為互不重疊的數(shù)據(jù)塊,針對數(shù)據(jù)塊來檢測是否為重復(fù)數(shù)據(jù)塊。如果為重復(fù)數(shù)據(jù)塊,用字典索引替換該數(shù)據(jù)塊,并根據(jù)該數(shù)據(jù)塊生成摘要,把字典索引和摘要信息發(fā)送至接收端。如果不是重復(fù)數(shù)據(jù)塊,為該數(shù)據(jù)塊生成對應(yīng)的字典索引,將該字典索引和數(shù)據(jù)塊添加到本地?cái)?shù)據(jù)字典中,并根據(jù)該數(shù)據(jù)塊生成MD5摘要,把數(shù)據(jù)塊、對應(yīng)的字典索引和摘要信息發(fā)送至接收端。
DRE解壓縮過程
- 數(shù)據(jù)還原:設(shè)備檢測接收到的數(shù)據(jù),根據(jù)接收數(shù)據(jù)獲得對應(yīng)的原始數(shù)據(jù)。如果接收到的數(shù)據(jù)為字典索引,則根據(jù)字典索引進(jìn)行數(shù)據(jù)字典查詢以獲取相對應(yīng)的重復(fù)數(shù)據(jù)塊。如果接收到的數(shù)據(jù)為字典索引和重復(fù)數(shù)據(jù)塊,則根據(jù)收到的數(shù)據(jù)創(chuàng)建新的字典表項(xiàng),并添加到本地?cái)?shù)據(jù)字典中。
- 數(shù)據(jù)校驗(yàn):所有數(shù)據(jù)都還原后,計(jì)算解壓數(shù)據(jù)的摘要,并且和報(bào)文中攜帶的摘要信息進(jìn)行對比。如果相同,則代表解壓縮成功;如果不同,則代表解壓縮失敗,等待對端重新發(fā)送數(shù)據(jù)。
2 提升弱網(wǎng)環(huán)境下應(yīng)用服務(wù)質(zhì)量
在企業(yè)IT應(yīng)用向云平臺遷移的過程中,很多應(yīng)用從局域網(wǎng)內(nèi)部使用變?yōu)榭鐝V域網(wǎng)使用,廣域網(wǎng)鏈路的延時、抖動和丟包造成應(yīng)用體驗(yàn)大幅下降。本質(zhì)上是應(yīng)用無法使用廣域網(wǎng)傳輸?shù)奶攸c(diǎn)。針對廣域網(wǎng)丟包的問題,FEC技術(shù)可以通過冗余包的方式,保障音、視頻應(yīng)用的流暢性。針對廣域網(wǎng)丟包、延時和抖動問題,多路徑包復(fù)制技術(shù),可以通過“多發(fā)選收”的方法提升關(guān)鍵應(yīng)用的可靠性和體驗(yàn)。
2.1 FEC技術(shù)
FEC( Forward Error Correction,前向糾錯)是一種廣域網(wǎng)差錯控制技術(shù),用于解決實(shí)時音、視頻的網(wǎng)絡(luò)丟包問題,保障重要音、視頻流穿越廣域網(wǎng)后仍能流暢播放,增強(qiáng)RTP 流在廣域網(wǎng)傳輸?shù)目煽啃?。FEC 的基本原理是:發(fā)送端將多個原始報(bào)文,通過RS(Reed Solomon)算法編碼計(jì)算并增加冗余包后,以編碼塊為單位發(fā)送;接收端根據(jù)收到的原始報(bào)文和冗余包恢復(fù)出丟失的報(bào)文,還原原始數(shù)據(jù)。
FEC 技術(shù)中的重點(diǎn)和難點(diǎn)是生成適量的冗余包。生成的冗余包數(shù)量過多,會浪費(fèi)網(wǎng)絡(luò)帶寬;生成的冗余包數(shù)量過少,則無法恢復(fù)出丟失的報(bào)文。冗余包的數(shù)量受編碼塊包數(shù)、編碼算法和平均抗丟包率的影響。其中,編碼塊包數(shù)指編碼塊中原始報(bào)文的個數(shù),由用戶配置決定;編碼算法出廠時已固定,不可配置;平均抗丟包率用于衡量FEC 抗丟包的能力,通常會設(shè)置成大于鏈路平均丟包率的值。
根據(jù)平均抗丟包率的配置方式不同,FEC 分為D-FEC(Determined-FEC,固定的FEC)和A-FEC(Adaptive-FEC,自適應(yīng)的FEC)兩種類型。D-FEC 使用固定的平均抗丟包率,適用于鏈路丟包率比較穩(wěn)定的場景。A-FEC 根據(jù)實(shí)時鏈路丟包率動態(tài)調(diào)節(jié)平均抗丟包率,實(shí)現(xiàn)機(jī)制比D-FEC 復(fù)雜??稍诒WC通信質(zhì)量和可靠性的前提下,盡量減小冗余包數(shù)量,提高傳輸效率。在廣域網(wǎng)環(huán)境下,A-FEC應(yīng)用更廣泛。
A-FEC處理流程如下圖所示:
(1) 發(fā)送端識別業(yè)務(wù)報(bào)文,進(jìn)行 FEC 編碼處理后發(fā)送。報(bào)文識別:發(fā)送端根據(jù)管理員配置的策略匹配需要重點(diǎn)保障的音、視頻報(bào)文。對于匹配成功的報(bào)文,則進(jìn)入FEC 處理環(huán)節(jié);對于匹配失敗的報(bào)文,則正常轉(zhuǎn)發(fā)。.緩存、編碼:積攢多個原始報(bào)文(例如報(bào)文1、2、3、4),對這些報(bào)文進(jìn)行編碼,生成一個或多個冗余包R。冗余包報(bào)文頭中攜帶原始報(bào)文和冗余包的個數(shù)、原始報(bào)文和冗余包的起始序號等信息。.組合發(fā)送:按順序發(fā)送原始報(bào)文1、2、3、4 和冗余包R。
(2) 在廣域網(wǎng)中傳輸報(bào)文,編碼塊中的原始報(bào)文和冗余包都可能出現(xiàn)丟包。
(3) 接收端識別業(yè)務(wù)報(bào)文,進(jìn)行 FEC 解碼后發(fā)送給目的端。.報(bào)文識別:接收端根據(jù)和發(fā)送端相同的策略匹配音、視頻報(bào)文。對于匹配成功的報(bào)文,則進(jìn)入FEC 解碼環(huán)節(jié);對于匹配失敗的報(bào)文,則正常轉(zhuǎn)發(fā)。緩存、解碼:接收端將原始報(bào)文緩存,收到冗余包時會根據(jù)冗余包中攜帶的信息嘗試解碼。如果緩存的同一編碼塊中的原始報(bào)文與冗余包個數(shù)之和大于等于冗余包中攜帶的原始報(bào)文的個數(shù),則可恢復(fù)丟失的數(shù)據(jù),解碼成功。如下圖所示,接收端根據(jù)原始報(bào)文1、2、4 和冗余包R可恢復(fù)出丟失的原始報(bào)文3。如果解碼失敗,則繼續(xù)等待下一個冗余包來解碼,或者等待解碼超時,再進(jìn)入發(fā)送環(huán)節(jié)。.發(fā)送:丟棄冗余包,發(fā)送原始報(bào)文。
(4) 接收端在執(zhí)行步驟(3)的同時會計(jì)算每個編碼塊的丟包率,按周期對編碼塊的丟包率采樣,并將采樣的丟包率反饋給發(fā)送端。
(5) 發(fā)送端根據(jù)收到的丟包率計(jì)算平均值,動態(tài)調(diào)整平均抗丟包率,并從下一次編碼開始,使用調(diào)整后的平均抗丟包率進(jìn)行FEC編碼。
2.2 多路徑包復(fù)制技術(shù)
多路徑包復(fù)制是一種冗余糾錯技術(shù)。對于可靠性要求很高并且流量較小的業(yè)務(wù)(例如工業(yè)自動控制、付款、緊急呼叫、重要音視頻通話等),多路徑包復(fù)制技術(shù)利用大部分局域網(wǎng)普遍采用多條廣域網(wǎng)鏈路的多鏈路優(yōu)勢,在發(fā)送端將原始業(yè)務(wù)報(bào)文復(fù)制后從兩條鏈路發(fā)送出去,在接收端將原始業(yè)務(wù)報(bào)文和復(fù)制報(bào)文互相補(bǔ)充,整合成原始報(bào)文流,從而有效降低甚至解決因單條鏈路丟包、延時、抖動等原因?qū)е碌臉I(yè)務(wù)質(zhì)量下降甚至中斷的問題。
多路徑包復(fù)制工作過程:
發(fā)送端收到業(yè)務(wù)報(bào)文后,對報(bào)文進(jìn)行識別。只有類型符合要求、匹配TCP/UDP 流分類規(guī)則,且存在逐流負(fù)載分擔(dān)等價路由的報(bào)文,設(shè)備才會對其進(jìn)行包復(fù)制處理。發(fā)送端將滿足條件的多個原始業(yè)務(wù)報(bào)文積攢成一個數(shù)據(jù)塊(本文假設(shè)4 個報(bào)文作為一個數(shù)據(jù)塊),進(jìn)行復(fù)制并轉(zhuǎn)發(fā)。
接收端會從兩條鏈路接收到兩份報(bào)文,需要對收到的重復(fù)報(bào)文進(jìn)行去冗余處理,以便確保發(fā)送給目的端的報(bào)文中相同序號的原始業(yè)務(wù)報(bào)文和復(fù)制報(bào)文中僅保留一個。因?yàn)椴楸磙D(zhuǎn)發(fā)路徑和復(fù)制包轉(zhuǎn)發(fā)路徑的速率不同、時延不同,且可能丟包,現(xiàn)假設(shè)接收端先后收到原始業(yè)務(wù)報(bào)文1、3、4 和復(fù)制報(bào)文2 和3,報(bào)文去冗余流程大致如下:
(1) 報(bào)文去冗余處理模塊第一次收到原始業(yè)務(wù)報(bào)文 1、3、4 和復(fù)制報(bào)文2,將這些報(bào)文的信息記入冗余鏈,允許報(bào)文通過。
(2) 收到復(fù)制報(bào)文 3,因?yàn)槿哂噫溨幸呀?jīng)有報(bào)文3 的信息記錄,系統(tǒng)判斷復(fù)制報(bào)文3 是重復(fù)報(bào)文,于是,丟棄復(fù)制報(bào)文3。
(3) 將去冗余后得到的報(bào)文 1、3、4、2 依次發(fā)送給“報(bào)文保序”環(huán)節(jié)處理。
因?yàn)閮蓷l鏈路的時延不同,報(bào)文到達(dá)接收端的先后順序很可能和報(bào)文本身的序號順序不一致,所以,接收端對報(bào)文進(jìn)行去冗余處理之后,還需要進(jìn)行保序處理,以盡量保證報(bào)文按照序號從小到大的順序發(fā)送出去。假設(shè)業(yè)務(wù)報(bào)文去冗余后順序依次為1、3、4、2,則報(bào)文保序流程:
(1) 報(bào)文保序處理模塊收到報(bào)文 1 后,直接發(fā)送,并將下次期望收到的報(bào)文序號(以下簡稱為期望序號)設(shè)置為當(dāng)前收到的報(bào)文序號加1,即期望序號為2。
(2) 收到報(bào)文 3 和4,報(bào)文序號均大于期望序號2,則將報(bào)文3 和4 放入保序緩存,期望序號仍為2。
(3) 收到復(fù)制報(bào)文 2,報(bào)文序號等于期望序號2,則發(fā)送復(fù)制報(bào)文2,更新期望序號為3,從保序緩存中取出并發(fā)送序號為3 的報(bào)文。同時更新期望序號為4,從保序緩存中取出并發(fā)送序號為4的報(bào)文,更新期望序號為5。以此類推。
(4) 將保序后得到的報(bào)文 1、2、3、4 依次發(fā)送給目的端。
3 結(jié)束語
本文介紹的幾種廣域網(wǎng)優(yōu)化技術(shù),在不同場景下為不同應(yīng)用提供了提升跨廣域網(wǎng)應(yīng)用服務(wù)質(zhì)量的方法。在實(shí)際應(yīng)用中,需要了解不同技術(shù)的實(shí)現(xiàn)原理,針對不同網(wǎng)絡(luò)條件的差異,以及不同應(yīng)用對服務(wù)質(zhì)量的訴求,合理選擇有一種或多種技術(shù)部署使用,提升客戶應(yīng)用體驗(yàn)。