成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五分鐘技術趣談 | 場景寬帶的底層由來

網絡
隨著學術交流、即時游戲、移動端實時音頻等高度依賴網絡使用的場景愈發豐富,對網絡在不同場景下的加速需求催生了場景寬帶。從本質上來說,場景寬帶就是為普通的網絡提供了一系列加速服務,本文將淺談網絡加速服務需求出現的底層原因。

Part 01

QoS服務  

國內的運營商網絡一般都會提供QoS。QoS指的是網絡利用各種基礎技術,以提供更好的服務能力來支持特定的網絡通信。它是一種網絡安全機制,旨在解決網絡延遲和阻塞等問題。簡單來說,當網絡擁堵時,運營商會優先處理重要的流量包,而將一些不重要的包丟棄。具體丟棄哪些包則取決于使用場景和運營商的策略。

對于受到QoS限制的用戶而言,可能會出現以下表現:網速降低、丟包、ping值不穩定。在這種情況下,細分場景用戶往往希望進一步獲取更好的網絡質量以滿足場景使用,例如更高的帶寬、更少的丟包和更低的延遲。

需要注意的是,QoS并不區分TCP和UDP。對于UDP來說,除了常規的QoS限制,還可能存在更嚴格的限制,甚至在某些極端情況下會屏蔽UDP。這主要是因為UDP的無連接、無狀態、支持廣播和最大努力傳輸等特性使得網絡運營商控制UDP的成本較高。

圖片

Part 02

游戲場景下TCP與UDP的區別 

通常情況下,為了確保游戲的實時性,使用UDP進行網絡傳輸是常見的做法。例如,在射擊游戲中,當角色在行走時遇到網絡卡頓,畫面會卡住,但當恢復后,畫面中的角色已經跳到下一個位置,仿佛跳幀了一般。這是UDP的特性,它盡最大努力進行傳輸,允許丟包。

相比之下,如果使用TCP,當網絡卡頓時,你會發現游戲畫面暫停,角色像卡在幻燈片上一樣逐幀向前移動。這是因為TCP是面向連接的,丟失的包會被重傳,確認后才會繼續進行。當然,游戲中不僅僅使用UDP、TCP,更高層的協議如HTTP也可能被使用,這完全取決于游戲對延遲的要求。

Part 03

TCP與UDP的場景選擇 

那么在不同的使用場景中究竟是使用UDP還是TCP呢?

如果是客戶端間歇性發起無狀態查詢,并且偶爾的延遲是可以接受的(例如查詢學術論文、參考信息等),那么可以考慮使用HTTP/HTTPS。

如果客戶端和服務器都可以獨立發包,但偶爾的延遲是可以容忍的(例如在線紙牌游戲、許多MMO游戲),那么可以考慮使用TCP長連接。

如果客戶端和服務器都可以獨立發包,并且無法容忍延遲(例如大多數多人動作游戲、一些MMO游戲、直播互動等),那么考慮使用UDP。

在訪問一些國外學術網站、游戲服務器時,直接連接效果可能不佳,因此需要使用場景寬帶來實現優化效果。以游戲為例,因為游戲通常使用UDP進行傳輸,而普通的運營商網絡對UDP會產生較大的干擾,所以場景寬帶需要對游戲客戶端與代理服務器之間的連接進行一些處理。

Part 04

UDP協議的QoS問題 

每次UDP套接字發送數據包時,源端口會隨機變化。如果一個設備頻繁發送UDP包,會在短時間內產生大量的五元組(源IP地址、源端口、目標IP地址、目標端口、協議)。傳統的狀態防火墻和狀態NAT會使用一個五元組來跟蹤一個連接。如果連接數量過多,會給保存狀態的設備帶來巨大壓力。

這種壓力主要體現在兩個方面:存儲壓力和處理器壓力

存儲壓力指的是設備需要配置大量內存來保存大量連接。

處理器壓力指的是設備在數據包到達時需要花費更多時間匹配連接。

由于UDP協議的無狀態特性,沒有任何報文指示何時創建或銷毀連接,設備必須能夠自行老化已創建的UDP連接,并在權衡中做出決策。如果老化時間過短,會破壞通信頻率較低的UDP連接。如果老化時間過長,將會導致無效的UDP連接消耗大量內存,為DDoS攻擊提供攻擊面。攻擊者只需構造不同的UDP五元組的報文通過狀態設備,由于UDP報文沒有連接創建或銷毀的控制信息,狀態設備不得不對待所有新到達的五元組,并為它們創建連接并指定相同的老化時間。

