CN101488904B - Gre隧道穿越网络地址转换设备的方法和网络地址转换设备 - Google Patents

Gre隧道穿越网络地址转换设备的方法和网络地址转换设备 Download PDF

Info

Publication number
CN101488904B
CN101488904B CN2009101188017A CN200910118801A CN101488904B CN 101488904 B CN101488904 B CN 101488904B CN 2009101188017 A CN2009101188017 A CN 2009101188017A CN 200910118801 A CN200910118801 A CN 200910118801A CN 101488904 B CN101488904 B CN 101488904B
Authority
CN
China
Prior art keywords
gre
message
address
sign
translation apparatus
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
Application number
CN2009101188017A
Other languages
English (en)
Other versions
CN101488904A (zh
Inventor
王军
周迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009101188017A priority Critical patent/CN101488904B/zh
Publication of CN101488904A publication Critical patent/CN101488904A/zh
Application granted granted Critical
Publication of CN101488904B publication Critical patent/CN101488904B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种GRE隧道穿越网络地址转换设备的方法以及网络地址转换设备,应用于通过网络地址转换设备分隔的私网与公网,所述私网中具有多个私网设备,所述公网中具有一公网设备,所述网络地址转换设备通过唯一的公网地址与所述公网设备连接。本发明中,通过在网络地址转换设备收发的GRE报文中携带GRE标识,使得网络地址转换设备可以根据GRE标识对来自私网侧的不同数据流进行区分,可以利用有限的公网地址在私网侧与公网侧之间建立大量的GRE隧道,实现了GRE隧道穿越网络地址转换设备。

Description

GRE隧道穿越网络地址转换设备的方法和网络地址转换设备
技术领域
本发明涉及通信技术领域,特别涉及一种GRE(Generic RoutingEncapsulation,通用路由封装)隧道穿越网络地址转换设备的方法和网络地址转换设备。
背景技术
现有技术提出的GRE协议中,对某些网络层协议如IP(Internet Protocol,因特网协议)和IPX(Internet work Packet Exchange,网间数据包交换)协议等的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议如IP中传输。GRE协议是VPN(Virtual Private Network,虚拟专用网)的第三层隧道协议,在协议层之间采用了Tunnel(隧道)的技术。Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并在Tunnel的两端分别对数据报进行封装和解封装。
NAT(Network Address Translation,网络地址转换)是将IP数据报文报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公共IP地址代表较多的私有IP地址的方式,将有助于减缓可用IP地址空间的枯竭。目前网络中部署NAT设备时最常用的一种应用场景如图1所示。
图1中,LAN(Local Area Network,局域网)1和LAN2是运行IP协议的本地网,Router A与Router B之间采用GRE协议封装的隧道(Tunnel)。目前的NAT基本上都是采用NAPT(Network Address Port Translation,网络地址端口转换)方式,NAPT技术是一种NAT技术的变形,它允许多个私有地址映射到同一个公有地址,也可称为“多对一地址转换”或“地址复用”。使用NAPT技术可以节约公网地址,在IPV4地址日渐匮乏时,该技术的用处尤为广泛。 但是对于这种NAPT方式,GRE隧道是无法穿越的。其原因在于NAPT采用的端口是利用UDP(User Datagram Protocol,用户数据报协议)或TCP(Transmission Control Protocol,传输控制协议)报文里的端口,而GRE报文封装在IP报文中,而不是封装在UDP或TCP报文中,所以在GRE报文里不存在端口号。导致现有技术是无法解决GRE隧道对NAPT的穿越。
基于上述原因,现有技术中为了实现GRE隧道,网络地址转换设备必须对Router A的私网地址与公网地址进行一对一的静态映射,需要大量的公网IP地址。这就违背了使用NAT技术的初衷。现有技术中,在公网地址有限的情况下如果又需要使用GRE隧道,则无法实现。
发明内容
本发明提供一种GRE隧道穿越网络地址转换设备的方法和网络地址转换设备,用于在公网地址有限的情况下实现GRE隧道穿越网络地址转换设备。
为达到上述目的,本发明提供一种通用路由封装GRE隧道穿越网络地址转换设备的方法,应用于通过网络地址转换设备分隔的私网与公网,所述私网中具有多个私网设备,所述公网中具有一公网设备,所述网络地址转换设备通过唯一的公网地址与所述公网设备连接;所述方法包括:
网络地址转换设备接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址;
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文,并将所述第二GRE报文向公网设备发送,所述第二GRE报文中携带第二GRE标识;并维护记录有所述第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项;
所述网络地址转换设备接收所述公网设备发送的携带所述第二GRE标识 的第三GRE报文,根据所述第二GRE标识查询所述表项获得所述第一GRE标识以及私网设备IP地址;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文并发送至所述私网设备。
其中,所述网络地址转换设备接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址前还包括:
所述网络地址转换设备与所述私网设备间建立第一GRE隧道,并启用对所述第一GRE隧道的密钥认证,所述第一GRE隧道的密钥为所述第一GRE标识。
其中,所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文前,还包括:
所述网络地址转换设备与所述公网设备间建立第二GRE隧道,并启用对所述第二GRE隧道的密钥认证,所述第二GRE隧道的密钥为所述第二GRE标识。
其中,所述网络地址转换设备与所述公网设备间建立第二GRE隧道包括:
所述网络地址转换设备对所述第一GRE报文解封装,得到作为目的地址的所述公网设备的IP地址;根据所述公网设备的IP地址,与所述公网设备间建立第二GRE隧道。
其中,所述第一GRE标识与第二GRE标识不同时,
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文包括:所述网络地址转换设备对所述第一GRE报文进行解封装得到的内容重新进行封装得到第二GRE报文,所述第二GRE报文中携带第二GRE标识;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文包括:所述网络地址转换设备对所 述第三GRE报文进行解封装得到的内容重新进行封装得到第四GRE报文,所述四GRE报文中携带第一GRE标识。
其中,所述第一GRE标识与第二GRE标识相同时,
所述网络地址转换设备维护记录的表项中包括所述第一GRE标识、私网设备IP地址、公网设备IP地址的对应关系;
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文包括:所述网络地址转换设备将所述第一GRE报文的源地址修改为自身的IP地址,得到第二GRE报文;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文包括:所述网络地址转换设备将所述第三GRE报文的目的地址修改为所述私网设备IP地址,得到第四GRE报文。
本发明还提供一种网络地址转换设备,所述网络地址转换设备分隔私网与公网,所述私网中具有多个私网设备,所述公网中具有一公网设备,所述网络地址转换设备通过唯一的公网地址与所述公网设备连接;所述网络地址转换设备包括私网侧转发单元、公网侧转发单元和对应关系记录单元:
所述私网侧转发单元,用于接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址;当所述公网侧转发单元接收到携带第二GRE标识的第三GRE报文时,所述私网侧转发单元根据所述对应关系记录单元记录的表项获取与所述第二GRE标识对应的第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文并发送至所述私网设备;
公网侧转发单元,用于对所述私网侧转发单元接收的第一GRE报文处理得到第二GRE报文,根据与所述公网设备间的第二GRE隧道向所述公网设备发送所述第二GRE报文,所述第二GRE报文中携带第二GRE标识;接收所述公网设备发送的第三GRE报文,所述第三GRE报文中携带第二GRE标 识;
对应关系记录单元,用于维护记录有所述第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项。
其中,还包括:第一GRE隧道建立单元,用于与所述私网设备间建立第一GRE隧道,并启用对所述第一GRE隧道的密钥认证,所述第一GRE隧道的密钥为所述第一GRE标识。
其中,还包括:第二GRE隧道建立单元,用于与所述公网设备间建立第二GRE隧道,并启用对所述第二GRE隧道的密钥认证,所述第二GRE隧道的密钥为所述第二GRE标识。
其中,所述第二GRE隧道建立单元包括:
第二建立子单元,用于对所述第一GRE报文解封装,得到作为目的地址的所述公网设备的IP地址;根据所述公网设备的IP地址,与所述公网设备间建立第二GRE隧道。
其中,所述第一GRE标识与第二GRE标识不同时,
所述公网侧转发单元,具体用于对所述第一GRE报文进行解封装得到的内容重新进行封装得到第二GRE报文,所述第二GRE报文中携带第二GRE标识;
所述私网侧转发单元,具体用于对所述第三GRE报文进行解封装得到的内容重新进行封装得到第四GRE报文,所述第四GRE报文中携带第一GRE标识。
其中,所述第一GRE标识与第二GRE标识相同时,
所述对应关系记录单元,用于维护记录包括所述第一GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项;
所述公网侧转发单元,具体用于将所述第一GRE报文的源地址修改为自身的IP地址,得到第二GRE报文;
所述私网侧转发单元,具体用于将所述第三GRE报文的目的地址修改为所述私网设备IP地址,得到第四GRE报文。
与现有技术相比,本发明具有以下优点:
本发明中通过在网络地址转换设备收发的GRE报文中携带GRE标识,使得网络地址转换设备可以根据GRE标识对来自私网侧的不同数据流进行区分,可以利用有限的公网地址在私网侧与公网侧之间建立大量的GRE隧道,实现了GRE隧道穿越网络地址转换设备。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中部署NAT设备的一应用场景示意图;
图2是本发明中GRE隧道穿越网络地址转换设备的方法流程图;
图3是本发明中GRE隧道穿越NAPT设备的方法的一应用场景示意图;
图4是本发明应用场景中中GRE隧道穿越NAPT设备的一方法流程图;
图5是本发明应用场景中中GRE隧道穿越NAPT设备的另一方法流程图;
图6是本发明中网络地址转换设备的结构示意图;
图7是本发明中网络地址转换设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种GRE隧道穿越网络地址转换设备的方法,应用于通过网络地址转换设备分隔的私网与公网,该私网中具有多个私网设备,该公网中具有一公网设备,网络地址转换设备通过唯一的公网地址与所述公网设备连接;该方法如图2所示,包括:
步骤s201、网络地址转换设备接收私网设备通过第一GRE隧道发送的第一GRE报文,记录GRE报文中携带的第一GRE标识和发送GRE报文的私网设备IP地址。
步骤s202、网络地址转换设备根据与公网设备间的第二GRE隧道,处理第一GRE报文得到第二GRE报文,第二GRE报文中携带第二GRE标识;并维护记录有第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项。
步骤s203、网络地址转换设备接收公网设备发送的携带第二GRE标识的第三GRE报文,根据第二GRE标识查询表项获得第一GRE标识以及私网设备IP地址。
步骤s204、网络地址转换设备根据第一GRE标识以及私网设备IP地址,处理第三GRE报文得到第四GRE报文并发送至私网设备。
本发明提供的方法中,通过在网络地址转换设备收发的GRE报文中携带GRE标识,使得网络地址转换设备可以根据GRE标识对来自私网侧的不同数据流进行区分,可以利用有限的公网地址在私网侧与公网侧之间建立大量的GRE隧道,实现了GRE隧道穿越网络地址转换设备。
本发明的一应用场景如图3所示,以网络地址转换设备为NAPT设备、网络设备为路由器设备为例,说明本发明一种GRE隧道穿越网络地址转换设备的具体应用。其中路由器A(地址为10.0.0.3)与路由器B(地址为10.0.0.2)都处于NAPT设备后的私有网络(以下简称为私网,也可以称为内部网络或内网)中,NTPT设备上的公网(或称为外网或外部网络)地址只有一个(地址为1.1.1.1)。路由器A和路由器B都需要与外网中的路由器C建立GRE隧道。本发明提供的方法中,GRE报文从内网路由器A到外网路由器C的转发流程包括:
(1)内网路由器与NAPT设备的内网接口建立GRE隧道,并启用接口的密钥认证即GRE KEY认证。在GRE隧道已经建立的情况下,该步骤为可选。
具体的,GRE KEY是指由隧道的封装者在GRE报文中插入的四个字节的数值,KEY定义了在隧道封装者和隧道拆封者之间的业务流,属于同一个业务流的数据报使用同一个KEY值来封装,GRE KEY认证是指若GRE报文头中 的KEY标识位置1,则隧道双方将进行GRE KEY的验证,只有GRE报文中的携带的KEY与隧道两端设置的GRE KEY完全一致时才能通过验证并转发,否则将报文丢弃。
(2)内网路由器通过已建立的GRE隧道向NAPT设备内网侧发送GRE报文。NAPT设备接收到内网路由器发送的GRE报文,记录GRE报文中携带的源IP地址和GRE KEY。
具体的,NAPT设备接收到内网路由器发送的GRE封装报文时,在NAPT设备上建立一映射表,该映射表也可以称为GRE-NAPT映射表,该映射表的表项中记录了NAPT设备内网侧端口收到GRE报文的源IP地址(即内网路由器的IP地址)和GRE KEY字段值,例如可以表示为(Inside IP、GRE KEY)。通过该映射表中的每一表项,记录NAPT设备上的每一个GRE KEY以及与该GRE KEY对应的内网侧GRE隧道。由于不同的内网侧GRE隧道的GRE KEY不同,因此通过GRE KEY,可以区分NAPT设备与内网各路由器之间的多个GRE隧道。
(3)NAPT设备与外网路由器C建立GRE隧道,并启用接口的密钥认证即GRE KEY认证。
具体的,该GRE隧道启用接口的密钥认证即GRE KEY认证;该GRE KEY值可以与步骤s401中的GRE KEY相同,也可以不相同(这里假设为GREKEY’)。
(4)NAPT设备对于接收到的内网侧的GRE报文,解开内网侧GRE封装后再利用外网侧的GRE隧道进行封装并发送,GRE报文就可以到达外网路由器C。同时可以在步骤402中的GRE-NAPT映射表的相应表项中添加外网侧GRE报文的IP地址(即外网路由器的IP地址)和GREKEY,添加后的映射表项可以表示为(Inside IP、GRE KEY、Outside IP、GRE KEY’),即通过该表项记录了两个GRE标识、内网设备IP地址、外网设备IP地址的对应关系。
通过上述步骤,内网路由器A向外网路由器C发送的GRE报文可以到达外网路由器C。
本发明提供的方法中,GRE报文从外网路由器到内网路由器的转发流程 包括:
(1)外网路由器收到NAPT设备发送的GRE报文后,对于向NAPT设备返回的报文同样采取GRE封装,由于采取同一条GRE隧道,因此报文中的GREKEY字段与从NAPT设备接收到的GRE报文中的GRE KEY字段相同,例如为GRE KEY’,此GRE报文的目的IP是NAPT设备的外网地址。
(2)GRE报文到达NAPT设备的外网侧后,NAPT设备可以根据接收到的GRE报文中的GRE KEY’,以及已经存储的表项,得到对应的GRE KEY以及内网设备IP地址。NAPT设备对上述接收到的GRE报文解封装后,根据此信息重新封装GRE报文并通过与内网路由器间的GRE隧道向内网路由器发送,GRE报文的目的地址是Inside IP(即内网路由器设备的IP地址),源地址是NAPT内网侧端口地址,报文中的GRE KEY值是与GRE KEY’对应的GER KEY值。
通过上述步骤,内网路由器A收到了外网路由器C返回的GRE报文;
具体的,以图3所示的场景为例,本发明中GRE隧道穿越NAPT设备的方法如图4所示,包括:
步骤s401、内网路由器A与NAPT设备的内网接口建立GRE隧道,启用GREKEY字段,假设为KEY1,则这时GRE报文的封装内容包括{IP1、IP2、KEY1},其中IP1为内网路由器的地址,IP2为NAPT设备的内网接口地址。
步骤s402、NAPT设备接收到内网路由器A发送的GRE封装报文后,在GRE-NAPT映射表中建立表项记录内网路由器IP地址和GRE KEY的映射关系,形式可以为(Inside IP、GRE KEY);此应用场景中,NAPT设备建立的表项可以为{IP1、KEY1}。
步骤s403、NAPT外网接口与外网路由器C建立GRE隧道,同时启用GREKEY字段,该GRE报文的封装内容包括{IP3、IP4、KEY2},其中IP4为外网路由器的地址,IP3为NAPT设备的外网接口地址,KEY1与KEY2的值可以是一样,也可以不一样,没有具体要求。在步骤s402中建立的GRE-NAPT表项中添加新的内容,得到的表项可以表示为{Inside IP、GRE KEY<内>、Outside IP、GRE KEY<外网>},具体到此实例,该表项就是{IP1、KEY1、IP4、KEY2}, 即一个完整的GRE-NAPT表项,后续的转发需要用到此表项;该表项记录了IP1、IP4、KEY1、KEY2的对应关系,即记录了内网侧GRE隧道标识、外网侧GRE隧道标识、内网设备IP地址以及外网设备IP地址的对应关系。
步骤s404、外网路由器C向NAPT设备发送GRE报文,GRE报文的源地址为IP4,目的地址为IP3,该GRE报文的封装内容包括{IP4、IP3、KEY2}。
步骤s405、NAPT设备收到目的地址是自己外网接口的GRE报文,则解开GRE封装,根据KEY2在GRE-NAPT表项查找与之相匹配的表项,得到通过IP1和KEY1标识的内网侧GRE隧道,则重新封装GRE报文,目的地址是IP1,源地址是IP2,该GRE报文的封装内容包括{IP2、IP1、KEY1}。
步骤s406、内网路由器A就可以收到外网路由器C返回的GRE报文,该GRE报文的封装内容包括{IP2、IP1、KEY1}。
本发明的另一应用场景中,仍以图3所示的网络场景为例,其中路由器A(地址为10.0.0.3)与路由器B(地址为10.0.0.2)都处于NAPT设备后的私有网络中,NTPT设备上的公网地址只有一个(地址为1.1.1.1)。路由器A和路由器B都需要与外网路由器C建立GRE隧道。本发明提供的方法中,GRE报文从内网路由器A到外网路由器C的转发流程包括:
(1)内网路由器A和外网路由器上都配置KEY值,内网路由器A发送源IP是10.0.0.3,目的IP是外网路有的地址1.1.1.2。该GRE报文里带有KEY字段,KEY字段的值为预先在内网路由器A与外网路由器C上配置的KEY值。
(2)NAPT设备侦听内网接口通过GRE隧道接收到的GRE报文。当NAPT设备内网接口收到携带GRE KEY的GRE报文后,用自己的公网接口IP地址(1.1.1.1)作为源IP地址,目的IP地址不变(1.1.1.2),GRE报文里的GRE KEY值也不变,将修改后的GRE报文通过与外网路由器C之间的GRE隧道向外网路由器C发送。同时在NAPT设备上创建一动态映射表,该映射表中的表项记录{内网路由器IP、NAPT内网接口IP、NAPT外网接口IP、外网路由器IP、GREKEY(A)}。由于不同的内网侧GRE隧道的GRE KEY不同,因此通过GRE KEY、内网路由器IP以及外网路由器IP,可以区分NAPT设备与各内网路由器之间的 多个GRE隧道。
(3)外网路由器C收到NAPT设备发出的GRE报文后,同样返回一个带有GRE KEY字段的GRE报文。该GRE报文的目的IP地址是NAPT设备的外网接口地址即1.1.1.1,源IP地址是1.1.1.2,KEY值不变;
(4)NAPT设备收到外网路由器C发送的GRE报文,根据GRE报文的KEY字段查找表项,可以确定应使用内网侧哪一条GRE隧道向哪一台内网路由器转发该报文。具体的,可以在步骤(2)中创建的动态映射表中查找,可以查找到内网侧GRE隧道和路由器IP。之后NAPT设备就把该所收到的GRE报文的目的地址修改为内网路由器IP,KEY保持不变再通过GRE隧道转发,这样内网路由器A就可以收到外网路由器C返回的GRE报文。
具体的,仍以图3所示的场景为例,本发明中GRE隧道穿越NAPT设备的另一方法中,对于内网路由器A与外网路由器间的GRE隧道,在内网路由器A上手工配置GRE KEY设为KEY1,在外网路由器C上也手工配置GRE KEY同样为KEY1。同时在NAPT设备上配置监听GRE KEY值为KEY1的GRE报文。如图5所示,该方法包括:
步骤s501、内网路由器发送GRE封装报文,该报文的目的IP是IP4(即外网设备的IP地址)、源IP是IP1(即内网设备的IP地址)、GRE的KEY值为KEY1;即GRE报文的封装内容包括{IP1、IP4、KEY1}。
步骤s502、NAPT设备在内网接口上监听到KEY值为KEY1的GRE报文,建立映射表,映射表中表项的内容可以为{IP1、IP2、IP3、IP4、KEY1},其中IP2为NAPT设备的内网接口地址,IP3为NAPT设备的外网接口地址,该表想包括了GRE标识、内网设备IP地址以及外网设备IP地址的对应关系。
步骤s503、NAPT设备把该GRE报文的源IP改成外网IP地址即IP3,KEY值报文不变继续转发该GRE报文;即GRE报文的封装内容包括{IP3、IP4、KEY1}。
步骤s504、外网路由器C收到该GRE报文后,返回GRE报文,其中源IP是IP4、目的IP是IP3、GRE KEY值还是KEY1;即GRE报文的封装内容包括{IP4、IP3、KEY1}。
步骤s505、NAPT设备侦听到该GRE报文的KEY值是KEY1,并且是从外网接口收到的该GRE报文,通过KEY1可以查询到对应的与内网路由器间的GRE隧道,即查询到KEY1对应的GRE隧道的对端内网路由器的IP地址为IP1。NAPT设备把该GRE报文的目的地址改为IP1,源IP地址还是IP4,KEY值也保持不变并发送,即GRE报文的封装内容包括{IP4、IP1、KEY1}。
步骤s506、内网路由器A接收到外网路由器C发送的GRE报文。
基于同样的原理,内网路由器B需要通过GRE隧道与外网路由器进行报文交互时,它所发送的GRE报文中的GRE KEY值与内网路由器A发送的GRE报文中的GRE KEY值不同。这样NAPT设备也会建立一张动态映射表{内网路由器B IP、NAPT内网接口IP、NAPT外网接口IP、外网路由器IP、GRE KEY2},通过这个映射表就可以将NAPT设备和内网路由器B间的GRE隧道、以及NAPT设备和内网路由器A间的GRE隧道进行区分,达到了只用一个公网IP地址建立多条GRE隧道的目的。
需要说明的是,本发明提供的上述应用场景以网络地址转换设备为NAPT设备、网络设备为路由器设备为例,说明了本发明一种GRE隧道穿越网络地址转换设备的具体应用,但是在实际应用中网络地址转换设备并不限于NAPT设备,网络设备也不限于路由器设备,将本发明所描述的方法应用于其他网络场景仍属于本发明的保护范围。
通过使用本发明提供的方法,在网络地址转换设备收发的GRE报文中携带GRE标识,使得网络地址转换设备可以根据GRE标识对来自私网侧的不同数据流进行区分,可以利用有限的公网地址在私网侧与公网侧之间建立大量的GRE隧道,实现了GRE隧道穿越网络地址转换设备。
本发明还提供一种网络地址转换设备,网络地址转换设备分隔私网与公网,私网中具有多个私网设备,公网中具有一公网设备,网络地址转换设备通过唯一的公网地址与公网路由器连接;如图6所示,该网络地址转换设备包括私网侧转发单元10、公网侧转发单元20和对应关系记录单元30,其中:
私网侧转发单元10,用于接收私网设备通过第一GRE隧道发送的第一GRE报文,记录GRE报文中携带的第一GRE标识和发送GRE报文的私网设 备IP地址;当公网侧转发单元20接收到携带第二GRE标识的第三GRE报文时,根据对应关系记录单元30记录的表项获取与第二GRE标识对应的第一GRE标识以及私网设备IP地址,处理第三GRE报文得到第四GRE报文并发送至私网设备;
公网侧转发单元20,用于对私网侧转发单元10接收的第一GRE报文处理得到第二GRE报文,根据与公网设备间的第二GRE隧道向公网设备发送第二GRE报文,第二GRE报文中携带第二GRE标识;接收公网设备发送的第三GRE报文,第三GRE报文中携带第二GRE标识;
对应关系记录单元30,用于根据私网侧转发单元10和公网侧转发单元20收发的GRE报文,维护记录有第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项,并将该表项提供给私网侧转发单元10。
另外,如图7所示,该网络地址转换设备中还包括:
第一GRE隧道建立单元40,用于与私网设备间建立第一GRE隧道,并启用对第一GRE隧道的密钥认证,第一GRE隧道的密钥为第一GRE标识。
第二GRE隧道建立单元50,用于与公网设备间建立第二GRE隧道,并启用对第二GRE隧道的密钥认证,第二GRE隧道的密钥为第二GRE标识。
该第二GRE隧道建立单元50可以进一步包括:
第一建立子单元51,用于预先配置公网设备的地址,并配置将来自私网路由器的GRE报文向公网设备发送;在私网侧转发单元10接收到第一GRE报文时,根据配置的公网设备的地址,与公网设备间建立第二GRE隧道;或
第二建立子单元52,用于对第一GRE报文解封装,得到作为目的地址的公网设备的地址;根据公网设备的地址,与公网设备间建立第二GRE隧道。
另外,第一GRE标识与第二GRE标识相同或不同。
当第一GRE标识与第二GRE标识不同时,
公网侧转发单元20,具体用于对所述第一GRE报文进行解封装得到的内容重新进行封装得到第二GRE报文,第二GRE报文中携带第二GRE标识;
私网侧转发单元10,具体用于对第三GRE报文进行解封装得到的内容重 新进行封装得到第四GRE报文,第四GRE报文中携带第一GRE标识。
当第一GRE标识与第二GRE标识相同时,
对应关系记录单元30,用于维护记录包括第一GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项;
公网侧转发单元20,具体用于将第一GRE报文的源地址修改为自身的IP地址,得到第二GRE报文;
私网侧转发单元10,具体用于将第三GRE报文的目的地址修改为私网设备IP地址,得到第四GRE报文。
通过使用本发明提供的设备,在网络地址转换设备收发的GRE报文中携带GRE标识,使得网络地址转换设备可以根据GRE标识对来自私网侧的不同数据流进行区分,可以利用有限的公网地址在私网侧与公网侧之间建立大量的GRE隧道,实现了GRE隧道穿越网络地址转换设备。
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (12)

1.一种通用路由封装GRE隧道穿越网络地址转换设备的方法,应用于通过网络地址转换设备分隔的私网与公网,所述私网中具有多个私网设备,所述公网中具有一公网设备,所述网络地址转换设备通过唯一的公网地址与所述公网设备连接;其特征在于,所述方法包括:
网络地址转换设备接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址;
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文,并将所述第二GRE报文向公网设备发送,所述第二GRE报文中携带第二GRE标识;并维护记录有所述第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项;
所述网络地址转换设备接收所述公网设备发送的携带所述第二GRE标识的第三GRE报文,根据所述第二GRE标识查询所述表项获得所述第一GRE标识以及私网设备IP地址;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文并发送至所述私网设备。
2.如权利要求1所述的方法,其特征在于,所述网络地址转换设备接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址前还包括:
所述网络地址转换设备与所述私网设备间建立第一GRE隧道,并启用对所述第一GRE隧道的密钥认证,所述第一GRE隧道的密钥为所述第一GRE标识。
3.如权利要求1所述的方法,其特征在于,所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文前,还包括:
所述网络地址转换设备与所述公网设备间建立第二GRE隧道,并启用对所述第二GRE隧道的密钥认证,所述第二GRE隧道的密钥为所述第二GRE标识。
4.如权利要求3所述的方法,其特征在于,所述网络地址转换设备与所述公网设备间建立第二GRE隧道包括:
所述网络地址转换设备对所述第一GRE报文解封装,得到作为目的地址的所述公网设备的IP地址;根据所述公网设备的IP地址,与所述公网设备间建立第二GRE隧道。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述第一GRE标识与第二GRE标识不同时,
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文包括:所述网络地址转换设备对所述第一GRE报文进行解封装得到的内容重新进行封装得到第二GRE报文,所述第二GRE报文中携带第二GRE标识;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文包括:所述网络地址转换设备对所述第三GRE报文进行解封装得到的内容重新进行封装得到第四GRE报文,所述四GRE报文中携带第一GRE标识。
6.如权利要求1至4中任一项所述的方法,其特征在于,所述第一GRE标识与第二GRE标识相同时,
所述网络地址转换设备维护记录的表项中包括所述第一GRE标识、私网设备IP地址、公网设备IP地址的对应关系;
所述网络地址转换设备根据与所述公网设备间的第二GRE隧道,处理所述第一GRE报文得到第二GRE报文包括:所述网络地址转换设备将所述第一GRE报文的源地址修改为自身的IP地址,得到第二GRE报文;
所述网络地址转换设备根据所述第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文包括:所述网络地址转换设备将所述第三GRE报文的目的地址修改为所述私网设备IP地址,得到第四GRE报文。
7.一种网络地址转换设备,所述网络地址转换设备分隔私网与公网,所述私网中具有多个私网设备,所述公网中具有一公网设备,所述网络地址转换设备通过唯一的公网地址与所述公网设备连接;其特征在于,所述网络地址转换设备包括私网侧转发单元、公网侧转发单元和对应关系记录单元:
所述私网侧转发单元,用于接收私网设备通过第一GRE隧道发送的第一GRE报文,记录所述GRE报文中携带的第一GRE标识和发送所述GRE报文的私网设备IP地址;当所述公网侧转发单元接收到携带第二GRE标识的第三GRE报文时,所述私网侧转发单元根据所述对应关系记录单元记录的表项获取与所述第二GRE标识对应的第一GRE标识以及私网设备IP地址,处理所述第三GRE报文得到第四GRE报文并发送至所述私网设备;
公网侧转发单元,用于对所述私网侧转发单元接收的第一GRE报文处理得到第二GRE报文,根据与所述公网设备间的第二GRE隧道向所述公网设备发送所述第二GRE报文,所述第二GRE报文中携带第二GRE标识;接收所述公网设备发送的第三GRE报文,所述第三GRE报文中携带第二GRE标识;
对应关系记录单元,用于维护记录有所述第一GRE标识、第二GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项。
8.如权利要求7所述的网络地址转换设备,其特征在于,还包括:
第一GRE隧道建立单元,用于与所述私网设备间建立第一GRE隧道,并启用对所述第一GRE隧道的密钥认证,所述第一GRE隧道的密钥为所述第一GRE标识。
9.如权利要求7所述的网络地址转换设备,其特征在于,还包括:
第二GRE隧道建立单元,用于与所述公网设备间建立第二GRE隧道,并启用对所述第二GRE隧道的密钥认证,所述第二GRE隧道的密钥为所述第二GRE标识。
10.如权利要求9所述的网络地址转换设备,其特征在于,所述第二GRE隧道建立单元包括:
第二建立子单元,用于对所述第一GRE报文解封装,得到作为目的地址的所述公网设备的IP地址,根据所述公网设备的IP地址,与所述公网设备间建立第二GRE隧道。
11.如权利要求7至10中任一项所述的网络地址转换设备,其特征在于,所述第一GRE标识与第二GRE标识不同时,
所述公网侧转发单元,具体用于对所述第一GRE报文进行解封装得到的内容重新进行封装得到第二GRE报文,所述第二GRE报文中携带第二GRE标识;
所述私网侧转发单元,具体用于对所述第三GRE报文进行解封装得到的内容重新进行封装得到第四GRE报文,所述第四GRE报文中携带第一GRE标识。
12.如权利要求7至10中任一项所述的网络地址转换设备,其特征在于,所述第一GRE标识与第二GRE标识相同时,
所述对应关系记录单元,用于维护记录包括所述第一GRE标识、私网设备IP地址、公网设备IP地址的对应关系的表项;
所述公网侧转发单元,具体用于将所述第一GRE报文的源地址修改为自身的IP地址,得到第二GRE报文;
所述私网侧转发单元,具体用于将所述第三GRE报文的目的地址修改为所述私网设备IP地址,得到第四GRE报文。
CN2009101188017A 2009-02-27 2009-02-27 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备 Active CN101488904B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101188017A CN101488904B (zh) 2009-02-27 2009-02-27 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101188017A CN101488904B (zh) 2009-02-27 2009-02-27 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备

Publications (2)

Publication Number Publication Date
CN101488904A CN101488904A (zh) 2009-07-22
CN101488904B true CN101488904B (zh) 2011-08-03

Family

ID=40891589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101188017A Active CN101488904B (zh) 2009-02-27 2009-02-27 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备

Country Status (1)

Country Link
CN (1) CN101488904B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841475B (zh) * 2010-04-21 2011-12-28 北京星网锐捷网络技术有限公司 Gre路由器性能测试系统及方法
CN102480530B (zh) * 2010-11-25 2015-07-22 华为技术有限公司 一种报文发送方法及装置
CN102624935A (zh) * 2011-01-26 2012-08-01 华为技术有限公司 一种转发报文的方法,装置和系统
CN102231702B (zh) * 2011-06-23 2014-10-22 中国人民解放军国防科学技术大学 一种跨公共网络的标识网络间的端到端的通信方法和系统
CN103220377A (zh) * 2012-05-08 2013-07-24 西北工业大学 一种nat穿越以及带宽复用的系统和方法
CN102946352B (zh) * 2012-10-31 2016-05-04 杭州华三通信技术有限公司 一种基于IPsec的NAT转换表项管理方法和设备
CN102916865B (zh) * 2012-11-08 2015-09-09 浙江宇视科技有限公司 一种监控业务管理方法及装置
CN104427010B (zh) 2013-08-30 2018-02-09 新华三技术有限公司 应用于动态虚拟专用网络的网络地址转换方法和装置
CN104301133B (zh) * 2014-08-08 2018-03-16 新华三技术有限公司 一种通用路由封装键值的管理方法及设备
CN107306198B (zh) * 2016-04-20 2019-12-06 华为技术有限公司 报文转发方法、设备和系统
CN106713296B (zh) * 2016-12-15 2020-05-01 天津交控科技有限公司 正线与试车线的数据隔离方法及用于该方法的通信设备
CN107659485B (zh) * 2017-10-31 2021-02-05 新华三技术有限公司 一种虚拟专用网络vpn中的设备与服务器通信的方法及装置
CN110505620B (zh) * 2018-05-17 2021-06-11 大唐移动通信设备有限公司 一种通信方法、管理站及热点设备
CN112187500A (zh) * 2019-07-04 2021-01-05 中兴通讯股份有限公司 一种网元管理装置及报文的处理方法
CN112751946B (zh) * 2019-10-31 2023-11-24 中国移动通信有限公司研究院 一种隧道建立方法、装置、设备及计算机可读存储介质
CN113067911B (zh) * 2020-01-02 2023-06-30 中国移动通信有限公司研究院 一种nat穿越方法、装置、电子设备和存储介质
CN113259497A (zh) * 2020-02-07 2021-08-13 华为技术有限公司 传输报文的方法、装置、存储介质和系统
CN114006788B (zh) * 2020-11-30 2023-03-21 易识科技(广东)有限责任公司 一种建立双向隧道的控制方法及系统
CN114024741B (zh) * 2021-11-03 2024-04-09 深信服科技股份有限公司 请求处理方法、装置、流量代理端、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119272A (zh) * 2007-08-14 2008-02-06 杭州华三通信技术有限公司 配置gre隧道的方法及路由器
CN101193130A (zh) * 2006-11-21 2008-06-04 中兴通讯股份有限公司 移动IPv6中穿越网络地址转换的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193130A (zh) * 2006-11-21 2008-06-04 中兴通讯股份有限公司 移动IPv6中穿越网络地址转换的方法
CN101119272A (zh) * 2007-08-14 2008-02-06 杭州华三通信技术有限公司 配置gre隧道的方法及路由器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈辉煌等.穿越动态NAT的IPv6 over IPv4隧道方案.《电力系统通信》.2009,第30卷(第196期), *

Also Published As

Publication number Publication date
CN101488904A (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
CN101488904B (zh) Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
CN101087296B (zh) 利用网络处理器实现IPv4/IPv6网络协议转换的方法
US10587512B2 (en) Stateless protocol translation
EP2206052B1 (en) Methods and apparatus for managing addresses related to virtual partitions of a session exchange device
EP2893676B1 (en) Packet forwarding
CN103200069B (zh) 一种报文处理的方法和设备
US9160714B2 (en) Using tunneling to enhance remote LAN connectivity
WO2010057386A1 (zh) 数据包转发方法、系统及设备
CN102938795B (zh) 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法
US9185072B2 (en) Stateless NAT44
CN103227757A (zh) 一种报文转发方法及设备
US20060029081A1 (en) Network address translation method and apparatus thereof
KR20130112863A (ko) 사설 ipv4 도달가능성으로 ds-라이트 향상
CN102255982A (zh) 一种IPv4/IPv6转换网关以及转换方法
US20090016360A1 (en) Storage media storing a network relay control program, apparatus, and method
CN104038422B (zh) 报文转发方法和网关
CN102572008A (zh) 通信业务处理方法与系统、网关设备
CN112187674B (zh) 支持IPv4和IPv6双栈混合的网络结构和组网方法
KR100896438B1 (ko) IPv6를 IPv4네트워크망으로 터널링하기 위한 시스템및 IPv6패킷 변환방법
CN109246016B (zh) 跨vxlan的报文处理方法和装置
US20150032898A1 (en) Method for establishing a virtual community network connection and a system for implementing said method
KR100336998B1 (ko) 발신지 주소에 의한 네트워크 주소 변환 방법
US20060002384A1 (en) Network system and connecting method thereof
KR100562390B1 (ko) 호스트 라우팅과 IP Aliasing 기법을 이용한 네트워크 데이터 플로우 식별 방법 및 시스템
Isaac Comparative Analysis of IPV4 and IPV6

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee 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

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address