CN103369065B - 一种报文转发方法及设备 - Google Patents
一种报文转发方法及设备 Download PDFInfo
- Publication number
- CN103369065B CN103369065B CN201310282386.5A CN201310282386A CN103369065B CN 103369065 B CN103369065 B CN 103369065B CN 201310282386 A CN201310282386 A CN 201310282386A CN 103369065 B CN103369065 B CN 103369065B
- Authority
- CN
- China
- Prior art keywords
- address
- nat
- tunnel
- message
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种报文转发方法,NAT设备对内网隧道设备发送的封装报文的隧道源IP地址进行转化时,将NAT IP地址与隧道源IP地址对应的域名绑定,作为DDNS表项记录在DDNS服务器组,使得外网隧道设备可以通过DNS域名解析来确定封装报文是否是对应的内网隧道设备发送的报文,从而可对封装报文进行解封装。可以看出,采用本发明技术方案,不需要在隧道设备以及NAT设备进行人工IP地址配置,就可以实现封装报文的解封装,可有效提高报文的转发效率,确保网络的稳定性,具有较好的灵活性和适用性。本发明同时还公开了一种NAT设备。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种报文转发方法及设备。
背景技术
GRE(Generic Routing Encapsulation,通用路由封装)隧道是一个虚拟的点到点的连接,用于使在不同网络层协议中的终端互相传递报文。GRE隧道两端的终端通过对不同的网络层协议数据报文进行封装及解封装处理,使这些被封装的数据报文能够在对端的网络层协议中传输。
如图1所示,为现有技术中GRE穿越NAT(Network Address Translation,网络地址转换)组网的场景示意图,其中PC1和PC2属于内网终端设备,PC3和PC4属于外网终端设备。在PC1与PC3进行跨主干IP(Internet Protocol,网络间互联协议)网络通信的过程中,由PC1所发送的数据报文在经内网的隧道对端设备DUTA进行数据封装后,继续通过GRE隧道进行传输,并经过NAT设备,NAT设备会对该封装报文的外层IP地址,即隧道源IP地址进行地址转换,将隧道源IP地址转换为NAT IP地址,随后将该封装报文发送至外网的隧道对端设备DUTB,由DUTB对该封装报文进行解封装处理。
在如图2所示的隧道加封装过程中,封装报文在经过NAT设备转发后,其外层的隧道源IP地址被替换为NAT设备地址池中的NAT IP地址,封装报文的内层IP地址,即报文源IP地址不变。由于隧道对端设备只有在隧道源IP地址和隧道目的IP地址分别与该封装报文中携带的隧道源IP地址及隧道目的IP地址均吻合的情况下,即隧道对端设备只有在确定接收到的封装报文确实为来自隧道自身的本端设备时才会对该封装报文进行解封装,因此,外网的隧道对端设备DUTB需要获取到封装报文在经NAT设备转换前的隧道源IP地址,即需要获取封装报文经过NAT设备转换后携带的NAT IP地址与转换前携带的隧道源IP地址之间的对应关系,并将自身保存的内网隧道对端设备DUTA的IP地址(即隧道源IP地址)替换封装报文中经过NAT转换后的NAT IP地址,这样才能正常解封装经过NAT地址转换的内网隧道报文。
为了使GRE隧道的对端设备能够正常对封装报文进行解封装,现有技术通常在NAT设备上人工配置隧道源IP地址(即上述的DUTA的IP地址)与NATIP地址(NAT设备中地址池中的IP地址)之间的映射关系,作为NAT转换表,同时,在隧道对端设备(即上述的DUTB)上也人工配置该NAT转换表,这样,隧道对端设备接收到该NAT设备发送的报文后,就可以通过该NAT转换表,来确定封装报文的隧道源IP地址,从而可对封装报文进行解封装。
综上,针对经过NAT设备进行地址转换后的GRE隧道封装报文,现有技术均需要通过人工在隧道设备中进行与封装报文相关的IP地址的配置,配置效率差,灵活性较低,适用性不强。
发明内容
本发明提供了一种报文转发方法以及设备,用以解决现有技术在封装报文解封装过程中,采用人工进行IP地址的配置所带来的配置效率差,以及灵活性低和适用性不强的问题。
一方面,本发明提供了一种报文转发方法,包括:
网络地址转换NAT设备接收内网隧道设备发送的封装报文;
所述NAT设备将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NAT IP地址为与外网IP地址不冲突的外网IP地址;
所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址。
另一方面,本发明还提出了一种NAT设备,包括:
接口模块,用于接收内网隧道设备发送的封装报文;
处理模块,用于将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NATIP地址为与外网IP地址不冲突的外网IP地址;
所述接口模块,还用于将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址。
通过应用以上技术方案,NAT设备对内网隧道设备发送的封装报文的隧道源IP地址进行转化时,将NAT IP地址与隧道源IP地址对应的域名绑定,作为DDNS表项记录在DDNS服务器组,使得外网隧道设备可以通过DNS域名解析来确定封装报文是否是对应的内网隧道设备发送的报文,从而可对封装报文进行解封装。可以看出,采用本发明技术方案,不需要在隧道设备以及NAT设备进行人工IP地址配置,就可以实现封装报文的解封装,可有效提高报文的转发效率,确保网络的稳定性,具有较好的灵活性和适用性。
附图说明
图1为现有技术中GRE穿越NAT组网的场景示意图;
图2为现有技术中隧道加封装的过程示意图;
图3为本发明实施例一提出的一种封装报文的转发方法的流程示意图;
图4为本发明实施例二提出的一种封装报文的转发方法的流程示意图;
图5为本发明技术方案的具体应用场景示意图;
图6为本发明实施例三所提出的一种封装报文的转发方法的流程示意图;
图7为本发明提出的一种隧道加封装过程示意图;
图8为本发明所提出的一种封装报文转发设备的结构示意图。
具体实施方式
本发明提供了一种封装报文的转发方法,将封装报文中的隧道源IP地址转换为外网IP地址,并利用DNS服务器根据IP地址与域名之间的对应关系对经NAT设备转换后的IP地址进行解析并获得封装报文的隧道源IP地址,从而对报文从而提高了报文的转发效率,并确保了网络的稳定性以及灵活性。
本发明实施例提供的报文转发方法中,NAT设备和外网隧道设备都会配置内网隧道设备的域名,NAT设备在对封装报文的隧道源源IP地址,即封装报文的外层IP地址进行IP地址转换时,可将转换后的NAT IP地址与隧道源IP地址对应的域名进行绑定,以DDNS表项的形式保存在DNS(Domain Name Server,域名服务器)组中,这样,外网的隧道设备在接收到NAT设备发送的封装报文后,就可以根据域名解析来确定封装报文来自于内网隧道设备,进而可以实现对封装报文的解封装。下面将以具体实例对本发明技术方案进行详细说明。
图3为本发明实施例一提供的报文转发方法的流程示意图。如图3所示,本实施例中,NAT设备可对内网中的隧道设备发送的封装报文的外层IP地址进行IP地址转换,具体地,如图3所示,本实施例方法可包括如下步骤:
步骤301、网络地址转换NAT设备接收内网隧道设备发送的封装报文;
步骤302、所述NAT设备将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NAT IP地址为与外网IP地址不冲突的外网IP地址;
步骤303、所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址。
本实施例中,NAT设备接收到内网隧道设备发送的报文后,可基于自身所配置的该内网隧道设备的域名,将内网隧道设备发送的封装报文中的隧道源IP地址,替换成NAT IP地址后,并将NAT IP地址与隧道源IP地址对应的域名进行绑定,将其以DDNS表项的形式保存在DNS服务器组中,外网隧道设备接收到NAT设备转发的封装报文后,就可以根据自身所配置的该内网隧道设备的域名,通过域名解析的方式确定封装报文来自该内网隧道设备,从而对封装报文进行解封装处理。
需要说明的是,以上NAT设备和外网隧道设备所配置的内网隧道的域名均会进行同步更新,保证以上二者的一致性。其中,NAT设备和外网隧道设备上可预先通过人工设置内网隧道的域名信息,具体可以是与内网隧道的IP地址与域名对应关系的信息,这样,NAT设备接收到内网设备发送的报文时,就可以查询该对应关系,以获得相应的域名,从而可将NAT后的NAT IP地址发送给DNS服务器组,保存在DDNS表项中。
本实施例中,外网隧道设备接收到封装报文后,可立即根据自身存储的对应的内网的隧道设备的域名,向DDNS服务器组发起域名解析,获得域名对应的NAT IP地址,若解析得到的该NAT IP地址,与其接收到的封装报文的外层IP地址(即经过NAT设备转换后的NATIP地址)一致,则说明该封装报文确实为对应的内网隧道设备发送的报文,则可对其进行解封装。
需要说明的是:由于NAT设备对内网隧道设备发送的报文进行IP地址转换时,转换后的NAT IP地址是不固定的,即是动态的,因此,需要将该NAT IP地址与内外隧道设备的域名进行绑定并通知DDNS服务器。在报文后续达到外网隧道设备后,即可利用DDNS服务器对封装报文中的域名进行解析,从而根据该NAT IP地址确定报文来自于内网隧道设备。其中,所述的DDNS服务器组具体而言是指可以进行动态域名解析的DDNS服务器
综上,本发明实施例技术方案中,NAT设备对内网隧道设备发送的封装报文的隧道源IP地址进行转化时,可将转换后的NAT IP地址与隧道源IP地址对应的域名进行绑定,以DDNS表项的形式记录在DDNS服务器组,使得外网隧道设备可以通过DNS域名解析确定封装报文来自于内网隧道设备,从而可对封装报文进行解封装。可以看出,采用本发明技术方案,不需要在隧道设备以及NAT设备进行人工IP地址配置,就可以实现封装报文的解封装,可有效提高报文的转发效率,确保网络的稳定性,具有较好的灵活性和适用性。
图4为本发明实施例二提供的报文转发方法的流程示意图。在上述图3所示实施例技术方案基础上,本实施例中,封装报文具体为通用路由封装GRE报文,NAT设备还可对GRE报文中的内层IP地址,即报文源IP地址进行处理,具体地,如图4所示,本实施例方法可包括如下步骤:
步骤401、NAT设备接收内网隧道设备发送的GRE报文;
步骤402、判断GRE报文的头部乘客协议是否为IP协议,是则执行步骤403,否则执行步骤404;
步骤403、NAT设备将GRE报文中的报文源IP地址替换为与外网IP地址不冲突的外网IP地址,并记录报文源IP地址与外网IP地址之间的对应关系表项,执行步骤404;
步骤404、NAT设备将GRE报文中的隧道源IP地址替换成NAT IP地址,该NAT IP地址为与外网IP地址不冲突的外网IP地址,将NAT IP地址与隧道源IP地址对应的域名绑定,生成并存储NAT IP地址与隧道源IP地址之间的对应关系表项;
步骤405、NAT设备将NAT IP地址与域名之间的绑定关系发送至DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项。
本实施例中,NAT设备可对GRE报文中的内层IP地址进行地址转换,这样,外网的网络设备接收到该封装报文后,由于封装报文转换后的内层IP地址为外网IP地址,这样,外网的网络设备就可以直接以转换后的内层IP地址进行报文的转发或处理。
本实施例中,当NAT设备接收到外网隧道设备发送的封装报文后,可在报文源IP地址与外网IP地址之间的对应关系表项中查找与封装报文中的内层IP地址对应的报文源IP地址,并将内层IP地址替换为查找到的报文源IP地址,即将外网发送的封装报文中的外网IP地址转换为内网IP地址,使得内网的网络设备接收到该报文后,即可进行处理。
本实施例中,NAT设备接收到外网隧道设备发送的封装报文后,可根据封装报文中携带的NAT IP地址,在NAT IP地址与隧道源IP地址之间的对应关系表项中查找与该NAT IP地址对应的隧道源IP地址,将该NAT IP地址替换为查找到的隧道源IP地址,并将报文转发到内网的隧道设备。这样,内网的隧道设备就可以直接对NAT设备转发的封装报文进行解封装。
上述本发明实施例中,所述的NAT设备将封装报文中的隧道源IP地址替换成NATIP地址,具体可为:NAT设备从自身存储的外网IP地址池中选择一个尚未分配的外网IP地址,将外网IP地址作为NAT IP地址替换封装报文中的隧道源IP地址。这样,NAT设备可针对不同的隧道设备发送的报文分配不同的NAT IP地址,以确保封装报文均能得到处理。
可以看出,本实施例中,NAT设备在对封装报文的外层IP地址,即隧道源IP地址进行地址转换时,同时可对内层IP地址为IP地址时进行地址转换,以确保报文可在外网传输;同时,NAT设备上记录地址转换前后的对应关系表项,这样使得外网设备发送来的报文可进行处理,以确保接收到的报文可准确地传输至目的设备。
为了进一步阐述本发明的技术思想,现结合如图5所示的具体应用场景,以及图6所示的流程示意图,对本发明的技术方案进行说明。其中,终端1为内网终端设备,终端3为外网终端设备,DUTA为内网隧道设备,DUTB为外网隧道设备,DNS Server处于外网环境中,NAT设备中的地址池为3.1.1.10-3.1.1.20,其中,NAT设备以及外网设备事先配置有外网隧道设备的域名。
在本具体实施例中,由内网终端1与外网终端3进行IP通信,终端1的IP地址为192.168.1.1,终端3的IP地址为1.2.1.1。内网和外网环境中同时存在IP网络和IPX网络,其主干网络为IP网络。下面将以ICMP(Internet Control Message Protocol,Internet控制报文协议)请求应答报文为例,对各设备之间的报文交互流程进行详细说明:
S601,终端1发送报文,其发送报文的IP地址结构为192.168.1.1---->1.2.1.1。
其中,192.168.1.1为终端1的IP地址,为内网IP地址;1.2.1.1为终端3的IP地址,为外网IP地址。
S602,DUTA对报文进行加封装处理。
当报文到达内网隧道设备DUTA时,DUTA对报文进行加封装处理,封装后的报文的IP地址结构为172.168.1.1---->1.1.1.1||192.168.1.1---->1.2.1.1,报文封装完毕后即被送往NAT。
其中,172.168.1.1就是DUTA的IP地址,为内网IP地址,1.1.1.1就是DUTB的IP地址,为外网IP地址。
S603,NAT设备对封装报文进行转换。
NAT设备在接收到DUTA发送的封装报文后,首先基于封装报文外层源IP地址的类型判断封装报文来自于内网还是外网。若该外层源IP地址为内网地址,则说明需要对该封装报文中的内网地址进行IP地址的转换;而当该外层源IP地址为外网地址时,则说明需要对该封装报文中的部分已转换的外网地址重新转换为内网地址。
需要说明的是,当GRE隧道报文经过NAT设备后,设备会根据GRE报文内部乘客协议判断是否需要进行隧道内层报文转换。如果GRE头部乘客协议为IP(即协议号为0x0800)协议,NAT设备进行内层地址转换。如果GRE头部乘客协议为非IP协议,即协议号为非0x0800的非IP协议的报文,例如IPX、AppleTALK、NetBEUI等,则NAT设备就不需要对封装报文的内层源IP地址进行处理。
而当GRE头部乘客协议为IP协议时,封装报文中的IP地址,在NAT设备的内部的处理如图7所示。其中,由于封装报文中同时包含外层源IP地址,即隧道源IP地址,以及内层源IP地址,即报文源IP地址,因此在进行地址转换的过程中,NAT设备分别从自身存储的外网IP地址池中选择一个尚未分配的外网IP地址作为NAT IP地址替换所述封装报文中的隧道源IP地址,同时选择一个尚未分配的外网IP地址对内层源IP地址,即报文源IP地址进行替换。
具体地,在该步骤中,NAT设备对隧道外层IP地址进行动态NAT地址转换,对隧道内层报文则进行ALG NO-PAT地址转换,转换后的报文结构如下:
3.1.1.15---->1.1.1.1||3.1.1.10---->1.2.1.1。
在转换完毕后,NAT设备将报文继续发往外网隧道设备DUTB,同时生成如下映射表项:
192.168.1.1<======>3.1.1.10
172.168.1.1<======>3.1.1.15。
其中,NAT设备在对封装报文的外层源IP地址进行替换时,也可选择用静态地址,即为其分配一个静态IP地址,例如1.1.1.10。具体地,可在NAT设备上配置与内网隧道的域名对应的静态IP地址1.1.1.10,这样,NAT设备接收到内网隧道设备发送的封装报文时,就可以直接将外层源IP地址替换成1.1.1.10。
在该步骤中,NAT设备进行地址转换后,会同时保存地址转换前后的对应关系表,即封装报文转换前后的NAT IP地址与隧道源IP地址之间的对应关系,以及转换前后的报文源IP地址与外网IP地址之间的对应关系以表项的方式保存起来。
同时,NAT设备会将对封装报文的外层源IP地址,即隧道源IP地址转换后的IP地址,即NAT IP地址与内网隧道设备的域名绑定,发送至DDNS服务器组,以添加或更新相应的DDNS表项。若DDNS服务器组首次接收到内网隧道设备的域名与NAT IP地址,则会生成一个对应该域名的DDNS表项,将NAT IP地址保存,若再次收到,则将收到的NAT IP地址替换已有的NAT IP地址。
具体地,假设内网隧道设备的域名为gre.com,那么NAT设备上就会预先设置该域名,并与内网隧道设备的IP地址关联,当NAT设备接收到封装报文,解析IP地址为内网隧道设备的IP地址,则进行地址转换后,将转换后的NAT IP地址与该域名gre.com绑定,并发送至DNS服务器组,而DNS服务器组可在DDNS服务器上增加或更新相应的DDNS表项,记录相应的域名及NAT IP地址,本实施例中,DDNS服务器上的DDNS表项就会记录:gre.com===>3.1.1.15。
由于涉及到IP地址的动态分配,外网隧道设备需要使用DNS服务器组中的(Dynamic Domain Name Server,动态域名服务)DDNS服务器对封装报文中的域名进行解析,确定该封装报文来自于内网隧道设备,继而查找与该IP地址对应的对应表项。因此,DNS服务器组根据对应关系表项向其中的DDNS服务器更新域名与转换后的IP地址的对应关系,使DDNS表项将所述对应关系表项的内容进行保存。其中,所述的DNS服务器组,也即包括DNS服务器和DDNS服务器,由于本实施例涉及到动态地址分配,即域名对应的IP地址是动态的,所以需要使用其中的DDNS服务器进行域名解析。
S604,DUTB对报文进行解封装处理。
外网隧道设备在接收到封装报文后,首先根据自身配置的对应的内网隧道设备的域名,通过DDNS服务器的DDNS表项对封装报文的域名进行解析,确定该报文是否来自对应的内网隧道设备,从而实现对封装报文的解封装。
具体地,外网隧道设备根据对应的内网隧道设备的域名,查询得到该域名对应的IP地址,为其接收到的封装报文中的外层源IP地址时,就可以确定其是从对应的内网隧道设备,即可对其进行解封装。
实际应用中,上述S603中,NAT设备也可将隧道源IP地址转换前后的NAT IP地址与隧道源IP地址对应关系一起与域名绑定,使得对应的DDNS表项可记录该隧道源IP地址转换前后的IP地址,这样,外网隧道设备进行解封装时,就可以直接获得域名对应的地址转换前后的IP地址,并与封装报文的外层源IP地址比较,确定地址转换后的IP地址与其相同,且转换后的IP地址为对应的内网隧道的IP地址,则可对报文进行解封装。
在本步骤中,经地址转换后的报文到达外网隧道设备DUTB后,对封装报文解封装后,解封装后的报文的IP地址格式如下:
3.1.1.10---->1.2.1.1。
S605,DUTB将报文发送至终端3。
由于DUTB解封装后的报文中的IP地址均为外网IP地址,因此,报文可以在外网中传输,到达终端3。此时,DUTB会记录该报文的源IP地址,当接收到发送至该源IP地址的报文时,就会进行隧道封装进行转发。
S606,终端3向终端1发送应答报文。
终端3接收到ICMP请求报文后,就可以发送应到报文,报文的IP地址结构为:1.2.1.1---->3.1.1.10。
S607,DUTB对应答报文进行加封装处理,并发送至NAT设备。
基于之前对来自于终端1的封装报文的解封装过程,DUTB在对该应答报文进行封装时,直接将与DUTA的对应的NAT IP地址作为隧道目的IP地址。
封装后的报文的结构如下:
1.1.1.1---->3.1.1.15||1.2.1.1---->3.1.1.10。
S608,NAT设备根据映射表项对接收的隧道报文进行地址转换,并发送至DUTA。
具体地,NAT设备可根据步骤603记录的地址转换前后的表项,查询与报文的外层目的IP地址,内层目的IP地址对应的内网IP地址,并进行替换。经地址转换后的报文的结构如下:
1.1.1.1---->172.168.1.1||1.2.1.1---->192.168.1.1。
S609,内网隧道设备DUTA对收到的隧道报文进行正常解封装处理,经解封装后的报文的结构为:1.2.1.1---->192.168.1.1。
S610,DUTA将报文发送至终端1。
为了实现上述的技术方案,如图8所示,本发明还提出了一种网络地址转换NAT设备,包括:
接口模块810,用于接收内网隧道设备发送的封装报文;
处理模块820,用于将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NAT IP地址为与外网IP地址不冲突的外网IP地址;
所述接口模块810,还用于将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址。
在具体的应用场景中,所述处理模块820,还用于生成并存储所述NAT IP地址与所述隧道源IP地址之间的对应关系表项;
所述接口模块810,还用于接收外网隧道设备发送的封装报文,所述封装报文携带所述NAT IP地址;
所述处理模块820,还用于根据所述接口模块810接收到的封装报文的所述NAT IP地址,在NAT IP地址与隧道源IP地址之间的对应关系表项中查找与所述NAT IP地址对应的隧道源IP地址,将所述NAT IP地址替换为查找到的隧道源IP地址。
在具体的应用场景中,所述封装报文具体为通用路由封装GRE报文,所述处理模块820,还用于:
当所述GRE报文的头部乘客协议为IP协议时,将所述封装报文中的报文源IP地址替换为与外网IP地址不冲突的外网IP地址,并记录所述报文源IP地址与外网IP地址之间的对应关系表项。
在具体的应用场景中,所述接口模块810,还用于接收外网隧道设备发送的封装报文;
所述处理模块820,还用于在所述接口模块810接收到外网隧道设备发送的封装报文后,在报文源IP地址与外网IP地址之间的对应关系表项中查找与所述封装报文中的内层IP地址对应的报文源IP地址,并将所述内层IP地址替换为查找到的报文源IP地址。
在具体的应用场景中,所述处理模块820,具体用于从自身存储的外网IP地址池中选择一个尚未分配的外网IP地址,将所述外网IP地址作为NAT IP地址替换所述封装报文中的隧道源IP地址。
由此可见,通过应用以上技术方案,NAT设备对内网隧道设备发送的封装报文的隧道源IP地址进行转化时,将NAT IP地址与隧道源IP地址对应的域名绑定,作为DDNS表项记录在DDNS服务器组,使得外网隧道设备可以通过DNS域名解析来确定封装报文是否是对应的内网隧道设备发送的报文,从而可对封装报文进行解封装。可以看出,采用本发明技术方案,不需要在隧道设备以及NAT设备进行人工IP地址配置,就可以实现封装报文的解封装,可有效提高报文的转发效率,确保网络的稳定性,具有较好的灵活性和适用性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种报文转发方法,其特征在于,包括:
网络地址转换NAT设备接收内网隧道设备发送的封装报文;
所述NAT设备将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NAT IP地址为与外网IP地址不冲突的外网IP地址;
所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的动态域名服务DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址;
其中,所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的动态域名服务DDNS表项,具体为:
所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,以DDNS表项的形式记录在DDNS服务器组。
2.如权利要求1所述的方法,其特征在于,还包括:
所述NAT设备生成并存储所述NAT IP地址与所述隧道源IP地址之间的对应关系表项;
在所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的DDNS表项之后,还包括:
NAT设备接收外网隧道设备发送的封装报文,所述封装报文携带所述NATIP地址;
所述NAT设备根据所述NAT IP地址,在NAT IP地址与隧道源IP地址之间的对应关系表项中查找与所述NAT IP地址对应的隧道源IP地址,将所述NAT IP地址替换为查找到的隧道源IP地址。
3.如权利要求1或2所述的方法,其特征在于,所述内网隧道设备发送的封装报文具体为通用路由封装GRE报文,所述方法还包括:
若所述GRE报文的头部乘客协议为IP协议,所述NAT设备将所述内网隧道设备发送的封装报文中的报文源IP地址替换为与外网IP地址不冲突的外网IP地址,并记录所述报文源IP地址与外网IP地址之间的对应关系表项。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述NAT设备接收到外网隧道设备发送的封装报文后,在报文源IP地址与外网IP地址之间的对应关系表项中查找与所述外网隧道设备发送的封装报文中的外网IP地址对应的报文源IP地址,并将所述外网IP地址替换为查找到的报文源IP地址。
5.如权利要求1所述的方法,其特征在于,所述NAT设备将所述封装报文中的隧道源IP地址替换成NAT IP地址,具体为:
所述NAT设备从自身存储的外网IP地址池中选择一个尚未分配的外网IP地址,将所述外网IP地址作为NAT IP地址替换所述封装报文中的隧道源IP地址。
6.一种网络地址转换NAT设备,其特征在于,包括:
接口模块,用于接收内网隧道设备发送的封装报文;
处理模块,用于将所述封装报文中的隧道源IP地址替换成NAT IP地址,所述NAT IP地址为与外网IP地址不冲突的外网IP地址;
所述接口模块,还用于将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的动态域名服务DDNS表项,以使得外网隧道设备接收到NAT设备转发的所述封装报文后,通过所述DNS服务器组进行域名解析来确定所述封装报文来自所述内网隧道设备,以对所述封装报文进行解封装;
其中,所述NAT设备上预先设置有与所述内网隧道设备的隧道源IP地址对应的域名;所述DDNS表项保存所述域名及与域名绑定的NAT IP地址;
其中,所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,并发送至域名服务DNS服务器组,添加或更新所述DNS服务器组中的动态域名服务DDNS表项,具体为:
所述NAT设备将所述NAT IP地址与所述隧道源IP地址对应的域名绑定,以DDNS表项的形式记录在DDNS服务器组。
7.如权利要求6所述的NAT设备,其特征在于:
所述处理模块,还用于生成并存储所述NAT IP地址与所述隧道源IP地址之间的对应关系表项;
所述接口模块,还用于接收外网隧道设备发送的封装报文,所述封装报文携带所述NATIP地址;
所述处理模块,还用于根据所述接口模块接收到的封装报文的所述NAT IP地址,在NATIP地址与隧道源IP地址之间的对应关系表项中查找与所述NAT IP地址对应的隧道源IP地址,将所述NAT IP地址替换为查找到的隧道源IP地址。
8.如权利要求6或7所述的NAT设备,其特征在于,所述内网隧道设备发送的封装报文具体为通用路由封装GRE报文,所述处理模块,还用于:
当所述GRE报文的头部乘客协议为IP协议时,将所述内网隧道设备发送的封装报文中的报文源IP地址替换为与外网IP地址不冲突的外网IP地址,并记录所述报文源IP地址与外网IP地址之间的对应关系表项。
9.如权利要求8所述的NAT设备,其特征在于:
所述处理模块,还用于在所述接口模块接收到外网隧道设备发送的封装报文后,在报文源IP地址与外网IP地址之间的对应关系表项中查找与所述外网隧道设备发送的封装报文中的外网IP地址对应的报文源IP地址,并将所述外网IP地址替换为查找到的报文源IP地址。
10.如权利要求6所述的NAT设备,其特征在于:
所述处理模块,具体用于从自身存储的外网IP地址池中选择一个尚未分配的外网IP地址,将所述外网IP地址作为NAT IP地址替换所述封装报文中的隧道源IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310282386.5A CN103369065B (zh) | 2013-07-05 | 2013-07-05 | 一种报文转发方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310282386.5A CN103369065B (zh) | 2013-07-05 | 2013-07-05 | 一种报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103369065A CN103369065A (zh) | 2013-10-23 |
CN103369065B true CN103369065B (zh) | 2017-08-22 |
Family
ID=49369585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310282386.5A Active CN103369065B (zh) | 2013-07-05 | 2013-07-05 | 一种报文转发方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103369065B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607482A (zh) * | 2013-11-27 | 2014-02-26 | 中国联合网络通信集团有限公司 | 一种ip地址分配方法及装置 |
CN105450556B (zh) * | 2014-09-24 | 2019-08-30 | 北京佰才邦技术有限公司 | 信息传输方法和装置 |
CN104601742B (zh) * | 2014-12-29 | 2018-02-09 | 新华三技术有限公司 | 一种报文传输的方法和设备 |
CN108134857B (zh) * | 2017-12-26 | 2020-03-13 | 中国联合网络通信集团有限公司 | 一种ip地址分配方法、装置及系统 |
WO2019227902A1 (zh) * | 2018-05-28 | 2019-12-05 | 中国科学院声学研究所 | 一种icn报文转发方法 |
CN110474922B (zh) * | 2019-09-02 | 2022-02-22 | 锐捷网络股份有限公司 | 一种通信方法、pc系统及接入控制路由器 |
CN116319733B (zh) * | 2022-09-09 | 2024-06-11 | 中央军委政治工作部军事人力资源保障中心 | 一种跨网服务交换系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1613022A1 (en) * | 2004-06-28 | 2006-01-04 | Ezibro Networks Ltd. | System and method for changing subnet masks for altering routing of messages between terminals in the same local area network |
CN101098284A (zh) * | 2006-07-02 | 2008-01-02 | 冼剑光 | 实现网络无缝互连的方法 |
CN101800690A (zh) * | 2009-02-05 | 2010-08-11 | 北京启明星辰信息技术股份有限公司 | 一种使用地址池实现源地址转换的方法和装置 |
CN102984068A (zh) * | 2012-11-23 | 2013-03-20 | 汉柏科技有限公司 | 实现报文穿越网络地址转换设备的方法 |
CN103188356A (zh) * | 2013-04-07 | 2013-07-03 | 汉柏科技有限公司 | 一种外网映射IPsec报文实现NAT穿越的方法 |
-
2013
- 2013-07-05 CN CN201310282386.5A patent/CN103369065B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1613022A1 (en) * | 2004-06-28 | 2006-01-04 | Ezibro Networks Ltd. | System and method for changing subnet masks for altering routing of messages between terminals in the same local area network |
CN101098284A (zh) * | 2006-07-02 | 2008-01-02 | 冼剑光 | 实现网络无缝互连的方法 |
CN101800690A (zh) * | 2009-02-05 | 2010-08-11 | 北京启明星辰信息技术股份有限公司 | 一种使用地址池实现源地址转换的方法和装置 |
CN102984068A (zh) * | 2012-11-23 | 2013-03-20 | 汉柏科技有限公司 | 实现报文穿越网络地址转换设备的方法 |
CN103188356A (zh) * | 2013-04-07 | 2013-07-03 | 汉柏科技有限公司 | 一种外网映射IPsec报文实现NAT穿越的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103369065A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103369065B (zh) | 一种报文转发方法及设备 | |
CN104639414B (zh) | 一种报文转发方法和设备 | |
CN102739541B (zh) | 一种路由功能启动及数据传输的方法、设备和系统 | |
US20160330045A1 (en) | Packet tunneling method, switching device, and control device | |
CN112840618B (zh) | 网络路由的方法和系统 | |
CN104468625B (zh) | 拨号隧道代理装置、利用拨号隧道穿越nat的方法 | |
CN104022936B (zh) | 一种隧道建立方法和装置 | |
CN102577330A (zh) | 用于在网络环境中提供转换机制的装置、逻辑和方法 | |
CN102546349B (zh) | 一种报文转发方法和设备 | |
WO2021174943A1 (zh) | 数据转发方法、装置、设备和存储介质 | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN105553810A (zh) | 一种转发专线业务报文的方法及装置 | |
CN107135118B (zh) | 一种单播通信方法、网关以及vxlan接入设备 | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
CN104780110B (zh) | 一种虚拟机迁移时的报文传输方法和设备 | |
CN105610672B (zh) | 一种信息传输的方法及装置 | |
CN103986637B (zh) | 一种差错报文处理方法及隧道设备 | |
US11849381B2 (en) | Use of IP networks for routing of cellular data packets | |
US20090147759A1 (en) | Method and apparatus for supporting mobility of node using layer 2/layer 3 addresses | |
CN102546845B (zh) | 业务访问方法、装置及系统 | |
CN104363176A (zh) | 一种报文控制的方法和设备 | |
CN103024096A (zh) | 一种在cgn网络中快速互联网访问的方法 | |
CA3216581A1 (en) | Pfcp session load balancer | |
CN103401785B (zh) | 一种报文传输系统、方法及路由设备 | |
CN101667971A (zh) | 发送、接收报文的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |