CN117376115A - 一种宿主机网络与容器网络的通信方法和系统 - Google Patents
一种宿主机网络与容器网络的通信方法和系统 Download PDFInfo
- Publication number
- CN117376115A CN117376115A CN202311280848.XA CN202311280848A CN117376115A CN 117376115 A CN117376115 A CN 117376115A CN 202311280848 A CN202311280848 A CN 202311280848A CN 117376115 A CN117376115 A CN 117376115A
- Authority
- CN
- China
- Prior art keywords
- network
- electronic device
- container
- target container
- address
- 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 84
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000035755 proliferation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- 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/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种宿主机网络与容器网络的通信方法和系统,涉及数据通信技术领域,能够降低通信管理成本并提高管理的灵活性。具体方案包括:宿主机网络与容器网络的通信系统包括多个电子设备,各电子设备的操作系统为Linux系统,各电子设备中部署了至少一个容器,各容器之间通过overlay网络通信,各电子设备分别与overlay网络通信连接,第一电子设备向第二电子设备中的目标容器发送数据包,数据包中包括第一电子设备的通信地址;目标容器在接收到数据包后,向第二电子设备发送返回信息,返回信息中包括第一电子设备的通信地址和目标容器的标识信息;第二电子设备在接收到返回信息后,根据返回信息中的第一电子设备的通信地址,向第一电子设备发送返回信息。
Description
技术领域
本申请涉及数据通信技术领域,尤其涉及一种宿主机网络与容器网络的通信方法和系统。
背景技术
随着单体架构向微服务架构发展,传统虚拟化启动慢、资源占用大、资源利用率不高等问题突显,docker等轻量级虚拟化其快速启动、资源占用小、环境一致性等优势得到快速发展。最初docker主要在单机使用,随着用户激增,业务量增大,单机已经不能支撑大业务量,需要横向扩展,为了解决跨主机部署Docker-swarm诞生。
目前,在docker-swarm的overlay网络所有容器可以直接通信,但在实际生产中overlay容器外部用户无法访问,要使外部用户可见,通常使用发布端口(PublishedPorts),通过将容器端口映射到集群节点指定端口,访问主机端口即可访问容器,例如:创建容器时指定--publish 8080:80,这样访问主机8080端口就是访问容器80端口,但这种使用发布端口(Published Ports)方式暴露对外访问的端口,在微服务情况下服务众多需要管理的发布端口激增,端口管理成本增高,端口配置变更复杂,管理灵活性降低。
发明内容
本申请提供一种宿主机网络与容器网络的通信方法和系统,能够降低通信管理成本并提高管理的灵活性。
为达到上述目的,本申请采用如下技术方案:
本申请实施例提供了一种宿主机网络与容器网络的通信方法,应用于宿主机网络与容器网络的通信系统,所述系统包括多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接,所述方法包括:
第一电子设备向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;
所述目标容器在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;
所述第二电子设备在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
在一种可能的实现方式中,所述第一电子设备向所述第二电子设备中的目标容器发送数据包之前,所述方法还包括:
各所述电子设备分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
在一种可能的实现方式中,所述分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接,包括:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;
将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
在一种可能的实现方式中,所述第一电子设备向第二电子设备中的目标容器发送数据包,包括:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的IP地址;
所述overlay网络根据所述目标容器的IP地址将所述数据包发送至所述目标容器中。
在一种可能的实现方式中,所述第一电子设备向第二电子设备中的目标容器发送数据包括,包括:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的容器标识;
所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,根据所述目标容器的目标IP地址将所述数据包发送至所述目标容器中。
在一种可能的实现方式中,所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,包括:
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,所述请求信息用于请求所述目标容器的目标IP地址;
所述overlay网络接收所述目标容器发送的目标IP地址。
在一种可能的实现方式中,所述overlay网络中部署有DNS服务器,所述请求信息包括DNS请求,所述DNS请求中包括所述目标容器的容器标识,各所述容器中包括DNS解析模块;
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,包括:
所述overlay网络通过所述DNS服务器将所述DNS请求转发至所述目标容器的DNS解析模块,所述DNS解析模块获取所述目标容器的目标IP地址;所述目标容器将所述IP地址发送至所述overlay网络。
本申请实施例第二方面,提供了一种宿主机网络与容器网络的通信系统,所述系统包括:多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接;
第一电子设备,用于向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;
所述目标容器,用于在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;
所述第二电子设备,用于在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
在一种可能的实现方式中,各所述电子设备还用于:
分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
在一种可能的实现方式中,各所述电子设备具体用于:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;
将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的宿主机网络与容器网络的通信方法,应用于宿主机网络与容器网络的通信系统,该系统包括多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接,该方法包括:第一电子设备向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;所述目标容器在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;所述第二电子设备在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息,以此实现主机网络与跨设备容器网络之间的通信,这样可以降低通信管理成本并提高管理的灵活性。
附图说明
图1为本申请实施例提供的宿主机网络与容器网络的通信系统的结构图;
图2为本申请实施例提供的宿主机网络与容器网络的通信方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出的值。
随着单体架构向微服务架构发展,传统虚拟化启动慢、资源占用大、资源利用率不高等问题突显,docker等轻量级虚拟化其快速启动、资源占用小、环境一致性等优势得到快速发展。最初docker主要在单机使用,随着用户激增,业务量增大,单机已经不能支撑大业务量,需要横向扩展,为了解决跨主机部署Docker-swarm诞生。
目前,在docker-swarm的overlay网络所有容器可以直接通信,但在实际生产中overlay容器外部用户无法访问,要使外部用户可见,通常使用发布端口(PublishedPorts),通过将容器端口映射到集群节点指定端口,访问主机端口即可访问容器,例如:创建容器时指定--publish 8080:80,这样访问主机8080端口就是访问容器80端口,但这种使用发布端口(Published Ports)方式暴露对外访问的端口,在微服务情况下服务众多需要管理的发布端口激增,端口管理成本增高,端口配置变更复杂,管理灵活性降低。此外,使用发布端口(Published Ports)方式暴露对外访问(端口),有一些局限性,用户使用时要根据现有环境管理不同端口映射,因docker本身有一定的性能损耗,在某些性能要求高的情况下用户会将代理服务器迁移至主机,因为overlay网络无法与主机网络直接通信,需要用到发布端口,在微服务情况下服务众多需要管理的发布端口激增,端口管理成本增高,如根据环境不同,端口管理问题突显。用户需要通过固定IP+端口的方式访问,如果IP和端口变更需要同步变更应用配置,移植性差。综上所述,发布端口方式为内置功能,发布端口方便,但在特殊场景下,端口管理,配置变更等问题突显,进一步导致端口管理成本增高,端口配置变更复杂,管理灵活性降低。
基于上述问题,本申请提供了一种宿主机网络与容器网络的通信方法和系统,能够降低通信管理成本并提高管理的灵活性。
如图1所示,本申请实施例提供了一种宿主机网络与容器网络的通信系统,该系统包括多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接。
基于如图1所示的宿主机网络与容器网络的通信系统,本申请实施例提供了一种宿主机网络与容器网络的通信方法,如图2所示,该方法包括以下步骤:
步骤201、第一电子设备向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址。
其中,第一电子设备和第二电子设备为多个电子设备中电子设备。第一电子设备需要与第二电子设备中的容器进行通信。
可选的,所述第一电子设备向所述第二电子设备中的目标容器发送数据包之前,所述方法还包括:各所述电子设备分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
其中,虚拟网络设备为veth pair,其中,veth pair是一对虚拟以太网设备,通常用于连接两个网络命名空间中的容器或网络设备,将主机网络与overlay连接,veth pair可以理解为一根网线,从一端发出的数据总是从另一端流出,根据这个特性主机网络发送数据包到veth一端,后数据包从另一端流出,另一端放置在overlay网络,此时数据进入overlay即可完成通信。
具体的,所述分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接,包括:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
在实际执行过程中,在docker-swarm Master主机下,创建veth pair,通过将vethpair一端加入overlay网络,并加入br0网络,然后为主机一端增加ip地址一般设置为overlay网络最后一个可用地址,ip地址设置成功后启动主机一端网卡,并将overlay一端网卡也启动,至此master主机可以通过本机直接访问overlay网络。因本发明适用于多个电子设备部署的情况,在docker-swarm所有电子设备的overlay namespace FDB表中增加veth pair MAC地址及目标地址为Master ipv4地址,并在ARP(地址解析协议)缓存中添加一个静态的邻居(Neighbor)条目,至此Master主机可以直接通过overlay容器IP与容器直接通信,而不需要发布端口到主机。
在一种可能的实现方式中,第一电子设备向第二电子设备中的目标容器发送数据包的过程可以为:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的IP地址;所述overlay网络根据所述目标容器的IP地址将所述数据包发送至所述目标容器中。
在另一种可能的实现方式中,所述第一电子设备向第二电子设备中的目标容器发送数据包括,包括:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的容器标识;所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,根据所述目标容器的目标IP地址将所述数据包发送至所述目标容器中。
也就是说,第一电子设备可以根据第二设备中的目标容器的IP地址进行通信,或者第一电子设备可以根据第二设备中的目标容器的容器标识进行通信,这里的容器标识可以包括容器名或服务名。
可以理解的是,由于容器的IP地址可能不固定,存在随时变更的情况,因此,第一电子设备可以根据第二设备中的目标容器的容器标识进行通信。
具体的,所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,包括:
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,所述请求信息用于请求所述目标容器的目标IP地址;
所述overlay网络接收所述目标容器发送的目标IP地址。
进一步的,所述overlay网络中部署有DNS服务器,所述请求信息包括DNS请求,所述DNS请求中包括所述目标容器的容器标识,各所述容器中包括DNS解析模块;
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,包括:
所述overlay网络通过所述DNS服务器将所述DNS请求转发至所述目标容器的DNS解析模块,所述DNS解析模块获取所述目标容器的目标IP地址;所述目标容器将所述IP地址发送至所述overlay网络。
在实际执行过程中,用户还需要在IP变更时通过更改配置完成发布,此功能通过拦截主机DNS,将主机DNS解析指向dockerd做DNS解析,这样用户即可通过容器名/服务名完成主机网络与overlay容器通信。具体的,在overlay网络中架设DNS服务器,DNS服务器只做转发,将DNS请求转发到docker内置DNS完成DNS解析,宿主机配置DNS服务器为步骤A中架设的DNS服务器IP地址。
步骤202、所述目标容器在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息。
步骤203、所述第二电子设备在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
本申请实施例提供的宿主机网络与容器网络的通信方法,应用于宿主机网络与容器网络的通信系统,该系统包括多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接,该方法包括:第一电子设备向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;所述目标容器在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;所述第二电子设备在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息,以此实现主机网络与跨设备容器网络之间的通信,这样可以降低通信管理成本并提高管理的灵活性。
本申请实施例还提供了一种宿主机网络与容器网络的通信系统,如图1所示,所述系统包括:多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接;
第一电子设备,用于向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;
所述目标容器,用于在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;
所述第二电子设备,用于在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
在一个实施例中,各所述电子设备还用于:
分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
在一个实施例中,各所述电子设备具体用于:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;
将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
在一个实施例中,所述第一电子设备,具体用于向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的IP地址;
所述overlay网络根据所述目标容器的IP地址将所述数据包发送至所述目标容器中。
在一个实施例中,所述第一电子设备,具体用于向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的容器标识;
所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,根据所述目标容器的目标IP地址将所述数据包发送至所述目标容器中。
在一个实施例中,所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,所述请求信息用于请求所述目标容器的目标IP地址;所述overlay网络接收所述目标容器发送的目标IP地址。
在一个实施例中,所述overlay网络中部署有DNS服务器,所述请求信息包括DNS请求,所述DNS请求中包括所述目标容器的容器标识,各所述容器中包括DNS解析模块;
所述overlay网络具体通过所述DNS服务器将所述DNS请求转发至所述目标容器的DNS解析模块,所述DNS解析模块获取所述目标容器的目标IP地址;所述目标容器将所述IP地址发送至所述overlay网络。
关于宿主机网络与容器网络的通信系统的具体限定可以参见上文中对于宿主机网络与容器网络的通信方法的限定,在此不再赘述。
本申请另一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本申请实施例的宿主机网络与容器网络的通信方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种宿主机网络与容器网络的通信方法,其特征在于,应用于宿主机网络与容器网络的通信系统,所述系统包括多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接,所述方法包括:
第一电子设备向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;
所述目标容器在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;
所述第二电子设备在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备向所述第二电子设备中的目标容器发送数据包之前,所述方法还包括:
各所述电子设备分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
3.根据权利要求2所述的方法,其特征在于,所述分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接,包括:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;
将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
4.根据权利要求1所述的方法,其特征在于,所述第一电子设备向第二电子设备中的目标容器发送数据包,包括:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的IP地址;
所述overlay网络根据所述目标容器的IP地址将所述数据包发送至所述目标容器中。
5.根据权利要求1所述的方法,其特征在于,所述第一电子设备向第二电子设备中的目标容器发送数据包,包括:
所述第一电子设备向所述overlay网络发送所述数据包,所述数据包中还包括所述目标容器的容器标识;
所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,根据所述目标容器的目标IP地址将所述数据包发送至所述目标容器中。
6.根据权利要求5所述的方法,其特征在于,所述overlay网络根据所述目标容器的容器标识获取所述目标容器对应的目标IP地址,包括:
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,所述请求信息用于请求所述目标容器的目标IP地址;
所述overlay网络接收所述目标容器发送的目标IP地址。
7.根据权利要求6所述的方法,其特征在于,所述overlay网络中部署有DNS服务器,所述请求信息包括DNS请求,所述DNS请求中包括所述目标容器的容器标识,各所述容器中包括DNS解析模块;
所述overlay网络根据所述目标容器的容器标识向所述目标容器发送请求信息,包括:
所述overlay网络通过所述DNS服务器将所述DNS请求转发至所述目标容器的DNS解析模块,所述DNS解析模块获取所述目标容器的目标IP地址;所述目标容器将所述IP地址发送至所述overlay网络。
8.一种宿主机网络与容器网络的通信系统,其特征在于,所述系统包括:多个电子设备,各所述电子设备的操作系统为Linux系统,各所述电子设备中部署了至少一个容器,各所述容器之间通过overlay网络通信,各所述电子设备分别与所述overlay网络通信连接;
第一电子设备,用于向第二电子设备中的目标容器发送数据包,所述数据包中包括所述第一电子设备的通信地址;
所述目标容器,用于在接收到所述数据包后,向所述第二电子设备发送返回信息,所述返回信息中包括所述第一电子设备的通信地址和所述目标容器的标识信息;
所述第二电子设备,用于在接收到所述返回信息后,根据所述返回信息中的第一电子设备的通信地址,向所述第一电子设备发送所述返回信息。
9.根据权利要求8所述的系统,其特征在于,各所述电子设备还用于:
分别利用虚拟网络设备将各所述电子设备的网络与所述overlay网络通信连接。
10.根据权利要求9所述的系统,其特征在于,各所述电子设备具体用于:
在所述电子设备中创建一对虚拟网络设备,将所述虚拟网络设备中的第一设备添加至所述电子设备的虚拟网桥中,将所述虚拟网络设备中的第二设备添加至所述overlay网络中;
将所述第一设备的IP地址配置为所述overlay网络的可用地址后,启动所述第一设备的网卡和所述overlay网络的网卡,以使所述电子设备的网络与所述overlay网络通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311280848.XA CN117376115A (zh) | 2023-09-28 | 2023-09-28 | 一种宿主机网络与容器网络的通信方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311280848.XA CN117376115A (zh) | 2023-09-28 | 2023-09-28 | 一种宿主机网络与容器网络的通信方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376115A true CN117376115A (zh) | 2024-01-09 |
Family
ID=89388396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311280848.XA Pending CN117376115A (zh) | 2023-09-28 | 2023-09-28 | 一种宿主机网络与容器网络的通信方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376115A (zh) |
-
2023
- 2023-09-28 CN CN202311280848.XA patent/CN117376115A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
US8214528B2 (en) | Address identifier scaling in converged networks | |
CN107070691A (zh) | Docker容器的跨主机通信方法和系统 | |
JP6567776B2 (ja) | リソースオブジェクトを管理するための方法およびリソースオブジェクトを管理するためのシステム | |
US10992637B2 (en) | Detecting hardware address conflicts in computer networks | |
CN109417492B (zh) | 一种网络功能nf管理方法及nf管理设备 | |
CN110572439B (zh) | 一种基于元数据服务和虚拟转发网桥的云监控方法 | |
US20220060881A1 (en) | Group management method, apparatus, and system | |
JP2011508551A (ja) | 複数の無線ネットワークに同時にアクセスするための装置及び方法 | |
CN108965094A (zh) | 一种虚拟机网络连接方法和装置 | |
EP2490408B1 (en) | Method and system for managing internet addresses | |
EP3883184A1 (en) | Resource publishing method and apparatus in internet of things, device, and storage medium | |
CN114025009B (zh) | 转发请求的方法、系统、代理服务器和装置 | |
CN109450768B (zh) | 容器互联的方法及用于容器互联的系统 | |
CN110851238A (zh) | 一种openstack全分布式的dhcp服务的实现方法 | |
US11005706B2 (en) | Method for configuring forwarding table for user equipment, apparatus, and system | |
WO2022052496A1 (zh) | 地址预留的方法、网络设备和系统 | |
CN112583655B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN110621051B (zh) | 路由方法及装置 | |
CN115174310B (zh) | Pdn拨号及配置方法、系统、装置、设备及存储介质 | |
CN117376115A (zh) | 一种宿主机网络与容器网络的通信方法和系统 | |
CN115361204A (zh) | 边缘场景下共享公网ip的网络隔离方法及装置 | |
CN111147345B (zh) | 云环境网络隔离装置、方法及云系统 | |
CN111181904A (zh) | 网络访问方法、装置及介质 | |
WO2023241465A1 (zh) | T-ees发现方法及相关装置 |
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 |