网络地址转换环境中报文转发的方法及设备的制作方法

文档序号:7685795阅读:157来源:国知局
专利名称:网络地址转换环境中报文转发的方法及设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种网络地址转换环境中报文转发的方法及设备。
背景技术
NAT (Network Address Translation,网络地址转换)是将IP数据报文头中的IP 地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的外网IP地址代表较多的内网IP地址的方式,将有助于减缓可用IP地址空间的枯竭。NAT的典型组网如图1所示,包括内网用户主机(IP地址192. 168. 1.3)、外网服务器(IP地址1.1. 1.2)、NAT设备。内网用户主机与外网服务器的交互过程示例如下A、内网用户主机向外网服务器发送的IP报文通过NAT设备。B、NAT设备查看报头内容,发现该报文是发往外网的,将其源IP地址字段的内网地址192. 168. 1. 3转换成一个可在hternet上选路的外网地址20. 1. 1. 1,并将该报文发送给外网服务器,同时在NAT设备的网络地址转换表中记录这一映射。C、外网服务器给内网用户发送的应答报文(其初始目的IP地址为20. 1. 1. 1)到达NAT设备后,NAT设备再次查看报头内容,然后查找当前网络地址转换表的记录,用内网私有地址192. 168. 1.3替换初始的目的IP地址后,将应答报文向内网用户发送。其中,NAT设备会将通过的报文的session (会话,具体为报文的标识信息,例如报文的三元组或五元组信息)记录下来,并为转换前和转换后的session建立映射关系,以保证回程的报文和后续的报文能够被转换为正确的地址和端口号。NAT多出口是一种比较常见的负载分担和链路备份的方式,内网通过两个或多个 NAT设备连接不同的运营商,最终连接到hternet,例如图2所示。在NAT多出口场景下, 内网用户访问外网时究竟经过哪个NAT设备是由内网中配置的路由等信息决定的,一般是在流量负载分担的基础上结合对一些特殊地址指定具体的路径。在图2示例的NAT多出口网络(即有多个NAT设备的网络)中,当外网用户访问内网server(服务器)时,位于外网的client (客户端)通过NAT设备A访问server,NAT 设备A存储对应的session。server的响应报文在内网中转发时有可能发送至NAT设备B, 如果NAT设备B没有对应的session,则可能丢弃server返回的响应报文,也可能被转换为另外的源IP地址后发给client,最终都将导致通信不能正常进行。

