CN116155857A - 一种云内通信方法、装置、系统及设备、介质和产品 - Google Patents
一种云内通信方法、装置、系统及设备、介质和产品 Download PDFInfo
- Publication number
- CN116155857A CN116155857A CN202211684942.7A CN202211684942A CN116155857A CN 116155857 A CN116155857 A CN 116155857A CN 202211684942 A CN202211684942 A CN 202211684942A CN 116155857 A CN116155857 A CN 116155857A
- Authority
- CN
- China
- Prior art keywords
- cloud
- response message
- service host
- cloud network
- target
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 203
- 238000013507 mapping Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 101000846284 Homo sapiens Pre-mRNA 3'-end-processing factor FIP1 Proteins 0.000 description 1
- 102100031755 Pre-mRNA 3'-end-processing factor FIP1 Human genes 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种云内通信方法、装置、系统及设备、介质和产品,旨在减少云网主机对NAT资源的消耗,并提高通信效率。所述方法包括:获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
Description
技术领域
本申请涉及云计算与云网络技术领域,特别是涉及一种云内通信方法、装置、系统及设备、介质和产品。
背景技术
云网服务主机通常使用网络地址转换(NAT,Network Address Translation)和端口映射开放内部服务到外部网络。
对于与云网服务主机处于同一云网下的云网主机,在访问云网服务主机时,仍然需要经过NAT网关转换后,经外部网络访问云网服务主机,以致云网服务主机与云网主机通信时转发效率低且需要消耗NAT资源。
发明内容
鉴于上述问题,本申请实施例提供了一种云内通信方法、装置、系统及设备、介质和产品,以便克服上述问题或者至少部分地解决上述问题。
本申请实施例的第一方面,提供了一种云内通信方法,所述方法包括:
获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;
根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;
根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;
发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
可选地,所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文,包括:
根据所述云网服务主机的内部地址,生成第一目标报文段;
根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文。
可选地,所述根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文,包括执行以下任一项:
使用所述第一目标报文段替换所述第一目标DNS响应报文中的第二目标报文段,得到所述第二目标DNS响应报文,所述第二目标报文段指示了所述云网服务主机的外部地址;
将所述第一目标报文段插入到所述第一目标DNS响应报文中的回复报文段的头部位置或尾部位置,得到所述第二目标DNS响应报文。
可选地,所述根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文,包括:
将所述第一目标报文段增加至所述第一目标DNS响应报文;
更新所述增加了第一目标报文段的第一目标DNS响应报文所关联的目标信息,得到所述第二目标DNS响应报文,所述目标信息包括UDP数据包总长度、UDP数据包校验和、IP数据报总长度、以及IP数据报校验和中的至少一者。
可选地,所述获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文,包括:
获取所述DNS针对云网主机访问服务主机的请求所返回的第三目标DNS响应报文;
根据所述第三目标DNS响应报文携带的所述服务主机的外部地址,判断所述服务主机是否为云网服务主机;
在所述服务主机是云网服务主机的情况下,将所述第三目标DNS响应报文确定为所述第一目标DNS响应报文。
可选地,所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文之前,所述方法还包括:
根据路由表和所述云网服务主机的内部地址,判断所述云网主机是否能够通过云内通信路径访问所述云网服务主机;
所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文,包括:
在所述云网主机能够通过云内通信路径访问所述云网服务主机的情况下,根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文。
可选地,所述根据路由表和所述云网服务主机的内部地址,判断所述云网主机是否能够通过云内通信路径访问所述云网服务主机,包括:
根据所述路由表和所述云网服务主机的内部地址,判断是否存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,所述目标路由包括以下至少一者:用于构成虚拟私有云VPC内部通信路径的直连路由、用于构成VPC对等连接VPC-Peering的通信路径的跳表路由;
响应于存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机能够通过云内通信路径访问所述云网服务主机;
响应于不存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机不能够通过云内通信路径访问所述云网服务主机。
可选地,所述根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址之前,所述方法还包括:
解析所述第一目标DNS响应报文中的回复报文段,得到指示了所述云网服务主机的外部地址的报文段;
根据所述报文段,得到所述云网服务主机的外部地址;
其中,所述报文段包括以下至少一者:
指示了云网服务主机的IPv4地址的报文段;
指示了云网服务主机的IPv6地址的报文段。
本申请实施例的第二方面,提供了一种云内通信方法,所述方法包括:
发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
本申请实施例的第三方面,提供了一种云内通信装置,所述装置包括:
第一获取模块,用于获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;
第一处理模块,用于根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;
第二处理模块,用于根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;
第一发送模块,用于发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
本申请实施例的第四方面,提供了一种云内通信装置,所述装置包括:
发送模块,用于发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
接收模块,用于接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
通信模块,用于根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
本申请实施例的第五方面,提供了一种云内通信系统,所述系统包括云网主机、云网服务主机、域名系统DNS和网络地址转换NAT网关,其中:
所述NAT网关用于获取所述DNS针对所述云网主机访问所述云网服务主机的请求所返回的第一目标DNS响应报文,执行如第一方面所述的云内通信方法以生成并发送第二目标DNS响应报文,使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
本申请实施例的第六方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的云内通信方法的步骤或者第二方面所述的云内通信方法的步骤。
本申请实施例的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面所述的云内通信方法的步骤,或者,该计算机程序/指令被处理器执行时实现如第二方面所述的云内通信方法的步骤。
本申请实施例的第八方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面所述的云内通信方法的步骤或者第二方面所述的云内通信方法的步骤。
本申请实施例包括以下优点:
本实施例中,通过截获并修改DNS回复的第一目标DNS响应报文,使云网主机能够获取到云网服务主机的内部地址,从而通过云内通信路径访问云网服务主机,能够减少云网主机对NAT资源的消耗,且能够缩短转发路径,提高通信效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有的云网主机访问云网服务主机的示意图;
图2是本申请实施例的一种云内通信方法的实施流程图;
图3是本申请实施例的一种减少云网主机通过NAT通信的方法的示意图;
图4是本申请实施例中一种报文解析的实施流程图;
图5是本申请实施例中一种地址匹配的实施流程图;
图6是本申请实施例中一种报文更新的实施流程图;
图7是本申请实施例中另一种云内通信方法的实施流程图;
图8是本申请实施例的一种云内通信装置的结构示意图;
图9是本申请实施例的另一种云内通信装置的结构示意图;
图10是本申请实施例中一种电子设备的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
服务主机(如云网服务主机)通常通过统一的域名提供访问服务,该域名会通过域名系统(DNS,Domain Name System)转换为IP地址(通常为外部地址,如全球IP地址),以便被互联网应用访问。
云网服务主机通常使用NAT或端口映射(实现内部IP和外部IP之间的映射,或内部IP:Port和外部IP:Port之间的映射)开放内部服务到外部网络,访问应用与服务之间的通信需通过NAT网关,即使此访问应用与云网服务主机位于同一云网内,在当前网络架构中,仍然也需要通过NAT网关进行通信。
如图1所示,云网主机上的云内访问应用(如图1所示的客户机Client)访问云网服务主机(如图1所示的服务器Server,其内部地址为FIP1,外部地址为EIP1)时,仍然需经过NAT网关转换后,经外部路由器绕回,存在转发路径过长,且转发性能低效的问题。同时,由于与云网服务主机位于相同虚拟私有云(VPC,Virtual Private cloud)的云网主机也需要消耗NAT资源,使当前本就有限的NAT资源无法全部服务于外部主机的访问服务,且会形成内外网通信时对NAT资源的竞争,使得内外网相互干扰,影响用户体验。
针对上述相关技术中存在的问题,本申请提出一种减少甚至避免云网主机通过NAT通信的方案,能够有效提升云网主机通信效率,降低NAT资源消耗。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的云内通信方法进行详细地说明。
第一方面,参照图2所示,为本申请实施例所提供的一种云内通信方法的实施流程图,该方法可以包括以下步骤:
步骤S11:获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文。
其中,云网主机和云网服务主机为云网内部的主机和为该主机提供访问服务的服务主机,两者均具有云网内部的内部地址,需要通过NAT网关将自身的内部地址转换为外部地址后,才可支持外部访问。
在具体实施时,云网主机可以向DNS发送携带该云网服务主机的域名的DNS请求报文,DNS在查询到该域名所关联的外部地址(如全球IP地址)之后,会向该云网主机返回携带该域名所关联的外部地址的第一目标DNS响应报文,此时可通过云网主机和DNS之间用于转发该第一目标DNS响应报文的设备(如NAT网关)对该第一目标DNS响应报文进行截获。
步骤S12:根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址。
在具体实施时,可以通过NAT网关存储的外部地址与内部地址之间的映射关系,确定该第一目标DNS响应报文携带的外部地址所映射的内部地址。
步骤S13:根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文。
在具体实施时,可以将云网服务主机的内部地址增加至第一目标DNS响应报文,以生成携带该内部地址的第二目标DNS响应报文,例如,可以将该内部地址插入到该第一目标DNS响应报文的回复报文段中,或使用该内部地址替换该第一目标DNS响应报文所携带的云网服务主机的外部地址。
步骤S14:发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
在具体实施时,云网主机根据接收到的第二目标DNS响应报文,确定云网服务主机的内部地址,并向该云网服务主机的内部地址发送请求业务数据的报文,与该云网服务主机连接的网关随后可根据该内部地址查找相关路由,而后通过云内通信路径将该报文发送到对应的云网服务主机,实现云网主机对云网服务主机的访问。可以理解的是,该访问过程使用的是基于内部地址的内网访问途经,不需要经过NAT网关进入外部网络并进行流量绕回,故可以缩短转发路径,且不会占用NAT资源(主要为端口映射时所占用的端口),从而有效提升云内主机通信效率,并减少NAT资源消耗。
采用本申请实施例的技术方案,通过截获并修改DNS回复的第一目标DNS响应报文,使云网主机能够获取到云网服务主机的内部地址,从而通过云内通信路径访问云网服务主机,能够减少云网主机对NAT资源的消耗,且能够缩短转发路径,提高通信效率。
以下结合图3,对上述技术方案作进一步说明。如图3所示,本申请实施例提供了一种减少云网主机通过NAT通信的方法,包括:
1、云网主机向租户网关(即NAT网关)发送DNS请求报文,以请求访问云网服务主机(Server),该DNS请求报文携带该云网服务主机的域名。
2、租户网关通过网络层(L3)将接收到的DNS请求报文转发至DNS服务器(DNSServer),DNS服务器根据租户网关转发的DNS请求报文,查询DNS请求报文携带的域名所关联的外部地址,生成携带该外部地址的DNS响应报文(即第一目标DNS响应报文),并将该DNS响应报文发送至租户网关。
3、租户网关解析接收到的第一目标DNS响应报文,通过该第一目标DNS响应报文携带的云网服务主机的外部地址,查询该云网服务主机的内部地址,根据该内部地址生成第一目标报文段,并根据该第一目标报文段,更新第一目标DNS响应报文,以生成携带该内部地址的第二目标DNS响应报文,向云网主机发送该第二目标DNS响应报文。
可以理解的是,NAT网关维护了其所连接云网内部的所有主机(云网主机和云网服务主机)的内部地址(即私有地址,FIP,Float IP)和外部地址(即外部弹性地址,EIP,Elastic IP)之间的映射关系,且其还负责DNS交互相关报文的转发,故可以方便地使用NAT网关进行DNS交互相关报文的截获和修改,但在实际应用时,也可以使用其它设备实现上述DNS交互相关报文的截获和修改功能,本申请对此不作限制。
作为一种可能的实施方式,如图4所示,租户网关可以对截获到的所有DNS响应报文进行DNS解析,从DNS响应报文中的回复报文段(即Answers报文段)中获取携带服务主机的外部地址的报文段(即A类(Type A)和/或AAA类(Type AAA)报文段),以得到DNS服务器回复的外部地址列表(包含服务主机的域名所关联的至少一个IPv4地址和/或IPv6地址)。若DNA解析成功,则生成数据A以保存该服务主机的域名与该外部地址列表之间的对应关系;若DNS解析失败,则使云网主机根据现有技术访问服务主机。
在生成数据A之后,如图5所示,租户网关可以遍历数据A中的外部地址,将各个外部地址(即EIP)与租户网关存储的EIP规则(用于指示EIP和FIP之间的映射关系)和路由表进行匹配,根据匹配成功的EIP所映射的内部地址(即FIP)更新数据A,并删除或保留数据A中匹配失败的EIP与域名之间的对应关系,得到至少包含域名、FIP和EIP之间的对应关系的数据B。
在具体实施时,对于租户网关所连接云网内的任一云网主机,租户网关在获取到DNS针对该云网主机访问服务主机的请求所返回的第三目标DNS响应报文之后,根据该第三目标DNS响应报文携带的服务主机的外部地址,判断该服务主机是否为云网服务主机(即进行EIP规则匹配);在所述服务主机是云网服务主机的情况下,将所述第三目标DNS响应报文确定为与云网服务主机关联的第一目标DNS响应报文。
在确认第三目标DNS响应报文与云网服务主机关联之后,租户网关根据路由表和该云网服务主机的内部地址,判断该云网主机是否能够通过云内通信路径访问所述云网服务主机。
例如,租户网关可以根据路由表和所述云网服务主机的内部地址,判断是否存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,所述目标路由包括以下至少一者:用于构成虚拟私有云VPC内部通信路径的直连路由、用于构成VPC对等连接VPC-Peering的通信路径的跳表路由;响应于存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机能够通过云内通信路径访问所述云网服务主机;响应于不存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机不能够通过云内通信路径访问所述云网服务主机。
可以理解的是,在检查FIP是否在DNS请求者(即云服务主机)的VPC中可达(即判断是否存在云内通信路径)时,可以直接查找租户网关的VPC路由表,若存在跳表路由和/或直连路由,则说明云网服务主机和云网主机在同一VPC中(即有直连路由),和/或,云网服务主机和云网主机不在同一个VPC中,但可通过vpc-peering进行通信(即有跳表路由),无需使用NAT,故租户网关可以使用内部地址对DNS响应报文进行修改。
在上述地址匹配成功之后,租户网关可以根据数据B生成携带云网服务主机的内部地址的第一目标报文段,并使用该第一目标报文段,更新对应的第一目标DNS响应报文,得到第二目标DNS响应报文。
在具体实施时,租户网关可以执行以下任一项更新第一目标DNS响应报文:
使用所述第一目标报文段替换所述第一目标DNS响应报文中的第二目标报文段,得到所述第二目标DNS响应报文,所述第二目标报文段指示了所述云网服务主机的外部地址;
将所述第一目标报文段插入到所述第一目标DNS响应报文中的回复报文段的头部位置或尾部位置,得到所述第二目标DNS响应报文。
在该实施例中,如图6所示,有三种用于更新DNS响应报文(即DNS Response报文)的策略选项(包含替换、头插入和尾插入):对于替换的方式,租户网关可以根据云网服务主机的内部地址,生成新的Type A/AAA报文段(即第一目标报文段),使用该新的Type A/AAA报文段替换第一目标DNS响应报文中的原有报文段,从而去除该第一目标DNS响应报文所携带的云网服务主机的外部地址;对于头插入或尾插入的方式,租户网关可以将该新的TypeA/AAA报文段插入到第一目标DNS响应报文的回复报文段的头部位置或尾部位置,该回复报文所携带的原有Type A/AAA段不变,从而保留该第一目标DNS响应报文所携带的云网服务主机的外部地址。
此外,为保证更新后的DNS响应报文信息正确性,在将第一目标报文段增加至第一目标DNS响应报文之后,还可以更新该增加了第一目标报文段的第一目标DNS响应报文所关联的目标信息,得到所述第二目标DNS响应报文。
其中,所述目标信息包括UDP数据包总长度、UDP数据包校验和、IP数据报总长度、以及IP数据报校验和中的至少一者。
可以理解的是,DNS响应报文通常封装在IP数据报所携带的UDP数据包,在以替换的方式更新DNS响应报文时,UDP数据包所携带的DNS响应报文内容发生变化,但UDP数据包总长度和IP数据报总长度不变,故可以只更新UDP数据包校验和;而在以头插入或尾插入的方式更新DNS响应报文时,上述内容均发生变化,故需要对UDP数据包总长度、UDP数据包校验和、IP数据报总长度、以及IP数据报校验和均进行更新,以保证携带该更新后DNS响应报文的IP数据报的信息正确性。
4、云网主机根据接收到的第二目标DNS响应报文所携带的云网主机的内部地址,生成用于向该内部地址请求业务数据的请求报文,租户网关根据该请求报文所携带的内部地址,查找云内通信路径所关联的云内路由,然后通过云内路由将该请求报文发送至云网服务主机,云网服务主机根据该请求报文生成响应报文,再经该租户网关通过云内通信路径转发至该云网主机,从而完成云网主机与云网服务器之间的云内通信交互。
需要说明的是,本申请所提供的基于DNS响应报文修改的内部引流行为,经过一次修改可支持多次TCP/UDP业务(即支持云网主机和云网服务主机之间的多次交互),不影响转发性能,在提升客户体验的同时,提高了NAT资源的利用率,且缩短了转发路径,提升了可靠性。
第二方面,如图7所示,本申请实施例还提供了另一种云内通信方法,该方法包括以下步骤:
步骤S21:发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
步骤S22:接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
步骤S23:根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
采用本申请实施例的技术方案,通过截获并修改DNS回复的第一目标DNS响应报文,使云网主机能够获取到云网服务主机的内部地址,从而通过云内通信路径访问云网服务主机,能够减少云网主机对NAT资源的消耗,且能够缩短转发路径,提高通信效率。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
第三方面,图8是本申请实施例的一种云内通信装置的结构示意图,所述装置包括:
第一获取模块,用于获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;
第一处理模块,用于根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;
第二处理模块,用于根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;
第一发送模块,用于发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
采用本申请实施例的技术方案,通过截获并修改DNS回复的第一目标DNS响应报文,使云网主机能够获取到云网服务主机的内部地址,从而通过云内通信路径访问云网服务主机,能够减少云网主机对NAT资源的消耗,且能够缩短转发路径,提高通信效率。
可选地,所述第二处理模块包括:
第一生成模块,用于根据所述云网服务主机的内部地址,生成第一目标报文段;
第一更新模块,用于根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文。
可选地,所述第一更新模块包括以下任一项:
第一更新子模块,用于使用所述第一目标报文段替换所述第一目标DNS响应报文中的第二目标报文段,得到所述第二目标DNS响应报文,所述第二目标报文段指示了所述云网服务主机的外部地址;
第二更新子模块,用于将所述第一目标报文段插入到所述第一目标DNS响应报文中的回复报文段的头部位置或尾部位置,得到所述第二目标DNS响应报文。
可选地,所述第一更新模块包括:
第三更新子模块,用于将所述第一目标报文段增加至所述第一目标DNS响应报文;
第四更新子模块,用于更新所述增加了第一目标报文段的第一目标DNS响应报文所关联的目标信息,得到所述第二目标DNS响应报文,所述目标信息包括UDP数据包总长度、UDP数据包校验和、IP数据报总长度、以及IP数据报校验和中的至少一者。
可选地,所述第一获取模块包括:
第一获取子模块,用于获取所述DNS针对云网主机访问服务主机的请求所返回的第三目标DNS响应报文;
第二获取子模块,用于根据所述第三目标DNS响应报文携带的所述服务主机的外部地址,判断所述服务主机是否为云网服务主机;
第三获取子模块,用于在所述服务主机是云网服务主机的情况下,将所述第三目标DNS响应报文确定为所述第一目标DNS响应报文。
可选地,所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文之前,所述装置还包括:
第三处理模块,用于根据路由表和所述云网服务主机的内部地址,判断所述云网主机是否能够通过云内通信路径访问所述云网服务主机;
所述第二处理模块包括:
第二生成模块,用于在所述云网主机能够通过云内通信路径访问所述云网服务主机的情况下,根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文。
可选地,所述第三处理模块包括:
判断模块,用于根据所述路由表和所述云网服务主机的内部地址,判断是否存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,所述目标路由包括以下至少一者:用于构成虚拟私有云VPC内部通信路径的直连路由、用于构成VPC对等连接VPC-Peering的通信路径的跳表路由;
第一响应模块,用于响应于存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机能够通过云内通信路径访问所述云网服务主机;
第二响应模块,用于响应于不存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机不能够通过云内通信路径访问所述云网服务主机。
可选地,所述根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址之前,所述装置还包括:
第四处理模块,用于解析所述第一目标DNS响应报文中的回复报文段,得到指示了所述云网服务主机的外部地址的报文段;
第五处理模块,用于根据所述报文段,得到所述云网服务主机的外部地址;
其中,所述报文段包括以下至少一者:
指示了云网服务主机的IPv4地址的报文段;
指示了云网服务主机的IPv6地址的报文段。
第四方面,图9是本申请实施例的另一种云内通信装置的结构示意图,所述装置包括:
发送模块,用于发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
接收模块,用于接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
通信模块,用于根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
采用本申请实施例的技术方案,通过截获并修改DNS回复的第一目标DNS响应报文,使云网主机能够获取到云网服务主机的内部地址,从而通过云内通信路径访问云网服务主机,能够减少云网主机对NAT资源的消耗,且能够缩短转发路径,提高通信效率。
第五方面,本申请实施例还提供了一种云内通信系统,所述系统包括云网主机、云网服务主机、域名系统DNS和网络地址转换NAT网关,其中:
所述NAT网关用于获取所述DNS针对所述云网主机访问所述云网服务主机的请求所返回的第一目标DNS响应报文,执行如第一方面所述的云内通信方法以生成并发送第二目标DNS响应报文,使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
需要说明的是,装置实施例与方法实施例相近,故描述的较为简单,相关之处参见方法实施例即可。
本申请实施例还提供了一种电子设备,参照图10,图10是本申请实施例提出的电子设备的示意图。如图10所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本申请实施例公开的云内通信方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的所述云内通信方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的所述云内通信方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、系统、设备、存储介质及程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种云内通信方法、装置、系统及设备、介质和产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种云内通信方法,其特征在于,所述方法包括:
获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;
根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;
根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;
发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
2.根据权利要求1所述的方法,其特征在于,所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文,包括:
根据所述云网服务主机的内部地址,生成第一目标报文段;
根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文,包括执行以下任一项:
使用所述第一目标报文段替换所述第一目标DNS响应报文中的第二目标报文段,得到所述第二目标DNS响应报文,所述第二目标报文段指示了所述云网服务主机的外部地址;
将所述第一目标报文段插入到所述第一目标DNS响应报文中的回复报文段的头部位置或尾部位置,得到所述第二目标DNS响应报文。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一目标报文段,更新所述第一目标DNS响应报文,得到所述第二目标DNS响应报文,包括:
将所述第一目标报文段增加至所述第一目标DNS响应报文;
更新所述增加了第一目标报文段的第一目标DNS响应报文所关联的目标信息,得到所述第二目标DNS响应报文,所述目标信息包括UDP数据包总长度、UDP数据包校验和、IP数据报总长度、以及IP数据报校验和中的至少一者。
5.根据权利要求1所述的方法,其特征在于,所述获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文,包括:
获取所述DNS针对云网主机访问服务主机的请求所返回的第三目标DNS响应报文;
根据所述第三目标DNS响应报文携带的所述服务主机的外部地址,判断所述服务主机是否为云网服务主机;
在所述服务主机是云网服务主机的情况下,将所述第三目标DNS响应报文确定为所述第一目标DNS响应报文。
6.根据权利要求1所述的方法,其特征在于,所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文之前,所述方法还包括:
根据路由表和所述云网服务主机的内部地址,判断所述云网主机是否能够通过云内通信路径访问所述云网服务主机;
所述根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文,包括:
在所述云网主机能够通过云内通信路径访问所述云网服务主机的情况下,根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文。
7.根据权利要求6所述的方法,其特征在于,所述根据路由表和所述云网服务主机的内部地址,判断所述云网主机是否能够通过云内通信路径访问所述云网服务主机,包括:
根据所述路由表和所述云网服务主机的内部地址,判断是否存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,所述目标路由包括以下至少一者:用于构成虚拟私有云VPC内部通信路径的直连路由、用于构成VPC对等连接VPC-Peering的通信路径的跳表路由;
响应于存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机能够通过云内通信路径访问所述云网服务主机;
响应于不存在用于构成所述云网主机和所述云网服务主机之间的云内通信路径的目标路由,则判定所述云网主机不能够通过云内通信路径访问所述云网服务主机。
8.根据权利要求1-7任一所述的方法,其特征在于,所述根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址之前,所述方法还包括:
解析所述第一目标DNS响应报文中的回复报文段,得到指示了所述云网服务主机的外部地址的报文段;
根据所述报文段,得到所述云网服务主机的外部地址;
其中,所述报文段包括以下至少一者:
指示了云网服务主机的IPv4地址的报文段;
指示了云网服务主机的IPv6地址的报文段。
9.一种云内通信方法,其特征在于,所述方法包括:
发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
10.一种云内通信装置,其特征在于,所述装置包括:
第一获取模块,用于获取域名系统DNS针对云网主机访问云网服务主机的请求所返回的第一目标DNS响应报文;
第一处理模块,用于根据外部地址与内部地址之间的映射关系、以及所述第一目标DNS响应报文携带的所述云网服务主机的外部地址,确定所述云网服务主机的内部地址;
第二处理模块,用于根据所述云网服务主机的内部地址、以及所述第一目标DNS响应报文,生成第二目标DNS响应报文;
第一发送模块,用于发送所述第二目标DNS响应报文,以使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
11.一种云内通信装置,其特征在于,所述装置包括:
发送模块,用于发送DNS请求报文,所述DNS请求报文用于请求访问云网服务主机;
接收模块,用于接收所述DNS请求报文对应的响应报文,所述响应报文携带了所述云网服务主机的内部地址;
通信模块,用于根据所述云网服务主机的内部地址,通过云内通信路径访问所述云网服务主机。
12.一种云内通信系统,其特征在于,所述系统包括云网主机、云网服务主机、域名系统DNS和网络地址转换NAT网关,其中:
所述NAT网关用于获取所述DNS针对所述云网主机访问所述云网服务主机的请求所返回的第一目标DNS响应报文,执行如权利要求1至8中任一项所述的云内通信方法以生成并发送第二目标DNS响应报文,使所述云网主机根据所述第二目标DNS响应报文,通过云内通信路径访问所述云网服务主机。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至8中任一项所述的云内通信方法,或者,所述处理器执行所述计算机程序以实现如权利要求9所述的云内通信方法。
14.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至8中任一项所述的云内通信方法,或者,该计算机程序/指令被处理器执行时实现如权利要求9所述的云内通信方法。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至8中任一项所述的云内通信方法,或者,该计算机程序/指令被处理器执行时实现如权利要求9所述的云内通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211684942.7A CN116155857A (zh) | 2022-12-27 | 2022-12-27 | 一种云内通信方法、装置、系统及设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211684942.7A CN116155857A (zh) | 2022-12-27 | 2022-12-27 | 一种云内通信方法、装置、系统及设备、介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116155857A true CN116155857A (zh) | 2023-05-23 |
Family
ID=86338133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211684942.7A Pending CN116155857A (zh) | 2022-12-27 | 2022-12-27 | 一种云内通信方法、装置、系统及设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116155857A (zh) |
-
2022
- 2022-12-27 CN CN202211684942.7A patent/CN116155857A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10148612B2 (en) | Method and system for increasing speed of domain name system resolution within a computing device | |
CN108370391B (zh) | 用于虚拟网络的共享多租户域名系统(dns)服务器 | |
EP2556438B1 (en) | Reverse dns lookup with modified reverse mappings | |
US20180278717A1 (en) | Request routing utilizing client location information | |
US10200340B2 (en) | Client traffic redirection service | |
US20090248893A1 (en) | Request routing | |
US20130290563A1 (en) | Answer augmentation system for authoritative dns servers | |
JP2007207231A (ja) | ネットワークにおける分散サービスへのアクセス法 | |
KR20110063328A (ko) | 물리적 인터페이스 질의 및 선택을 갖는 원격 프로지져 로출(rpc) 바인드 서비스 | |
CN109413224B (zh) | 报文转发方法和装置 | |
CN111031129A (zh) | 访问请求处理方法、处理装置、电子设备及存储介质 | |
CN110932983B (zh) | 一种tcp负载均衡方法、装置、设备及介质 | |
CN110677512B (zh) | 一种地址解析方法及装置 | |
CN114785733B (zh) | 一种实现跨vpc网络流量转发中会话溯源的方法 | |
CN116566945A (zh) | 去中心化应用的访问方法、装置、电子设备及存储介质 | |
CN116155857A (zh) | 一种云内通信方法、装置、系统及设备、介质和产品 | |
CN115242882A (zh) | 一种基于传输层路由访问k8s容器环境的方法及装置 | |
US20160127312A1 (en) | Optimization of Resource URLS in Machine-to-Machine Networks | |
CN115225606A (zh) | 一种容器云平台的跨网络协议的域名访问方法和系统 | |
CN114268605B (zh) | 一种智能dns实现方法、装置及计算机存储介质 | |
CN109618014B (zh) | 报文转发方法和装置 | |
US11381503B2 (en) | Data packet routing method and data packet routing device | |
CN115665086A (zh) | 基于网管设备的域名解析方法及其装置、电子设备 | |
CN116545980A (zh) | 一种基于dns代理解析分流方法和系统 | |
WO2022106029A1 (en) | Network traffic management |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Applicant after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Applicant before: Tianyiyun Technology Co.,Ltd. |