CN111565237A - 网络参数确定方法、装置、计算机设备及存储介质 - Google Patents
网络参数确定方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111565237A CN111565237A CN202010680154.5A CN202010680154A CN111565237A CN 111565237 A CN111565237 A CN 111565237A CN 202010680154 A CN202010680154 A CN 202010680154A CN 111565237 A CN111565237 A CN 111565237A
- Authority
- CN
- China
- Prior art keywords
- address
- network
- protocol
- data packet
- service
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2542—Translation of Internet protocol [IP] addresses involving dual-stack hosts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种网络参数确定方法、装置、计算机设备及存储介质,其中方法包括:获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包;针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;将网络地址转换后的访问数据包发送给服务提供端;服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种。通过本申请实施例可以有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络参数确定方法、网络参数确定装置、计算机设备及计算机可读存储介质。
背景技术
虚拟私有网络(Virtual Private Cloud,VPC)是公有云上可自定义的逻辑隔离、且能够自行管理的虚拟网络环境。虚拟私有网络是云上租户专属的云上网络空间,不同的虚拟私有网络之间逻辑完全隔离,但网段和网络地址可能重叠。当虚拟私有网络向另外一个虚拟私有网络提供网络服务(如内网服务)时,从服务提供者的角度来看,通常需要针对服务访问者进行虚拟私有网络和网络地址的溯源。如何实现服务访问者的虚拟私有网络和网络地址的溯源是亟需解决的问题。
发明内容
本申请实施例提供了一种网络参数确定方法及相关设备,可以有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。
第一方面,本申请实施例提供了一种网络参数确定方法,所述方法包括:
获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
第二方面,本申请实施例提供了另一种网络参数确定方法,所述方法包括:
获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
相应的,本申请实施例提供了一种网络参数确定装置,所述网络参数确定装置包括用于执行上述第一方面所述的网络参数确定方法的单元,其中,所述装置包括:
获取单元,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
处理单元,用于针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
收发单元,用于根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
相应的,本申请实施例提供了另一种网络参数确定装置,所述网络参数确定装置包括用于执行上述第而方面所述的网络参数确定方法的单元,其中,所述装置包括:
收发单元,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
处理单元,用于根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
相应的,本申请实施例还提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如上述第一方面所述的网络参数确定方法,或者,执行如上述第二方面所述的网络参数确定方法。
相应的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述第一方面所述的网络参数确定方法,或者,执行如上述第二方面所述的网络参数确定方法。
相应的,本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述第一方面所述的网络参数确定方法,或者,执行如上述第二方面所述的网络参数确定方法。
本申请实施例中,当处于支持第一协议的第一虚拟私有网络中的服务访问端,向处于支持第二协议的第二虚拟私有网络中的服务提供端进行服务访问时,先将服务访问端的访问数据包中的源第一协议地址,转换为根据保留网段、第一虚拟私有网络的网络标识以及源第一协议地址确定的源第二协议地址,然后将网络地址转换后的访问数据包发送给服务提供端。基于此,服务提供端可以根据收到的访问数据包快速确定服务访问端的源地址和所属虚拟私有网络,有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络系统的架构示意图;
图2是本申请实施例提供的一种网络参数确定方法的流程示意图;
图3是本申请实施例提供的另一种网络系统的架构示意图;
图4是本申请实施例提供的一种网络参数确定方法的应用场景图;
图5是本申请实施例提供的一种网络参数确定装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
虚拟私有网络(Virtual Private Cloud,VPC)是公有云上可自定义的逻辑隔离、且能够自行管理的虚拟网络环境。公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过互联网(Internet)使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。虚拟私有网络是云上构建的专属网络空间,为租户在云上的资源提供网络服务,不同的虚拟私有网络之间逻辑完全隔离,但网段和网络地址可能重叠。当虚拟私有网络向另外一个虚拟私有网络提供网络服务(如内网服务)时,从服务提供者的角度来看,通常需要针对服务访问者进行虚拟私有网络和网络地址的溯源。如何实现服务访问者的虚拟私有网络和网络地址的溯源是亟需解决的问题。
当虚拟私有网络间的私有连接通过FULLNAT(一种网络地址转换模式)实现时,可以通过TCP的TOA(TCP Option Address)或者UDP私有协议包头来传递服务访问端的虚拟私有网络标识(VPC ID)和源IP地址,服务提供端可以从该TCP的TOA或者UDP私有协议包头中提取服务访问端的虚拟私有网络标识(VPC ID)和源IP地址。其中,私有连接(PrivateLink)是虚拟私有网络之间进行网络服务访问的网络通道。
具体地,当位于服务访问者虚拟私有网络(以下简称服务访问者VPC)中的服务访问端,访问服务提供者虚拟私有网络(以下简称服务提供者VPC)中的网络服务时。如果服务提供者VPC通过vip2:vport2提供网络服务,并且vip2:vport2在服务访问者VPC中被映射成了vip1:vport1;其中,vip2和vport2属于服务提供者VPC的地址段(或者说网段)和端口,vip1和vport1属于服务访问者VPC的地址段和端口;服务访问端发出访问数据包时,访问数据包中的源地址为服务访问者VPC中的地址ip1,源端口为port1,目的地址为vip1,目的端口为vport1。则服务访问端发出的访问数据包通过FULLNAT映射之后,源地址映射为服务提供者VPC中的地址ip2,源端口映射为port2,目的地址映射为vip2,目的端口映射为vport2。
针对TCP消息,可以在对服务访问端发出的访问数据包进行FULLNAT映射时,将服务访问端的源IP地址和VPC标识嵌入到TOA中;针对UDP消息,可以在UDP包头中嵌入私有协议头来实现包含源服务访问端的IP地址和VPC标识。经过FULLNAT映射之后的访问数据包经过云上Over lay封装,最终被服务提供者VPC中的服务提供端接收处理。服务提供端从TCP的TOA或者UDP 的私有协议头中提取服务访问端的源IP地址和VPC标识。其中,Over lay:虚拟化网络层,它对物理网络进行隧道叠加,逻辑划分为虚拟网络分片,满足基于租户的个性化需求。
通过上述方式可以实现服务访问端的源地址和所属虚拟私有网络的溯源,但无论通过TCP的TOA还是UDP私有协议头来传递服务访问端的源IP地址和VPC标识,在通用性和独立性方面都存在一定的问题:TCP的TOA需要依赖于服务提供端使用特殊内核才能提取;针对UDP私有协议头,服务提供端所使用的标准内核通常不支持,需要对标准内核进行修改,但这会增加后期维护和升级的复杂度。另外,上述两种方式需要对转发的访问数据包的多层包头进行修改,但这会降低访问数据包的转发性能,并且多次的修改会增加时间的计算资源的消耗。
基于此,本申请实施例提供了另一种服务访问端的源地址和所属虚拟私有网络的溯源方案,以在实现服务访问端的源地址和所属虚拟私有网络的溯源基础上,有效提高溯源效率。本申请实施例提供的溯源方案应用于网络系统中,下面先对本申请实施例提供的溯源方案所适用的网络系统进行介绍。如图1所示,所述网络系统包括第一虚拟私有网络和第二虚拟私有网络,第一虚拟私有网络支持第一协议,第二虚拟私有网络支持第二协议。第一协议和第二协议为网络协议,第二协议的版本高于第一协议的版本。例如,第一协议可以是IPv4协议,即互联网协议(Internet Protocol,IP)第四版;第二协议可以是IPv6协议,即互联网协议第六版。第一虚拟私有网络和第二虚拟私有网络之间建立有私有连接,该私有连接为基于第二协议的私有连接(如IPv6私有连接),即第一虚拟私有网络和第二虚拟私有网络之间基于第二协议(如IPv6协议)进行通信。
其中,第二虚拟私有网络为服务提供端所在的虚拟私有网络,服务提供端可以是第二虚拟私有网络中的虚拟机(Virtual Machine,VM)20;虚拟机20 配置在母机上,一个母机上可以配置一个或多个虚拟机20。第一虚拟私有网络为服务访问端所在的虚拟私有网络,服务访问端可以是第一虚拟私有网络中的虚拟机10;虚拟机10 配置在母机上,一个母机上可以配置一个或多个虚拟机10。
母机可以是服务器等计算机设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。母机之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
处于第二虚拟私有网络中的服务提供端可以提供网络服务。当处于第一虚拟私有网络中的服务访问端,向处于第二虚拟私有网络中的服务提供端进行网络服务访问时,可以采用本申请实施例提供的网络参数确定方法针对服务访问端的访问数据包进行处理,以使得服务提供端基于接收到的访问数据包快速确定出服务访问端的源地址和/或其所属的虚拟私有网络。以下进行详细介绍。
请参阅图2,为本申请实施例提供的一种网络参数确定方法的流程示意图。本申请实施例中所描述的网络参数确定方法应用于如图1所示的网络系统,所述方法包括但不限于如下步骤:
S201、服务访问端生成访问数据包,并将生成的访问数据包发送至访问节点。其中,服务访问端处于支持第一协议的第一虚拟私有网络中。
本申请实施例中,服务访问端为第一虚拟私有网络中的虚拟机,访问节点为服务访问端所在的计算机设备(或者说母机)。当服务访问端需要进行服务访问时,生成访问数据包,该访问数据包中包括服务访问请求、服务访问端的源地址、以及服务访问的目的地址,等等。该源地址为服务访问端在第一虚拟私有网络中的第一协议地址,该目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的在所述第一虚拟私有网络中的第一协议地址。第一协议地址为基于第一协议生成的网络地址(或者说网际协议地址(Internet Protocol Address,IP地址))。
其中,服务提供端在第二虚拟私有网络中所对应的网络地址为第二协议地址,第二协议地址为基于第二协议生成的网络地址(或者说IP地址)。可以事先将服务提供端所对应的第二协议地址映射为第一虚拟私有网络中的第一协议地址,并在第一虚拟私有网络中存储服务提供端对应的在第一虚拟私有网络中的第一协议地址。服务访问端在生成访问数据包时,将从第一虚拟私有网络中获取到的服务提供端对应的第一协议地址作为目的地址。需要说明的是,服务提供端在第二虚拟私有网络中所对应的第二协议地址可以是指服务提供端所监听的第二协议地址。服务提供端可以是一个或者多个虚拟机。第二协议地址的位数多于第一协议地址的位数。
在可行的实施例中,第一协议为IPv4协议,第二协议为IPv6协议;则第一协议地址为IPv4地址,第二协议地址为IPv6地址。此情况下,访问数据包中的源地址为服务访问端在第一虚拟私有网络中的IPv4地址,目的地址为处于支持IPv6协议的第二虚拟私有网络中的服务提供端所对应的在所述第一虚拟私有网络中的IPv4地址。IPv4地址为32位的IP地址。
服务提供端在第二虚拟私有网络中所对应的网络地址为IPv6地址,可以事先将服务提供端所对应的IPv6地址映射为第一虚拟私有网络中的IPv4地址,并在第一虚拟私有网络中存储服务提供端对应的在第一虚拟私有网络中的IPv4地址。服务访问端在生成访问数据包时,将从第一虚拟私有网络中获取到的服务提供端对应的IPv4地址作为目的地址。需要说明的是,服务提供端在第二虚拟私有网络中所对应的IPv6地址可以是指服务提供端所监听的IPv6地址。服务提供端可以是一个或者多个虚拟机。IPv6地址为128位的IP地址。
S202、访问节点获取服务访问端的访问数据包,并针对访问数据包进行网络地址转换,将访问数据包中的源地址和目的地址转换为相应的第二协议地址。其中,所述源地址所对应的第二协议地址是根据保留网段、第一虚拟私有网络的网络标识以及所述源地址确定的;所述目的地址所对应的第二协议地址(以下简称为目的第二协议地址)为服务提供端在第二虚拟私有网络中所对应的第二协议地址。
本申请实施例中,为提供支持第一协议的虚拟私有网络接入基于第二协议的私有连接的能力,即访问支持第二协议的虚拟私有网络中的服务的能力,网络系统中预留有保留网段,保留网段为在云上保留的用于网络服务(如内网服务)访问的公有网段,保留网段不会分配给网络系统中的任何虚拟私有网络。
源地址所对应的第二协议地址是根据按照目标排列顺序对保留网段、第一虚拟私有网络的网络标识以及源地址进行排列得到的排列结果生成的。在一实施方式中,可以按照如下排列顺序“保留网段→第一虚拟私有网络的网络标识→源地址”进行排列,得到排列结果,然后将排列结果转化为符合要求的第二协议地址,从而得到源地址对应的第二协议地址。在一实施例中,保留网段的位数、第一虚拟私有网络的网络标识的位数、以及源地址的位数(即第一协议地址的位数)三者之和,与第二协议地址的位数一致。
在一实施例中,访问节点维护第一网络地址映射表,第一网络地址映射表中包括服务访问端所对应的第一协议地址和第二协议地址之间的映射关系、以及服务提供端所对应的第一协议地址和第二协议地址之间的映射关系。访问节点根据访问数据包中的源地址和目的地址查询第一网络地址映射表,直接获取服务访问端和服务提供端分别对应的第二协议地址;然后根据获取到的服务访问端和服务提供端分别对应的第二协议地址,将访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在另一实施例中,访问节点维护第二网络地址映射表,第二网络地址映射表中包括服务提供端所对应的第一协议地址和第二协议地址的映射关系。访问节点根据访问数据包中的目的地址查询第二网络地址映射表,获取服务提供端所对应的第二协议地址;然后获取保留网段以及第一虚拟私有网络的网络标识,并根据保留网段、第一虚拟私有网络的网络标识以及该源地址生成服务访问端所对应的第二协议地址;根据服务访问端和服务提供端分别对应的第二协议地址,将访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在可行的实施例中,第一协议为IPv4协议,第二协议为IPv6协议;第一协议地址为IPv4地址,第二协议地址为IPv6地址;第一虚拟私有网络和第二虚拟私有网络之间建立的私有连接为IPv6私有连接。此情况下,为提供支持IPv4协议的虚拟私有网络接入IPv6私有连接的能力,即访问支持IPv6协议的虚拟私有网络中的服务的能力,网络系统中预留有保留网段,保留网段为在云上保留的用于网络服务(如内网服务)访问的公有64位IPv6网段,保留网段不会分配给网络系统中的任何虚拟私有网络。第一虚拟私有网络的网络标识为32位;源地址为32位的IPv4地址。
源地址所对应的IPv6地址是根据按照目标排列顺序对保留网段、第一虚拟私有网络的网络标识以及源地址进行排列得到的排列结果生成的。在一实施方式中,可以按照如下排列顺序“保留网段→第一虚拟私有网络的网络标识→源地址”进行排列,得到排列结果,然后将排列结果转化为符合要求的IPv6地址,从而得到源地址对应的IPv6地址。IPv6地址为128位的网络地址。例如,保留网段为ZZ::/64,第一虚拟私有网络的网络标识为VPCID,源地址为10.1.1.1/32;则源地址所对应的128位IPv6地址为:ZZ:VPC ID:10.1.1.1。
在一可行的实施方式中,访问节点维护第一网络地址映射表,第一网络地址映射表中包括服务访问端所对应的IPv4地址和IPv6地址之间的映射关系、以及服务提供端所对应的IPv4地址和IPv6地址之间的映射关系。访问节点根据访问数据包中的源地址和目的地址查询第一网络地址映射表,直接获取服务访问端和服务提供端分别对应的IPv6地址;然后根据获取到的服务访问端和服务提供端分别对应的IPv6地址,将访问数据包中的源地址和目的地址转换为相应的IPv6地址。
在另一可行的实施方式中,访问节点维护第二网络地址映射表,第二网络地址映射表中包括服务提供端所对应的IPv4地址和IPv6地址的映射关系。访问节点根据访问数据包中的目的地址查询第二网络地址映射表,获取服务提供端所对应的IPv6地址;然后获取保留网段以及第一虚拟私有网络的网络标识,并根据保留网段、第一虚拟私有网络的网络标识以及该源地址生成服务访问端所对应的IPv6地址;根据服务访问端和服务提供端分别对应的IPv6地址,将访问数据包中的源地址和目的地址转换为相应的IPv6地址。
S203、访问节点将网络地址转换后的访问数据包发送给服务节点。其中,服务节点为处于支持第二协议的第二虚拟私有网络中的服务提供端所在的计算机设备(或者说母机)。
在一实施例中,访问节点针对访问数据包进行网络地址转换后,针对网络地址转换后的访问数据包进行封装处理,得到封装数据包;其中,封装数据包携带服务节点的网络地址以及访问节点的网络地址,服务节点和访问节点的网络地址可以是服务节点和访问节点在物理网络中的IP地址。访问节点根据服务节点的网络地址将封装数据包发送给服务节点。
S204、服务节点获取访问节点发送的网络地址转换后的访问数据包,并从网络地址转换后的访问数据包中获取目的第二协议地址。其中,所述目的第二协议地址为服务提供端在第二虚拟私有网络中所对应的第二协议地址(如IPv6地址)。
在一实施例中,服务节点接收访问节点发送的封装数据包,针对该封装数据包进行解封装处理后得到网络地址转换后的访问数据包;然后从网络地址转换后的访问数据包中获取目的第二协议地址。
S205、服务节点根据目的第二协议地址将网络地址转换后的访问数据包转发至服务提供端。
S206、服务提供端根据网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种。
本申请实施例中,服务提供端从网络地址转换后的访问数据包中获取源第二协议地址,所述源第二协议地址为服务访问端的源第一协议地址所对应的第二协议地址。由于所述源第二协议地址是根据保留网段、第一虚拟私有网络的网络标识以及服务访问端的源第一协议地址确定的,故服务提供端可以根据所述源第二协议地址快速确定出服务访问端的源第一协议地址、以及快速确定出第一虚拟私有网络的网络标识,该网络标识所指示的第一虚拟私有网络也即是服务访问端所处的虚拟私有网络。具体地,服务提供端判断所述源第二协议地址是否属于保留网段中的地址,若是,则表明所述源第二协议地址是经过网络地址转换得到的,此时服务提供端根据网络地址反向转换方式,从所述源第二协议地址中提取出服务访问端的源第一协议地址、以及提取出服务访问端所属的第一虚拟私有网络的网络标识。
另外,服务提供端可以根据白名单或者审批机制决定是否接受服务访问端的服务访问。当服务提供端响应服务访问请求向服务访问端发送数据时,服务提供端生成响应数据包,其中,响应数据包中的源地址为服务提供端在第二虚拟私有网络中所对应的第二协议地址,目的地址为服务访问端对应的第二协议地址。服务提供端通过其母机将响应数据包发送给服务访问端的母机。服务访问端的母机从务访问数据包中提取目的地址,当检测到目的地址为第二协议地址且包括第一虚拟私有网络的网络标识时,根据网络地址反向转换方式,从目的地址中提取出相应的第一协议地址;根据该第一协议地址将响应数据包转发至处于第一虚拟私有网络中的服务访问端。
在可行的实施例中,第一协议为IPv4协议,第二协议为IPv6协议;第一协议地址为IPv4地址,第二协议地址为IPv6地址。此情况下,服务提供端从网络地址转换后的访问数据包中获取源IPv6地址,所述源IPv6地址为服务访问端的源IPv4地址所对应的IPv6地址。由于所述源IPv6地址是根据保留网段、第一虚拟私有网络的网络标识以及服务访问端的源IPv4地址确定的,故服务提供端可以根据所述源IPv6地址快速确定出服务访问端的源IPv4地址、以及快速确定出第一虚拟私有网络的网络标识,该网络标识所指示的第一虚拟私有网络也即是服务访问端所处的虚拟私有网络。具体地,服务提供端判断所述源IPv6地址是否属于保留网段中的地址,若是,则表明所述源IPv6地址是经过网络地址转换得到的,此时服务提供端根据网络地址反向转换方式,从所述源IPv6地址中提取出服务访问端的源IPv4地址、以及提取出服务访问端所属的第一虚拟私有网络的网络标识。
另外,服务提供端可以根据白名单或者审批机制决定是否接受服务访问端的服务访问。当服务提供端响应服务访问请求向服务访问端发送数据时,服务提供端生成响应数据包,其中,响应数据包中的源地址为服务提供端在第二虚拟私有网络中所对应的IPv6地址,目的地址为服务访问端对应的IPv6地址。服务提供端通过其母机将响应数据包发送给服务访问端的母机。服务访问端的母机从务访问数据包中提取目的地址,当检测到目的地址为IPv6地址且包括第一虚拟私有网络的网络标识时,根据网络地址反向转换方式,从目的地址中提取出相应的IPv4地址;根据该IPV4地址将响应数据包转发至处于第一虚拟私有网络中的服务访问端。
在一实施例中,如图3所示,对于图1所示的网络系统,网络系统中还可以包括第三虚拟私有网络,第三虚拟私有网络支持第二协议;第二虚拟私有网络和第三虚拟私有网络之间建立有私有连接,该私有连接为基于第二协议的私有连接。其中,第二虚拟私有网络为服务提供端所在的虚拟私有网络,服务提供端可以是第二虚拟私有网络中的虚拟机20;虚拟机20 配置在母机上,一个母机上可以配置一个或者多个虚拟机20。第三虚拟私有网络为服务访问端所在的虚拟私有网络,服务访问端可以是第三虚拟私有网络中的虚拟机30;虚拟机30 配置在母机上,一个母机上可以配置一个或者多个虚拟机30。
当处于第三虚拟私有网络中的服务访问端,向处于第二虚拟私有网络中的服务提供端进行网络服务访问时,服务访问端生成第二协议访问数据包,该第二协议访问数据包中包括服务访问请求、服务访问端的源地址、以及服务访问的目的地址,等等。其中,该源地址为服务访问端在第三虚拟私有网络中的第二协议地址,该目的地址为服务提供端在第二虚拟私有网络中所对应的第二协议地址。服务访问端通过其母机将访问数据包发送给服务提供端的母机。服务提供端的母机根据第二协议访问数据包中的目的地址,将第二协议访问数据包转发至服务提供端。服务提供端从第二协议访问数据包中提取源地址,若确定出源地址为第二协议地址且不包括保留网段,则直接将提取出的源地址确定为服务访问端的源地址。
在可行的实施例中,第二协议为IPv6协议,第二协议地址为IPv6地址;第二虚拟私有网络和第三虚拟私有网络之间建立的私有连接为IPv6私有连接。此情况下,当处于第三虚拟私有网络中的服务访问端,向处于第二虚拟私有网络中的服务提供端进行网络服务访问时,服务访问端生成IPv6访问数据包,该IPv6访问数据包中包括服务访问请求、服务访问端的源地址、以及服务访问的目的地址,等等。其中,该源地址为服务访问端在第三虚拟私有网络中的IPv6地址,该目的地址为服务提供端在第二虚拟私有网络中所对应的IPv6地址。服务访问端通过其母机将访问数据包发送给服务提供端的母机。服务提供端的母机根据IPv6访问数据包中的目的地址,将IPv6访问数据包转发至服务提供端。服务提供端从IPv6访问数据包中提取源地址,若确定出源地址为IPv6地址且不包括保留网段,则直接将提取出的源地址确定为服务访问端的源地址。
采用上述方式,服务提供端可以根据收到的访问数据包快速确定服务访问端的源地址和所属的虚拟私有网络,有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。另外,服务提供端只需要监听第二协议地址即可以对其他VPC提供第一协议或者第二协议访问服务(如访问内网云服务),实现方式简单。服务提供端可以直接在应用程序API中通过提取访问数据包中的源第二协议地址来进行服务访问端的网络地址溯源,对内核协议栈无依赖,无需对内核协议栈进行修改,有效降低后期维护和升级的复杂度。除此之外,采用上述方式,仅需进行IP层的第一协议/第二协议地址转换,无需对转发的访问数据包的上层协议进行修改,这可以减少对访问数据包的转发性能的影响,有效节省时间和计算资源。
综上所述,本申请实施例提供的网络参数确定方法的主要实现方式包括如下步骤,下面以第一协议为IPv4协议,第二协议为IPv6协议,第一协议地址为IPv4地址,第二协议地址为IPv6地址,第一虚拟私有网络和第二虚拟私有网络之间建立的私有连接为IPv6私有连接,第二虚拟私有网络和第三虚拟私有网络之间建立的私有连接为IPv6私有连接为例进行说明:
处于支持IPv6协议的VPC中的服务提供端监听在IPv6地址,并创建IPv6私有连接,以提供其他云上VPC(IPv4或IPv6 VPC)进行内网服务访问的能力。
为提供支持IPv4协议的VPC或者服务访问端接入IPv6私有连接的能力,需要保留一段64位的IPv6 IP(即保留网段)。针对IPv4服务访问端(即支持IPv4协议的服务访问端)所在IPv4 VPC,需要先将服务映射成IPv4 VPC内的IPv4 VIP(即IPv4地址)。IPv4服务访问端发出IPv4访问数据包,IPv4访问数据包中的源地址为IPv4服务访问端的IPv4地址,目的地址为服务映射成的IPv4 VIP。将IPv4访问数据包转换成IPv6访问数据包,即将IPv4访问数据包中的源IPv4地址和目的IPv4地址转换成相应的IPv6地址。源IPv4地址所对应的源IPv6地址由保留网段、IPv4 VPC的网络标识以及源IPv4地址组合而成,其中,源IPv6地址的前64位为保留网段,中间32位为IPv4 VPC的网络标识,后32位为源IPv4地址,这样组合出来的源IPv6地址全网唯一。目的IPv4地址被转换为服务提供端所监听的IPv6地址。转换得到的IPv6访问数据包按照IPv6路由被服务提供端接收处理。反向报文中的目的地址为由保留网段、服务访问端所处VPC的网络标识、服务访问端的IPv4地址组合出来的唯一IPv6地址;服务提供端根据该目的地址将反向报文发送给服务访问端进行处理。整个接入过程通过无状态的IPv4/IPv6地址转换实现VPC到VPC的服务访问。
针对IPv6服务访问端,服务访问端的IPv6地址和服务提供端监听的IPv6地址均全网唯一,可以直接利用IPv6地址进行VPC到VPC的服务访问。在一实施方式中,为保证VPC间的安全隔离,需要保证服务访问端只能访问服务提供端所监听的IPv6 地址,同时禁止服务提供端主动访问服务访问端。
服务提供端收到访问数据包后,判断访问数据包中的源IPv6地址是否为属于保留网段中的地址,如是,则对源IPv6地址进行反向IPv6/IPv4转换,以提取服务访问端的VPCID和源IPv4地址;反之,则不需要进行特别的溯源操作,直接将其中的源IPv6地址作为服务访问端的源地址。
为更好的理解本申请实施例提供的网络参数确定方法,下面结合具体的例子进行说明。以下按照云上母机进行分布式IPv4/IPv6地址转换的实现方式来对所述网络参数确定方法进行介绍。需要说明的是,在实际应用过程中,IPv4/IPv6地址转换也可以使用集中式网关来实现。请一并参阅图4,为本申请实施例提供的一种网络参数确定方法的应用场景图。如图4所示,VPC-A和VPC-C支持IPv4协议,VPC-B支持IPv6协议,VPC-B和VPC-A、VPC-C之间建立有IPv6私有连接。VPC-B中的VM2为服务提供端,VPC-A中的VM1以及VPC-C中的VM3为服务访问端。下面从控制面和数据面两方面进行阐述。
控制面实现方案:
为提供支持IPv4协议的VPC-A、VPC-C接入IPv6私有连接的能力,在云上保留公有IPv6网段ZZ::/64,用于VPC-A和VPC-C进行内网服务访问。VPC B提供服务提供端VM2监听在的IPv6地址M(即全局IPv6服务地址),其中,M可以是属于VPC B的IPv6 CIDR(无类别域间路由地址)。VM2监听在的IPv6地址M在VPC-A和VPC-C中被映射成相应的IPv4地址。服务访问端的母机维护一地址转换表,地址转换表中包含VPC内IPv4服务地址和全局IPv6服务地址的对应关系。每创建一个服务映射,控制面会在地址转换表表中新增相应的表项。
表一
表一为VM1的母机维护的地址转换表,如表一所示,全局IPv6服务地址M对应的在VPC-A中的IPv4地址为10.1.1.10(即VPC-A内IPv4服务地址)。
表二
表二为VM3的母机维护的地址转换表,如表二所示,全局IPv6服务地址M对应的在VPC-C中的IPv4地址为10.1.1.11(即VPC-C内IPv4服务地址)。
服务访问端的母机维护的地址转换表还包含VPC内子机(或者说VM)的IPv4地址和保留IPv6网段ZZ::/64的转换关系,表项包含VPC ID、子机IPv4地址以及转换后的全局唯一IPv6地址。其中,转换后的全局IPv6地址由64位的保留IPv6网段ZZ::、32位的VPC ID和32位的子机IPv4地址组合而成。在VPC中每为子机分配一个地址,控制面会在地址转换表中新增相应的表项。如表一所示,VPC A中子机的IPv4地址为10.1.1.1,转换后的IPv6地址为ZZ:VPC ID A: 10.1.1.1。如表二所示,VPC C中子机的IPv4地址为10.1.1.1,转换后的IPv6地址为ZZ:VPC ID C: 10.1.1.1。
另外,云上母机可以维护一份IPv6子母机路由表,用于根据VPC内的IPv6地址查找对应的子机或者母机。
数据面实现方案:
对于仅支持IPv4地址的服务访问端VM1,可以使用IPv4地址访问VPC-B中的服务。参阅图4,数据面流程如下:
1、VM1生成IPv4访问数据包,IPv4访问数据包中的源IPv4地址为10.1.1.1,目的IPv4地址为10.1.1.10。
2、IPv4访问数据包经VM1所在母机上查找地址转换表和子母机路由表,VM1所在母机发出over lay封装数据包,over lay封装数据包中的外层源地址和目的地址分别为VM1和服务提供端(VM2)所在母机的地址,内层包被转换为IPv6访问数据包,转换后的IPv6访问数据包中的源IPv6地址为ZZ:VPC ID A:10.1.1.1,目的IPv6地址为M。
3、over lay封装数据包通过云上under lay路由转发至VM2所在母机后,VM2所在母机针对收到的数据包解除over lay封装后,得到IPv6访问数据包;VM2所在母机根据IPv6访问数据包中的目的IPv6地址将IPv6访问数据包发送到VM2。其中,under lay:云基础架构层,用于承载用户流量的传统的IP网络,提供IP包的转发。
4、VM2收到IPv6访问数据包之后,判断IPv6访问数据包中的源IPv6地址是否属于保留网段中的地址,若是,则根据反向IPv4/IPv6转换方式,从源IPv6地址中提取出VM1的源IPv4地址10.1.1.1以及VM1所属的源VPC的ID。
5、VM1母机收到响应数据包反向查找地址转换表时,需要先将目的IPv6地址转换成目的IPv4地址,同时结合目的IPv6地址对应的VPC-A ID查找地址转换表将源IPv6地址M转换成VPC-A内的IPv4地址;然后根据转换得到的目的IPv4地址将响应数据包发送到VM1。
需要说明的是,针对VPC-C中的VM3访问VPC-B中的服务时,具体实现方式可参考上述描述,此处不再赘述。
另外,如果服务访问端(VM)支持IPv6地址,则可以直接使用VPC内IPv6地址访问VPC-B中的服务。数据面流程如下:
1、VM生成IPv6访问数据包,IPv6访问数据包中的源IPv6地址为Y,目的IPv6地址为M。
2、IPv6访问数据包经VM所在母机上查找子母机路由表,母机发出over lay封装数据包,over lay封装数据包中的外层源地址和目的地址分别为VM和服务提供端(VM2)所在母机的地址,内层包不变。
3、over lay封装数据包通过云上underlay路由转发至VM2所在母机后,VM2所在母机针对收到的数据包解除over lay封装后,得到IPv6访问数据包;VM2所在母机根据IPv6访问数据包中的目的IPv6地址将IPv6访问数据包发送到VM2。
4、VM2服务器收到IPv6访问数据包之后,判断IPv6访问数据包中的源IPv6地址是否属于保留网段中的地址,若否,则直接提取IPv6访问数据包中的源IPv6地址进行后续分析处理。IPv6访问数据包中的源IPv6地址也即是服务访问端VM的源地址。
5、VM母机收到响应数据包时,直接根据响应数据包中的目的IPv6地址将相应数据包发送到VM。
需要说明的是,在云上VPC间的IPv6地址不重叠,为保证VPC间的安全隔离,不同VPC的子机之间默认无法通过IPv6地址进行互访。针对内网服务场景,需要先使能访问者VPC对服务IPv6 VIP的服务级别访问。访问节点只能访问使能后的IPv6 VIP,同时需要禁止服务提供端主动访问其他VM。
采用上述方式,服务提供端可以根据收到的访问数据包快速确定服务访问端的源地址和所属的虚拟私有网络,有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。另外,服务提供端只需要监听IPv6地址即可以对其他VPC提供IPv4或者IPv6访问服务(如访问内网云服务),实现方式简单。服务提供端可以直接在应用程序API中通过提取访问数据包中的源IPv6地址来进行服务访问端的网络地址溯源,对内核协议栈无依赖,无需对内核协议栈进行修改,有效降低后期维护和升级的复杂度。除此之外,采用上述方式,仅需进行IP层的IPv4/IPv6地址转换,无需对转发的访问数据包的上层协议进行修改,这可以减少对访问数据包的转发性能的影响,有效节省时间和计算资源。
请参阅图5,为本申请实施例提供的一种网络参数确定装置的结构示意图。本申请实施例中所描述的网络参数确定装置,可以对应于前文所述的访问节点,所述装置包括:
获取单元501,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
处理单元502,用于针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
收发单元503,用于根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
在一实施例中,所述获取单元501,还用于获取第一网络地址映射表,所述第一网络地址映射表中包括服务访问端所对应的第一协议地址和第二协议地址之间的映射关系、以及服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;
所述处理单元502,具体用于:根据所述访问数据包中的源地址和目的地址查询所述第一网络地址映射表,获取服务访问端和服务提供端分别对应的第二协议地址;根据获取到的服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在一实施例中,所述获取单元501,还用于获取第二网络地址映射表,所述第二网络地址映射表中包括服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;
所述处理单元502,具体用于:根据所述访问数据包中的目的地址查询所述第二网络地址映射表,获取服务提供端所对应的第二协议地址;获取所述保留网段以及所述第一虚拟私有网络的网络标识,并根据所述保留网段、所述网络标识以及所述源地址生成服务访问端所对应的第二协议地址;根据服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在一实施例中,所述处理单元502,具体用于:按照目标排列顺序对所述保留网段、所述网络标识以及所述源地址进行排列,得到排列结果;根据所述排列结果生成服务访问端所对应的第二协议地址。
在一实施例中,所述处理单元502,还用于针对网络地址转换后的访问数据包进行封装处理,得到封装数据包,其中,所述封装数据包携带服务提供端所在计算机设备的目标网络地址;
所述收发单元503,具体用于根据所述目标网络地址将所述封装数据包发送给所述计算机设备,以使所述计算机设备根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至服务提供端。
可以理解的是,本申请实施例的网络参数确定装置的各功能单元的功能可根据上述方法实施例中访问节点所对应的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例中所描述的网络参数确定装置,可以对应于前文所述的服务节点,所述网络参数确定装置包括的获取单元501、处理单元502和收发单元503可以用于实现上述方法实施例中服务节点所对应的方法,具体地:
所述收发单元503,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
所述处理单元502,用于根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
在一实施例中,所述收发单元503,具体用于接收处于所述第一虚拟私有网络中的服务访问端所在的计算机设备发送的封装数据包,所述封装数据包是所述计算机设备针对所述网络地址转换后的访问数据包进行封装处理得到的;
所述处理单元502,还用于针对所述封装数据包进行解封装处理,得到所述网络地址转换后的访问数据包。
在一实施例中,所述收发单元503,还用于获取处于支持第二协议的第三虚拟私有网络中的服务访问端发送的第二协议访问数据包,所述第二协议访问数据包中的源地址为服务访问端在所述第三虚拟私有网络中的第二协议地址,所述访问数据包中的目的地址为服务提供端所对应的第二协议地址;
所述处理单元502,还用于根据所述第二协议访问数据包中的目的地址,将所述第二协议访问数据包转发至服务提供端,以使服务提供端根据所述第二协议访问数据包确定服务访问端的源地址。
可以理解的是,本申请实施例的网络参数确定装置实现上述方法实施例中服务节点所对应的方法时,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
通过本申请实施例,服务提供端可以根据收到的访问数据包快速确定服务访问端的源地址和所属虚拟私有网络,有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意图。本申请实施例中所描述的计算机设备可以对应于前文所述的访问节点,所述计算机设备包括:处理器601、通信接口602及存储器603。其中,处理器601、通信接口602及存储器603可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器601(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口602可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器601的控制用于收发数据。存储器603(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器603既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器603提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在一实施例中,处理器601通过运行存储器603中的可执行程序代码,执行如下操作:
获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
根据服务提供端所对应的第二协议地址,通过通信接口602将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
在一实施例中,处理器601针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址时,具体用于:获取第一网络地址映射表,所述第一网络地址映射表中包括服务访问端所对应的第一协议地址和第二协议地址之间的映射关系、以及服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;根据所述访问数据包中的源地址和目的地址查询所述第一网络地址映射表,获取服务访问端和服务提供端分别对应的第二协议地址;根据获取到的服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在一实施例中,处理器601针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址时,具体用于:获取第二网络地址映射表,所述第二网络地址映射表中包括服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;根据所述访问数据包中的目的地址查询所述第二网络地址映射表,获取服务提供端所对应的第二协议地址;获取所述保留网段以及所述第一虚拟私有网络的网络标识,并根据所述保留网段、所述网络标识以及所述源地址生成服务访问端所对应的第二协议地址;根据服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
在一实施例中,处理器601根据所述保留网段、所述网络标识以及所述源地址生成服务访问端所对应的第二协议地址时,具体用于:按照目标排列顺序对所述保留网段、所述网络标识以及所述源地址进行排列,得到排列结果;根据所述排列结果生成服务访问端所对应的第二协议地址。
在一实施例中,处理器601根据服务提供端所对应的第二协议地址,通过通信接口602将网络地址转换后的访问数据包发送给服务提供端时,具体用于:针对网络地址转换后的访问数据包进行封装处理,得到封装数据包,其中,所述封装数据包携带服务提供端所在计算机设备的目标网络地址;根据所述目标网络地址通过通信接口602将所述封装数据包发送给所述计算机设备,以使所述计算机设备根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至服务提供端。
在可行的实施例中,本申请实施例中所描述的计算机设备,可以对应于前文所述的服务节点,所述计算机设备包括的处理器601、通信接口602和存储器603可以用于实现上述方法实施例中服务节点所对应的方法,具体地,处理器601通过运行存储器603中的可执行程序代码,执行如下操作:
通过通信接口602获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
在一实施例中,处理器601通过通信接口602获取处于所述第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包时,具体用于:通过通信接口602接收处于所述第一虚拟私有网络中的服务访问端所在的计算机设备发送的封装数据包,所述封装数据包是所述计算机设备针对所述网络地址转换后的访问数据包进行封装处理得到的;针对所述封装数据包进行解封装处理,得到所述网络地址转换后的访问数据包。
在一实施例中,处理器601还用于:通过通信接口602获取处于支持第二协议的第三虚拟私有网络中的服务访问端发送的第二协议访问数据包,所述第二协议访问数据包中的源地址为服务访问端在所述第三虚拟私有网络中的第二协议地址,所述访问数据包中的目的地址为服务提供端所对应的第二协议地址;根据所述第二协议访问数据包中的目的地址,将所述第二协议访问数据包转发至服务提供端,以使服务提供端根据所述第二协议访问数据包确定服务访问端的源地址。
具体实现中,本申请实施例中所描述的处理器601、通信接口602及存储器603可执行本申请实施例提供的一种网络参数确定方法中所描述的访问节点或者服务节点的实现方式,也可执行本申请实施例提供的一种网络参数确定装置中所描述的实现方式,在此不再赘述。
通过本申请实施例,服务提供端可以根据收到的访问数据包快速确定服务访问端的源地址和所属虚拟私有网络,有效提高服务访问端的源地址和所属虚拟私有网络的溯源效率。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本申请实施例所述的网络参数确定方法,具体实现方式可参考前文描述,此处不再赘述。
本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如本申请实施例所述的网络参数确定方法,具体实现方式可参考前文描述,此处不再赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory ,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请部分实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (12)
1.一种网络参数确定方法,其特征在于,所述方法包括:
获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
2.如权利要求1所述的方法,其特征在于,所述针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址,包括:
获取第一网络地址映射表,所述第一网络地址映射表中包括服务访问端所对应的第一协议地址和第二协议地址之间的映射关系、以及服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;
根据所述访问数据包中的源地址和目的地址查询所述第一网络地址映射表,获取服务访问端和服务提供端分别对应的第二协议地址;
根据获取到的服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
3.如权利要求1所述的方法,其特征在于,所述针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址,包括:
获取第二网络地址映射表,所述第二网络地址映射表中包括服务提供端所对应的第一协议地址和第二协议地址之间的映射关系;
根据所述访问数据包中的目的地址查询所述第二网络地址映射表,获取服务提供端所对应的第二协议地址;
获取所述保留网段以及所述第一虚拟私有网络的网络标识,并根据所述保留网段、所述网络标识以及所述源地址生成服务访问端所对应的第二协议地址;
根据服务访问端和服务提供端分别对应的第二协议地址,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址。
4.如权利要求3所述的方法,其特征在于,所述根据所述保留网段、所述网络标识以及所述源地址生成服务访问端所对应的第二协议地址,包括:
按照目标排列顺序对所述保留网段、所述网络标识以及所述源地址进行排列,得到排列结果;
根据所述排列结果生成服务访问端所对应的第二协议地址。
5.如权利要求1-4任一项所述的方法,其特征在于,所述根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,包括:
针对网络地址转换后的访问数据包进行封装处理,得到封装数据包,其中,所述封装数据包携带服务提供端所在计算机设备的目标网络地址;
根据所述目标网络地址将所述封装数据包发送给所述计算机设备,以使所述计算机设备根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至服务提供端。
6.一种网络参数确定方法,其特征在于,所述方法包括:
获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
7.如权利要求6所述的方法,其特征在于,所述获取处于所述第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,包括:
接收处于所述第一虚拟私有网络中的服务访问端所在的计算机设备发送的封装数据包,所述封装数据包是所述计算机设备针对所述网络地址转换后的访问数据包进行封装处理得到的;
针对所述封装数据包进行解封装处理,得到所述网络地址转换后的访问数据包。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
获取处于支持第二协议的第三虚拟私有网络中的服务访问端发送的第二协议访问数据包,所述第二协议访问数据包中的源地址为服务访问端在所述第三虚拟私有网络中的第二协议地址,所述访问数据包中的目的地址为服务提供端所对应的第二协议地址;
根据所述第二协议访问数据包中的目的地址,将所述第二协议访问数据包转发至服务提供端,以使服务提供端根据所述第二协议访问数据包确定服务访问端的源地址。
9.一种网络参数确定装置,其特征在于,所述装置包括:
获取单元,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端的访问数据包,其中,所述访问数据包中的源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述访问数据包中的目的地址为处于支持第二协议的第二虚拟私有网络中的服务提供端所对应的第一协议地址;
处理单元,用于针对所述访问数据包进行网络地址转换,将所述访问数据包中的源地址和目的地址转换为相应的第二协议地址;
收发单元,用于根据服务提供端所对应的第二协议地址,将网络地址转换后的访问数据包发送给服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
10.一种网络参数确定装置,其特征在于,所述装置包括:
收发单元,用于获取处于支持第一协议的第一虚拟私有网络中的服务访问端所在的计算机设备发送的网络地址转换后的访问数据包,其中,所述网络地址转换后的访问数据包是所述计算机设备将服务访问端的访问数据包中的源地址和目的地址转换为相应的第二协议地址后得到的;
处理单元,用于根据所述网络地址转换后的访问数据包中的目的第二协议地址,将所述网络地址转换后的访问数据包转发至处于第二虚拟私有网络中的服务提供端,以使服务提供端根据所述网络地址转换后的访问数据包确定服务访问端的源地址以及其所属的虚拟私有网络中的至少一种;
其中,所述源地址为服务访问端在所述第一虚拟私有网络中的第一协议地址,所述目的地址和所述目的第二协议地址分别为服务提供端所对应的第一协议地址和第二协议地址;所述源地址所对应的第二协议地址是根据保留网段、所述第一虚拟私有网络的网络标识以及所述源地址确定的。
11.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-5中任一项所述的网络参数确定方法,或者执行如权利要求6-8中任一项所述的网络参数确定方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的网络参数确定方法,或者执行如权利要求6-8中任一项所述的网络参数确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010680154.5A CN111565237B (zh) | 2020-07-15 | 2020-07-15 | 网络参数确定方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010680154.5A CN111565237B (zh) | 2020-07-15 | 2020-07-15 | 网络参数确定方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111565237A true CN111565237A (zh) | 2020-08-21 |
CN111565237B CN111565237B (zh) | 2020-11-03 |
Family
ID=72072780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010680154.5A Active CN111565237B (zh) | 2020-07-15 | 2020-07-15 | 网络参数确定方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111565237B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014692A (zh) * | 2021-03-16 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种网络地址转换方法、装置、设备及存储介质 |
CN115334036A (zh) * | 2022-08-11 | 2022-11-11 | 江苏安超云软件有限公司 | 智能控制源地址转换的方法和装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009619A1 (en) * | 2001-07-05 | 2003-01-09 | Yoshiki Kano | Automated on-line capacity expansion method for storage device |
US20030219023A1 (en) * | 2002-05-24 | 2003-11-27 | Hiroaki Miyata | Packet transfer apparatus performing address translation |
CN1949762A (zh) * | 2005-10-14 | 2007-04-18 | 华为技术有限公司 | 网络地址转换中防止拒绝服务攻击的方法及装置 |
CN101136910B (zh) * | 2006-08-30 | 2010-09-29 | 中国电信股份有限公司 | 网络地址和协议翻译设备与应用层网关设备 |
CN102209121A (zh) * | 2010-03-29 | 2011-10-05 | 杭州华三通信技术有限公司 | IPv6网络和IPv4网络之间互通的方法和装置 |
CN106559511A (zh) * | 2016-10-18 | 2017-04-05 | 上海优刻得信息科技有限公司 | 云系统、云端公共服务系统及用于云系统的互访方法 |
CN109951493A (zh) * | 2019-03-29 | 2019-06-28 | 深圳市信锐网科技术有限公司 | 一种网络互通方法、装置、设备及存储介质 |
CN110474802A (zh) * | 2019-08-12 | 2019-11-19 | 聚好看科技股份有限公司 | 设备切换方法及装置、服务系统 |
CN111049947A (zh) * | 2019-12-26 | 2020-04-21 | 杭州迪普科技股份有限公司 | 报文转发方法及装置、电子设备、存储介质 |
-
2020
- 2020-07-15 CN CN202010680154.5A patent/CN111565237B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030009619A1 (en) * | 2001-07-05 | 2003-01-09 | Yoshiki Kano | Automated on-line capacity expansion method for storage device |
US20030219023A1 (en) * | 2002-05-24 | 2003-11-27 | Hiroaki Miyata | Packet transfer apparatus performing address translation |
CN1949762A (zh) * | 2005-10-14 | 2007-04-18 | 华为技术有限公司 | 网络地址转换中防止拒绝服务攻击的方法及装置 |
CN101136910B (zh) * | 2006-08-30 | 2010-09-29 | 中国电信股份有限公司 | 网络地址和协议翻译设备与应用层网关设备 |
CN102209121A (zh) * | 2010-03-29 | 2011-10-05 | 杭州华三通信技术有限公司 | IPv6网络和IPv4网络之间互通的方法和装置 |
CN106559511A (zh) * | 2016-10-18 | 2017-04-05 | 上海优刻得信息科技有限公司 | 云系统、云端公共服务系统及用于云系统的互访方法 |
CN109951493A (zh) * | 2019-03-29 | 2019-06-28 | 深圳市信锐网科技术有限公司 | 一种网络互通方法、装置、设备及存储介质 |
CN110474802A (zh) * | 2019-08-12 | 2019-11-19 | 聚好看科技股份有限公司 | 设备切换方法及装置、服务系统 |
CN111049947A (zh) * | 2019-12-26 | 2020-04-21 | 杭州迪普科技股份有限公司 | 报文转发方法及装置、电子设备、存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014692A (zh) * | 2021-03-16 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种网络地址转换方法、装置、设备及存储介质 |
CN115334036A (zh) * | 2022-08-11 | 2022-11-11 | 江苏安超云软件有限公司 | 智能控制源地址转换的方法和装置、电子设备和存储介质 |
CN115334036B (zh) * | 2022-08-11 | 2023-07-07 | 安超云软件有限公司 | 智能控制源地址转换的方法和装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111565237B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128493B2 (en) | Method for implementing residential gateway service function, and server | |
US11659441B2 (en) | Load balance method and apparatus thereof | |
TWI744359B (zh) | 一種資料傳輸的方法及網路設備 | |
US8725898B1 (en) | Scalable port address translations | |
US9560016B2 (en) | Supporting IP address overlapping among different virtual networks | |
CN111193773B (zh) | 负载均衡方法、装置、设备及存储介质 | |
US20200021558A1 (en) | Packet transmission method and apparatus | |
JP7413415B2 (ja) | ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置 | |
KR20140057553A (ko) | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 | |
CN106878136B (zh) | 一种报文转发方法及装置 | |
US11444808B1 (en) | Scaling network address translation (NAT) and firewall functionality to support public cloud networks | |
JP5901851B2 (ja) | 中継装置及び通信方式選択方法及びプログラム | |
CN111565237B (zh) | 网络参数确定方法、装置、计算机设备及存储介质 | |
CN112671628A (zh) | 业务服务提供方法及系统 | |
US20220239629A1 (en) | Business service providing method and system, and remote acceleration gateway | |
CN113364660B (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
Merlino et al. | Enabling mechanisms for cloud-based network virtualization in iot | |
TWI735633B (zh) | 資料傳輸的方法、設備、裝置及系統 | |
US10904037B2 (en) | Relaying apparatus, relaying method, and relaying system | |
US10505892B2 (en) | Method for transmitting at least one IP data packet, related system and computer program product | |
CN108353017B (zh) | 计算系统和用于操作多网关虚拟机上的多个网关的方法 | |
CN114567616A (zh) | 一种VxLAN NAT穿越的方法、系统和设备 | |
CN110875884B (zh) | 一种流量迁移系统、一种数据处理方法及装置 | |
CN114726824B (zh) | 无线宽带路由器、报文处理和域名解析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028352 Country of ref document: HK |