System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及網絡領域,尤其涉及dpvs領域,具體是指一種基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法、裝置、處理器及其計算機可讀存儲介質。
技術介紹
1、dpvs是一個基于dpdk的高性能四層負載均衡器(layer-4load?balancer),dpvs的名字來源于dpdk+lvs。dpvs使用m/s模型,master處理控制平面,比如參數配置、統計獲取等;worker實現核心負載均衡、調度、數據轉發功能。dpvs使用多線程模型,每個線程綁定到一個cpu物理核心上,并且禁止這些cpu被調度。這些cpu只運行dpvs的master或者某個worker,以此避免上下文切換,別的進程不會被調度到這些cpu,worker也不會遷移到其他cpu造成緩存失效。
2、接下來介紹下rss(receive?side?scaling),這項技術能將網絡流量分散到cpu的多個核上,降低單個核的利用率。主要是通過將收到的數據包的源與目的的ip以及port交由網卡計算出一個rss?hash值,再根據這個值決定將數據包分到哪一個隊列。四層負載均衡主要做的就是轉發,那么這里存在一個轉發模式的問題,這里考慮的是fullnat模式,這種模式是在nat模式的基礎上做一次源地址轉換,這樣的好處是可以讓應答流量經過正常的三層路由回到負載均衡上,這樣負載均衡就不需要以網關的形式存在于網絡中了,所以fullnat模式對網絡環境要求較低,但應用服務器會丟失客戶端的真實ip地址。
3、dpvs在fullnat
技術實現思路
1、本專利技術的目的是克服了上述現有技術的缺點,提供了一種滿足操作簡便、適用范圍較為廣泛的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法、裝置、處理器及其計算機可讀存儲介質。
2、為了實現上述目的,本專利技術的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法、裝置、處理器及其計算機可讀存儲介質如下:
3、該基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其主要特點是,所述的方法包括以下步驟:
4、(1)添加一個新的rs,或添加一個新的lip;
5、(2)根據lip找到對應的sa_pool;
6、(3)在sa_pool結構內部添加子pool;
7、(4)遍歷所有可用端口,計算rss?value,根據計算結果更新sa_entry_pool。
8、較佳地,所述的步驟(1)的添加一個新的rs,具體包括以下步驟:
9、在dp_vs_service結構中的lip列表中添加,并在對應的sa_pool中針對所有rs添加子pool。
10、較佳地,所述的步驟(1)的添加一個新的lip,具體包括以下步驟:
11、在dp_vs_service結構中的rs列表中添加,并在對應的sa_pool中添加對應子pool。
12、較佳地,所述的步驟(3)具體包括以下步驟:
13、(3.1)若步驟(1)時添加一個新的rs,則繼續步驟(3.2);若步驟(1)時添加一個新的lip,則繼續步驟(3.3);
14、(3.2)在哈希表中添加rs對應的sa_entry_pool;
15、(3.3)根據rs列表依次在sa_pool中添加對應的sa_entry_pool。
16、較佳地,所述的步驟(4)具體包括以下步驟:
17、(4.1)遍歷所有可用端口,對每個端口通過rss計算端口歸屬;
18、(4.2)如果計算得出、不屬于當前cpu核,則丟棄該端口;否則,將端口加入新創建的sa_entry_pool,并更新其中的倒排索引。
19、較佳地,所述的步驟(4.1)中計算端口歸屬,具體為:
20、將lip、rip、rport以及lport構成四元組,計算四元組對應的哈希值,并對worker數量取模得到端口所屬cid。
21、較佳地,所述的步驟(4.2)中將端口加入新創建的sa_entry_pool,具體包括以下步驟:
22、取出sa_entries數組中的下一個空位,并在free_list中添加entry。
23、較佳地,所述的步驟(4.2)中更新其中的倒排索引,具體包括以下步驟:
24、在數組的當前端口號位置插入該端口對應entry實際插入的位置。
25、該實現基于dpvs針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的裝置,其主要特點是,所述的裝置包括:
26、處理器,被配置成執行計算機可執行指令;
27、存儲器,存儲一個或多個計算機可執行指令,所述的計算機可執行指令被所述的處理器執行時,實現上述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法的各個步驟。
28、該實現基于dpvs針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的處理器,其主要特點是,所述的處理器被配置成執行計算機可執行指令,所述的計算機可執行指令被所述的處理器執行時,實現上述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法的各個步驟。
29、該計算機可讀存儲介質,其主要特點是,其上存儲有計算機程序,所述的計算機程序可被處理器執行以實現上述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法的各個步驟。
30、采用了本專利技術的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法、裝置、處理器及其計算機可讀存儲介質,通過軟件預計算的方式在非重定向的條件下解決了fullnat模式下outbound包返回同一個核的需求,相較于重定向方式,更加的cpu緩存友好;利用鏈接式哈希表以及倒排索引本文檔來自技高網...
【技術保護點】
1.一種基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的方法包括以下步驟:
2.根據權利要求1所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(1)的添加一個新的rs,具體包括以下步驟:
3.根據權利要求1所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(1)的添加一個新的lip,具體包括以下步驟:
4.根據權利要求1所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(3)具體包括以下步驟:
5.根據權利要求1所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(4)具體包括以下步驟:
6.根據權利要求5所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的
7.根據權利要求5所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(4.2)中將端口加入新創建的sa_entry_pool,具體包括以下步驟:
8.根據權利要求5所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法,其特征在于,所述的步驟(4.2)中更新其中的倒排索引,具體包括以下步驟:
9.一種實現基于DPVS針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的裝置,其特征在于,所述的裝置包括:
10.一種實現基于DPVS針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的處理器,其特征在于,所述的處理器被配置成執行計算機可執行指令,所述的計算機可執行指令被所述的處理器執行時,實現權利要求1至8中任一項所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法的各個步驟。
11.一種計算機可讀存儲介質,其特征在于,其上存儲有計算機程序,所述的計算機程序可被處理器執行以實現權利要求1至8中任一項所述的基于DPVS實現針對虛擬網卡多worker情形下進行非重定向的FNAT轉發處理的方法的各個步驟。
...【技術特征摘要】
1.一種基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的方法包括以下步驟:
2.根據權利要求1所述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的步驟(1)的添加一個新的rs,具體包括以下步驟:
3.根據權利要求1所述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的步驟(1)的添加一個新的lip,具體包括以下步驟:
4.根據權利要求1所述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的步驟(3)具體包括以下步驟:
5.根據權利要求1所述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的步驟(4)具體包括以下步驟:
6.根據權利要求5所述的基于dpvs實現針對虛擬網卡多worker情形下進行非重定向的fnat轉發處理的方法,其特征在于,所述的步驟(4.1)中計算端口歸屬,具體為:
7.根據權利要求5所述的基于dpvs...
【專利技術屬性】
技術研發人員:俞楓,張焱,梅克波,謝麗君,
申請(專利權)人:國泰君安證券股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。