发明内容
本发明提供了一种网络地址转换环境中报文转发的方法及设备,在NAT多出口网络中实现外网设备访问内网设备时,正确发送内网设备的响应报文。一种网络地址转换环境中报文转发的方法,应用于包括多个网络地址转换NAT设备、以及内网设备和外网设备的系统中,当外网设备访问内网设备时,NAT设备在外网入口对访问报文进行NAT转换,将转换后的报文向内网设备发送,内网设备响应外网设备访问发送的响应报文在通过NAT设备向外网设备发送的时候,该方法包括当接收到内网设备发送的响应报文为时,所述NAT设备在地址转换表中查找与所述响应报文匹配的会话,如果匹配成功,根据查找到的会话转发所述响应报文,如果匹配失败,向其他NAT设备转发所述响应报文;当接收到其他NAT设备发送的响应报文为时,所述NAT设备在地址转换表中查找与所述响应报文匹配的会话,根据查找到的会话转发所述响应报文;如果没有查找到与所述响应报文匹配的会话,则丢弃所述响应报文。所述向其他NAT设备转发所述响应报文包括将所述响应报文发送至预先配置的隧道接口,通过该隧道接口对所述响应报文进行隧道封装,通过预先配置的与其他NAT设备之间的隧道转发所述响应报文。还包括当通过隧道接口接收到报文时,所述NAT设备判定接收到的报文为由其他NAT设备发送的响应报文;当通过隧道接口之外的接口接收到报文时,所述NAT设备根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否 ACK置位判断报文是否为响应报文。当其他NAT设备有两个以上时,所述隧道为基于组播的隧道,所有NAT设备属于同
一组播组。当接收到其他NAT设备发送的响应报文为时,根据查找到的会话转发所述响应报文之后,还包括所述NAT设备向与所述内网设备对应的路由设备发送高优先级的路由,通过所述路由设备将所述内网设备发送的去往对应外网设备的报文引流至本地内网接口。所述向其他NAT设备转发所述响应报文包括通过预先配置的物理直连通路向其他NAT设备转发所述响应报文。还包括当通过预先配置的物理直连通路对应的接口接收到报文时,所述NAT设备判定接收到的报文为由其他NAT设备发送的响应报文;当通过预先配置的物理直连通路对应的接口之外的接口接收到报文时,所述NAT 设备根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。一种网络地址转换设备,应用于包括多个网络地址转换设备、以及内网设备和外网设备的系统中,当外网设备访问内网设备时,网络地址转换NAT设备在外网入口对访问报文进行网络地址转换,将转换后的报文向内网设备发送,内网设备收到外网设备的访问报文后通过网络地址设备向外网设备发送响应报文,包括接收单元,用于接收内网设备或者其他NAT设备发送的响应报文;查找单元,与所述接收单元连接,用于在地址转换表中查找与所述响应报文匹配的会话;第一处理单元,与所述查找单元连接,用于当所述查找单元查找到与所述响应报文匹配的会话时,根据查找到的会话转发所述响应报文;第二处理单元,与所述查找单元连接,用于当所述查找单元没有查找到与所述响应报文匹配的会话、且所述响应报文由内网设备发送,则向其他NAT设备转发所述响应报文;当所述查找单元没有查找到与所述响应报文匹配的会话、且所述响应报文由其他NAT 设备发送,则丢弃所述响应报文。所述第二处理单元具体用于将所述响应报文发送至预先配置的隧道接口,通过该隧道接口对所述响应报文进行隧道封装,通过预先配置的与其他NAT设备之间的隧道转发所述响应报文。还包括判断单元,与所述接收单元连接,用于当所述接收单元通过隧道接口接收到报文时,判定接收到的报文为由其他NAT设备发送的响应报文;当通过隧道接口之外的接口接收到报文时,根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。当其他NAT设备有两个以上时,所述隧道为基于组播的隧道,所有NAT设备属于同一组播组。还包括重定向单元,用于当所述第二处理单元转发接收到其他NAT设备发送的响应报文之后,向与所述内网设备对应的路由设备发送高优先级的路由,通过所述路由设备将所述内网设备发送的去往对应外网设备的报文引流至所述网络地址转换设备的内网接口。所述第二处理单元具体用于通过预先配置的物理直连通路向其他NAT设备转发所述响应报文。还包括判断单元,与所述接收单元连接,用于当所述接收单元通过预先配置的物理直连通路对应的接口接收到报文时,判定接收到的报文为由其他NAT设备发送的响应报文;当所述接收单元通过预先配置的物理直连通路对应的接口之外的接口接收到报文时,根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。与现有技术相比,本发明至少具有以下优点当NAT设备在地址转换表中没有查找到与内网设备发送的响应报文匹配的会话时,将响应报文向其他NAT设备发送,使得该响应报文能够通过NAT设备争取发送至外网设备,从而使得内网设备与外网设备的通信能够正常进行。


