CN114826898A - 跨主机通信方法、装置、设备、系统及可读存储介质 - Google Patents
跨主机通信方法、装置、设备、系统及可读存储介质 Download PDFInfo
- Publication number
- CN114826898A CN114826898A CN202110043785.0A CN202110043785A CN114826898A CN 114826898 A CN114826898 A CN 114826898A CN 202110043785 A CN202110043785 A CN 202110043785A CN 114826898 A CN114826898 A CN 114826898A
- Authority
- CN
- China
- Prior art keywords
- address
- node device
- deployment point
- message
- node
- 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 173
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000015654 memory Effects 0.000 claims description 80
- 238000013507 mapping Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 101000957299 Homo sapiens Coronin-7 Proteins 0.000 description 13
- 101000800546 Homo sapiens Transcription factor 21 Proteins 0.000 description 13
- 102100033121 Transcription factor 21 Human genes 0.000 description 13
- 238000001914 filtration Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 8
- 101100407705 Zinnia violacea POD2 gene Proteins 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 239000000243 solution Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005477 standard model Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010668 complexation reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种跨主机通信方法、装置、设备、系统及可读存储介质,涉及通信技术领域。以第一节点设备执行该方法为例,该方法包括:第一节点设备获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文;第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文;第一节点设备向第二节点设备发送第二报文。本申请通过将目的地址由第二部署点的地址映射为节点设备地址,基于节点设备地址实现了跨主机通信,由于节点设备的数量小于节点设备上的部署点数量,因而该方法不仅能够不依赖CNI容器网络管理打通部署点间网络的连接,降低了服务间通信对通信设备的路由容量要求,还能降低网络管理复杂性。
Description
技术领域
本申请涉及网络通信领域,特别涉及跨主机通信方法、装置、设备、系统及可读存储介质。
背景技术
容器是一种轻量级的操作系统虚拟化技术,推动了云计算的快速发展和应用部署方式的变革。部署点(point on deployment,POD)是最小的可创建、调试和管理容器的部署单元,每个POD包含一个或多个用于承载软件程序的容器。随着容器的使用越来越多,跨主机的POD间网络连接变得愈加重要。
相关技术中,跨主机的POD间网络连接依赖容器网络接口(container networkinterface,CNI)标准的容器网络管理。CNI提供了一种标准,容器网络调度方案通常是采用CNI插件来实现,CNI插件需要为不同主机上的POD接口分配唯一的虚拟网际协议(internetprotocal,IP)地址,并安装与该接口相关的所有必要路由。虚拟交换机(virtue switch,VSW)维护POD IP主机路由。其实质是一种覆盖网络(overlay network),也就是将传输控制协议(transmission control protocol,TCP)数据包包装在另一种网络包里面,通过汇聚层交换机进行路由转发。
但是,对于大型数据中心(data center,DC)网络中POD数量较多时,依赖CNI容器网络管理打通POD间网络连接,造成VSW或物理交换机的主机路由数量膨胀,对设备的路由规格和转发性能提出较高要求,传统低端交换机无法满足。
发明内容
本申请提出一种跨主机通信方法、装置、设备、系统及可读存储介质,以解决相关技术提供的问题。
第一方面,提供了一种跨主机通信方法,以第一节点设备执行该方法为例,该方法包括:第一节点设备获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文,第一报文的源地址为第一部署点的地址,第一报文的目的地址为第二节点设备上的第二部署点的地址;第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文;第一节点设备向第二节点设备发送第二报文。
第一节点设备通过将目的地址为第二部署点地址的第一报文映射为目的地址为第二节点设备地址的第二报文,根据第二节点设备地址发送第二报文到第二设备节点,由此,实现了跨主机的通信且不依赖CNI容器网络管理,且由于节点设备的数量小于节点设备上的部署点数量,因而降低了跨主机服务间通信对通信设备的路由容量要求,简化了对CNI容器网络部署的依赖,从而降低了网络管理复杂性。
在一种可能的实现方式中,第一节点设备获取第一报文,包括:第一节点设备获取第一部署点应用发出的目的为所述第二节点设备的服务域名的第三报文,根据第二节点设备的服务域名映射得到第二部署点的地址;将第三报文的源地址设置为第一部署点的地址,将第三报文的目的地址设置为第二部署点的地址,得到第一报文。
在一种可能的实现方式中,第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,包括:第一节点设备获取第二节点设备的地址和第二部署点的地址的映射关系,根据第二节点设备的地址和第二部署点的地址的映射关系,将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址。
在一种可能的实现方式中,获取第二节点设备的地址和第二部署点的地址的映射关系,包括:第一节点设备向控制设备请求第二部署点应用对应的端点信息;第一节点设备接收控制设备返回的第二部署点应用对应的端点信息,第二部署点应用对应的端点信息包括第二节点设备的地址和第二部署点的地址;建立并存储第二节点设备的地址和第二部署点的地址的映射关系。通过向控制设备请求端点信息,从而获取第二节点设备的地址和第二部署点的地址,由此得到二者的映射关系,便于后续通信时基于该映射关系进行节点设备的地址到部署点的地址的映射,提高通信效率。
在一种可能的实现方式中,第一部署点的地址包括第一部署点的网际协议IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。通过将IP地址和端口号结合表示部署点和节点设备的地址,从而使得部署点和节点设备的地址更加精确,便于区分不同的部署点和节点设备,提高通信的准确率。
第二方面,提供了一种跨主机通信方法,以第二节点设备执行该方法为例,该方法包括:第二节点设备接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址;第二节点设备将第二报文的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文;第二节点设备将第一报文发送至第二节点设备的第二部署点,由第二部署点处理第一报文。
第二节点设备通过将接收的目的地址为第二节点设备地址的第二报文映射为目的地址为第二节点设备上的第二部署点地址的第一报文,根据第二节点设备上的第二部署点地址将第一报文发送到第二节点设备上的第二部署点应用,第二节点设备上的第二部署点应用对第一报文进行业务处理。由此,实现了跨主机的通信且不依赖CNI容器网络管理,降低了跨主机服务间通信对通信设备的路由容量要求,简化了对CNI容器网络部署的依赖从而降低了网络管理复杂性。
在一种可能的实现方式中,第二节点设备将第一报文发送至第二节点设备的第二部署点,包括:第二节点设备将第二部署点的地址映射得到第二节点设备的服务域名,将第二节点设备的服务域名映射得到第二节点设备所在主机的地址;基于主机的地址将第一报文发送至第二节点设备的第二部署点,通过第二部署点对应的服务处理第一报文。
在一种可能的实现方式中,第一部署点的地址包括第一部署点的网际协议IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。
第三方面,提供了一种跨主机通信装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该跨主机通信装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,提供了一种跨主机通信装置,用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该跨主机通信装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第五方面,提供了一种通信设备,该通信设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现如上任一所述的跨主机通信方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
第七方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二方面或第二方面的任一种可能的实施方式中的方法。
第八方面,提供了一种通信设备,所述通信设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述通信设备实现第一方面或第二方面任一所述的跨主机通信方法。
第九方面,提供了一种跨主机通信系统,所述跨主机通信系统包括第一节点设备和第二节点设备;
所述第一节点设备用于执行所述第一方面或第一方面的任一种可能的实现方式所述的方法,所述第二节点设备用于执行所述第二方面或第二方面的任一种可能的实现方式所述的方法。
第十方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上任一所述的跨主机通信方法。
第十一方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
第十二方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
第十三方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
应当理解的是,本申请的第三方面至第十三方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面至第二方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种实施环境示意图;
图2为本申请实施例提供的一种跨主机通信方法流程图;
图3为本申请实施例提供的一种数据面与控制面交互的结构示意图;
图4为本申请实施例提供的一种跨主机通信方法流程图;
图5为本申请实施例提供的一种跨主机通信方法交互示意图;
图6为本申请实施例提供的一种跨主机通信方法交互示意图;
图7为本申请实施例提供的一种跨主机通信装置的结构示意图;
图8为本申请实施例提供的一种跨主机通信装置的结构示意图;
图9为本申请实施例提供的一种通信设备的结构示意图;
图10为本申请实施例提供的一种通信设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着互联网和云计算技术的成熟与发展,公共云(public cloud)平台也应运而生。在公共云上,云厂商通常以虚拟主机的方式提供网络和计算等服务资源,在虚拟主机上部署各种容器以实现各种应用功能,公众可以通过网络获取这些资源。由于企业应用愈加复杂,服务间的通信也愈加复杂,致力于实现服务通信与治理策略的基础设施层的服务网格(service mesh)应运而生。连接、安全加固、控制和观察服务的开放平台(an openplatform to connect,secure,control and observe services,ISTIO)作为用于连接、保护、控制和观测容器的服务网格架构的一种实现,提供了许多跨服务网络的关键功能。
在实际部署ISTIO服务网格中,需要先部署CNI容器网络管理打通POD间容器网络,再部署ISTIO网格管理进行边车(Sidecar)的L4-L7均衡分担。对此,本申请实施例提供了一种跨主机通信方法,该方法解决ISTIO可以不依赖CNI容器网络管理打通POD间网络连接问题,降低了容器服务间通信对通信设备的路由容量要求,简化了对CNI容器网络部署依赖从而降低了网络管理复杂性。
以本申请实施例提供的跨主机通信方法应用于图1所示的实施环境中为例,如图1所示,该环境包括节点1(NODE1)和节点2(NODE2)两个节点设备。每个节点设备中部署有一个POD,每个POD中包括一个服务(Service)和一个Sidecar代理服务,Sidecar代理服务间通过双向传输层安全协议(mutual transport layer security,mTLS)连接,每个POD具有对应的IP地址和端口地址。如图1所示,NODE1中的POD的地址为POD IP1+PORTa,NODE2中的POD的地址为POD IP2+PORTb。
示例性地,本申请实施例中的节点设备包括但不限于虚拟机、物理机或宿主机。其中,图1所示的NODE1和NODE2为第一节点设备和第二节点设备,NODE1中的POD为第一节点设备上的第一部署点应用,NODE2中的POD为第二节点设备上的第二部署点应用。
结合图1所示的实施环境,以第一节点设备执行该方法为例,对本申请实施例提供的跨主机通信方法进行说明。参见图2,该方法包括如下步骤201-步骤203。
步骤201,第一节点设备获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文,第一报文的源地址为第一部署点的地址,第一报文的目的地址为第二节点设备上的第二部署点的地址。
在本申请实施例中,部署点为POD,POD是Kubernetes(K8s)系统中最小的可创建、调试和管理容器的部署单元,K8s是容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。节点设备为运行有POD的主机节点(NODE),NODE是K8s中的工作节点,可以是虚拟机、物理机或宿主机,每个NODE可以由一个或多个POD组成。其中,POD可以是若干相关容器的组合,即一个POD可以由一个或多个容器组成,且POD中的所有容器共享网络命名空间,即POD中的每个容器拥有相同的IP地址和网络端口(PORT)地址,在同一网络空间,能够通过域名(localhost)来互相访问。
在本申请实施例中,第一部署点的地址包括第一部署点的IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。示例性地,第一部署点为POD1,第二部署点为POD2,第二节点设备为主机节点(NODE2),那么,第一部署点的地址包括POD IP1+PORT1,第二部署点的地址包括POD IP2+PORT2,第二节点设备的地址包括NODE IP2+PORT2。
可选地,第一节点设备获取第一报文,包括但不限如下步骤2011-步骤2012。
步骤2011,第一节点设备获取第一部署点应用发出的目的为第二节点设备的服务域名的第三报文,根据第二节点设备的服务域名映射得到第二部署点的地址。
在本申请实施例中,当第一节点设备上的第一部署点应用需要访问其他服务时,可以生成请求报文即第三报文,从而运行有该第一部署点的第一节点设备可以获取到该容器产生的第三报文。其中,请求报文可以用于请求网络通信、请求网络服务调用等。由于采用域名访问机制,第三报文包括目的节点即第二节点设备的服务域名。通过服务域名能够更方便的访问互联网,无需记住能够被机器直接读取的IP地址数字串。
在本申请实施例中,K8s容器集群管理系统部署于ISTIO服务网格框架中,ISTIO本身并不解决容器网络互联问题,其通过Sidecar的方式内置应用层代理,通过网络策略限制仅有代理才能实现对外访问,使用策略限制代理以实现网络控制。在K8s中Sidecar作为一个进程(Proxy)自动注入到POD中,来劫持POD应用容器的所有进出流量。
ISTIO服务网格架构总体分为控制面和数据面两部分,控制面和数据面以标准接口进行交互。Sidecar对于劫持的流量会创建相应的iptables规则,ISTIO通过iptables和Sidecar Proxy接管服务之间的通信。iptables按照规则(rule)执行,规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议和服务类型等。当请求报文与规则匹配时,iptables根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。其中,ISTIO数据面支持如下出站(Outbound)特性:服务认证(service authentication)、负载均衡(load balancing)、重试断路器(retryand circuit breaker)、细粒度的路由(fine-grained routing)、遥测(telemetry)、分布式追踪(request tracing)、故障注入(fault injection)。
在示例性实施例中,POD中部署的Sidecar代理服务依附着POD的每项服务运行,并以与平台无关的方式提供必要功能,POD中的所有流量都通过Sidecar代理流动。示例性地,POD1发起对POD2的网络请求,该请求首先被POD1中部署的Sidecar拦截,拦截流量根据Sidecar创建的iptables规则进行处理,iptables规则为监听所有入栈协议端口的流量到Sidecar的Socket监听端口。
可选地,当第一节点设备上的第一部署点应用发出目的为第二节点设备的服务域名的第三报文,第三报文被第一部署点应用上的iptables拦截,根据拦截规则对第三报文进行处理,将第二节点设备的服务域名映射得到第二部署点的地址。示例性地,POD1发起目的为NODE2的服务域名的第三报文,第三报文被POD1的iptables规则拦截,根据拦截规则将第三报文流量重定向到部署于POD1上的Sidecar1的Socket监听端口,Socket监听端口监听到第三报文后,根据第三报文的目的服务域名与Sidecar1 Outbound报文过滤策略的路由规则,将第三报文的NODE2服务域名映射为路由目的地址POD2 IP2+PORT2。
在本申请实施例中,Outbound报文过滤策略的路由规则为动态资源,可通过应用程序接口(application programming interface,API)由控制面获取。示例性地,Sidecar根据初始配置获得控制面地址,采用任一API从控制面获取监听、路由等动态配置信息,根据获取的动态配置信息,对请求报文进行处理,得到请求报文中的目的服务域名映射的目的部署点地址。
步骤2012,将第三报文的源地址设置为第一部署点的地址,将第三报文的目的地址设置为第二部署点的地址,得到第一报文。
可选地,通过第一部署点上部署的Sidecar代理对流量进行处理,得到目的路由地址即第二部署点的地址,将第二部署点的地址设置为第三报文的目的地址,得到第一报文。示例性地,POD1发起的目的为NODE2服务域名的第三报文,根据iptable规则拦截流量重定向到部署于POD1上的Sidecar1的Socket监听端口,由Sidecar1 Outbound报文过滤策略的路由规则得到第三报文的NODE2服务域名映射的路由目的地址POD2 IP2+PORT2,目的路由地址指的是该请求报文转发的下一跳地址,将第三报文的目的地址设置为路由目的地址即第二部署点的地址POD2 IP2+PORT2,得到第一报文。
步骤202,第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文。
在示例性实施例中,由于第一报文的目的地址为跨主机的部署点地址,需要部署CNI标准的容器配置网络进行通信。CNI包括了网络接口的规范、库和插件,基于CNI技术与上层网络交换机和网关一起规划虚拟网络,其实质是一种overlay网络,将TCP数据包包装在另一种网络包里面,通过汇聚层交换机进行路由转发。对于网络部署点较多的情况下,对设备的路由规格和转发性能要求较高,传统低端交换机无法满足。因此,本申请实施例设置Sidecar代理服务按NODE IP+PORT表示方式,Sidecar进行服务间报文收发路由时,对服务的NODE IP+PORT一比一映射POD IP+PORT,实现通过服务器间的NODE IP进行路由互通,无需服务器间的POD IP进行路由互通。
可选地,Sidecar代理服务按NODE IP+PORT表示方式,也就是说每个POD中注入的Sidecar代理服务具有对应的NODE IP+PORT地址,在Sidecar中的Outbound报文过滤策略的路由规则中增加目的地址转换(destination network address translation,DNAT)规则,将该表示方式一比一映射为POD的地址,即可通过Sidecar代理服务间的通信协议进行路由,不依赖POD间的CNI网络互通进行路由,降低了容器服务间通信对通信设备的路由容量要求,降低了网络管理复杂性。示例性地,POD1中的Sidecar1代理服务按NODE IP1+PORT1表示方式,即NODE IP1+PORT1与POD IP1+PORT1的映射关系。
其中,DNAT原理为在路由前将来自外网访问的网关公网IP及对应端口的目的IP及端口修改为内部服务器的IP及端口,实现发布内部服务器。在本申请实施例中,将DNAT规则添加到Outbound特性中,用来将根据路由规则得到的目的路由地址即第二部署点地址映射为目的节点地址即第二节点设备的地址,根据第二节点设备的地址将第二报文进行路由转发,以实现跨主机的容器通信。
在示例性实施例中,第一节点设备获取第二节点设备的地址和第二部署点的地址的映射关系,根据第二节点设备的地址和第二部署点的地址的映射关系,将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址。示例性地,第二节点设备的地址和第二部署点的地址的映射关系为NODE IP2+PORT2与POD IP2+PORT2,根据映射关系将第一报文的目的地址由第二部署点的地址POD IP2+PORT2映射为第二节点设备的地址NODEIP2+PORT2,根据第二节点设备的地址进行路由转发,即可不依赖CNI容器网络管理实现跨主机的容器通信。
可选地,获取第二节点设备的地址和第二部署点的地址的映射关系,包括但不限于如下步骤2021-步骤2023。
步骤2021,第一节点设备向控制设备请求第二部署点应用对应的端点信息。
在一种可能的实现方式中,扩展EDS接口携带NODEIP+PORD,第一节点设备向控制设备请求第二部署点应用对应的端点信息,包括:第一节点设备(NODE1)中的第一部署点应用中部署的Sidecar代理采用Envoy模式,NODE1中的Envoy劫持到第一报文后,通过API服务接口中的EDS向控制面的Pilot请求第二部署点POD2应用对应的端点信息,请求信息包括POD2的服务集群名和新增的POD2对应的NODEIP类型。
在本申请实施例中,以控制设备为Pilot为例,Pilot是ISTIO控制面的核心,Pilot维护了ISTIO中的服务的标准模型,这个标准模型是独立于各种底层平台的。Pilot通过适配器和各底层平台对接,以填充此标准模型。例如,Pilot中的K8s适配器通过K8s API服务器得到k8s中POD注册信息的更改,入口资源以及存储流量管理规则等信息,然后将该数据被翻译为标准模型提供给Pilot使用。
Pilot定义了一套和数据面通信的标准API,API提供的接口内容包括服务发现、负载均衡池和路由表的动态更新。通过该标准API将控制面和数据面进行了解耦,基于该标准API能够实现多种Sidecar代理和ISTIO的集成,除ISTIO目前集成的Envoy外,还可以和Linkerd、Nginmesh等第三方通信代理进行集成,也可以基于该API自己编写Sidecar实现。
ISTIO数据面API定义了xDS服务接口,Pilot通过该接口向数据面Sidecar下发动态配置信息,以对Mesh中的数据流量进行控制。xDS中的DS表示discovery service,即发现服务,表示xDS接口使用动态发现的方式提供数据面所需的配置数据。而x则是一个代词,表示有多种discover service。xDS包括CDS(cluster discovery service,集群发现服务)、LDS(listener discovery service,监听发现服务)、RDS(route discovery service,路由发现服务)、EDS(endpoint discovery service,端点发现服务)等。在EDS接口中,使用“Endpoint”来表示一个应用实例,对应一个IP+PORT的组合。
Envoy根据初始配置获得Pilot地址,采用xDS接口从Pilot获取到监听(Listener),集群(Cluster),路由(Route)等动态配置信息。Envoy根据获取到的动态配置启动Listener,并根据Listener的配置,结合Route和Cluster对拦截到的流量进行处理。在Envoy中,Cluster是一个服务集群,Cluster中包含一个到多个endpoint,每个endpoint都可以提供服务,Envoy根据负载均衡算法将请求发送到这些endpoint中。Envoy向控制面Pilot获取endpoint端点信息的示意图如图3所示。
示例性地,Envoy向控制面Pilot请求服务的端点信息新增NODEIP TYPE体现在yaml文件中,关键代码如下:
其中,some_service这个cluster的hosts列表是由EDS返回值决定的,Pilot中EDS的服务地址是127.0.0.3:5678,Envoy通过EDS的服务地址向Pilot发出请求。
步骤2022,第一节点设备接收控制设备返回的第二部署点应用对应的端点信息,第二节点设备的端点信息包括第二节点设备的地址和第二部署点的地址。
在本申请实施例中,控制面Pilot向Envoy响应请求的端点信息,返回第二部署点应用对应的端点信息,第二节点设备的端点信息包括第二节点设备的地址和第二部署点的地址,端点消息中新增NODEIP TYPE对应的NODEIP+PORT信息即第二节点设备的地址。
yaml文件中的关键代码如下:
其中,第二节点设备的端点信息中的第二节点设备的地址为192.0.0.2:2222,第二节点设备的端点信息中的第二部署点的地址为127.0.0.2:1234。由此,得到第二节点设备的地址和第二部署点的地址的映射关系,根据第二节点设备的地址和第二部署点的地址的映射关系,将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文。
步骤2023,建立并存储第二节点设备的地址和第二部署点的地址的映射关系。
在本申请实施例中,Envoy发起端建立起目的POD IP+PORT和目的NODE IP+PORT的DNAT映射规则,将该映射关系存储在控制面Pilot中,其他Envoy可以通过控制面Pilot获取该映射关系,也就是说,第二节点设备接收端可通过Pilot获取该映射规则,将目的地址反映射为目的POD IP+PORT,以实现将请求报文路由转发到POD,由POD进行业务处理的目的。
步骤203,第一节点设备向第二节点设备发送第二报文。
在本申请实施例中,第一节点设备根据第二报文中的第二节点设备的地址,将第二报文基于Sidecar代理间的mTLS传输协议发送至第二节点设备,第二节点设备的内核接收该第二报文。
本申请实施例提供的方法,通过将目的地址为第二部署点地址的第一报文映射为目的地址为第二节点设备地址的第二报文,根据第二节点设备地址发送第二报文到第二设备节点,由此,实现了跨主机的通信且不依赖CNI容器网络管理,且由于节点设备的数量小于节点设备上的部署点数量,因而降低了跨主机服务间通信对通信设备的路由容量要求,简化了对CNI容器网络部署的依赖从而降低了网络管理复杂性。
以第二节点设备执行该方法为例,对本申请实施例提供的跨主机通信方法进行说明。参见图4,该方法包括如下步骤401-步骤403。
步骤401,第二节点设备接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址。
在本申请实施例中,第二节点设备接收第二报文为第二节点设备的内核接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址。其中,第一部署点的地址包括第一部署点的网际协议IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。示例性地,第一部署点为POD1,第二部署点为POD2,第二节点设备为主机节点(NODE2),那么,第一部署点的地址包括POD IP1+PORT1,第二部署点的地址包括POD IP2+PORT2,第二节点设备的地址包括NODE IP2+PORT2。
步骤402,第二节点设备将第二报文的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文。
在本申请实施例中,ISTIO数据面支持如下入站(Inbound)特性:服务认证(service authentication)、鉴权(authorization)、请求限流(rate limits)、负载控制(load shedding)、遥测(telemetry)、分布式追踪(request tracing)、故障注入(faultinjection)。
示例性地,将Inbound报文过滤策略的路由规则中增加DNAT转换规则,DNAT转换规则将第二报文中的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文。示例性地,第二报文中的第二节点设备的地址为NODE IP2+PORT2,根据DNAT转换规则将NODE IP2+PORT2映射为第二节点设备上的第二部署点的地址POD IP2+PORT2,得到包括目的地址为POD IP2+PORT2的第一报文。
可选地,当第二节点设备内核接收到外部网络发出的目的地址为第二节点设备地址的第二报文,第二报文被第二节点设备内核上的iptables规则拦截,iptables规则为监听所有入栈协议端口的流量到Sidecar的Socket监听端口,根据拦截规则对第二报文进行处理,将第二节点设备的地址映射为第二节点设备上的第二部署点的地址。示例性地,NODE2接收到POD1发起的目的地址为NODE IP2+PORT2的第二报文,第二报文被iptables规则拦截,根据拦截规则将第二报文流量重定向到Sidecar2的Socket监听端口,Socket监听端口监听到第二报文后,根据第二报文的目的地址与Sidecar2 Inbound报文过滤策略的路由规则,将第二报文的NODE IP2+PORT2映射为第二节点设备上的第二部署点的地址PODIP2+PORT2,得到第一报文。
步骤403,第二节点设备将第一报文发送至第二节点设备的第二部署点,由第二部署点处理第一报文。
可选地,第二节点设备将第一报文发送至第二节点设备的第二部署点,包括但不限于如下步骤4031-步骤4032。
步骤4031,第二节点设备将第二部署点的地址映射得到第二节点设备的服务域名,将第二节点设备的服务域名映射得到第二节点设备所在主机的地址。
在本申请实施例中,第一报文包括的目的地址为第二节点设备上的第二部署点的地址,第二节点设备根据该目的地址将第二部署点的地址映射得到第二节点设备的服务域名,根据Inbound报文过滤策略的路由规则,配置得到第二节点设备所在主机的地址。示例性地,目的地址即第二节点设备上的第二部署点的地址为POD IP2+PORT2,当第一报文被重定向到Socket监听端口后,根据匹配条件,第一报文被监听端口内部配置的过滤器进行处理,该过滤器设置的路由配置为将第一报文发送至第一报文的目的地址映射的目的服务域名地址的集群中,该集群配置的host地址为127.0.0.1:PORT2。
步骤4032,基于该主机的地址将第一报文发送至第二节点设备的第二部署点,通过第二部署点对应的服务处理第一报文。
在本申请实施例中,第一报文的目的地址最终映射为第二节点设备所在主机的地址,根据该主机的地址将第一报文发送至第二节点设备的第二部署点,通过第二部署点对应的服务处理第一报文。示例性地,第一报文的目的地址最终映射得到第二节点设备所在主机的地址为127.0.0.1:PORT2,第一报文被发送至127.0.0.1:PORT2,即第二节点设备的第二部署点应用接收到第一报文进行业务处理。
本申请实施例提供的方法,通过将接收的目的地址为第二节点设备地址的第二报文映射为目的地址为第二节点设备上的第二部署点地址的第一报文,根据第二节点设备上的第二部署点地址将第一报文发送到第二节点设备上的第二部署点应用,第二节点设备上的第二部署点应用对第一报文进行业务处理。由此,实现了跨主机的通信且不依赖CNI容器网络管理,降低了跨主机服务间通信对通信设备的路由容量要求,简化了对CNI容器网络部署的依赖从而降低了网络管理复杂性。
本申请实施例提供了一种跨主机的通信方法,参见图5,该方法包括如下步骤501-步骤504。
步骤501,第一节点设备获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文,第一报文的源地址为第一部署点的地址,第一报文的目的地址为第二节点设备上的第二部署点的地址。
该步骤501的实施方式可参见上述步骤201的相关描述,此处不再赘述。
步骤502,第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文。
该步骤502的实施方式可参见上述步骤202的相关描述,此处不再赘述。
步骤503,第一节点设备向第二节点设备发送第二报文。
该步骤503的实施方式可参见上述步骤203的相关描述,此处不再赘述。
步骤504,第二节点设备接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址。
该步骤504的实施方式可参见上述步骤401的相关描述,此处不再赘述。
步骤505,第二节点设备将第二报文的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文。
该步骤505的实施方式可参见上述步骤402的相关描述,此处不再赘述。
步骤506,第二节点设备将第一报文发送至第二节点设备的第二部署点,由第二部署点处理第一报文。
该步骤506的实施方式可参见上述步骤403的相关描述,此处不再赘述。
请参考图6,其示出了本申请实施例提供的一种跨主机通信方法的示意图,以节点1(NODE1)和节点2(NODE2)两个物理主机节点执行该方法为例,该方法包括如下步骤601-步骤604。
步骤601,NODE1 POD1应用发起对NODE2服务域名的服务调用报文,获取Outbound报文源和目的。
报文被NODE1 POD1的iptables规则拦截,拦截规则为监听所有入栈协议端口的流量到Socket监听端口。报文流量被重定向到Sidecar1的Socket监听端口,Socket监听端口根据Sidecar1 Outbound报文过滤策略的路由规则,得到NODE2服务域名映射的路由目的地址POD2 IP2+PORT2,形成如下Outbound报文源和目的:SRC[POD1 IP1+PORT1]和DST[POD2IP2+PORT2]。
步骤602,获取更新的Outbound报文源和目的并将报文路由给NODE2。
Sidecar1 Outbound报文过滤策略的路由规则中增加DNAT转换规则,完成目的地址POD2IP2+PORT2到NODE2 NODEIP2+PORT2转换,形成更新的Outbound报文源和目的:SRC[POD1 IP1+PORT1]和DST[NODE2 NODEIP2+PORT2]。根据更新的Outbound报文源和目的,报文被路由转发到NODE2。
步骤603,NODE2内核接收到报文后,获取Inbound报文源和目的。
报文转发至NODE2后,被NODE2的iptables规则拦截,重定向到Sidecar2的Socket监听端口,由Sidecar2 Inbound报文过滤策略的路由规则,获取如下Inbound报文源和目的:SRC[POD1 IP1+PORT1]和DST[NODE2 NODEIP2+PORT2]。
步骤604,获取更新的Inbound报文源和目的,根据更新的Inbound报文源和目的报文最终被转发到NODE2 POD2服务进行处理。
Sidecar2 Inbound报文过滤策略的路由规则中增加DNAT转换规则,完成目的地址NODE2NODEIP2+PORT2到POD2 IP2+PORT2的转换,形成更新的Inbound报文源和目的:SRC[POD1IP1+PORT1]和DST[POD2 IP2+PORT2]。
根据更新的Inbound报文源和目的,由Sidecar2 Inbound报文过滤策略的路由规则将POD2IP2+PORT2映射到NODE2服务域名+端口,根据NODE2服务域名+端口所处的集群,将NODE2服务域名+端口到host本机127.0.0.1地址+端口进行映射,报文最终被转发到NODE2服务域名对应的本地地址和端口,即NODE2 POD2服务进行处理。
以上介绍了本申请实施例的跨主机通信方法,与上述方法对应,本申请实施例还提供跨主机通信装置。
图7是本申请实施例提供的一种跨主机通信装置的结构示意图,该装置应用于第一节点设备,该第一节点设备为上述图2、5及6任一附图所示的第一节点设备。基于图7所示的如下多个模块,该图7所示的跨主机通信装置能够执行第一节点设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图7所示,该装置包括:
获取模块701,用于获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文,第一报文的源地址为第一部署点的地址,第一报文的目的地址为第二节点设备上的第二部署点的地址。
映射模块702,用于将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文。
发送模块703,用于向第二节点设备发送第二报文。
在一种可能的实现方式中,获取模块701,用于获取第一部署点应用发出的目的为所述第二节点设备的服务域名的第三报文,根据第二节点设备的服务域名映射得到第二部署点的地址;将第三报文的源地址设置为第一部署点的地址,将第三报文的目的地址设置为第二部署点的地址,得到第一报文。
在一种可能的实现方式中,映射模块702,用于获取第二节点设备的地址和第二部署点的地址的映射关系,根据第二节点设备的地址和第二部署点的地址的映射关系,将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址。
在一种可能的实现方式中,映射模块702,用于向控制设备请求第二部署点应用对应的端点信息;第一节点设备接收控制设备返回的第二部署点应用对应的端点信息,第二部署点应用对应的端点信息包括第二节点设备的地址和第二部署点的地址;建立并存储第二节点设备的地址和第二部署点的地址的映射关系。
在一种可能的实现方式中,第一部署点的地址包括第一部署点的网际协议IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。
图8是本申请实施例提供的一种跨主机通信装置的结构示意图,该装置应用于第二节点设备,该第二节点设备为上述图4、5及6任一附图所示的第二节点设备。基于图8所示的如下多个模块,该图8所示的跨主机通信装置能够执行第二节点设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图8所示,该装置包括:
接收模块801,用于接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址。
映射模块802,用于将第二报文的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文。
发送模块803,用于将第一报文发送至第二节点设备的第二部署点,由第二部署点处理第一报文。
在一种可能的实现方式中,发送模块803,用于将第二部署点的地址映射得到第二节点设备的服务域名,将第二节点设备的服务域名映射得到第二节点设备所在主机的地址;基于主机的地址将第一报文发送至第二节点设备的第二部署点,通过第二部署点对应的服务处理第一报文。
在一种可能的实现方式中,第一部署点的地址包括第一部署点的网际协议IP地址和第一端口号,第二部署点的地址包括第二部署点的IP地址和第二端口号,第二节点设备的地址包括第二节点设备的IP地址和第二端口号。
应理解的是,上述图7及8提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图9,图9示出了本申请一个示例性实施例提供的通信设备2000的结构示意图。图9所示的通信设备2000用于执行上述图2及4-6所示的跨主机通信方法所涉及的操作。该通信设备2000例如是交换机、路由器等,该通信设备2000可以由一般性的总线体系结构来实现。
如图9所示,通信设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,通信设备2000还包括总线。总线用于在通信设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于通信设备2000与其他设备进行通信。
在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图9中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,通信设备2000可以包括多个处理器,如图9中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,通信设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,通信设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的跨主机通信方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的通信设备2000可对应于上述各个方法实施例中的第一节点设备,通信设备2000中的处理器2001读取存储器2003中的指令,使图9所示的通信设备2000能够执行第一节点设备所执行的全部或部分操作。
具体的,处理器2001用于通过通信接口获取第一报文,第一报文是第一节点设备上的第一部署点应用的报文,第一报文的源地址为第一部署点的地址,第一报文的目的地址为第二节点设备上的第二部署点的地址;第一节点设备将第一报文的目的地址由第二部署点的地址映射为第二节点设备的地址,得到第二报文;第一节点设备向第二节点设备发送第二报文。
其他可选的实施方式,为了简洁,在此不再赘述。
又例如,本申请实施例的通信设备2000可对应于上述各个方法实施例中的第二节点设备,通信设备2000中的处理器2001读取存储器2003中的指令,使图9所示的通信设备2000能够执行第二节点设备所执行的全部或部分操作。
具体的,处理器2001用于通过通信接口接收第二报文,第二报文的源地址为第一节点设备上的第一部署点的地址,第二报文的目的地址为第二节点设备的地址;第二节点设备将第二报文的目的地址由第二节点设备的地址映射为第二节点设备上的第二部署点的地址,得到第一报文;第二节点设备将第一报文发送至第二节点设备的第二部署点,由第二部署点处理第一报文。
其他可选的实施方式,为了简洁,在此不再赘述。
通信设备2000还可以对应于上述图7-8所示的跨主机通信装置,跨主机通信装置中的每个功能模块采用通信设备2000的软件实现。换句话说,跨主机通信装置包括的功能模块为通信设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
其中,图2及4-6所示的跨主机通信方法的各步骤通过通信设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图10,图10示出了本申请另一个示例性实施例提供的通信设备2100的结构示意图,图10所示的通信设备2100用于执行上述图2及4-6所示的跨主机通信方法所涉及的全部或部分操作。该通信设备2100例如是交换机、路由器等,该通信设备2100可以由一般性的总线体系结构来实现。
如图10所示,通信设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板2110用于对通信设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为通信设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是通信设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
可选地,通信设备2100包括多个接口板,例如通信设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
可选地,通信设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在通信设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-processcommunication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,通信设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护通信设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一通信设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,通信设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,通信设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,通信设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的通信设备的数据接入和处理能力要大于集中式架构的通信设备。可选地,通信设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态通信设备的数据交换和处理能力较低(例如,低端交换机或路由器等通信设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,通信设备2100对应于上述图7所示的应用于第一节点设备的跨主机通信装置。在一些实施例中,图7所示的跨主机通信装置中的获取模块701相当于通信设备2100中的物理接口卡2133,映射模块702相当于通信设备2100中的中央处理器2111或网络处理器2132,发送模块703相当于通信设备2100中的物理接口卡2133。
在一些实施例中,通信设备2100还对应于上述图8所示的应用于第二节点设备的跨主机通信装置。在一些实施例中,图8所示的跨主机通信装置中的接收模块801相当于通信设备2100中的物理接口卡2133;映射模块802相当于通信设备2100中的中央处理器2111或网络处理器2132,发送模块803相当于通信设备2100中的物理接口卡2133。
基于上述图9及图10所示的通信设备,本申请实施例还提供了一种跨主机通信系统,该处理系统包括:第一节点设备及第二节点设备。可选的,第一节点设备为图9所示的通信设备2000或图10所示的通信设备2100,第二节点设备为图9所示的通信设备2000或图10所示的通信设备2100。
第一节点设备及第二节点设备所执行的跨主机通信方法可参见上述图2及4-6所示实施例的相关描述,此处不再加以赘述。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一节点设备所需执行的方法。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二节点设备所需执行的方法。
应理解的是,上述处理器可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的跨主机通信方法。
本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的跨主机通信方法。
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的跨主机通信方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid statedisk)等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”“,an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种跨主机通信方法,其特征在于,所述方法包括:
第一节点设备获取第一报文,所述第一报文是所述第一节点设备上的第一部署点应用的报文,所述第一报文的源地址为所述第一部署点的地址,所述第一报文的目的地址为第二节点设备上的第二部署点的地址;
所述第一节点设备将所述第一报文的目的地址由所述第二部署点的地址映射为所述第二节点设备的地址,得到第二报文;
所述第一节点设备向所述第二节点设备发送所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述第一节点设备获取第一报文,包括:
所述第一节点设备获取所述第一部署点应用发出的目的为所述第二节点设备的服务域名的第三报文,根据所述第二节点设备的服务域名映射得到所述第二部署点的地址;
将所述第三报文的源地址设置为所述第一部署点的地址,将所述第三报文的目的地址设置为所述第二部署点的地址,得到所述第一报文。
3.根据权利要求1或2所述的方法,其特征在于,所述第一节点设备将所述第一报文的目的地址由所述第二部署点的地址映射为所述第二节点设备的地址,包括:
所述第一节点设备获取所述第二节点设备的地址和所述第二部署点的地址的映射关系,根据所述第二节点设备的地址和所述第二部署点的地址的映射关系,将所述第一报文的目的地址由所述第二部署点的地址映射为所述第二节点设备的地址。
4.根据权利要求3所述的方法,其特征在于,所述获取所述第二节点设备的地址和所述第二部署点的地址的映射关系,包括:
所述第一节点设备向控制设备请求所述第二部署点应用对应的端点信息;
所述第一节点设备接收所述控制设备返回的所述第二部署点应用对应的端点信息,所述第二部署点应用对应的端点信息包括所述第二节点设备的地址和所述第二部署点的地址;
建立并存储所述第二节点设备的地址和所述第二部署点的地址的映射关系。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第一部署点的地址包括所述第一部署点的网际协议IP地址和第一端口号,所述第二部署点的地址包括所述第二部署点的IP地址和第二端口号,所述第二节点设备的地址包括所述第二节点设备的IP地址和所述第二端口号。
6.一种跨主机通信方法,其特征在于,所述方法包括:
第二节点设备接收第二报文,所述第二报文的源地址为第一节点设备上的第一部署点的地址,所述第二报文的目的地址为第二节点设备的地址;
所述第二节点设备将所述第二报文的目的地址由所述第二节点设备的地址映射为所述第二节点设备上的第二部署点的地址,得到第一报文;
所述第二节点设备将所述第一报文发送至所述第二节点设备的第二部署点,由所述第二部署点处理所述第一报文。
7.根据权利要求6所述的方法,其特征在于,所述第二节点设备将所述第一报文发送至所述第二节点设备的第二部署点,包括:
所述第二节点设备将所述第二部署点的地址映射得到所述第二节点设备的服务域名,将所述第二节点设备的服务域名映射得到所述第二节点设备所在主机的地址;
基于所述主机的地址将所述第一报文发送至所述第二节点设备的第二部署点,通过所述第二部署点对应的服务处理所述第一报文。
8.根据权利要求6或7所述的方法,其特征在于,所述第一部署点的地址包括所述第一部署点的网际协议IP地址和第一端口号,所述第二部署点的地址包括所述第二部署点的IP地址和第二端口号,所述第二节点设备的地址包括所述第二节点设备的IP地址和所述第二端口号。
9.一种跨主机通信装置,其特征在于,所述装置应用于第一节点设备,所述装置包括:
获取模块,用于获取第一报文,所述第一报文是所述第一节点设备上的第一部署点应用的报文,所述第一报文的源地址为所述第一部署点的地址,所述第一报文的目的地址为第二节点设备上的第二部署点的地址;
映射模块,用于将所述第一报文的目的地址由所述第二部署点的地址映射为所述第二节点设备的地址,得到第二报文;
发送模块,用于向所述第二节点设备发送所述第二报文。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,用于获取所述第一部署点应用发出的目的为所述第二节点设备的服务域名的第三报文,根据所述第二节点设备的服务域名映射得到所述第二部署点的地址;将所述第三报文的源地址设置为所述第一部署点的地址,将所述第三报文的目的地址设置为所述第二部署点的地址,得到所述第一报文。
11.根据权利要求9或10所述的装置,其特征在于,所述映射模块,用于获取所述第二节点设备的地址和所述第二部署点的地址的映射关系,根据所述第二节点设备的地址和所述第二部署点的地址的映射关系,将所述第一报文的目的地址由所述第二部署点的地址映射为所述第二节点设备的地址。
12.根据权利要求11所述的装置,其特征在于,所述映射模块,用于向控制设备请求所述第二部署点应用对应的端点信息;
接收所述控制设备返回的所述第二部署点应用对应的端点信息,所述第二部署点应用对应的端点信息包括所述第二节点设备的地址和所述第二部署点的地址;
建立并存储所述第二节点设备的地址和所述第二部署点的地址的映射关系。
13.根据权利要求9-12任一所述的装置,其特征在于,所述第一部署点的地址包括所述第一部署点的网际协议IP地址和第一端口号,所述第二部署点的地址包括所述第二部署点的IP地址和第二端口号,所述第二节点设备的地址包括所述第二节点设备的IP地址和所述第二端口号。
14.一种跨主机通信装置,其特征在于,所述装置应用于第二节点设备,所述装置包括:
接收模块,用于接收第二报文,所述第二报文的源地址为第一节点设备上的第一部署点的地址,所述第二报文的目的地址为第二节点设备的地址;
映射模块,用于将所述第二报文的目的地址由所述第二节点设备的地址映射为所述第二节点设备上的第二部署点的地址,得到第一报文;
发送模块,用于将所述第一报文发送至所述第二节点设备的第二部署点,由所述第二部署点处理所述第一报文。
15.根据权利要求14所述的装置,其特征在于,所述发送模块,用于将所述第二部署点的地址映射得到所述第二节点设备的服务域名,将所述第二节点设备的服务域名映射得到所述第二节点设备所在主机的地址;
基于所述主机的地址将所述第一报文发送至所述第二节点设备的第二部署点,通过所述第二部署点对应的服务处理所述第一报文。
16.根据权利要求14或15所述的装置,其特征在于,所述第一部署点的地址包括所述第一部署点的网际协议IP地址和第一端口号,所述第二部署点的地址包括所述第二部署点的IP地址和第二端口号,所述第二节点设备的地址包括所述第二节点设备的IP地址和所述第二端口号。
17.一种通信设备,其特征在于,所述通信设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述通信设备实现权利要求1-8中任一所述的跨主机通信方法。
18.一种跨主机通信系统,其特征在于,所述跨主机通信系统包括第一节点设备和第二节点设备;
所述第一节点设备用于执行所述权利要求1-5任一所述的方法,所述第二节点设备用于执行所述权利要求6-8任一所述的方法。
19.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-8中任一所述的跨主机通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110043785.0A CN114826898A (zh) | 2021-01-13 | 2021-01-13 | 跨主机通信方法、装置、设备、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110043785.0A CN114826898A (zh) | 2021-01-13 | 2021-01-13 | 跨主机通信方法、装置、设备、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114826898A true CN114826898A (zh) | 2022-07-29 |
Family
ID=82525185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110043785.0A Pending CN114826898A (zh) | 2021-01-13 | 2021-01-13 | 跨主机通信方法、装置、设备、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826898A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150078A (zh) * | 2023-04-19 | 2023-05-23 | 湖南恩智绿源电子技术有限公司 | 板间数据通信传输方法、电子设备和计算机可读存储介质 |
-
2021
- 2021-01-13 CN CN202110043785.0A patent/CN114826898A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150078A (zh) * | 2023-04-19 | 2023-05-23 | 湖南恩智绿源电子技术有限公司 | 板间数据通信传输方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11088944B2 (en) | Serverless packet processing service with isolated virtual network integration | |
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
CA2968964C (en) | Source ip address transparency systems and methods | |
US10389628B2 (en) | Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network | |
CN110505244B (zh) | 远程隧道访问技术网关以及服务器 | |
CN113326228A (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
CN114301868B (zh) | 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置 | |
US20230156828A1 (en) | Session establishment method and apparatus, system, and computer storage medium | |
US20220206979A1 (en) | Communications for field programmable gate array device | |
CN113676564A (zh) | 数据传输方法、装置及存储介质 | |
CN115589383A (zh) | 基于eBPF的虚拟机数据传输方法、装置、设备及存储介质 | |
WO2022068744A1 (zh) | 获取报文头信息、生成报文的方法、设备及存储介质 | |
CN114826898A (zh) | 跨主机通信方法、装置、设备、系统及可读存储介质 | |
CN113923158B (zh) | 一种报文转发、路由发送和接收方法及装置 | |
US11296981B2 (en) | Serverless packet processing service with configurable exception paths | |
WO2023179457A1 (zh) | 业务连接的标识方法、装置、系统及存储介质 | |
CN115225634B (zh) | 虚拟网络下的数据转发方法、装置及计算机程序产品 | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、系统及可读存储介质 | |
CN111800340B (zh) | 数据包转发方法和装置 | |
CN116962161A (zh) | 路径检测方法、装置、系统及计算机可读存储介质 | |
CN116828024A (zh) | 业务连接的标识方法、装置、系统及存储介质 | |
KR102280343B1 (ko) | 복수의 이더넷 포트를 가지는 사물인터넷 디바이스 | |
CN114157455A (zh) | 一种数据传输方法、装置、设备以及存储介质 | |
CN114697218B (zh) | 网络管理方法和设备 | |
US10848418B1 (en) | Packet processing service extensions at remote premises |
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 |