而TCP協議與此完全不同,由于具有syn、fin、rst等控制信息,狀態設備可以為不同狀態的TCP連接指定不同的老化時間,ESTABLISHED狀態的連接老化時間明顯更長。這使得使用TCP實施同樣攻擊更加困難。為什么快速構造不同的TCP五元組無法達到UDP的效果呢?如果盲目使用不同源端口發送syn,沒有真正的對端回應的情況下,這種連接狀態將很快老化(在10秒甚至更短的時間內)。如果構造大量使用不同端口的真實TCP連接,那么除了給狀態設備帶來傷害外,攻擊者自己也必須付出巨大代價來維持這些連接。你發起一個TCP連接,為了讓狀態設備保存該連接,你也必須保存該連接。除非通過大量的反射主機同時發起真實連接,否則在單臺或少量主機上,這種攻擊很難成功。對于無狀態設備來說,我們不再需要擔心五元組連接的保持。

但是UDP短時間內構造大量五元組仍會影響無狀態設備的包分類算法的正常運行。基于包分類算法的優先級隊列和緩存管理幾乎都是基于五元組計算的,UDP的特性會使無狀態設備難以對其進行流量控制。結果就是,即使UDP流量擠滿各級隊列和緩存,也無法準確識別出來。即便是BBR(Bottleneck Bandwidth and Round-trip propagation time)遇到UDP流量,也只能降低pacing rate,別無他法。

普通的運營商網絡對TCP更友好,對UDP不友好,但同樣無法深度檢測TCP連接的真實性。一個簡單的例子是將正常TCP數據的協議字段改為UDP。這樣做會導致通信出現問題,甚至無法進行有效的傳輸:

if (iph->protocol == IPPROTO_TCP) {
    iph->protocol = IPPROTO_UDP;
    ip_send_check(iph);
    udph->check = 0;
} else if (iph->protocol == IPPROTO_UDP) {
    iph->protocol = IPPROTO_TCP;
    ip_send_check(iph);
}

Part 05

 結語 

到這里,已經從底層角度基本說明了為什么在學術、游戲、實時音頻等場景下會催生進一步的網絡加速服務需求了。而加速服務的主要難在兩點:其一,是如何處理客戶端到加速器服務器之間的UDP連接;其二,是如何讓游戲客戶端去連接這個加速器(一般游戲客戶端是沒有設置代理服務器的功能的)。而場景寬帶也正是旨在解決特定場景下以上所述的這些問題,為特定網絡應用場景提供更流暢、快速的網絡體驗,在未來構筑更多元化、優質的網絡服務。

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2023-08-06 07:00:59

Openstack網絡

2023-07-23 18:47:59

Docker開源

2023-07-16 18:49:42

HTTP網絡

2023-04-15 20:25:23

微前端

2023-07-02 16:09:57

人工智能人臉識別

2023-07-02 16:34:06

GPU虛擬化深度學習

2023-07-12 15:50:29

機器學習人工智能

2023-08-29 06:50:01

Javamaven

2023-09-12 07:10:13

Nacos架構

2023-07-31 08:55:15

AI技術網絡暴力

2024-12-18 14:10:33

2023-07-12 16:03:37

Android開發架構

2023-09-17 17:51:43

Android 14

2023-08-06 06:55:29

數字可視化物聯網

2023-07-12 16:13:01

2023-09-02 20:22:42

自動化測試軟件開發

2023-08-07 06:35:07

系統限流

2023-04-15 20:33:35

圖形數據庫數據庫

2021-09-18 11:36:38

混沌工程云原生故障

2023-06-03 21:06:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美视频二区 | 国产日韩精品久久 | 影视一区| 亚洲精品久久久久久久久久久久久 | 成人久久久 | 欧美午夜影院 | 人妖一区| 国产丝袜一区二区三区免费视频 | 日韩成人精品在线观看 | 亚洲午夜小视频 | 最新中文字幕第一页视频 | 国产一区二区在线播放 | 亚洲资源在线 | 精品一区二区三区在线播放 | 亚洲图片视频一区 | 日韩欧美在线观看 | 在线亚洲一区二区 | 美女拍拍拍网站 | 最新中文字幕一区 | 国产乱码精品一区二区三区忘忧草 | 一本久久a久久精品亚洲 | 精品国产一区三区 | 91 久久| 日日摸日日碰夜夜爽2015电影 | 欧美八区 | 欧美一区二区视频 | 福利视频一二区 | 二区av| 日韩成人在线视频 | 九九热这里只有精品在线观看 | 国产精品久久久久免费 | 亚洲精品第一国产综合野 | 欧美一二三区 | 中文字幕人成乱码在线观看 | 国产精品一区二区av | 国产人成精品一区二区三 | 成人在线观看免费视频 | 久草福利 | 国产欧美视频一区二区三区 | 成人深夜小视频 | 在线欧美一区 |