图1是现有技术中NAT的典型组网示意图;图2是现有技术中NAT多出口网络组网示意图;图3和图4是本发明实施例一提供的多出口网络地址转换环境中报文转发的方法的流程示意图;图5是本发明实施例一中隧道封装格式示意图;图6是本发明实施例二提供的出口网络地址转换的网络场景示意图7是本发明实施例三提供的网络地址转换设备的结构示意图。
具体实施例方式本发明的核心思想是在NAT多出口网络中,当NAT设备在地址转换表中没有查找到与内网设备发送的响应报文匹配的会话时,将响应报文向其他NAT设备发送,使得该响应报文能够通过NAT设备争取发送至外网设备;当接收到其他NAT设备发送的响应报文为时,NAT设备在地址转换表中查找与所述响应报文匹配的会话,根据查找到的会话转发所述响应报文。其中,NAT设备预先配置与其他NAT设备对应的特定接口,从该特定接口接收到的报文即为其他NAT设备发送的响应报文。实施例一本发明实施例一提供一种多出口网络地址转换环境中报文转发的方法,其网络环境结合图2所示,该方法包括图3所示的过程步骤301,客户端向服务器发送的IP报文发送至NAT设备A。步骤302,NAT设备A将IP报文进行网络地址转换后向服务器发送,并在地址转换表中记录与客户端和服务器对应的session。网络地址转换包括1)基本地址转换和幻NAPT (Network Address PortTranslation,网络地址端口转换)。1)基本地址转换当内部网络向外部网络发送报文时,NAT设备使用出接口的IP地址(外网IP地址)替换报文的源IP地址(内网IP地址),当外部网络向内部网络发送报文时,NAT设备使用内网设备的IP地址替换报文的目的IP地址。这种情况下,NAT设备内存储内网设备的IP地址与出接口 IP地址的对应关系。2) NAPT NAPT是基本地址转换的一种变形,允许多个内网IP地址映射到同一个外网IP地址上,也可称之为“多对一地址转换”。与基本地址转换不同的是,NAPT同时映射IP地址和端口号来自不同内网IP地址的数据报文的源地址可以映射到同一外部地址,但它们的端口号被转换为该地址的不同端口号,因而仍然能够共享同一地址,也就是“私网IP地址 +端口号”与“公网IP地址+端口号”之间的转换。例如,三个带有内部地址的数据报文到达NAT设备,其中报文1和报文2来自同一个内网地址(192. 168.1.2)但有不同的源端口号(1111、2222),报文1和报文3来自不同的内部地址(192. 168. 1.2、192. 168. 1.3)但具有相同的源端口号(1111)。通过NAPT映射,三个数据报的源IP地址都被转换到同一个外部地址(20. 1. 1. 1),但每个数据报都被赋予了不同的源端口号(1001、1002、1003),因而仍保留了报文之间的区别。当各报文的回应报文到达时,NAT设备仍能够根据回应报文的目的IP地址和目的端口号来区别该报文应转发到的内部主机。三个报文的地址转换表如表 1所示。表 权利要求
1.一种多出口网络地址转换环境中报文转发的方法,应用于包括多个网络地址转换 NAT设备、以及内网设备和外网设备的系统中,当外网设备访问内网设备时,NAT设备在外网入口对访问报文进行NAT转换,将转换后的报文向内网设备发送,内网设备响应外网设备访问发送的响应报文在通过NAT设备向外网设备发送的时候,其特征在于,包括当接收到内网设备发送的响应报文为时,所述NAT设备在地址转换表中查找与所述响应报文匹配的会话,如果匹配成功,根据查找到的会话转发所述响应报文,如果匹配失败, 向其他NAT设备转发所述响应报文;当接收到其他NAT设备发送的响应报文为时,所述NAT设备在地址转换表中查找与所述响应报文匹配的会话,根据查找到的会话转发所述响应报文;如果没有查找到与所述响应报文匹配的会话,则丢弃所述响应报文。
2.如权利要求1所述的方法,其特征在于,所述向其他NAT设备转发所述响应报文包括将所述响应报文发送至预先配置的隧道接口,通过该隧道接口对所述响应报文进行隧道封装,通过预先配置的与其他NAT设备之间的隧道转发所述响应报文。
3.如权利要求2所述的方法,其特征在于,还包括当通过隧道接口接收到报文时,所述NAT设备判定接收到的报文为由其他NAT设备发送的响应报文;当通过隧道接口之外的接口接收到报文时,所述NAT设备根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK 置位判断报文是否为响应报文。
4.如权利要求2或3所述的方法,其特征在于,当其他NAT设备有两个以上时,所述隧道为基于组播的隧道,所有NAT设备属于同一组播组。
5.如权利要求1所述的方法,其特征在于,当接收到其他NAT设备发送的响应报文为时,根据查找到的会话转发所述响应报文之后,还包括所述NAT设备向与所述内网设备对应的路由设备发送高优先级的路由,通过所述路由设备将所述内网设备发送的去往对应外网设备的报文引流至本地内网接口。
6.如权利要求1所述的方法,其特征在于,所述向其他NAT设备转发所述响应报文包括通过预先配置的物理直连通路向其他NAT设备转发所述响应报文。
7.如权利要求6所述的方法,其特征在于,还包括当通过预先配置的物理直连通路对应的接口接收到报文时,所述NAT设备判定接收到的报文为由其他NAT设备发送的响应报文;当通过预先配置的物理直连通路对应的接口之外的接口接收到报文时,所述NAT设备根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。
8.一种网络地址转换设备,应用于包括多个网络地址转换设备、以及内网设备和外网设备的系统中,当外网设备访问内网设备时,网络地址转换NAT设备在外网入口对访问报文进行网络地址转换,将转换后的报文向内网设备发送,内网设备收到外网设备的访问报文后通过NAT设备向外网设备发送响应报文,其特征在于,包括接收单元,用于接收内网设备或者其他NAT设备发送的响应报文; 查找单元,与所述接收单元连接,用于在地址转换表中查找与所述响应报文匹配的会话;第一处理单元,与所述查找单元连接,用于当所述查找单元查找到与所述响应报文匹配的会话时,根据查找到的会话转发所述响应报文;第二处理单元,与所述查找单元连接,用于当所述查找单元没有查找到与所述响应报文匹配的会话、且所述响应报文由内网设备发送,则向其他NAT设备转发所述响应报文;当所述查找单元没有查找到与所述响应报文匹配的会话、且所述响应报文由其他NAT设备发送,则丢弃所述响应报文。
9.如权利要求8所述的网络地址转换设备,其特征在于,所述第二处理单元具体用于 将所述响应报文发送至预先配置的隧道接口,通过该隧道接口对所述响应报文进行隧道封装,通过预先配置的与其他NAT设备之间的隧道转发所述响应报文。
10.如权利要求9所述的网络地址转换设备,其特征在于,还包括判断单元,与所述接收单元连接,用于当所述接收单元通过隧道接口接收到报文时,判定接收到的报文为由其他NAT设备发送的响应报文;当通过隧道接口之外的接口接收到报文时,根据报文源IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。
11.如权利要求8或9所述的网络地址转换设备,其特征在于,当其他NAT设备有两个以上时,所述隧道为基于组播的隧道,所有NAT设备属于同一组播组。
12.如权利要求8所述的网络地址转换设备,其特征在于,还包括重定向单元,用于当所述第二处理单元转发接收到其他NAT设备发送的响应报文之后,向与所述内网设备对应的路由设备发送高优先级的路由,通过所述路由设备将所述内网设备发送的去往对应外网设备的报文引流至所述网络地址转换设备的内网接口。
13.如权利要求8所述的网络地址转换设备,其特征在于,所述第二处理单元具体用于通过预先配置的物理直连通路向其他NAT设备转发所述响应报文。
14.如权利要求13所述的网络地址转换设备,其特征在于,还包括判断单元,与所述接收单元连接,用于当所述接收单元通过预先配置的物理直连通路对应的接口接收到报文时,判定接收到的报文为由其他NAT设备发送的响应报文;当所述接收单元通过预先配置的物理直连通路对应的接口之外的接口接收到报文时,根据报文源 IP地址信息判定是否为内网设备发送的报文,在接收的报文是内网设备发送的报文时,根据报文是否ACK置位判断报文是否为响应报文。
全文摘要
本发明公开了一种多出口网络地址转换环境中报文转发的方法及设备。当NAT设备在地址转换表中没有查找到与内网设备发送的响应报文匹配的会话时,将响应报文向其他NAT设备发送,使得该响应报文能够通过NAT设备争取发送至外网设备,从而使得内网设备与外网设备的通信能够正常进行。
文档编号H04L29/12GK102201996SQ20111014888
公开日2011年9月28日 申请日期2011年6月3日 优先权日2011年6月3日
发明者陆宇翔 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1