太一星晨:談?wù)剳?yīng)用交付中的單邊加速
- 發(fā)布時(shí)間:2015-11-26 10:15:00 來(lái)源:北青網(wǎng) 責(zé)任編輯:書(shū)海
盡管當(dāng)前的網(wǎng)絡(luò)已非常發(fā)達(dá),但平時(shí)的工作生活中還是會(huì)遇到不少上網(wǎng)慢的情況,造成上網(wǎng)慢的原因多是因?yàn)椤皫捳?,鏈路差”?/p>
什么是帶寬窄?
一種就是絕對(duì)意義的帶寬窄,比如在光纖都已比較普及的情況下還用ADSL上網(wǎng),就是真正的帶寬窄了;
另一種則是相對(duì)的帶寬窄,比如總帶寬并不低,但是應(yīng)用的人數(shù)較多、并發(fā)的流量較大,就造成相對(duì)的貸款窄。
尤其在企業(yè)級(jí)的網(wǎng)絡(luò)應(yīng)用中,發(fā)生相對(duì)性的帶寬窄的情況特別常見(jiàn),在這種情況下,在既有帶寬條件不太好改變的情況下,通過(guò)部署應(yīng)用交付進(jìn)行網(wǎng)絡(luò)優(yōu)化,并打開(kāi)其中一項(xiàng)“單邊加速”功能成為了一種比較好的解決方式,有助于實(shí)現(xiàn)加速訪問(wèn)的效果。那么,什么是單邊加速呢?國(guó)內(nèi)知名應(yīng)用交付企業(yè)太一星晨的技術(shù)哥對(duì)此進(jìn)行了深入淺出的解讀。
從TCP協(xié)議說(shuō)起:了解上網(wǎng)慢的“元兇”
要想了解單邊加速,首先還要從“TCP協(xié)議”說(shuō)起。TCP是一種面向連接的、可靠的、基于字節(jié)流的傳輸通信協(xié)議,由IETF的RFC 793定義——RFC早在1981年就已經(jīng)被提出了。
在傳輸數(shù)據(jù)之前,TCP需要在兩個(gè)通信端之間建立起一個(gè)連接,即一個(gè)TCP通道。這就是TCP經(jīng)典的“三次握手”:
客戶端發(fā)出指令—> 服務(wù)器響應(yīng)“收到指令”—> 客戶端確認(rèn)“服務(wù)器已收到指令的過(guò)程”
同時(shí),在這三次握手過(guò)程中還包括MSS、時(shí)間戳、SACK、窗口等多種參數(shù)協(xié)議。直觀看來(lái),這個(gè)過(guò)程確實(shí)顯得有些麻煩,不過(guò),在早期網(wǎng)絡(luò)帶寬較小,傳輸速率較慢的時(shí)期,“TCP協(xié)議”卻是一種非??孔V的傳輸方式。
首先,TCP協(xié)議將要發(fā)送的數(shù)據(jù)根據(jù)字節(jié)進(jìn)行編號(hào),然后順序發(fā)送出去,并等待對(duì)方的確認(rèn)。如果一旦收不到對(duì)方的確認(rèn),TCP協(xié)議就會(huì)一而再、再而三的重新發(fā)送數(shù)據(jù),直到收到確認(rèn)信息為止。在早期網(wǎng)絡(luò)環(huán)境下,這種方式是非常有必要的,因?yàn)榫W(wǎng)速太低,發(fā)生丟包也不足為奇了。
同時(shí),TCP協(xié)議另一大突出特征是將發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行編號(hào),并從TCP通道發(fā)送到對(duì)端。這就涉及到了TCP的流控,還有各種各樣的窗口,以及一堆復(fù)雜的算法。
簡(jiǎn)單來(lái)說(shuō),當(dāng)上網(wǎng)時(shí),TCP總是試圖使勁發(fā)數(shù)據(jù),而一旦對(duì)方?jīng)]收到(中間出現(xiàn)丟包、亂序或者延遲等情況),它又會(huì)主動(dòng)將發(fā)送速度降到0,然后又一點(diǎn)一點(diǎn)試圖再恢復(fù),直到重新把數(shù)據(jù)塞滿帶寬。即使吞吐已經(jīng)接近帶寬了,TCP依然會(huì)慢慢增加數(shù)據(jù)的發(fā)送,直到又一次觸發(fā)丟包點(diǎn),然后又猛的降下來(lái)。
因此,實(shí)際的TCP的傳輸吞吐曲線是上下不停波動(dòng)的。特別是在鏈路狀態(tài)不好的情況下,波動(dòng)的平均線往往被壓得很低:一方面由于頻繁觸發(fā)丟包,一方面由于恢復(fù)速度緩慢(隔包確認(rèn))。
單邊加速:如何讓網(wǎng)絡(luò)快起來(lái)?
如果說(shuō)TCP協(xié)議是一名80后,那么單邊加速就是一名00后,更了解這個(gè)時(shí)代主流需求特征。
在具體操作中,單邊加速并不直接更改TCP協(xié)議棧,而是通過(guò)在轉(zhuǎn)發(fā)報(bào)文中增加發(fā)送一些報(bào)文,來(lái)引導(dǎo)快速啟動(dòng),觸發(fā)快速重傳、快速恢復(fù)等,從而達(dá)到加速的目的。
目前做單邊加速一般是做如下改進(jìn):
1.在慢啟動(dòng)階段,自動(dòng)更改CWND的值;
2. 通過(guò)RTT的探測(cè),更精確的預(yù)測(cè)到可能丟包的發(fā)生,提前觸發(fā)快速重傳,進(jìn)入擁塞避免,實(shí)現(xiàn)了TCP的“滿血復(fù)活”;
3. 更精確擁塞控制算法,讓TCP的傳輸吞吐平均值更接近帶寬;
4. 流量整形,避免亂序觸發(fā)重復(fù)ACK,降低TCP傳輸速度。
由于這個(gè)修改過(guò)程只是通過(guò)設(shè)備自動(dòng)修改TCP的協(xié)商參數(shù),所以就不再需要客戶端。
為了能清晰看到單邊加速的效果,太一星晨技術(shù)哥特別展示了T-Force 應(yīng)用交付設(shè)備在其公司辦公網(wǎng)實(shí)網(wǎng)測(cè)試的效果對(duì)比。
在未開(kāi)啟單邊加速時(shí),公司寬帶連接到國(guó)內(nèi)幾大主干網(wǎng)的長(zhǎng)途網(wǎng)絡(luò)數(shù)值分別是:聯(lián)通223K/秒,電信456K/秒,鐵通603K/秒;除鐵通正常外,聯(lián)通與電信都相對(duì)較慢。
未開(kāi)啟單邊加速時(shí)測(cè)試結(jié)果
在開(kāi)啟單邊加速后,幾大主干網(wǎng)絡(luò)的長(zhǎng)途網(wǎng)絡(luò)數(shù)值則發(fā)生了明顯的變化,分別是聯(lián)通聯(lián)通437K/秒,電信638K/秒,鐵通543K/秒;電信與鐵通都達(dá)到了正常水平,聯(lián)通雖然仍稍慢一些,但已比之前提升不少。
開(kāi)啟單邊加速時(shí)測(cè)試結(jié)果
不過(guò),太一星晨技術(shù)哥進(jìn)一步指出,單邊加速只能針對(duì)TCP的業(yè)務(wù),對(duì)于視頻、語(yǔ)音等基于UDP傳輸?shù)臄?shù)據(jù)是無(wú)法生效的。
此外,單邊加速一般是在鏈路質(zhì)量較差的網(wǎng)絡(luò)環(huán)境下才能發(fā)揮顯性的作用,在帶寬足夠的情況下,效果對(duì)比則不會(huì)太明顯。但無(wú)論如何,開(kāi)啟單邊加速,對(duì)網(wǎng)絡(luò)優(yōu)化終歸還是會(huì)起到一定的效果,尤其是在網(wǎng)絡(luò)帶寬較低且一時(shí)間難以改變現(xiàn)狀的情況下,通過(guò)應(yīng)用交付部署并開(kāi)啟單邊加速功能就不失為一項(xiàng)好的選擇。
- 股票名稱(chēng) 最新價(jià) 漲跌幅
- 祥龍電業(yè) 6.77 10.08%
- 安彩高科 10.18 10.05%
- 傲農(nóng)生物 19.98 10.02%
- 振華股份 15.92 10.02%
- 東軟集團(tuán) 15.94 10.01%
- 世運(yùn)電路 18.15 10.00%
- 天鵝股份 23.65 10.00%
- 七一二 43.81 9.99%
- 愛(ài)嬰室 31.60 9.99%
- 西部黃金 21.48 9.98%
- 外媒:滴滴考慮2017年在美國(guó)上市
- 千家第三方支付企業(yè)被指無(wú)照經(jīng)營(yíng)
- 人人游戲私有化亂象:138名離職員工的期權(quán)去了哪
- 首例電競(jìng)直播侵權(quán)案終審宣判:斗魚(yú)被判賠110萬(wàn)元
- 人民日?qǐng)?bào)談小米平衡車(chē)傷人:標(biāo)準(zhǔn)缺乏產(chǎn)業(yè)野蠻生長(zhǎng)
- 國(guó)際反假聯(lián)盟暫停阿里會(huì)員資格 加入一月即被除名
- 微信支付高層地震 騰訊金融戰(zhàn)略層面領(lǐng)跑者缺位
- 慘被拋棄:諾基亞功能機(jī)業(yè)務(wù)被微軟關(guān)閉
- 蘋(píng)果投資滴滴背后的秘密 原來(lái)10億美元要這么花
- 中概股私有化大潮背后:PE散戶化 VC產(chǎn)業(yè)化