System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術實施例涉及廣域網tcp加速技術,尤其涉及一種基于ebpf的tcp中繼加速系統。
技術介紹
1、ebpf是一項革命性技術,起源于linux內核,可以在內核中運行沙盒程序。它用于安全有效地擴展內核的功能,而無需更改內核源代碼或加載內核模塊。通過允許在內核中運行沙盒程序,應用程序開發(fā)人員可以運行ebpf程序以在運行時向操作系統添加其他功能。如今,ebpf被廣泛用于驅動各種用例:在現代數據中心和云原生環(huán)境中提供高性能網絡和負載平衡,以低開銷提取細粒度的安全可觀察性數據,幫助應用程序開發(fā)人員跟蹤應用程序,提供性能故障排除、應用程序和容器運行時安全實施等方面的見解。
2、目前使用的互聯網的基礎通信架構是以tcp/ip協議為核心的協議族。用戶訪問云計算服務時,大多數時間都在使用tcp協議與云主機進行通信。然而,目前所使用的廣域網環(huán)境復雜,相比局域網而言,廣域網中存在著長延遲、高丟包和頻繁抖動等現象,這導致tcp協議在廣域網中的數據傳輸效果并不理想,使得網絡的帶寬利用率不高。即便如今網絡帶寬越來越大,但是由于tcp協議受其擁塞控制機制的影響,網絡吞吐量卻沒有明顯的提高,本專利技術因此而來。
技術實現思路
1、本專利技術提供一種基于ebpf的tcp中繼加速系統,可以緩解長肥管道現象,降低tcp連接延遲和丟包率,增加吞吐量。
2、本專利技術實施例提供了一種基于ebpf的tcp中繼加速系統,其特征在于,包括:控制器、加速網關和中繼節(jié)點,所述加速網關部署在用戶側和云平臺側
3、所述加速網關包括代理模塊和地址轉換模塊;所述代理模塊用于通過加速網關攔截用戶向云主機發(fā)送的建立tcp連接的請求,將請求的目的ip地址和目的端口變?yōu)榧铀倬W關本機的地址和端口,以及通過加速網關將用戶回發(fā)響應數據包時的源ip地址和源端口號修改成云主機的ip地址和端口號;所述地址轉換模塊用于通過ebpf中bpf_map_type_hash類型的map實現加速網關的地址轉換;
4、所述控制器包括路徑選擇模塊和路線信息下發(fā)模塊;所述路徑選擇模塊用于在收到加速網關發(fā)送的路徑請求后執(zhí)行路徑選擇算法以得到最優(yōu)路徑信息;所述路線信息下發(fā)模塊用于將最優(yōu)路徑信息下發(fā)給對應的加速網關和中繼節(jié)點;
5、所述中繼節(jié)點包括指標收集模塊和數據轉發(fā)模塊;所述指標收集模塊用于收集中繼節(jié)點的網絡狀況和自身負載信息;所述數據轉發(fā)模塊用于將來自上一跳中繼節(jié)點的數據包轉發(fā)到下一跳中繼節(jié)點。
6、可選的,所示代理模塊采用ebpf的套接字重定向的能力,將數據包從一個套接字直接轉發(fā)到另一個套接字。
7、可選的,所述地址轉換模塊中map的key是用戶的ip地址和端口號,map的value是用戶想要連接的云主機的ip地址和端口號。
8、可選的,將系統中的加速網關和中繼節(jié)點之間的鏈路抽象成有向無環(huán)圖,有項無環(huán)圖中的有向邊以及頂點都具備權重;
9、相應的,所述路徑選擇模塊采用改進的迪杰斯特拉算法進行最優(yōu)路徑選擇,具體為:兩個頂點之間的距離包括兩個頂點之間有向邊的權重和其中一個頂點的權重,將求解得到的最短單源路徑作為最優(yōu)路徑。
10、可選的,所述指標收集模塊使用ebpf收集中繼節(jié)點的自身負載信息。
11、可選的,所述數據轉發(fā)模塊利用ebpf中bpf_map_type_sockmap類型的map進行數據轉發(fā),map的key是數據包的源ip地址和源端口號,map的value是中繼節(jié)點與其下一跳中繼節(jié)點的tcp連接對應的套接字。
12、本專利技術的加速系統借用流水線思想把一個端到端的tcp連接利用多個tcp中繼節(jié)點進行轉發(fā),從而把一個長肥管道分成了多個距離短、時延短的連接,可以減少排隊和丟包、提高tcp連接的吞吐率。同時,該方法不僅適用于普通用戶訪問云服務中心,也適用于廣域網環(huán)境下長距離、高帶寬的tcp連接,具有很廣闊的應用前景。
13、本專利技術的有益效果為:
14、1、本專利技術首次使用ebpf技術實現了tcp中繼,相較于用戶態(tài)程序實現的tcp中繼和dpdk實現的tcp中繼,其利用bpf_sk_redirect_map在中繼節(jié)點之間更快速地轉發(fā)數據包、非輪詢的處理方式意味著更小的cpu開銷、在內核實現數據包處理意味著更低的處理時延
15、2、相較于傳統的收集方法,ebpf實現的指標收集能收集更細粒度的指標,如tcp請求處理延遲、tcp鏈接個數、丟包率等。
16、3、本專利技術提出的中繼系統可以實現自定義的路徑選擇算法,該算法可以根據實時鏈路狀況(如鏈路時延、丟包率)和中繼節(jié)點自身的負載(如cpu使用率、內存使用率、現有的tcp鏈接個數、請求處理延遲等)來選擇最優(yōu)的中繼路徑。
本文檔來自技高網...【技術保護點】
1.一種基于eBPF的TCP中繼加速系統,其特征在于,包括:控制器、加速網關和中繼節(jié)點,所述加速網關部署在用戶側和云平臺側,中繼節(jié)點部署在兩側加速網關之間的通信路徑上;
2.根據權利要求1所述的系統,其特征在于,所示代理模塊采用eBPF的套接字重定向的能力,將數據包從一個套接字直接轉發(fā)到另一個套接字。
3.根據權利要求1所述的系統,其特征在于,所述地址轉換模塊中map的key是用戶的IP地址和端口號,map的value是用戶想要連接的云主機的IP地址和端口號。
4.根據權利要求1所述的系統,其特征在于,將系統中的加速網關和中繼節(jié)點之間的鏈路抽象成有向無環(huán)圖,有項無環(huán)圖中的有向邊以及頂點都具備權重;
5.根據權利要求1所述的系統,其特征在于,所述指標收集模塊使用eBPF收集中繼節(jié)點的自身負載信息。
6.根據權利要求1所述的系統,其特征在于,所述數據轉發(fā)模塊利用eBPF中BPF_MAP_TYPE_SOCKMAP類型的map進行數據轉發(fā),map的key是數據包的源IP地址和源端口號,map的value是中繼節(jié)點與其下一跳中繼節(jié)
...【技術特征摘要】
1.一種基于ebpf的tcp中繼加速系統,其特征在于,包括:控制器、加速網關和中繼節(jié)點,所述加速網關部署在用戶側和云平臺側,中繼節(jié)點部署在兩側加速網關之間的通信路徑上;
2.根據權利要求1所述的系統,其特征在于,所示代理模塊采用ebpf的套接字重定向的能力,將數據包從一個套接字直接轉發(fā)到另一個套接字。
3.根據權利要求1所述的系統,其特征在于,所述地址轉換模塊中map的key是用戶的ip地址和端口號,map的value是用戶想要連接的云主機的ip地址和端口號。
4.根據權...
【專利技術屬性】
技術研發(fā)人員:徐宏力,鄒春雨,趙功名,
申請(專利權)人:中國科學技術大學蘇州高等研究院,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。