[發明專利]一種基于DPDK下實現NAT的方法在審
| 申請號: | 201810419879.1 | 申請日: | 2018-05-04 |
| 公開(公告)號: | CN108600120A | 公開(公告)日: | 2018-09-28 |
| 發明(設計)人: | 王宇杰;蔡曄華;王強 | 申請(專利權)人: | 廣東唯一網絡科技有限公司 |
| 主分類號: | H04L12/883 | 分類號: | H04L12/883;H04L12/935;H04L29/12 |
| 代理公司: | 東莞恒成知識產權代理事務所(普通合伙) 44412 | 代理人: | 鄧燕 |
| 地址: | 523000 廣東省東莞市南城街*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據包 讀取 數據包請求 逆轉換 用戶端 鏈表 程序模塊 目標服務器 數據包處理 數據包轉發 數據包轉換 轉發規則表 查找 鏈表獲取 網卡模塊 轉發規則 轉換規則 五元組 應答 調用 記錄 | ||
1.一種基于DPDK下實現NAT的方法,其特征在于,在NAT設備集成DPDK程序模塊,在NAT設備上分配內存,并建立轉換流表池單元,實現NAT轉發的步驟如下:
S1:調用DPDK程序模塊的api接口讀取經由NAT設備網卡模塊的數據包;
S2:對S1步驟中讀取到的數據包進行識別;
S21:若為用戶端第一次數據包請求,則查找轉發規則表,根據對應的轉換規則,將需要做NAT轉換的數據包進行NAT轉換,并建立鏈表及記錄該數據包轉換前后五元組到鏈表;
S22:若為用戶端第N次數據包請求,則查找鏈表獲取轉換規則,將需要做NAT轉換的數據包進行NAT轉換;
S23:若為目標服務器第1、2…N次數據包應答,則查找鏈表獲取轉換規則,將需要做NAT轉換的數據包進行NAT逆轉換。
S3:繼續調用DPDK程序模塊的api接口讀取下一數據包。
2.根據權利要求1所述的一種基于DPDK下實現NAT的方法,其特征在于,在S2步驟中若為用戶端第一次數據包請求,計算該請求方向數據包五元組的hash值,若為目標服務器第一次數據包應答,計算該應答方向數據包五元組的hash值,將請求方向和應答方向的hash值記錄到鏈表,并可通過指針互指相連。
3.根據權利要求1所述的一種基于DPDK下實現NAT的方法,其特征在于,在S2步驟中,若為用戶端第N次數據包請求或目標服務器第1、2…N次數據包應答,計算五元組的hash值并查找鏈表,獲得轉換規則,進行NAT轉換或NAT逆轉換。
4.根據權利要求1所述的一種基于DPDK下實現NAT的方法,其特征在于,NAT轉換應用SNAT將數據包的源IP地址修改為轉換的源IP地址,NAT逆轉換應用DNAT將數據包的目的IP地址修改為轉換的目的IP地址。
5.根據權利要求1所述的一種基于DPDK下實現NAT的方法,其特征在于,S1步驟中調用DPDK程序模塊的api接口讀取數據包具體為:通過函數rte_lcore_id()獲取當前cpu邏輯核id;通過函數rte_eth_rx_burst()讀取數據包;通過函數rte_pktmbuf_free()釋放mbuf。
6.根據權利要求1所述的一種基于DPDK下實現NAT的方法,其特征在于,在NAT設備集成DPDK程序模塊包括:初始化DPDK環境、分配CPU給DPDK收包處理線程、初始化網卡模塊配置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東唯一網絡科技有限公司,未經廣東唯一網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810419879.1/1.html,轉載請聲明來源鉆瓜專利網。





