• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于中間件實現網關NAPT功能的方法及裝置制造方法及圖紙

    技術編號:10367057 閱讀:147 留言:0更新日期:2014-08-28 10:59
    本發明專利技術實施例提供一種基于中間件實現網關NAPT功能的方法及裝置。該方法包括:中間件獲取數據包;若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表;若所述NAPT表中不存在源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,將源IP、源端口號、修改后的源IP和修改后的源端口號存儲到所述NAPT表中。本發明專利技術實施例通過中間件實現NAPT功能,相比于內核態下和底層驅動中實現NAPT功能而言,降低了耦合度;相比于用戶態下實現NAPT功能,中間件具有良好的功能可擴展性,能夠進行NAPT功能調整。

    【技術實現步驟摘要】
    基于中間件實現網關NAPT功能的方法及裝置
    本專利技術實施例涉及通信技術,尤其涉及一種基于中間件實現網關NAPT功能的方法及裝置。
    技術介紹
    網絡地址端口轉換(Network Address Port Translation,簡稱 NAPT)是一種將多個私有內部IP地址映射為一個合法公網IP地址的轉換技術,也就是〈內部地址+內部端口〉與〈外部地址+外部端口〉之間的轉換。接入網關設備一般具備這種NAPT功能,以用于局域網與廣域網之間的互聯互通。現有的實現NAPT功能的方法主要分為三類:一是在內核態下對操作系統的協議棧進行相應修改來實現NAPT功能,具有處理速度快和可靠性高等優點;二是在用戶態下用代理軟件來實現NAPT功能;三是在底層驅動中實現NAPT功能。第一種和第三種方法的缺陷在于NAPT功能與操作系統和底層驅動的耦合度大,第二種方法的缺陷在于NAPT功能擴展性差。現有技術中缺乏一種能夠同時克服內核態下、用戶態下和底層驅動中實現NAPT功能不足之處的基于中間件實現網關NAPT功能的方法。
    技術實現思路
    本專利技術提供一種基于中間件實現網關NAPT功能的方法及裝置,以克服內核態下、用戶態下和底層驅動中實現NAPT功能不足之處。本專利技術的一個方面是提供一種基于中間件實現網關NAPT功能的方法,包括:中間件獲取數據包,并判斷所述數據包是否為IP數據包;若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表中是否存在所述IP數據包攜帶的源IP與源端口號的對應關系;若所述NAPT表中不存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,以使修改后的源IP為所述中間件當前所處裝置的IP,修改后的源端口號與所述NAPT表中存在的修改后的源端口號均不相同,以實現將所述修改后的數據包發送給外網設備;所述中間件將所述源IP、所述源端口號、所述修改后的源IP和所述修改后的源端口號的對應關系存儲到所述NAPT表中。本專利技術的另一個方面是提供一種中間件,包括:數據獲取模塊,用于獲取數據包,并判斷所述數據包是否為IP數據包;查詢模塊,用于若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表中是否存在所述IP數據包攜帶的源IP與源端口號的對應關系;處理模塊,用于若所述NAPT表中不存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,以使修改后的源IP為所述中間件當前所處裝置的IP,修改后的源端口號與所述NAPT表中存在的修改后的源端口號均不相同,以實現將所述修改后的數據包發送給外網設備;并將所述源IP、所述源端口號、所述修改后的源IP和所述修改后的源端口號的對應關系存儲到所述NAPT表中。本專利技術的另一個方面是提供一種網關設備,包括所述的中間件、內核操作系統和底層驅動,所述中間件位于所述內核操作系統和所述底層驅動之間。本專利技術提供的基于中間件實現網關NAPT功能的方法及裝置,通過中間件實現NAPT功能,相比于內核態下和底層驅動中實現NAPT功能而言,降低了耦合度;相比于用戶態下實現NAPT功能,中間件具有良好的功能可擴展性,能夠進行NAPT功能調整。【附圖說明】圖1為本專利技術實施例提供的基于中間件實現網關NAPT功能的方法流程圖;圖2為本專利技術另一實施例提供的基于中間件實現網關NAPT功能的方法適用的信令圖;圖3為本專利技術另一實施例提供的基于中間件實現網關NAPT功能的方法適用的數據結構圖;圖4為本專利技術另一實施例中間件的處理模塊執行基于中間件實現網關NAPT功能的方法的流程圖;圖5為本專利技術另一實施例提供的中間件的結構圖;圖6為本專利技術另一實施例提供的中間件的結構圖;圖7為本專利技術另一實施例提供的網關設備的結構圖。【具體實施方式】本專利技術實施例適用于在網關設備中實現NAPT功能的方法,具體為在網關設備的內核操作系統和底層驅動之間增加一個中間件,由中間件實現NAPT功能,圖1為本專利技術實施例提供的基于中間件實現網關NAPT功能的方法流程圖,具體步驟如下:步驟S101、中間件獲取數據包,并判斷所述數據包是否為IP數據包;中間件通過第三方軟件函數包Libpcap和Libnet獲取數據包,第三方軟件函數包Libpcap和Libnet用于從底層驅動獲取進入網關設備的數據包,中間件對獲取到的數據包進行過濾,選擇出目標MAC是網關MAC的數據包,并對目標MAC是網關MAC的數據包進行分析,判斷是否為IP數據包。步驟S102、若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表中是否存在所述IP數據包攜帶的源IP與源端口號的對應關系;若所述NAPT表中不存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,以使修改后的源IP為所述中間件當前所處裝置的IP,修改后的源端口號與所述NAPT表中存在的修改后的源端口號均不相同,以實現將所述修改后的數據包發送給外網設備;若中間件判斷出所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則依據所述IP數據包攜帶的源IP與TCP報文或UDP報文攜帶的源端口號查詢NAPT表是否存儲有源IP與源端口號的對應關系,其中,NAPT表至少包括源IP、源端口號、修改后的源IP和修改后的源端口號,及對應關系,此外,NAPT表還包括目的端口號和目的IP。源IP標識IP數據包進入網關之前攜帶的用戶主機的IP地址;源端口號標識IP數據包進入網關之前,IP數據包攜帶的用戶主機的端口號;修改后的源IP標識網關設備的IP地址,即IP數據包出網關時的源IP;修改后的源端口號標識中間件修改源端口號后的端口號,即IP數據包出網關時的源端口號,且不是同一用戶主機同一端口發出的IP數據包出網關時攜帶的源端口號不相同;目的IP標識網絡側服務器的IP地址;目的端口號標識網絡側服務器的端口號;IP數據包攜帶的目的IP與目的端口號在經過網關時不發生改變。若所述NAPT表中沒有所述IP數據包攜帶的源IP與源端口號的對應關系,中間件將IP數據包攜帶的源IP修改成網關的IP地址,并修改IP數據包攜帶的源端口號,保證不是同一用戶主機同一端口發出的IP數據包出網關時攜帶的源端口號不相同。步驟S103、所述中間件將所述源IP、所述源端口號、所述修改后的源IP和所述修改后的源端口號的對應關系存儲到所述NAPT表中。所述中間件將與IP數據包對應的源IP、源端口號、修改后的源IP和修改后的源端口號存儲到所述NAPT表中,具體為在NAPT表中創建一個表項,所述表項包括源IP、源端口號、修改后的源IP、修改后的源端口號、目的IP和目的端口號組成的六元組。本專利技術實施例通過中間件實現NAPT功能,相比于內核態下和底層驅動中實現NAPT功能而言,降低了耦合度;相比于用戶態下實現NAPT功能,中間件具有良好的功能可擴展性,能夠進行NAPT功能調整。在上述實施例的基礎上,步驟S103還包括若所述NAPT表中存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件從所述NA本文檔來自技高網...

    【技術保護點】
    一種基于中間件實現網關NAPT功能的方法,其特征在于,包括:中間件獲取數據包,并判斷所述數據包是否為IP數據包;若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表中是否存在所述IP數據包攜帶的源IP與源端口號的對應關系;若所述NAPT表中不存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,以使修改后的源IP為所述中間件當前所處裝置的IP,修改后的源端口號與所述NAPT表中存在的修改后的源端口號均不相同,以實現將所述修改后的數據包發送給外網設備;所述中間件將所述源IP、所述源端口號、所述修改后的源IP和所述修改后的源端口號的對應關系存儲到所述NAPT表中。

    【技術特征摘要】
    1.一種基于中間件實現網關NAPT功能的方法,其特征在于,包括: 中間件獲取數據包,并判斷所述數據包是否為IP數據包; 若所述數據包是IP數據包,且所述IP數據包攜帶有TCP報文或UDP報文,則所述中間件查詢NAPT表中是否存在所述IP數據包攜帶的源IP與源端口號的對應關系;若所述NAPT表中不存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件分別修改所述IP數據包中的源IP與源端口號,以使修改后的源IP為所述中間件當前所處裝置的IP,修改后的源端口號與所述NAPT表中存在的修改后的源端口號均不相同,以實現將所述修改后的數據包發送給外網設備; 所述中間件將所述源IP、所述源端口號、所述修改后的源IP和所述修改后的源端口號的對應關系存儲到所述NAPT表中。2.根據權利要求1所述的方法,其特征在于,還包括: 若所述NAPT表中存在所述IP數據包攜帶的源IP與源端口號的對應關系,則所述中間件從所述NAPT表中,獲取與所述源IP與源端口號對應的修改后的源IP和修改后的源端口號,并將所述IP數據包攜帶的所述源IP與源端口號分別修改為所述修改后的源IP和修改后的源端口號。3.根據權利要求1所述的方法,其特征在于,還包括: 若所述數據包是IP數據包,且所述IP數據包攜帶有ICMP報文,則所述中間件查詢ICMP表中是否有所述IP數據包攜帶的源IP ; 若所述ICMP表中沒有所述IP數據包攜帶的源IP,則所述中間件修改所述ICMP報文攜帶的主題查詢ID號,并將所述IP數據包攜帶的源IP存儲到所述ICMP表中; 若所述ICMP表中有所述IP數據包攜帶的源IP,則所述中間件修改所述ICMP報文攜帶的主題查詢ID號。4.根據權利要求3所述的方法,其特征在于,所述中間件修改所述ICMP報文攜帶的主題查詢ID號包括: 所述中間件將所述ICMP報文攜帶的主題查詢ID號修改為所述IP數據包攜帶的源IP的最后一個字節。5.根據權利要求1所述的方法,其特征在于,所述中間件獲取數據包,并判斷所述數據包是否為IP數據包之后,還包括: 若所述數據包是IP數據包,所述中間件將所述IP數據包對應的源MAC地址修改為包含所述中間件的設備的MAC,將所述IP數據包對應的目的MAC修改為下一跳接收設備的MAC ; 若所述數據 包是ARP數據包,則所述中間件將所述ARP數據包攜帶的源IP和源MAC,及對應關系存儲到ARP表中。6.根據權利要求1-5任一項所述的方法,其特征在于,還包括: 所述中間件對修改后的所述IP數據包進行校驗更正,并轉發所述修改后的所述IP數據包。7.—種中間件,其特征在于,包括...

    【專利技術屬性】
    技術研發人員:劉鋒陳旭陳凌鵬徐楨劉凱
    申請(專利權)人:北京航空航天大學
    類型:發明
    國別省市:北京;11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 老司机亚洲精品影院无码| 无码精品国产VA在线观看 | 精品无码一区二区三区爱欲九九 | 亚洲爆乳大丰满无码专区| 亚洲AV无码专区在线厂| 国产精品无码日韩欧| 无码视频免费一区二三区| 亚洲乱码无码永久不卡在线| 人妻无码久久精品人妻| 亚洲人成网亚洲欧洲无码久久| 亚洲精品中文字幕无码A片老| 亚洲av无码不卡一区二区三区| 人妻无码久久精品人妻| 18禁网站免费无遮挡无码中文| 国模无码人体一区二区 | 亚洲精品无码久久不卡| 亚洲精品无码人妻无码| 亚洲av无码一区二区乱子伦as| 国产精品无码一区二区三区在| 91精品久久久久久无码| 无码少妇一区二区三区浪潮AV| 午夜无码中文字幕在线播放| 日本无码一区二区三区白峰美| 亚洲A∨无码一区二区三区| 国产成人无码精品久久久性色| 五月天无码在线观看| 一本大道无码人妻精品专区| 国产午夜av无码无片久久96| 亚洲AV永久无码天堂影院| 免费A级毛片无码专区| 亚洲AV无码精品色午夜果冻不卡 | 精品无码国产AV一区二区三区| 亚洲啪AV永久无码精品放毛片| av大片在线无码免费| 人妻无码αv中文字幕久久| 午夜福利无码不卡在线观看| 无码视频在线观看| 久久亚洲AV成人无码国产| 日韩AV无码中文无码不卡电影| 无码国内精品久久人妻| 亚洲av无码久久忘忧草|