CN103338151B - 公网客户端访问私网服务器的方法及路由器 - Google Patents
公网客户端访问私网服务器的方法及路由器 Download PDFInfo
- Publication number
- CN103338151B CN103338151B CN201310286790.XA CN201310286790A CN103338151B CN 103338151 B CN103338151 B CN 103338151B CN 201310286790 A CN201310286790 A CN 201310286790A CN 103338151 B CN103338151 B CN 103338151B
- Authority
- CN
- China
- Prior art keywords
- address
- domain name
- private network
- tunnel
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006855 networking Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 59
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 54
- 230000009977 dual effect Effects 0.000 claims description 20
- 238000005538 encapsulation Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 230000004083 survival effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出公网客户端访问私网服务器的方法及路由器,应用于DS‑Lite组网中。方法包括:AFTR接收公网客户端发来的数据报文,报文的目的IP地址为私网服务器的公网IPv4地址,AFTR根据目的IP地址,在自身配置的私网服务器的域名及公网IPv4地址中,查询对应的域名;AFTR根据查询到的域名,向双栈DNS查询对应的私网IPv4地址,并获得B4设备的IPv6地址,以查询到的私网IPv4地址替换报文的目的IP地址,以查询到的IPv6地址作为隧道目的地址,将报文发送出去。本发明实现了DS‑Lite组网下,公网客户端对私网服务器的访问。
Description
技术领域
本发明涉及双栈精简(DS-Lite,Dual Stack Lite)技术领域,尤其涉及DS-Lite组网下公网客户端访问私网服务器的方法及地址族转换路由器(AFTR,Address FamilyTransition Router)。
背景技术
随着互联网的发展,IPv4地址已经耗尽,IPv6网络终将取代现有的IPv4网络而成为互联网的骨干网络,然而出于成本、技术限制等诸多原因,目前以IPv4地址提供服务的互联网主机仍将在相当长的时间里存在,现有的IPv4服务仍然得继续提供。为了更好地平衡因特网服务提供商(ISP,Internet Service Provider)进行网络部署的投入产出,出现了一种轻量级的双栈技术:DS-Lite技术,支持该技术的节点可同时运行IPv4和IPv6两套协议栈。它使得IPv4服务能继续提供,又鼓励了IPv6服务的扩张,并简化了部署过程。
图1为现有的DS-Lite组网模型,如图1所示:
在运营商局端部署AFTR,用户侧部署基本桥接宽带(B4,Basic BridgingBroadBand)设备,AFTR和B4设备之间使用IPv6地址进行通信;
AFTR上建立一个一对多的IPv4over IPv6隧道,B4设备上建立一对一的IPv4overIPv6隧道,这样,一个AFTR可以同时连接多个B4设备;
B4设备连接的客户端(Client)使用私网IPv4地址,不同的B4设备用户之间的IPv4地址可以重叠;
当连接到B4设备的Client发起到公网服务器(Server)的IPv4连接时,B4设备为IPv4报文封装IPv6报文头,送到AFTR;
AFTR解封装IPv6报文,记录该报文来自的B4设备的IPv6地址,取出内层的IPv4报文,进行网络地址转换(NAT,Network Address Transformation),将私网IP地址转为公网IP地址,发到公网Server。
公网Server回应的报文到达AFTR时,先进行NAT,将公网IP地址转换为私网IP地址,然后根据NAT表项中记录的B4设备的IPv6地址封装Ipv6头,送回给对应的B4设备,完成整个通信过程。
同时,为了进一步简化配置,DS-Lite协议定义了一种动态主机配置协议(DHCPv6,Dynamic Host Configuration Protocol Version6)选项,B4设备可以使用该选项自动获取AFTR的域名并进一步根据域名通过域名服务器(DNS,Domain Name Server)解析出AFTR的IPv6地址。
现有的DS-Lite组网中的报文处理过程,其实现方案都是遵循DS-Lite协议,其具体过程如下:
在B4设备上手工指定IPv4over IPv6隧道的源/目的IPv6地址;当B4设备下的IPv4Client向公网的IPv4Server发起请求时,B4设备的出接口以隧道源IPv6地址作为封装源地址,以AFTR的IPv6地址作为封装目的地址,将封装形成的IPv6报文发往IPv6网络,最终到达AFTR;AFTR解封装,然后进行NAT,将转换地址后的IPv4报文发给公网IPv4Server。
DS-Lite在AFTR上的实现可以分为DS-Lite隧道(Tunnel)和DS-Lite NAT两部分,其中DS-Lite Tunnel完成多个B4设备对应一个AFTR的IPv4inIPv6封装/解封装,DS-LiteNAT对解封装后的报文进行源IPv4地址转换的处理。
AFTR上的会话记录了报文的源/目的IP地址、源/目的端口、协议以及DS-Litetunnel对等体(peer),其中,DS-Lite tunnel peer用于记录封装报文的IPv6地址。DS-Lite隧道建立之后,对于来自B4设备的隧道报文,在IPv4over IPv6隧道基础上,增加了根据封装后报文的源IP地址确定Tunnel ID并创建会话的处理;对于将要发往B4设备的IPv4报文,需要根据所属会话来确定封装的IPv6报文头的目的地址。只要报文能够匹配会话,就能找到NAT表项和DS-LiteTunnel Peer,即可依照会话进行处理。
现有技术的缺点如下:
DS-Lite隧道只支持用户网络内的IPv4Client主动访问因特网上的IPv4Server,即从B4设备端先发起连接,因特网上的IPv4Client不能主动访问用户侧网络。但实际的网络中,私网server对外提供服务也是很常见的使用场景,现有技术无法实现公网client主动访问私网server。
发明内容
本发明提供公网Client访问私网Server的方法及AFTR,以实现DS-Lite组网下,公网Client可以访问私网Server。
本发明的技术方案是这样实现的:
一种公网客户端访问私网服务器的方法,应用于双栈DS精简组网中,对于每个私网服务器,IPv6网络的双栈域名服务器DNS上配置有该私网服务器的域名及私网IPv4地址,地址族转换路由器AFTR上配置有该私网服务器的域名及公网IPv4地址,该方法包括:
AFTR接收公网客户端发来的数据报文,该报文的目的IP地址为私网服务器的公网IPv4地址,根据报文的目的IP地址,在自身配置的私网服务器的域名及公网IPv4地址中查询得到对应的域名;
AFTR根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址;
AFTR以获得的私网IPv4地址替换报文的目的IP地址,以自身的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以获得的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去。
所述DS精简组网中,对于每个私网服务器,IPv6网络的双栈DNS上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址包括:
AFTR根据查询到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址的同时,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址。
所述DS精简组网中,对于每个私网服务器,AFTR上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址包括:
AFTR根据查询得到的域名,在自身配置的私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址;
或者,AFTR在根据报文的目的IP地址查询得到对应的域名时,在自身配置的私网服务器的域名、公网IPv4地址及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,同时查询得到对应的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址。
所述AFTR接收公网客户端发来的数据报文之后、查询得到对应的域名之前进一步包括:
AFTR判断是否已存在与该报文对应的会话,若是,则按照会话中的网络地址转换NAT后的目的IP地址,对报文的目的IP地址进行NAT处理,按照会话中的隧道的源、目的IP地址,对报文进行隧道封装,将报文发送出去;否则,执行所述查询得到对应的域名的动作;
且,所述获得与所述域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址之后进一步包括:
AFTR创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
当AFTR判定不存在与该报文对应的会话时,所述查询得到对应的域名之后、向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址之前进一步包括:
AFTR根据所述域名,判断自身是否已存在与该报文对应的DS精简服务器映射表项,若存在,则根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以自身的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址;否则,执行所述向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址的动作。
一种AFTR,位于DS精简组网中,对于每个私网服务器,IPv6网络的双栈域名服务器DNS上配置有该私网服务器的域名及私网IPv4地址,地址族转换路由器AFTR上配置有该私网服务器的域名及公网IPv4地址;该AFTR包括:
查询模块:用于接收公网客户端发来的数据报文,该报文的目的IP地址为私网服务器的公网IPv4地址,并用于根据报文的目的IP地址,在AFTR上配置的私网服务器的域名及公网IPv4地址中查询得到对应的域名;以及用于根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址;
NAT及转发模块:用于以查询模块发来的私网IPv4地址替换报文的目的IP地址,以本AFTR的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以查询模块发来的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去。
对于每个私网服务器,IPv6网络的双栈域名服务器DNS上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述查询模块具体用于,根据查询到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址的同时,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址。
对于每个私网服务器,AFTR上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述查询模块具体用于,根据查询得到的域名,在AFTR上配置的私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址;
或者,在根据报文的目的IP地址查询得到对应的域名时,在AFTR上配置的私网服务器的域名、公网IPv4地址及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,同时查询得到对应的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址。
所述查询模块进一步用于,在接收公网客户端发来的数据报文之后、查询得到对应的域名之前进一步判断是否已存在与该报文对应的会话,若是,则将该会话和该报文发送给NAT及转发模块;否则,执行所述查询对应的域名的动作;
且,所述NAT及转发模块进一步用于,当接收到查询模块发来的会话和报文时,按照会话中的NAT后的目的IP地址,对报文的目的IP地址进行NAT处理,按照会话中的隧道的源、目的IP地址,对报文进行隧道封装,将报文发送出去;且,创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
所述查询模块进一步用于,当判定不存在与该报文对应的会话时,查询得到对应的域名之后、向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址之前进一步根据所述域名判断是否已存在与该报文对应的DS精简服务器映射表项,若存在,则将该表项和该报文发送给NAT及转发模块;否则,执行所述向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址的动作;
且,所述NAT及转发模块进一步用于,当接收到查询模块发来的表项和报文时,根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以本AFTR的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
可见,本发明实现了DS-Lite组网下公网Client主动访问私网Server,增强了DS-Lite组网的可用性。
附图说明
图1为现有的DS-Lite组网模型示意图;
图2为本发明实施例提供的DS-Lite的组网示例图;
图3为本发明实施例提供的DS-Lite组网下公网Client访问私网Server的方法流程图;
图4为本发明另一实施例提供的DS-Lite组网下公网Client访问私网Server的方法流程图;
图5为本发明应用示例提供的示意图;
图6为本发明实施例提供的AFTR的组成示意图。
具体实施方式
鉴于现有技术现有的DS-Lite隧道只支持用户网络内的IPv4Client主动访问因特网上的IPv4Server,即从B4设备端先发起连接,因特网上的IPv4Client不能主动访问用户侧网络。在实现发明的过程中,经过分析,其原因如下:
一方面,由于AFTR对应多个B4设备,DS-Lite隧道只指定源IPv6地址,不指定目的IPv6地址,所以AFTR侧是不能首先发起隧道请求的;另一方面,由于AFTR是一对多连接,各B4设备下的子网地址可能是重叠的,所以一般的静态配置方法并不适用。
鉴于现有技术存在的问题,本发明实施例提供一种技术方案,可以实现从公网访问私网服务器,下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的DS-Lite的组网示例图,如图2所示,本发明中,在IPv6网络中配置一个双栈DNS。
图3为本发明实施例提供的DS-Lite组网下公网Client访问私网Server的方法流程图,如图3所示,其具体步骤如下:
步骤300:对于每个私网Server,在IPv6网络的双栈DNS上配置该私网Server的域名及私网IPv4地址,在AFTR上配置该私网Server的域名及公网IPv4地址。
步骤301:AFTR接收公网Client发来的数据报文,该报文的目的IP地址为私网Server的公网IPv4地址,根据报文的目的IP地址,在自身配置的私网Server的域名及公网IPv4地址中查询得到对应的域名。
步骤302:AFTR根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与该域名对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址。
步骤303:AFTR以获得的私网IPv4地址替换报文的目的IP地址,以自身的DS-Lite隧道的源物理接口的IPv6地址作为隧道源地址,以获得的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去。
本实施例中,所述的双栈DNS是指可以查询IPv4地址,也可查询IPv6地址,AFTR可向该双栈DNS查询获得域名对应的IPv4地址和/或IPv6地址;其中,私网服务器的域名及其对应的私网IPv4地址,具体可以由管理员或通过其它方式在该双栈DNS注册。
本实施例中,通过配置双栈DNS,并通过在AFTR上配置相应的域名、公网IP地址等信息,使得AFTR可接收公网客户端向私网服务器发送的请求,并通过域名查询等方式,实现将请求报文发送至私网服务器。
上述步骤302中,AFTR获得B4设备的DS-Lite隧道的源物理接口的IPv6地址可以从双栈DNS获得,也可以从自身配置获得,以下将给出具体的实现对本发明实施例做进一步的说明。当然,本实施例中,并不限定B4设备的DS-Lite隧道的源物理接口的IPv6地址的具体获得方式。
图4为本发明另一实施例提供的DS-Lite组网下公网Client访问私网Server的方法流程图。本实施例中,可将私网服务器的域名以及对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址一起配置在双栈DNS上,从而可通过域名查询方式获得B4的IPv6地址,具体地,如图4所示,本实施例方法流程步骤如下:
步骤400:对于每个对外提供服务的私网Server,预先在IPv6网络的双栈DNS上配置两条记录:记录一、该私网Server的域名和私网IPv4地址;记录二、该私网Server的域名和下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址;同时,预先在AFTR上与IPv4网络相连的公网接口上配置该私网Server的域名、支持的协议和公网IPv4地址。
在AFTR上与IPv4网络相连的公网接口上配置私网Server的域名、支持的协议和公网IPv4地址时,可以通过如下命令行完成:
DS-Lite server protocol ftp global X.X.X.X inside hostname.com。
其中,ftp表示私网Server支持文件传输协议(FTP,File Transfer Protocol),X.X.X.X为私网Server的公网IPv4地址,hostname.com为私网Server的域名。
另外,考虑到B4设备的DS-Lite隧道的源物理接口的IPv6地址可能会更改,当IPv6地址更新时,B4设备可以采用动态DNS(DDNS,Dynamic DNS)的方式将更新的IPv6地址及时通知给双栈DNS。
步骤401:IPv4公网Client发出数据报文,报文的源IP地址为该公网Client的IPv4地址,目的IP地址为一个IPv4私网Server的公网IPv4地址。
步骤402:该数据报文经过IPv4网络到达AFTR,AFTR根据报文的源/目的IP地址、源/目的端口号及协议,判断是否已存在对应的会话,若是,执行步骤409;否则,执行步骤403。
步骤403:AFTR根据报文的协议和目的IP地址,查询报文的入接口上配置的私网Server的域名、支持的协议和公网IPv4地址,得到对应的域名。
步骤404:AFTR根据查询到的域名,判断是否已存在对应的DS-Lite Server映射表项,若是,执行步骤410;否则,执行步骤405。
步骤405:AFTR向IPv6网络中的双栈DNS发出A请求和AAAA请求,该两请求中都携带查询到的域名。
A请求用于请求域名对应的私网Sever的私网IPv4地址,AAAA请求用于请求域名对应的下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址。
步骤406:双栈DNS接收A请求,根据请求中的域名,查询步骤400中的记录一,将对应的私网Server的私网IPv4地址及生存时间携带在A应答中返回给AFTR;双栈DNS接收AAAA请求,根据请求中的域名,查询步骤400中的记录二,将对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址及生存时间携带在AAAA应答中返回给AFTR。
步骤407:AFTR接收A应答和AAAA应答,创建DS-Lite Server映射表项,表项内容包括:私网Server的域名、私网IPv4地址、下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址和生存时间,并启动该表项的老化定时器,老化时长为表项的生存时间,其中,表项的生存时间取A应答和AAAA应答中的生存时间的较小值。
步骤408:AFTR对报文进行NAT处理,将报文的目的IP地址替换为A应答中的私网IPv4地址,然后以自身的DS-Lite隧道的源物理接口的IPv6地址为隧道源地址,以AAAA应答中的IPv6地址为隧道目的地址,为报文封装IPv6报文头,将报文发送到DS-Lite隧道上;同时AFTR创建会话,会话包括:报文的源IPv4地址、NAT前的目的IPv4地址、NAT后的目的IPv4地址、源端口号、NAT前的目的端口号、NAT后的目的端口号、协议、DS-LiteTunnel Peer和生存时间,其中,DS-Lite Tunnel Peer包括:隧道的源地址和目的地址,转至步骤411。
会话的生存时间可按照现有技术确定,当然本实施例也对此不做特别限制。
在对报文的目的端口号进行NAT处理时,AFTR可以采用动态分配的方式为报文分配一个替换的目的端口号。
步骤409:AFTR直接根据该会话,对报文的目的IP地址进行NAT处理,并对报文进行隧道封装,将报文发送到DS-Lite隧道上,转至步骤411。
步骤410:AFTR对报文进行NAT处理,将报文的目的IP地址替换为DS-Lite Server映射表项中的私网IPv4地址,然后以自己的DS-Lite隧道的源物理接口的IPv6地址为隧道源地址,以DS-Lite Server映射表项中的IPv6地址为隧道目的地址,对报文进行隧道封装,将报文发送到DS-Lite隧道上;同时AFTR创建会话,会话包括:报文的源IPv4地址、NAT前的目的IPv4地址、NAT后的目的IPv4地址、源端口号、NAT前的目的端口号、NAT后的目的端口号、协议、DS-Lite Tunnel Peer和生存时间,其中,DS-Lite Tunnel Peer包括:隧道的源地址和目的地址,转至步骤411。
步骤411:报文通过DS-Lite隧道到达B4设备,B4设备对报文进行解封装,根据报文的目的IPv4地址,将报文发送给私网Server。
若B4设备上不存在报文对应的会话和/或B4映射表项,B4设备还要创建该会话和/或B4映射表项。会话和B4映射表项的创建过程与现有技术相同,在此不再赘述。
当私网Server访问公网Client时,B4设备可根据已创建的会话完成对报文的隧道封装,AFTR可根据已经创建的会话,完成对报文的NAT处理和隧道解封装,从而报文将被正确发送给公网Client。
以下给出本发明的应用示例:
如图5所示,设私网FTP Server2是B4_2设备下接的一单位对外提供FTP应用的Server,其域名为www.ftp-s.com,私网IPv4地址为:192.1.1.1,公网客户端的IPv4地址为:100.1.1.100,B4_2设备的DS-Lite隧道的源物理接口的IPv6地址为:2001::2,则在IPv6网络的双栈DNS上配置如下两条记录:
记录一、私网FTP Server2的域名:www.ftp-s.com,私网IPv4地址:192.1.1.1;
记录二、私网FTP Server2的域名:www.ftp-s.com,B4_2设备的DS-Lite隧道的源物理接口的IPv6地址:2001::2。
同时,在AFTR上与IPv4网络相连的公网接口上进行如下DS-Lite Server配置:
DS-Lite server protocol ftp global100.1.1.100inside www.ftp-s.com。
设IPv4地址为100.1.1.1的Client位于IPv4公网上,想访问B4_2设备下接的上述私网FTP Server2,则具体过程如下:
01)公网Client构造一个源IP地址为自己,目的IP地址为私网FTPServer2的公网IPv4地址的报文发送出去,即:
源IPv4地址 | 目的IPv4地址 |
100.1.1.1 | 100.1.1.100 |
表1公网Client发出的数据报文的IPv4报文头示例
02)AFTR收到报文后,将该报文的协议、目的IP地址与自己的DS-Liteserver配置匹配,得到对应的域名:www.ftp-s.com。
03)AFTR向IPv6网络中的双栈DNS发起两个请求,一个A请求,一个AAAA请求,以解析www.ftp-s.com对应的IPv4和IPv6地址。
04)双栈DNS接收到A请求、AAAA请求后,查询自身的配置,返回A应答和AAAA应答,A应答包含IPv4地址:192.1.1.1,AAAA应答包含IPv6地址:2001::2。
05)AFTR根据A应答和AAAA应答创建DS-Lite Server映射表项如下:
域名 | IPv4地址 | IPv6地址 | 生存时间(分) |
… | … | … | … |
www.ftp-s.com | 192.1.1.1 | 2001::2 | 20 |
表2AFTR创建的DS-Lite Server映射表项示例
同时,AFTR对报文进行NAT处理,即将报文的目的IP地址替换为:192.1.1.1,然后对报文进行隧道封装,隧道的源IP地址为自己的DS-Lite隧道的源物理接口的IPv6地址,隧道的目的IP地址为2001::2,将报文发送到DS-Lite隧道上。报文的格式如下:
表3AFTR发出的IPv6报文的格式示例
06)报文通过DS-Lite隧道到达B4_2设备,B4_2设备对报文进行解封装,将内部IPv4报文路由到FTP Server2:192.1.1.1处。
需要说明的是,本发明实施例中,若B4设备的DS-Lite隧道的源物理接口的IPv6地址是固定不变的,也可以在AFTR上静态配置私网Server的公网IPv4地址和下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址,即在AFTR上同时配置私网服务器的域名、公网IPv4地址以及下挂该私网服务器的B4设备的DS-Lite隧道的源物理接口的IPv6地址。此时,步骤400中就无需在双栈DNS上配置记录二,同时步骤405中,AFTR也无需发出AAAA请求,直接从自身配置获取B4设备的DS-Lite隧道的源物理接口的IPv6地址即可。其具体实现过程与图4或图5所示实施例类似,在此不再赘述。
从上述本发明实施例可以看出:由于将私网Server的私网IPv4地址和下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址绑定,这样,即使存在不同B4设备下的私网Server的私网IPv4地址重叠,如图5中的Server1和Server2,也可达到正确寻址。
为实现上述本发明方法实施例技术方案,本实施例还提供了AFTR,可以实现上述各步骤的功能。
图6为本发明实施例提供的AFTR的组成示意图,该AFTR位于DS-Lite组网中,对于每个私网Server,IPv6网络的双栈DNS上配置有该私网Server的域名及私网IPv4地址,AFTR上配置有该私网Server的域名及公网IPv4地址;如图6所示,该AFTR包括:查询模块61和NAT及转发模块62,其中:
查询模块61:用于接收公网Client发来的数据报文,该报文的目的IP地址为私网Server的公网IPv4地址,并用于根据报文的目的IP地址,在AFTR上配置的私网Server的域名及公网IPv4地址中查询得到对应的域名;以及用于根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与该域名对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址,将查询到的私网IPv4地址、获得的IPv6地址以及该数据报文发送给NAT及转发模块62。
NAT及转发模块62:用于以查询模块61发来的私网IPv4地址替换数据报文的目的IP地址,以本AFTR的DS-Lite隧道的源物理接口的IPv6地址作为隧道源地址,以查询模块发来的IPv6地址作为隧道目的地址,对该报文进行隧道封装,将报文发送出去。
在实际应用中,对于每个私网Server,IPv6网络的双栈DNS上还可以同时配置有私网Server的域名及下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址;
且,查询模块61具体用于,根据查询到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址的同时,查询得到该域名对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址。
在实际应用中,对于每个私网Server,AFTR上还可以同时配置有该私网Server的域名及下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址;
且,查询模块61具体用于,根据查询得到的域名,在AFTR上配置的私网Server的域名及下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址中,查询得到该域名对应的B4设备的DS-Lite隧道的源物理接口的IPv6地址;或者,
在根据报文的目的IP地址查询得到对应的域名时,在AFTR上配置的私网Server的域名、公网IPv4地址及下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址中,同时查询得到对应的域名及下挂该私网Server的B4设备的DS-Lite隧道的源物理接口的IPv6地址。
在实际应用中,查询模块61进一步用于,在接收公网Client发来的数据报文之后、查询得到对应的域名之前进一步判断是否已存在与该报文对应的会话,若是,则将该会话和该报文发送给NAT及转发模块62;否则,执行查询对应的域名的动作;
且,NAT及转发模块62进一步用于,当接收到查询模块61发来的会话和报文时,按照会话中的NAT后的目的IP地址,对报文的目的IP地址进行NAT处理,按照会话中的隧道的源、目的IP地址,对报文进行隧道封装,将报文发送出去;且,创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
在实际应用中,查询模块61进一步用于,当判定不存在与该报文对应的会话时,查询得到对应的域名之后、向双栈DNS查询得到该域名对应的私网Server的私网IPv4地址之前进一步根据该域名判断是否已存在与该报文对应的DS-Lite Server映射表项,若存在,则将该表项和该报文发送给NAT及转发模块62;否则,执行向双栈DNS查询得到该域名对应的私网Server的私网IPv4地址的动作;
且,NAT及转发模块62进一步用于,当接收到查询模块61发来的表项和报文时,根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以本AFTR的DS-Lite隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种公网客户端访问私网服务器的方法,应用于双栈DS精简组网中,对于每个私网服务器,IPv6网络的双栈域名服务器DNS上配置有该私网服务器的域名及私网IPv4地址,地址族转换路由器AFTR上配置有该私网服务器的域名及公网IPv4地址,所述双栈DNS支持查询IPv4地址和IPv6地址,其特征在于,该方法包括:
AFTR接收公网客户端发来的数据报文,该报文的目的IP地址为私网服务器的公网IPv4地址,根据报文的目的IP地址,在自身配置的私网服务器的域名及公网IPv4地址中查询得到对应的域名;
AFTR根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址;
AFTR以获得的私网IPv4地址替换报文的目的IP地址,以自身的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以获得的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去。
2.根据权利要求1所述的方法,其特征在于,所述DS精简组网中,对于每个私网服务器,IPv6网络的双栈DNS上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址包括:
AFTR根据查询到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址的同时,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址。
3.根据权利要求1所述的方法,其特征在于,所述DS精简组网中,对于每个私网服务器,AFTR上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址包括:
AFTR根据查询得到的域名,在自身配置的私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址;
或者,AFTR在根据报文的目的IP地址查询得到对应的域名时,在自身配置的私网服务器的域名、公网IPv4地址及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,同时查询得到对应的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址。
4.根据权利要求1至3任一所述的方法,其特征在于,所述AFTR接收公网客户端发来的数据报文之后、查询得到对应的域名之前进一步包括:
AFTR判断是否已存在与该报文对应的会话,若是,则按照会话中的网络地址转换NAT后的目的IP地址,对报文的目的IP地址进行NAT处理,按照会话中的隧道的源、目的IP地址,对报文进行隧道封装,将报文发送出去;否则,执行所述查询得到对应的域名的动作;
且,所述获得与所述域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址之后进一步包括:
AFTR创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
5.根据权利要求4所述的方法,其特征在于,当AFTR判定不存在与该报文对应的会话时,所述查询得到对应的域名之后、向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址之前进一步包括:
AFTR根据所述域名,判断自身是否已存在与该报文对应的DS精简服务器映射表项,若存在,则根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以自身的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址;否则,执行所述向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址的动作。
6.一种AFTR,位于DS精简组网中,对于每个私网服务器,IPv6网络的双栈域名服务器DNS上配置有该私网服务器的域名及私网IPv4地址,地址族转换路由器AFTR上配置有该私网服务器的域名及公网IPv4地址,所述双栈DNS支持查询IPv4地址和IPv6地址;其特征在于,该AFTR包括:
查询模块:用于接收公网客户端发来的数据报文,该报文的目的IP地址为私网服务器的公网IPv4地址,并用于根据报文的目的IP地址,在AFTR上配置的私网服务器的域名及公网IPv4地址中查询得到对应的域名;以及用于根据查询得到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址,并获得与所述域名对应的基本桥接宽带B4设备的DS精简隧道的源物理接口的IPv6地址;
NAT及转发模块:用于以查询模块发来的私网IPv4地址替换报文的目的IP地址,以本AFTR的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以查询模块发来的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去。
7.根据权利要求6所述的AFTR,其特征在于,对于每个私网服务器,IPv6网络的双栈域名服务器DNS上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述查询模块具体用于,根据查询到的域名,向双栈DNS查询得到该域名对应的私网IPv4地址的同时,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址。
8.根据权利要求6所述的AFTR,其特征在于,对于每个私网服务器,AFTR上还同时配置有该私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址;
所述查询模块具体用于,根据查询得到的域名,在AFTR上配置的私网服务器的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,查询得到该域名对应的B4设备的DS精简隧道的源物理接口的IPv6地址;
或者,在根据报文的目的IP地址查询得到对应的域名时,在AFTR上配置的私网服务器的域名、公网IPv4地址及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址中,同时查询得到对应的域名及下挂该私网服务器的B4设备的DS精简隧道的源物理接口的IPv6地址。
9.根据权利要求6至8任一所述的AFTR,其特征在于,所述查询模块进一步用于,在接收公网客户端发来的数据报文之后、查询得到对应的域名之前进一步判断是否已存在与该报文对应的会话,若是,则将该会话和该报文发送给NAT及转发模块;否则,执行所述查询对应的域名的动作;
且,所述NAT及转发模块进一步用于,当接收到查询模块发来的会话和报文时,按照会话中的NAT后的目的IP地址,对报文的目的IP地址进行NAT处理,按照会话中的隧道的源、目的IP地址,对报文进行隧道封装,将报文发送出去;且,创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
10.根据权利要求9所述的AFTR,其特征在于,所述查询模块进一步用于,当判定不存在与该报文对应的会话时,查询得到对应的域名之后、向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址之前进一步根据所述域名判断是否已存在与该报文对应的DS精简服务器映射表项,若存在,则将该表项和该报文发送给NAT及转发模块;否则,执行所述向双栈DNS查询得到该域名对应的私网服务器的私网IPv4地址的动作;
且,所述NAT及转发模块进一步用于,当接收到查询模块发来的表项和报文时,根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以本AFTR的DS精简隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310286790.XA CN103338151B (zh) | 2013-07-09 | 2013-07-09 | 公网客户端访问私网服务器的方法及路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310286790.XA CN103338151B (zh) | 2013-07-09 | 2013-07-09 | 公网客户端访问私网服务器的方法及路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103338151A CN103338151A (zh) | 2013-10-02 |
CN103338151B true CN103338151B (zh) | 2017-07-14 |
Family
ID=49246251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310286790.XA Active CN103338151B (zh) | 2013-07-09 | 2013-07-09 | 公网客户端访问私网服务器的方法及路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103338151B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743861B (zh) * | 2014-12-12 | 2019-02-19 | 华为数字技术(苏州)有限公司 | 一种发送报文的方法、装置及设备 |
CN105592057B (zh) * | 2015-09-28 | 2018-10-09 | 新华三技术有限公司 | 轻量级双协议栈组网下的安全增强方法及装置 |
CN109151084A (zh) * | 2017-06-15 | 2019-01-04 | 中兴通讯股份有限公司 | 报文发送方法及装置、系统、cgn设备 |
CN107547687B (zh) * | 2017-08-31 | 2021-02-26 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN108881518A (zh) * | 2018-08-01 | 2018-11-23 | 上海华测导航技术股份有限公司 | 一种访问内网设备的方法、装置、存储介质及系统 |
CN108965036B (zh) * | 2018-09-21 | 2021-09-14 | 深圳市信锐网科技术有限公司 | 配置跨公网设备互访方法、系统、服务器及存储介质 |
CN110266715B (zh) * | 2019-06-28 | 2023-03-24 | 深圳前海微众银行股份有限公司 | 异地访问方法、装置、设备与计算机可读存储介质 |
CN111857685A (zh) * | 2020-07-16 | 2020-10-30 | 武汉秒开网络科技有限公司 | 一种自助软件定制及远程自动化测试的方法及系统 |
CN114301873A (zh) * | 2020-09-22 | 2022-04-08 | 华为云计算技术有限公司 | 一种基于私有网络的网络互通方法、设备以及计算机集群 |
CN113163024B (zh) * | 2021-03-12 | 2023-04-07 | 网宿科技股份有限公司 | 报文处理方法、服务器及存储介质 |
WO2023037422A1 (ja) * | 2021-09-07 | 2023-03-16 | 日本電信電話株式会社 | 判別装置、判別方法および判別プログラム |
CN114430407B (zh) * | 2022-04-06 | 2022-06-24 | 北京翼辉信息技术有限公司 | 一种基于doh的电子设备动态访问方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098284A (zh) * | 2006-07-02 | 2008-01-02 | 冼剑光 | 实现网络无缝互连的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8817816B2 (en) * | 2011-02-28 | 2014-08-26 | Futurwei Technologies, Inc. | Multicast support for dual stack-lite and internet protocol version six rapid deployment on internet protocol version four infrastructures |
-
2013
- 2013-07-09 CN CN201310286790.XA patent/CN103338151B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098284A (zh) * | 2006-07-02 | 2008-01-02 | 冼剑光 | 实现网络无缝互连的方法 |
Non-Patent Citations (1)
Title |
---|
基于DS-lite的IP城域网向IPV6演进过渡方案研究;周振勇;《邮电设计技术》;20130228;正文第2.3节,附图3-4 * |
Also Published As
Publication number | Publication date |
---|---|
CN103338151A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338151B (zh) | 公网客户端访问私网服务器的方法及路由器 | |
US10587512B2 (en) | Stateless protocol translation | |
JP4186446B2 (ja) | アドレス変換方法 | |
US7639686B2 (en) | Access network clusterhead for providing local mobility management of a roaming IPv4 node | |
JP5551247B2 (ja) | マルチnat64環境のための方法及びホストノード | |
US20130010614A1 (en) | METHOD AND APPARATUS FOR PROCESSING PACKETS IN IPv6 NETWORK | |
US8122113B2 (en) | Dynamic host configuration protocol (DHCP) message interception and modification | |
US9191317B2 (en) | Method and system for implementing interconnection between internet protocol version 4 network and new network | |
WO2013064049A1 (zh) | 一种移动节点动态获取位置标识的方法及lisp网络 | |
WO2014047919A1 (zh) | 一种分配地址的方法、装置及系统 | |
CN101873320B (zh) | 一种基于DHCPv6中继的客户端信息确认方法及其装置 | |
US10084747B2 (en) | External address space compression | |
WO2015127750A1 (zh) | IPv6地址处理方法、装置及DHCPv6中继设备 | |
EP3395049B1 (en) | Router and method for connecting an ipv4 network and an ipv6 network | |
JP4572938B2 (ja) | アドレス変換方法 | |
US11057342B2 (en) | Network address translation | |
US20090141705A1 (en) | Device and method for address-mapping | |
JP2008527829A (ja) | 擬似マルチホーム化されたホストへの効率的なアドレススペース拡張 | |
JP3646936B2 (ja) | IPv6無線LAN環境でのIPv4管理方法および管理装置 | |
WO2015127751A1 (zh) | 一种处理NAT64前缀的方法、网络设备及DHCPv6服务器 | |
JP2010062757A (ja) | Dnsプロキシ装置及びdns中継方法 | |
WO2015139397A1 (zh) | 一种nat64资源获取方法及获取/分配装置 | |
CN104468575A (zh) | 局域网上实现域名注册的方法与装置 | |
JP2016515371A (ja) | パケット送信方法および装置、ならびにサーバ | |
JP3808471B2 (ja) | ネットワーク及びルータ装置並びにそれらに用いるアドレス通知方法 |
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 | ||
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 |