CN109450768B - 容器互联的方法及用于容器互联的系统 - Google Patents

容器互联的方法及用于容器互联的系统 Download PDF

Info

Publication number
CN109450768B
CN109450768B CN201811297066.6A CN201811297066A CN109450768B CN 109450768 B CN109450768 B CN 109450768B CN 201811297066 A CN201811297066 A CN 201811297066A CN 109450768 B CN109450768 B CN 109450768B
Authority
CN
China
Prior art keywords
container
layer switch
access request
access
sends
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.)
Active
Application number
CN201811297066.6A
Other languages
English (en)
Other versions
CN109450768A (zh
Inventor
向超胜
任仲涛
赵新
牛军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201811297066.6A priority Critical patent/CN109450768B/zh
Publication of CN109450768A publication Critical patent/CN109450768A/zh
Application granted granted Critical
Publication of CN109450768B publication Critical patent/CN109450768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Abstract

本发明提供一种容器互联的方法及用于容器互联的系统。方法包括:第一容器根据获取的第二容器的网络协议地址,判断第二容器与第一容器是否属于同一虚拟局域网;若否,则第一容器获取汇聚层交换机的物理地址;第一容器向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。本发明提供的方法及系统将第一容器与第二容器连接到虚拟局域网中,能够使第一容器和第二容器联通,即实现第一容器访问第二容器。

Description

容器互联的方法及用于容器互联的系统
技术领域
本发明涉及容器技术,尤其涉及一种容器互联的方法及用于容器互联的系统,属于互联网技术领域。
背景技术
目前,容器技术已经成为一种被大家广泛认可的系统开发方式,被越来越广泛的使用。用户在使用容器技术时,经常会创建多个容器,这些容器被存放在一个或多个物理主机中。
由于容器之间可能具有复杂的关联关系,因此需要创建容器网络将各个容器连接起来。
但是,现有技术中的容器网络方案均是由容器供应商提供的,导致容器网络方案只能适用于该供应商所提供的容器。例如,Docker容器在进行网络连接时,只能实现在Docker容器内部的交互。也就是说,任一Docker容器都无法与Docker容器之外的其它容器进行交互,使得用户在构建容器网络时,只能使用一家供应商提供的容器。因此,现有技术中的容器网络方案的兼容性太差,导致用户使用不便。
发明内容
本发明提供一种容器互联的方法及用于容器互联的系统,将第一容器与第二容器连接到虚拟局域网中,当第一容器与第二容器连接的虚拟局域网不同时,通过汇聚层交换机的路由功能,能够使第一容器和第二容器联通,即实现第一容器访问第二容器。
本发明的第一个方面是提供一种方法,包括:第一容器根据获取的第二容器的网络协议地址,判断第二容器与所述第一容器是否属于同一虚拟局域网;
若否,则所述第一容器获取汇聚层交换机的物理地址;
所述第一容器向接入层交换机发送第一访问请求,所述第一访问请求中包含第一请求内容、所述汇聚层交换机的物理地址、所述第二容器的网络协议地址,以使所述接入层交换机将所述第一容器的第一访问请求发送至所述汇聚层交换机,以使所述汇聚层交换机根据所述第二容器的网络协议地址将所述第一访问请求路由到所述第二容器。
本发明的另一个方面是提供一种用于容器互联的系统,包括:第一容器、第二容器、汇聚层交换机、接入层交换机;
所述第一容器包括:
判断模块,用于根据获取的第二容器的网络协议地址,判断第二容器与所述第一容器是否属于同一虚拟局域网;
获取模块,若否,则所述获取模块用于获取汇聚层交换机的物理地址;
第一发送模块,用于向接入层交换机发送第一访问请求,所述第一访问请求中包含第一请求内容、所述汇聚层交换机的物理地址、所述第二容器的网络协议地址,以使所述接入层交换机将所述第一容器的第一访问请求发送至所述汇聚层交换机,以使所述汇聚层交换机根据所述第二容器的网络协议地址将所述第一访问请求路由到所述第二容器。
本发明提供的方法及装置的技术效果是:
本实施例提供的方法及系统,包括第一容器根据获取的第二容器的网络协议地址,判断第二容器与第一容器是否属于同一虚拟局域网;若否,则第一容器获取汇聚层交换机的物理地址;第一容器向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。本实施例提供的方法及系统,将第一容器与第二容器连接到虚拟局域网中,当第一容器与第二容器连接的虚拟局域网不同时,通过汇聚层交换机的路由功能,能够使第一容器和第二容器联通,即实现第一容器访问第二容器。同时,通过将第一容器和第二容器连接到不同的虚拟局域网中,还能隔离各个虚拟局域网中的数据传输,从而缩小每个广播域,能够降低容器网络中广播风暴的影响范围。
附图说明
图1为本发明一示例性实施例示出的容器互联的方法的流程图;
图2为本发明另一示例性实施例示出的容器互联的方法的流程图;
图3为本发明又一示例性实施例示出的容器互联的方法的流程图;
图4为本发明一示例性实施例示出的容器网络的结构图;
图5为本发明一示例性实施例示出的用于容器互联的系统结构图;
图6为本发明另一示例性实施例示出的用于容器互联的系统结构图。
具体实施方式
图1为本发明一示例性实施例示出的容器互联的方法的流程图。
如图1所示,本实施例提供的容器互联的方法包括:
步骤101,第一容器根据获取的第二容器的网络协议地址,判断第二容器与第一容器是否属于同一虚拟局域网。
其中,容器是指能够提供服务的接口,用户可以调用容器从而使用容器所提供的功能,第一容器也可以调用第二容器,从而使用第二容器所提供的功能。在众多的容器中,各个容器之间可能存在着数据依赖关系,例如,第一容器需要实现一个功能,而实现这个功能的基础数据是由第二容器产生的,此时,就需要第一容器从第二容器中获取相应的基础数据。目前,很多开发人员会基于容器技术向用户提供应用服务。在设计整个应用时,开发人员会根据一些规则将一个应用拆分为多个子应用,每个子应用的功能可以通过一个容器来实现。这些子应用之间,就存在着数据依赖关系,因此,实现这些子应用功能的容器之间,也就存在着多种多样的数据依赖关系。
具体的,一个容器存储在一台物理主机中,一台物理主机可以存储多个容器。还可以将多个子应用存储在多台物理主机中。这里的物理主机是指用于提供计算服务的设备,物理主机的构成包括处理器、硬盘、内存、系统总线等。一台物理主机可以向用户提供多项服务。物理主机还可以具备联网功能,通过网络连接的方式能够将多台物理主机连接起来。
进一步的,虚拟局域网(VLAN)是指一组逻辑上的设备和用户,一个虚拟局域网就是一个广播域,属于一个广播域的设备和用户之间能够进行通信,而不同广播域之间的设备和用户是相互隔离的。一台物理主机中可以包括至少一个虚拟局域网,物理主机中的容器可以与其中任一个虚拟局域网连接。
实际应用时,物理主机可以与接入层交换机连接,接入层交换机用于创建多个虚拟局域网,每个虚拟局域网具有相应的网段。更具体的,可以将物理主机的物理网卡与接入层交换机连接,通过物理网卡将物理主机连接到多个虚拟局域网中。此时,物理主机只是与虚拟局域网连接,但是在物理主机内部还不具可用的虚拟局域网络。还可以采用Macvlan技术,在物理主机内部创建多个虚拟网络子接口,且每个虚拟网络子接口都与物理主机的物理网卡连接,通过虚拟网络子接口能够在物理主机内部创建多个虚拟局域网。例如,物理主机的物理网卡与接入层交换机创建的两个虚拟局域网vlan1和vlan2连接,则可以在物理主机内创建2个虚拟网络子接口,再基于这2个虚拟网络子接口创建2个物理主机内部的虚拟局域网vlan1和vlan2,物理主机内部的vlan1与接入层交换机中的vlan1是一个虚拟局域网,物理主机内部的vlan2和接入层交换机中的vlan2是一个虚拟局域网。可以基于已有的容器技术在物理主机内创建容器,并创建这个容器的容器网卡,使容器网卡与其中任一个虚拟局域网连接,例如与vlan1连接,则这个容器就属于vlan1。同样,还可以创建第二容器,使其属于vlan2。将多个容器与不同的虚拟局域网连接,能够减小单个广播域的范围,从而降低整个容器网络中广播风暴的影响范围。
更具体的,物理主机与接入层交换机的连接模式为trunk模式。
其中,第一容器和第二容器之间可以是基于同一供应商创建的容器,也可以是基于不同供应商创建的容器。
具体的,第一容器可以通过服务发现的功能获取第二容器的网络协议地址(IP,Internet Protocol),也可以通过域名通信的方式获取第二容器的网络协议地址。第一容器获取第二容器的IP地址后,根据自身的IP地址和第二容器的IP地址判断二者是否属于同一虚拟局域网。其中,由于属于同一个VLAN的IP地址的网段相同,因此,可以根据两个IP地址的网段确定二者是否属于同一个VLAN。例如,192.168.1.0/24与192.168.2.0/24属于不同的网段,因此这两个IP地址属于不同的VLAN。
若第一容器判断第二容器与其不属于同一个虚拟局域网,则执行步骤102。
步骤102,第一容器获取汇聚层交换机的物理地址。
接入层交换机与汇聚层交换机连接,具体的连接模式可以是trunk模式。汇聚层交换机中预设有虚拟接口,接入层交换机中的虚拟局域网均与虚拟接口连接,通过虚拟接口,能够使各个虚拟局域网互通。例如,vlan1中的数据可以发送至虚拟接口,再由虚拟接口发送至vlan2中。通过设置汇聚层交换机,能够实现不同虚拟局域网之间互联。
进一步的,第一容器获取汇聚层交换机的物理地址。其中,可以在接入层交换机内存储汇聚层交换机的物理地址,第一容器可以从接入层交换机处直接获取该物理地址。第一容器也可以通过地址解析协议获取汇聚层交换机的物理地址(ARP,Address ResolutionProtocol)。例如,第一容器在其所属的虚拟局域网,也就是其所属的广播域中发送包含汇聚层交换机的IP地址的ARP请求广播,并接收返回消息,以此确定汇聚层交换机的物理地址。另外,第一容器的ARP缓存中还可以存储汇聚层交换机的物理地址,可以直接从ARP缓存中获取该物理地址。
步骤103,第一容器向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。
其中,接入层交换机接收到第一访问请求后,对第一访问请求进行解析,获取其中的物理地址,进而将第一容器的第一访问请求按照该地址发送至汇聚层交换机。汇聚层交换机接收到第一访问请求后,对其进行解析,获取其中包括的第二容器的网络协议地址,并判断该第二容器网络协议地址所属的网段,再确定出其所属的虚拟局域网,进而通过其所属的虚拟局域网将第二容器发送至接入层交换机。例如,第一容器属于vlan1,第二容器属于vlan2。则第一容器通过vlan1将第一访问请求发送至接入层交换机,接入层交换机再通过vlan1将其发送至汇聚层交换机,汇聚层交换机对第一访问请求进行解析,获取其中包括的第二容器的网络协议地址,并且,由于汇聚层交换机中设置有联通各个虚拟局域网的接口,因此,汇聚层交换机能够通过vlan2将第一访问请求发送至接入层交换机中。接入层交换机再解析接收到的访问请求,并根据其中的第二容器的网络协议地址,将第一访问请求发送至第二容器。
具体的,接入层交换机接收到第一访问请求后,对第一访问请求进行解析,并获取其中包含的第二容器的网络协议地址,根据网络协议地址确定第二容器的物理地址,也就是第二容器的网卡地址,再通过第二容器所属的虚拟局域网将第一访问请求发送至第二容器。接入层交换机可以通过存储的网络协议与物理地址映射表确定第二容器的物理地址。
进一步的,第一请求内容是指第一容器请求的内容,例如,第一容器向第二容器请求用户的登录时间。
本实施例提供的容器互联的方法,包括第一容器根据获取的第二容器的网络协议地址,判断第二容器与第一容器是否属于同一虚拟局域网;若否,则第一容器获取汇聚层交换机的物理地址;第一容器向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。本实施例提供的方法,将第一容器与第二容器连接到虚拟局域网中,当第一容器与第二容器连接的虚拟局域网不同时,通过汇聚层交换机的路由功能,能够使第一容器和第二容器联通,即实现第一容器访问第二容器。同时,通过将第一容器和第二容器连接到不同的虚拟局域网中,还能隔离各个虚拟局域网中的数据传输,从而缩小每个广播域,能够降低容器网络中广播风暴的影响范围。
图2为本发明另一示例性实施例示出的容器互联的方法的流程图。
如图2所示,本实施例提供的容器互联的方法,包括:
步骤201,第一容器根据获取的第二容器的网络协议地址,判断第二容器与所述第一容器是否属于同一虚拟局域网。
若是,则执行步骤202。若否,则执行步骤203。
步骤202,第一容器向接入层交换机发送第二访问请求,第二访问请求中包含第二请求内容、第二容器的网络协议地址,以使接入层交换机将第二访问请求发送至第二容器。
其中,由于第一容器与第二容器属于同一个虚拟局域网,也就是二者属于同一个广播域,因此,第一容器与第二容器之间能够通过其共联的虚拟局域网进行交互。
具体的,接入层交换机接收到第二访问请求后,对第二访问请求进行解析,并获取其中包含的第二容器的网络协议地址,根据网络协议地址确定第二容器的物理地址,也就是第二容器的网卡地址,再通过第一容器与第二容器属于的虚拟局域网将第二访问请求发送至第二容器。接入层交换机可以通过存储的网络协议与物理地址映射表确定第二容器的物理地址。
进一步的,第二请求内容是第一容器请求的内容,例如,第一容器向第二容器请求用户的登录时间。
本实施例提供的容器互联的方法,将第一容器和第二容器与同一个虚拟局域网连接,能够实现二者的互联。同时,由于第一容器与第二容器属于同一个虚拟局域网,因此,仅通过接入层交换机就能够完成二者的互联,无需上升到汇聚层交换机。
步骤203,则第一容器获取汇聚层交换机的物理地址。
步骤204,第一容器向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。
实际应用时,第一容器发送的第一访问请求和/或第二访问请求中还包含第一容器的标识信息。从而使第二容器确定向其发送访问请求的是哪个容器。
其中的标识信息可以包括第一容器的网络协议地址,还可以包括第一容器的物理地址。
步骤205,第二容器根据接收的第一访问请求或第二访问请求,确定第一请求内容和/或第二请求内容、第一容器的标识信息。
第二容器接收到第一访问请求和/或第二访问请求后,对访问请求进行解析,确定访问请求中携带的请求内容和第一容器的标识信息。
步骤206,第二容器根据第一请求内容和/或第二请求内容确定响应数据。
第一请求内容和第二请求内容是指第一容器需要从第二容器中获取的数据内容,通过对第一请求内容和/或第二请求内容的解析,第二容器能够确定第一容器的需求。第二容器再根据第一容器的需求确定需要向第一容器响应的数据。例如,第一容器发送的请求内容为获取用户的登录时间,则第二容器确定用户的登录时间。
步骤207,第二容器根据第一容器的标识信息向第一容器发送响应数据。
第二容器确定出响应数据后,根据第一容器的标识信息向其发送确定的响应数据。
具体的发送过程同第一容器向第二容器发送访问请求的过程,第二容器首先根据第一容器的标识信息判断二者是否属于同一个虚拟局域网。其中,第二容器可以通过第一容器的标识信息获取第一容器的网络协议地址。
若二者属于同一个虚拟局域网,则第二容器将响应数据以及第一容器的标识信息一同发送至接入层交换机,再由接入层交换机通过两个虚拟容器共联的虚拟局域网将响应数据发送至第一容器。
若二者属于不同的虚拟局域网,则第二容器获取汇聚层交换机的物理地址,再将汇聚层交换机的物理地址、第一容器标识、响应数据一同发送至接入层交换机,以使接入层交换机将第一容器标识、响应数据发送至汇聚层交换机,汇聚层交换机再将响应数据路由至第一容器。
本实施例提供的方法,通过在第一容器发送的访问请求中加入第一容器的标识,使得第二容器能够将响应数据通过虚拟局域网发送至第一数据,从而实现两个容器间的互相访问。
图3为本发明又一示例性实施例示出的容器互联的方法的流程图。
如图3所示,本实施例提供的容器互联的方法,第一容器与第三容器共同连接于内网中。本实施例指的内网是基于物理主机创建的,也就是至少一个物理主机与该内网连接,该内网仅用于连接各个物理主机,不对外暴露。还可以设置多个内网,各个物理主机可以与多个内网连接,物理主机内的容器能与其中至少一个内网连接。与内网连接的各个物理主机不能进行数据交互,但是通过内网的后端数据信息库能够查询各个容器所存储的物理主机的信息。属于同一个物理主机并且连接在同一个内网的容器能够基于内网进行交互。
第一容器与虚拟局域网连接,同时还与内网连接,例如overlay网络。可以为第一容器创建两个虚拟网卡,一个用于连接虚拟局域网,另一个用于连接内网。
第三容器与内网连接,第三容器可以与虚拟局域外网连接,也可以不与虚拟局域网连接。可选的,第三容器仅与内网连接,从而避免第三容器对外暴露,通过这样的设置方式,能够加强第三容器的安全性能。在整个应用所包含的众多容器中,有一些容器是向其它容器提供基础数据的,而不向用户直接提供服务,这种容器可以仅与内网连接。第一容器可以通过所连接的内网的后端信息库确定第三容器与其是否连接于同一内网,若二者连接于同一内网,则执行步骤301。
步骤301,第一容器获取第三容器所在的物理主机信息。
其中,各个物理主机与内网进行连接,并且各个物理主机内的容器信息保存在内网的后端信息库中。第一容器可以从后端信息库中获取第三容器所在的物理主机信息。
步骤302,第一容器判断第三容器与第一容器是否属于同一物理主机。
第一容器基于自身所属的物理主机信息与获取的第三容器所在的物理主机信息进行比对,第一容器判断自身与第三容器是否属于同一物理主机。若是,则执行步骤303。否则,执行步骤304。
步骤303,第一容器基于内网向第三容器发送第三访问请求。
当第一容器与第三容器同属于一个物理主机时,第一容器与第三容器能够通过内网连接。此时,仅需要通过内网就能够使第一容器和第三容器之间进行互联。第三容器也可以通过内网向第一容器发送响应数据。这种方式能够使得第三容器仅对内网暴露,从而保护第三容器的安全。
步骤304,第一容器通过内网的后端信息库查询第三容器所在的第三物理主机标识。
其中,第一容器通过内网的后端信息库确定第三容器所在的第三物理主机标识,第三物理主机标识可以包括第三物理主机的IP地址、物理地址等等。
步骤305,第一容器向接入层交换机发送第四访问请求,第四访问请求中包含第三物理主机标识、第三容器标识,以使接入层交换机将第四访问请求发送至第三物理主机,以使第三物理主机将第四访问请求发送至第三容器。
具体的,第一容器还可以获取第三容器的标识,第三容器标识可以包括内网地址、第三容器的网卡地址、第三容器名称等等。第一容器可以通过服务发现等功能获取第三容器的标识。第一容器可以通过内网后端信息库确定第三物理主机标识,具体可以包括第三物理主机的网络协议地址、物理地址等。
第一容器向接入层交换机发送第四访问请求,第四访问请求中包含第三物理主机标识、第三容器标识,以使接入层交换机将第四访问请求发送至第三物理主机,以使第三物理主机将第四访问请求发送至第三容器。
接入层交换机接收到第四访问请求后,如果第四访问请求中包含第三物理主机的物理地址,则可以直接通过接入层交换机将第四访问请求发送至第三物理主机。若第四访问请求中包括的是第三物理主机的网络协议地址,则接入层交换机判断第三物理主机是否接入了第一容器所属的虚拟局域网,若是,则通过第一容器以及第三物理主机共联的虚拟局域网将第四访问请求发送至第三物理主机,否则,第一容器需要将第四访问请求发送至汇聚层交换机,使汇聚层交换机将第四访问请求路由至第三物理主机。
第三物理主机接收到第四访问请求后,解析出其中包括的第三容器标识,由于第三物理主机能够访问存放至其中的第三容器,因此,第三物理主机能够将第四访问请求转发至第三容器。
本实施例提供的容器互联的方法,第三容器对内网暴露,无论第一容器是否与第三容器存储与同一物理主机,只要二者连接至同一个内网,就可以互联,本实施例提供的方法能够实现容器间的跨宿主机互联。同时,当第三容器与第一容器属于同一个物理主机时,还可以通过内网进行交互,从而节约虚拟局域网的资源。
另外,还可以固化本实施例中各个容器的网络协议地址以及物理地址,使各个容器的网络协议地址以及物理地址能够在容器的整个生命周期内保持不变。
此外,本实施例还提供一种创建容器网络的方法,基于本方法创建的容器网络如图4所示。
图4为本发明一示例性实施例示出的容器网络的结构图,基于该容器网络能够实现图1~3所示的实施例中的容器互联的功能。
首先配置接入层交换机,在接入层交换机内创建多个虚拟局域网。
连接接入层交换机以及汇聚层交换机,并将二者的连接模式调整为trunk模式。
配置汇聚层交换机,在汇聚层交换机内增加虚拟接口,实现接入层交换机中多个虚拟局域网之间的路由。具体可以是增加VlanIF三层虚拟接口。
连接接入层交换机和物理主机,使物理主机能够与多个虚拟局域网连接,并将二者的连接模式调整为trunk模式。
配置物理主机,在物理主机中加载Macvlan模块,创建Vlan子接口。
在物理主机内基于Vlan子接口创建多个虚拟局域网。
在物理主机内创建内网,例如overlay网络。
到此为止,整个网络架构就已创建完成,可以在物理主机内创建容器,并根据需求将其与虚拟局域网连接,或者与内网连接,当然,也可以将容器同时与虚拟局域网和内网连接。
图5为本发明一示例性实施例示出的用于容器互联的系统结构图。
如图5所示,本实施例提供的容器互联的系统,包括:第一容器51、第二容器52、汇聚层交换机53、接入层交换机54。
第一容器51包括:
判断模块511,用于根据获取的第二容器52的网络协议地址,判断第二容器52与第一容器51是否属于同一虚拟局域网;
获取模块512,若否,则获取模块512用于获取汇聚层交换机53的物理地址;
第一发送模块513,用于向接入层交换机54发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机53的物理地址、第二容器52的网络协议地址,以使接入层交换机54将第一容器51的第一访问请求发送至汇聚层交换机53,以使汇聚层交换机53根据第二容器52的网络协议地址将第一访问请求路由到第二容器52。
其中,第一容器51和第二容器52所在的物理主机均与接入层交换机54连接,接入层交换机54与汇聚层交换机53连接。
第一容器51与第二容器52可以存储在同一物理主机中,也可以存储在不同的物理主机中。
具体的,判断模块511、获取模块512和第一发送模块513依次连接。
本实施例提供的用于容器互联的系统,包括:第一容器、第二容器、汇聚层交换机、接入层交换机;第一容器包括:判断模块,用于根据获取的第二容器的网络协议地址,判断第二容器与第一容器是否属于同一虚拟局域网;获取模块,若否,则获取模块用于获取汇聚层交换机的物理地址;第一发送模块,用于向接入层交换机发送第一访问请求,第一访问请求中包含第一请求内容、汇聚层交换机的物理地址、第二容器的网络协议地址,以使接入层交换机将第一容器的第一访问请求发送至汇聚层交换机,以使汇聚层交换机根据第二容器的网络协议地址将第一访问请求路由到第二容器。本实施例提供的系统,将第一容器与第二容器连接到虚拟局域网中,当第一容器与第二容器连接的虚拟局域网不同时,通过汇聚层交换机的路由功能,能够使第一容器和第二容器联通,即实现第一容器访问第二容器。同时,通过将第一容器和第二容器连接到不同的虚拟局域网中,还能隔离各个虚拟局域网中的数据传输,从而缩小每个广播域,能够降低容器网络中广播风暴的影响范围。
本实施例提供的用于容器互联的系统的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。
图6为本发明另一示例性实施例示出的用于容器互联的系统结构图。
如图6所示,在上述实施例的基础上,本实施例提供的系统中,若第二容器52与第一容器51属于同一虚拟局域网;
则第一发送模块513向接入层交换机54发送第二访问请求,第二访问请求中包含第二请求内容、第二容器52的网络协议地址,以使接入层交换机54将第二访问请求发送至第二容器52。
进一步的,判断模块511还与第一发送模块513连接。
本实施例提供的用于容器互联的系统,将第一容器和第二容器与同一个虚拟局域网连接,能够实现二者的互联。同时,由于第一容器与第二容器属于同一个虚拟局域网,因此,仅通过接入层交换机就能够完成二者的互联,无需上升到汇聚层交换机。
可选的,第一发送模块513发送的第一访问请求和/或第二访问请求中还包含第一容器51的标识信息;
第二容器52包括:
确定模块521,用于根据接收的第一访问请求和/或第二访问请求,确定第一请求内容和/或第二请求内容、第一容器51的标识信息;
确定模块521还用于根据第一请求内容和/或第二请求内容确定响应数据;
第二发送模块522,用于根据第一容器51的标识信息向第一容器51发送响应数据。
可选的,第一容器51和第二容器52中还可以包括接收模块,用于接收其他容器发送的访问请求或响应数据。
实际应用时,确定模块521与第二发送模块522连接。
可选的,本实施例提供的系统还包括:第三容器55;
若第一容器51与第三容器55共同连接于内网中,则第一容器51的获取模块512用于获取第三容器55所在的物理主机信息;
判断模块511还用于判断第三容器55与第一容器51是否属于同一物理主机,若是,则第一发送模块513基于内网向第三容器55发送第三访问请求。
可选的,若第三容器55与第一容器51不属于同一物理主机;
则第一容器51的获取模块512还用于获取第三容器55所在的第三物理主机标识;
第一发送模块513向接入层交换机54发送第四访问请求,第四访问请求中包含第三物理主机标识、第三容器标识,以使接入层交换机54将第四访问请求发送至第三物理主机,以使第三物理主机将第四访问请求发送至第三容器。
图6中示出了的第三容器与第一容器属于不同物理主机的情况,但应当说明的是,这并不对本实施例进行限制,只是示例性的展示其中一种情况。
本实施例提供的用于容器互联的系统,第三容器对内网暴露,无论第一容器是否与第三容器存储与同一物理主机,只要二者连接至同一个内网,就可以互联,本实施例提供的系统能够实现容器间的跨宿主机互联。同时,当第三容器与第一容器属于同一个物理主机时,还可以通过内网进行交互,从而节约虚拟局域网的资源。
本实施例提供的用于容器互联的系统的具体原理和实现方式均与图2~3所示的实施例类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (6)

1.一种容器互联的方法,其特征在于,包括:
第一容器根据获取的第二容器的网络协议地址,判断第二容器与所述第一容器是否属于同一虚拟局域网;
若否,则所述第一容器获取汇聚层交换机的物理地址;
所述第一容器向接入层交换机发送第一访问请求,所述第一访问请求中包含第一请求内容、所述汇聚层交换机的物理地址和所述第二容器的网络协议地址,以使所述接入层交换机将所述第一容器的第一访问请求发送至所述汇聚层交换机,以使所述汇聚层交换机根据所述第二容器的网络协议地址将所述第一访问请求路由到所述第二容器;
若所述第二容器与所述第一容器属于同一虚拟局域网;
则所述第一容器向所述接入层交换机发送第二访问请求,所述第二访问请求中包含第二请求内容和所述第二容器的网络协议地址,以使所述接入层交换机将所述第二访问请求发送至所述第二容器;
所述第一容器发送的第一访问请求和/或所述第二访问请求中还包含所述第一容器的标识信息;所述标识信息包括:所述第一容器的网络协议地址和/或物理地址;
所述第二容器根据接收的所述第一访问请求和/或所述第二访问请求,确定所述第一请求内容和/或所述第二请求内容和所述第一容器的标识信息;
所述第二容器根据所述第一请求内容和/或所述第二请求内容确定响应数据;
所述第二容器根据所述第一容器的标识信息向所述第一容器发送所述响应数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一容器与第三容器共同连接于内网中,则所述第一容器获取所述第三容器所在的物理主机信息;
所述第一容器判断所述第三容器与所述第一容器是否属于同一物理主机,若是,则所述第一容器基于所述内网向所述第三容器发送第三访问请求。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述第三容器与所述第一容器不属于同一物理主机;
则所述第一容器获取所述第三容器所在的第三物理主机标识;
所述第一容器向所述接入层交换机发送第四访问请求,所述第四访问请求中包含所述第三物理主机标识和所述第三容器标识,以使所述接入层交换机将所述第四访问请求发送至所述第三物理主机,以使所述第三物理主机将所述第四访问请求发送至所述第三容器。
4.一种用于容器互联的系统,其特征在于,包括:第一容器、第二容器、汇聚层交换机、接入层交换机;
所述第一容器包括:
判断模块,用于根据获取的第二容器的网络协议地址,判断第二容器与所述第一容器是否属于同一虚拟局域网;
获取模块,若否,则所述获取模块用于获取汇聚层交换机的物理地址;
第一发送模块,用于向接入层交换机发送第一访问请求,所述第一访问请求中包含第一请求内容、所述汇聚层交换机的物理地址和所述第二容器的网络协议地址,以使所述接入层交换机将所述第一容器的第一访问请求发送至所述汇聚层交换机,以使所述汇聚层交换机根据所述第二容器的网络协议地址将所述第一访问请求路由到所述第二容器;
若所述第二容器与所述第一容器属于同一虚拟局域网;
则所述第一发送模块向所述接入层交换机发送第二访问请求,所述第二访问请求中包含第二请求内容和所述第二容器的网络协议地址,以使所述接入层交换机将所述第二访问请求发送至所述第二容器;
所述第一发送模块发送的第一访问请求和/或所述第二访问请求中还包含所述第一容器的标识信息;所述标识信息包括:所述第一容器的网络协议地址和/或物理地址;
所述第二容器包括:
确定模块,用于根据接收的所述第一访问请求和/或所述第二访问请求,确定所述第一请求内容和/或所述第二请求内容和所述第一容器的标识信息;
所述确定模块还用于根据所述第一请求内容和/或所述第二请求内容确定响应数据;
第二发送模块,用于根据所述第一容器的标识信息向所述第一容器发送所述响应数据。
5.根据权利要求4所述的系统,其特征在于,还包括:第三容器;
若所述第一容器与第三容器共同连接于内网中,则所述第一容器的获取模块用于获取所述第三容器所在的物理主机信息;
所述判断模块还用于判断所述第三容器与所述第一容器是否属于同一物理主机,若是,则所述第一发送模块基于所述内网向所述第三容器发送第三访问请求。
6.根据权利要求5所述的系统,其特征在于,还包括:
若所述第三容器与所述第一容器不属于同一物理主机;
则所述第一容器的获取模块还用于获取所述第三容器所在的第三物理主机标识;
所述第一发送模块向所述接入层交换机发送第四访问请求,所述第四访问请求中包含所述第三物理主机标识和所述第三容器标识,以使所述接入层交换机将所述第四访问请求发送至所述第三物理主机,以使所述第三物理主机将所述第四访问请求发送至所述第三容器。
CN201811297066.6A 2018-11-01 2018-11-01 容器互联的方法及用于容器互联的系统 Active CN109450768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811297066.6A CN109450768B (zh) 2018-11-01 2018-11-01 容器互联的方法及用于容器互联的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811297066.6A CN109450768B (zh) 2018-11-01 2018-11-01 容器互联的方法及用于容器互联的系统

Publications (2)

Publication Number Publication Date
CN109450768A CN109450768A (zh) 2019-03-08
CN109450768B true CN109450768B (zh) 2021-06-01

Family

ID=65549682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811297066.6A Active CN109450768B (zh) 2018-11-01 2018-11-01 容器互联的方法及用于容器互联的系统

Country Status (1)

Country Link
CN (1) CN109450768B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111934971B (zh) * 2020-08-12 2022-04-05 杭州默安科技有限公司 一种跨越三层网络映射业务到多vlan多ip进行本地网络访问的方法和装置
CN114615109B (zh) * 2020-11-23 2024-03-01 北京达佳互联信息技术有限公司 容器网络创建方法、装置、电子设备及存储介质
CN113824622B (zh) * 2021-09-13 2023-06-27 京东科技信息技术有限公司 容器之间的通信控制方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130831A (zh) * 2011-02-18 2011-07-20 李金方 基于SuperVLAN技术的网络组网方法
CN107579898A (zh) * 2017-09-14 2018-01-12 快云信息科技有限公司 一种多种容器间互联通信的方法及其装置
CN108111383A (zh) * 2017-12-26 2018-06-01 北京航空航天大学 一种基于sdn的跨域容器虚拟网络组建方法
CN108390812A (zh) * 2018-05-30 2018-08-10 新华三技术有限公司 报文转发方法及装置
CN108418705A (zh) * 2018-01-29 2018-08-17 山东汇贸电子口岸有限公司 虚拟机与容器混合嵌套架构的虚拟网络管理方法及系统
CN108475251A (zh) * 2016-01-22 2018-08-31 环球互连及数据中心公司 针对容器的虚拟网络、热交换、热缩放与灾难恢复
CN108494607A (zh) * 2018-04-19 2018-09-04 云家园网络技术有限公司 基于容器的大二层网络架构的设计方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432532B2 (en) * 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130831A (zh) * 2011-02-18 2011-07-20 李金方 基于SuperVLAN技术的网络组网方法
CN108475251A (zh) * 2016-01-22 2018-08-31 环球互连及数据中心公司 针对容器的虚拟网络、热交换、热缩放与灾难恢复
CN107579898A (zh) * 2017-09-14 2018-01-12 快云信息科技有限公司 一种多种容器间互联通信的方法及其装置
CN108111383A (zh) * 2017-12-26 2018-06-01 北京航空航天大学 一种基于sdn的跨域容器虚拟网络组建方法
CN108418705A (zh) * 2018-01-29 2018-08-17 山东汇贸电子口岸有限公司 虚拟机与容器混合嵌套架构的虚拟网络管理方法及系统
CN108494607A (zh) * 2018-04-19 2018-09-04 云家园网络技术有限公司 基于容器的大二层网络架构的设计方法及系统
CN108390812A (zh) * 2018-05-30 2018-08-10 新华三技术有限公司 报文转发方法及装置

Also Published As

Publication number Publication date
CN109450768A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
US11003480B2 (en) Container deployment method, communication method between services, and related apparatus
JP7060636B2 (ja) 仮想ネットワークインタフェースオブジェクト
US10469442B2 (en) Adaptive resolution of domain name requests in virtual private cloud network environments
CN111885075B (zh) 容器通信方法、装置、网络设备及存储介质
US10778532B2 (en) Overlay network movement operations
US10440152B2 (en) System and method of initiating virtual machine configuration on a subordinate node from a privileged node in a high-performance computing environment
JP5167225B2 (ja) 1つのファイラー上の複数の仮想ファイラーが重複するネットワークアドレスを有する複数のアドレス空間に参加することを可能にする技術
US8321908B2 (en) Apparatus and method for applying network policy at a network device
US9215091B2 (en) LAN emulation over infiniband fabric apparatus, systems, and methods
US8108454B2 (en) Address assignment in Fibre Channel over Ethernet environments
WO2014139383A1 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
CN109450768B (zh) 容器互联的方法及用于容器互联的系统
CN104734930B (zh) Vlan接入vf网络的实现方法及装置、fcf
CN105871676A (zh) 一种桌面云中远端虚拟机的网络连接方法及系统
Cisco TN3270 Server Commands
Cisco TN3270 Server Commands
Cisco TN3270 Server Commands
Cisco TN3270 Server Commands
US10693815B2 (en) System and method to use all incoming multicast packets as a basis for GUID to LID cache contents in a high performance computing environment
US11018947B2 (en) System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US11909624B2 (en) Communication method, apparatus, device, system, and computer-readable storage medium
JP2023527929A (ja) 仮想化ネットワーク・サービス配備方法及び装置
CN116418724A (zh) 服务访问方法、装置及负载均衡系统
CN117354088A (zh) 一种基于vxlan网络的通信方法、装置及系统
CN110730252A (zh) 一种通过改造linux内核报文处理功能的地址转换方法

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