公网客户端访问私网服务器的方法及路由器与流程

文档序号:11697400阅读:809来源:国知局
公网客户端访问私网服务器的方法及路由器与流程
本发明涉及双栈精简(DS-Lite,DualStackLite)技术领域,尤其涉及DS-Lite组网下公网客户端访问私网服务器的方法及地址族转换路由器(AFTR,AddressFamilyTransitionRouter)。

背景技术:
随着互联网的发展,IPv4地址已经耗尽,IPv6网络终将取代现有的IPv4网络而成为互联网的骨干网络,然而出于成本、技术限制等诸多原因,目前以IPv4地址提供服务的互联网主机仍将在相当长的时间里存在,现有的IPv4服务仍然得继续提供。为了更好地平衡因特网服务提供商(ISP,InternetServiceProvider)进行网络部署的投入产出,出现了一种轻量级的双栈技术:DS-Lite技术,支持该技术的节点可同时运行IPv4和IPv6两套协议栈。它使得IPv4服务能继续提供,又鼓励了IPv6服务的扩张,并简化了部署过程。图1为现有的DS-Lite组网模型,如图1所示:在运营商局端部署AFTR,用户侧部署基本桥接宽带(B4,BasicBridgingBroadBand)设备,AFTR和B4设备之间使用IPv6地址进行通信;AFTR上建立一个一对多的IPv4overIPv6隧道,B4设备上建立一对一的IPv4overIPv6隧道,这样,一个AFTR可以同时连接多个B4设备;B4设备连接的客户端(Client)使用私网IPv4地址,不同的B4设备用户之间的IPv4地址可以重叠;当连接到B4设备的Client发起到公网服务器(Server)的IPv4连接时,B4设备为IPv4报文封装IPv6报文头,送到AFTR;AFTR解封装IPv6报文,记录该报文来自的B4设备的IPv6地址,取出内层的IPv4报文,进行网络地址转换(NAT,NetworkAddressTransformation),将私网IP地址转为公网IP地址,发到公网Server。公网Server回应的报文到达AFTR时,先进行NAT,将公网IP地址转换为私网IP地址,然后根据NAT表项中记录的B4设备的IPv6地址封装Ipv6头,送回给对应的B4设备,完成整个通信过程。同时,为了进一步简化配置,DS-Lite协议定义了一种动态主机配置协议(DHCPv6,DynamicHostConfigurationProtocolVersion6)选项,B4设备可以使用该选项自动获取AFTR的域名并进一步根据域名通过域名服务器(DNS,DomainNameServer)解析出AFTR的IPv6地址。现有的DS-Lite组网中的报文处理过程,其实现方案都是遵循DS-Lite协议,其具体过程如下:在B4设备上手工指定IPv4overIPv6隧道的源/目的IPv6地址;当B4设备下的IPv4Client向公网的IPv4Server发起请求时,B4设备的出接口以隧道源IPv6地址作为封装源地址,以AFTR的IPv6地址作为封装目的地址,将封装形成的IPv6报文发往IPv6网络,最终到达AFTR;AFTR解封装,然后进行NAT,将转换地址后的IPv4报文发给公网IPv4Server。DS-Lite在AFTR上的实现可以分为DS-Lite隧道(Tunnel)和DS-LiteNAT两部分,其中DS-LiteTunnel完成多个B4设备对应一个AFTR的IPv4inIPv6封装/解封装,DS-LiteNAT对解封装后的报文进行源IPv4地址转换的处理。AFTR上的会话记录了报文的源/目的IP地址、源/目的端口、协议以及DS-Litetunnel对等体(peer),其中,DS-Litetunnelpeer用于记录封装报文的IPv6地址。DS-Lite隧道建立之后,对于来自B4设备的隧道报文,在IPv4overIPv6隧道基础上,增加了根据封装后报文的源IP地址确定TunnelID并创建会话的处理;对于将要发往B4设备的IPv4报文,需要根据所属会话来确定封装的IPv6报文头的目的地址。只要报文能够匹配会话,就能找到NAT表项和DS-LiteTunnelPeer,即可依照会话进行处理。现有技术的缺点如下: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-LiteserverprotocolftpglobalX.X.X.Xinsidehostname.com。其中,ftp表示私网Server支持文件传输协议(FTP,FileTransferProtocol),X.X.X.X为私网Server的公网IPv4地址,hostname.com为私网Server的域名。另外,考虑到B4设备的DS-Lite隧道的源物理接口的IPv6地址可能会更改,当IPv6地址更新时,B4设备可以采用动态DNS(DDNS,DynamicDNS)的方式将更新的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-LiteServer映射表项,若是,执行步骤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-LiteServer映射表项,表项内容包括:私网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-LiteTunnelPeer和生存时间,其中,DS-LiteTunnelPeer包括:隧道的源地址和目的地址,转至步骤411。会话的生存时间可按照现有技术确定,当然本实施例也对此不做特别限制。在对报文的目的端口号进行NAT处理时,AFTR可以采用动态分配的方式为报文分配一个替换的目的端口号。步骤409:AFTR直接根据该会话,对报文的目的IP地址进行NAT处理,并对报文进行隧道封装,将报文发送到DS-Lite隧道上,转至步骤411。步骤410:AFTR对报文进行NAT处理,将报文的目的IP地址替换为DS-LiteServer映射表项中的私网IPv4地址,然后以自己的DS-Lite隧道的源物理接口的IPv6地址为隧道源地址,以DS-LiteServer映射表项中的IPv6地址为隧道目的地址,对报文进行隧道封装,将报文发送到DS-Lite隧道上;同时AFTR创建会话,会话包括:报文的源IPv4地址、NAT前的目的IPv4地址、NAT后的目的IPv4地址、源端口号、NAT前的目的端口号、NAT后的目的端口号、协议、DS-LiteTunnelPeer和生存时间,其中,DS-LiteTunnelPeer包括:隧道的源地址和目的地址,转至步骤411。步骤411:报文通过DS-Lite隧道到达B4设备,B4设备对报文进行解封装,根据报文的目的IPv4地址,将报文发送给私网Server。若B4设备上不存在报文对应的会话和/或B4映射表项,B4设备还要创建该会话和/或B4映射表项。会话和B4映射表项的创建过程与现有技术相同,在此不再赘述。当私网Server访问公网Client时,B4设备可根据已创建的会话完成对报文的隧道封装,AFTR可根据已经创建的会话,完成对报文的NAT处理和隧道解封装,从而报文将被正确发送给公网Client。以下给出本发明的应用示例:如图5所示,设私网FTPServer2是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上配置如下两条记录:记录一、私网FTPServer2的域名:www.ftp-s.com,私网IPv4地址:192.1.1.1;记录二、私网FTPServer2的域名:www.ftp-s.com,B4_2设备的DS-Lite隧道的源物理接口的IPv6地址:2001::2。同时,在AFTR上与IPv4网络相连的公网接口上进行如下DS-LiteServer配置:DS-Liteserverprotocolftpglobal100.1.1.100insidewww.ftp-s.com。设IPv4地址为100.1.1.1的Client位于IPv4公网上,想访问B4_2设备下接的上述私网FTPServer2,则具体过程如下:01)公网Client构造一个源IP地址为自己,目的IP地址为私网FTPServer2的公网IPv4地址的报文发送出去,即:源IPv4地址目的IPv4地址100.1.1.1100.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-LiteServer映射表项如下:域名IPv4地址IPv6地址生存时间(分)…………www.ftp-s.com192.1.1.12001::220表2AFTR创建的DS-LiteServer映射表项示例同时,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报文路由到FTPServer2: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-LiteServer映射表项,若存在,则将该表项和该报文发送给NAT及转发模块62;否则,执行向双栈DNS查询得到该域名对应的私网Server的私网IPv4地址的动作;且,NAT及转发模块62进一步用于,当接收到查询模块61发来的表项和报文时,根据该表项中的IPv4地址,对报文的目的IP地址进行NAT处理,以本AFTR的DS-Lite隧道的源物理接口的IPv6地址作为隧道源地址,以表项中的IPv6地址作为隧道目的地址,对报文进行隧道封装,将报文发送出去,并创建该报文对应的会话,会话内容包括:报文的源IP地址、NAT处理前的目的IP地址、NAT处理后的目的IP地址、源端口号、NAT处理前的目的端口号、NAT处理后的目的端口号、协议以及隧道的源、目的IP地址。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1