【技术实现步骤摘要】
基于中间件实现网关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数据包携带的源I ...
【技术保护点】
一种基于中间件实现网关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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。