CN105591820B - A highly scalable container network management system and method - Google Patents

A highly scalable container network management system and method Download PDF

Info

Publication number
CN105591820B
CN105591820B CN201511021498.0A CN201511021498A CN105591820B CN 105591820 B CN105591820 B CN 105591820B CN 201511021498 A CN201511021498 A CN 201511021498A CN 105591820 B CN105591820 B CN 105591820B
Authority
CN
China
Prior art keywords
container
host
network
address
tunnel
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
CN201511021498.0A
Other languages
Chinese (zh)
Other versions
CN105591820A (en
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.)
Fenomen Array Beijing Technology Co ltd
Original Assignee
Beijing Qingyuan Technology 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 Beijing Qingyuan Technology Co ltd filed Critical Beijing Qingyuan Technology Co ltd
Priority to CN201511021498.0A priority Critical patent/CN105591820B/en
Publication of CN105591820A publication Critical patent/CN105591820A/en
Application granted granted Critical
Publication of CN105591820B publication Critical patent/CN105591820B/en
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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

A high-extensible container network management system and a method relate to the field of cloud computing, in particular to a network management system and a method required by a high-extensible cloud computing system formed by containers. The high-extensible container network management system comprises a host address distributor, a network configuration manager, a network controller and a container tunnel. The method for managing the high-extensible container network comprises the steps of configuring container network parameters, configuring and activating one-to-one mapping from a host machine address to a container network section, and sending and receiving data packets. The invention can automatically control and manage a highly extensible and highly available cloud computing system formed by containers, and ensure the interoperability and safety between the containers on different hosts.

Description

High-extensible container network management system and method
Technical Field
The invention relates to the technical field of cloud computing, in particular to a highly extensible system network management system and a highly extensible system network management method which are formed by containers.
Background
As a core technology of new generation cloud computing, a container technology has gradually become a development focus of cloud computing enterprises at home and abroad in recent years. For the core technology constituting the cloud computing system, high scalability is a necessary core technical characteristic. With the support of the existing container technology, one host can run dozens or even hundreds of containers, but after the number of containers exceeds hundreds, one host is far from enough. Meanwhile, only one host machine is used for operating the container, which also affects high availability, namely, if one host machine fails, all user containers cannot operate. Therefore, to achieve high scalability and high availability of a cloud computing environment, it is required that containers can be run simultaneously by multiple hosts and connectivity between different host containers is maintained.
The network management system of the existing container can not well meet the requirements, namely, the requirement that a plurality of host machines are used for simultaneously operating the container can not be met, and the connectivity among containers of different host machines can be kept. The existing container network management system is shown in fig. 1: in a host machine for operating the container, a plurality of container instances and a container gateway are operated, and the container gateway and the container instances are interconnected and intercommunicated through a host machine internal network segment. As shown in fig. 1, in a default situation, multiple containers in one host may be interconnected, but containers operated by different hosts cannot be interconnected.
An existing solution for container Network interconnection is illustrated in fig. 1, that is, a container gateway sets a Network Address Translation (NAT) function, and maps services provided by some containers to Network addresses of hosts through ports. If the address of the host machine is 172.16.1.1, the internal network address of a certain container is 192.168.1.1; through network address translation, 80 ports of 192.168.1.1 can be mapped to 8080 ports of 172.16.1.1; thus, if the container of another host wants to access the 80 port of 192.168.1.1 of the container, it only needs to access the 8080 port of 172.16.1.1. The above network address translation method has a disadvantage that it cannot satisfy an extended scenario that multiple containers on the same host want to issue the same port, because of the limitation of the network port of a single host. For example, if two containers 192.168.1.1 and 192.168.1.2 in host 172.16.1.1 both desire 80 ports, they may not both issue 172.16.1.1 8080 ports, which would necessitate port conflicts.
Disclosure of Invention
The invention provides a highly extensible container network management system and a highly extensible highly available cloud computing system method, which can automatically control and manage a highly extensible highly available cloud computing system formed by containers, and ensure interoperability and safety between the containers on different hosts, thereby solving the problems in the prior art.
In order to achieve the above object, the highly scalable container network management system of the present invention includes a host address allocator, a network configuration manager, a network controller, and a container tunnel, where the network configuration manager is configured to configure the host address allocator, configure the network controller, and deploy and configure the container tunnel; the network controller is used for allocating a container network sub-network segment for the container running on each host machine, and allocating and storing a one-to-one mapping relation from the address of the host machine to the container network sub-network segments; the container tunnel is arranged on each host machine and is used for encapsulating the data packets from the host machine, and/or removing the data packets which are used for encapsulating the containers on other host machines and sent to the host machine.
Further, the network configuration manager comprises a user interaction module, a host address configuration module, a container address configuration module and a container tunnel deployment module; the user interaction module is used for providing an interaction interface for a user to autonomously set container network parameters, and the container network parameters comprise a host computer network segment, a container address total segment, the maximum container number of each host computer and a container gateway address; the host address configuration module is used for configuring the host address distributor; the container address configuration module is used for configuring and managing the container network parameters; the container tunnel deployment module is used for deploying and configuring the container tunnel.
Further, the user interaction module is a command line or a graphical user interface.
In order to achieve the above object, the method for managing a highly scalable container network of the present invention comprises the following steps:
s1, configuring container network parameters, and configuring the mapping from the host machine address to the container address field;
s2, deploying container tunnels, configuring and activating one-to-one mapping from the host machine addresses to the container network segments;
s3, according to the one-to-one mapping from the host machine address to the container network segment, sending and receiving the data packet.
Specifically, step S1 is:
s11, configuring the container network parameters;
s12, calculating and configuring the mapping from the host machine address to the container address field.
More specifically, step S11 is:
s111, registering and connecting a host address distributor and configuring a host address section;
s112, registering and connecting a network controller, and configuring a container address total segment, the maximum container number of each host and a container gateway host address;
s113, reading the address field of the host machine;
s114, calculating the mapping from the host machine address to the container address field;
s115, the mapping from the host machine to the container address field is configured.
More specifically, step S114 is:
s1141, configuring the container address total segment;
s1142, calculating a container network address prefix;
s1143, configuring the maximum container number of the host machine;
s1144, calculating the address length of the container instance;
s1145, judging whether the number of the allowed container network address suffixes is larger than or equal to the number of the allowed host addresses,
if the number of the container network address suffixes is larger than or equal to the number of the allowed host addresses, storing and configuring the container network address suffixes to a network controller;
and if the number of the container network address suffixes is less than the number of the allowed host machine addresses, prompting the user that the network section is insufficient.
Specifically, step S2 is:
s21, registering and connecting a host machine;
s22, deploying the container tunnel;
s23, configuring network controller address, the container tunnel connects the network controller, and obtains the container network configuration of the host machine;
s24, configuring the container gateway through the container tunnel, configuring host machine route, and directing the container network total segment route to the container tunnel by the next hop;
s25, registering and activating the one-to-one mapping of the host address to the container network.
Specifically, in step S3, the step of,
s31, the container sends the data packet to the target host machine;
s32, the target host receives and processes the data packet.
More specifically, in step S31, the step of,
s311, the container sends a data packet;
s312, judging whether the target host is the same host or not,
if the target host is a different host, executing step S313;
if the target host is the same host, sending the data packet to another container through internal communication of the host to finish data packet sending;
s313, sending the data to the host routing module through the container gateway;
s314, judging whether the target is the container network total segment,
if the target is the container network segment, go to step S315;
if the target is not the container network segment, the host machine routing module directly sends the target address to complete the data packet sending;
s315, the host machine routing module sends a data packet to the container tunnel for processing;
s316, acquiring a target host mapped by the target container network;
and S317, packaging the container data packet into a data packet which can be sent to a host, and then sending the packaged data packet to a target host to finish sending the data packet.
In particular, step S316 is to read the target host address of the target container network mapping from the cache or from the network controller.
More specifically, step S32 includes,
s321, the host receives the data packet;
s322, judging whether the target is the container tunnel,
if the target is the container tunnel, executing step S323;
if the target is not the container tunnel, the target is transferred to a corresponding port process for processing, and the data packet receiving is completed.
S323, sending the container to the container tunnel for processing;
s324, removing the data package encapsulation, and enabling the target to become a host machine container;
and S325, sending the data packet to the host machine container for processing, and finishing receiving the data packet.
Specifically. In step S24, the configuration container network DHCP (Dynamic Host configuration protocol) is:
it is determined whether the container network gateway contains a DHCP function,
if the container gateway contains the DHCP function, setting the DHCP configuration of the container gateway;
if the container gateway does not contain DHCP functionality, then a container tunnel DHCP configuration is set.
The invention has the beneficial effects that: the cloud computing system can automatically allocate network addresses of the container networks according to the setting of the system administrator, and maintain the connectivity and stability of the whole container network.
Drawings
FIG. 1 is a schematic diagram of: network environment of a general container network in the prior art;
FIG. 2 is a diagram of: the invention is applied to the container network, and the configuration management is carried out on the container network;
FIG. 3 is a diagram of: a component module of a network configuration manager;
FIG. 4 is a diagram of: a schematic of a container network communicating using the present invention;
FIG. 5 is a diagram of: the invention relates to the effect of various configuration parameters on various address fields in a container network;
FIG. 6 is a diagram of: configuring the flow of the container network parameters through a network configuration manager;
FIG. 7 is a diagram of: when a network address field of a host machine is configured, the interaction flow of each module is carried out;
FIG. 8 is a diagram of: configuring an interactive flow of each module when a network controller is registered to a network configuration manager and container network parameters are configured to the network controller;
FIG. 9 is a schematic diagram of: registering a host machine to a network configuration manager, deploying a container tunnel to the network configuration manager, and then configuring the interactive flow of each module when the relevant parameters of the container network are configured to the container tunnel;
FIG. 10 is a schematic diagram of: configuring a DHCP flow of a container network;
FIG. 11 is a graph of: the system processes the flow sent from the host machine container network;
FIG. 12 is a diagram of: the system processes the received flow which aims at the container network of the host machine.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
To facilitate an understanding of the invention, the following basic concepts are first introduced:
cloud computing: is an internet-based augmentation, usage and delivery model for related services, and generally involves providing dynamically scalable and often virtualized resources over the internet. The narrow-sense cloud computing refers to a delivery and use mode of an IT infrastructure, and refers to acquiring required resources in an on-demand and easily-extensible mode through a network; the generalized cloud computing refers to a delivery and use mode of a service, and refers to obtaining a required service in an on-demand and easily-extensible manner through a network. Such services may be IT and software, internet related, or other services.
A container: containers were created with the development of lightweight virtualization. In the conventional virtualization technology, due to the difference of the underlying platforms, developers need to spend a great deal of energy on the detailed configuration of resources, networks and the like, so that the development efficiency is reduced, and the complexity and the migration barrier are increased. The container technology is located between a bare metal or a bottom operating system and an upper-layer application, shields the details of the bottom operating system, and presents a consistent interface for an application developer. Thus, developers do not need to pay attention to call interfacing with the bottom layer and are limited to different operating systems.
Host machine: an instance of a server host may be provided where resources run multiple containers, the host being a physical server or possibly a virtual server.
A container network: an entire network connecting all container instances in the cloud computing system.
A container gateway: a device or module that connects a host internal container network and a host external network.
And (3) container tunnel: the module is deployed in a host and used for processing data packets sent from a container and sent to the container, and the main functions of the module are to encapsulate the data packets sent from the host container and remove the encapsulation of the data packets sent to the container.
A network configuration manager: the service module for providing network configuration management function for container network administrator is mainly composed of user interaction module, host machine address configuration module, container address configuration module and container tunnel deployment module.
A network controller: and maintaining a module for controlling each container network and each container tunnel, wherein the main function is to maintain the mapping relation from the host machine address to the container network address.
Host address allocator: the service of assigning IP addresses to hosts is usually a DHCP service, but may be other types of services. The network configuration manager configures the host address distributor through the host address configuration module.
Host address configuration module: and pushing the configuration of the host machine address related to the user to the functional module according to the configuration interface of the host machine address distributor.
A container address configuration module: the main functions of the module for configuring the parameters of the management container network comprise configuring a container address total segment, the maximum container number of each host and a container gateway address.
Container address total segment: all container networks join together to form an occupied network segment.
Maximum number of containers per host: the maximum number of container instances which can be started on each host can be calculated according to the configuration parameters, and the minimum number of hosts of the internal container network inside a single host can be calculated. The larger the maximum container number is, the larger each internal container network is, the smaller the number of container networks that can be supported is, and the smaller the host that can be supported is.
The container gateway address: setting an address suffix to the gateway of each internal container network, wherein the default value is 1; i.e., for a network segment with network address 10.1.2.0/24, the gateway is set to 10.1.2.1.
As shown in fig. 2, the container network management system proposed by the present invention can be deployed in the container network environment of fig. 2, and after the container network management system of the present invention is deployed, the container network management system is composed of a network configuration manager, a network controller, and a container tunnel, and the container tunnel is deployed on all hosts running containers by the network configuration manager. The network configuration manager is mainly responsible for configuring the address distributor of the host machine, configuring the network controller and deploying and configuring the container tunnel; the network controller is responsible for distributing and storing the mapping relation from the host machine address to the container network segment; the container tunnel is arranged on each host machine and is responsible for encapsulating the data packets from the host machine and removing the data packets sent to the host machine.
As shown in fig. 3, the network configuration manager is composed of a user interaction module, a host address configuration module, a container address configuration module, and a container tunnel deployment module.
As shown in fig. 4, the case of using the container network to communicate according to the present invention is, specifically, a communication process of sending a packet to a container whose Internet IP network segment of host a is subnet a (indicating a container on host a) and whose Internet IP network segment of host B is subnet B (indicating a container on host B). The container tunnel of the host machine A acquires the one-to-one mapping from the IP of the host machine stored in the network controller to the container network segment, encapsulates the data packet from the subnet A in the container tunnel of the host machine A, and sends the data packet to the host machine B according to the acquired one-to-one mapping. And the container tunnel in the host B receives the data packet from the host A, unpacks the data packet and sends the data packet to the subnet B.
As shown in fig. 5, a user may configure a host network segment, and according to the host network segment, the system may calculate the network address of the host and the number of hosts that may exist in the system. The user can configure a container address segment, and all container networks are sub-segments of the address range. The user can configure the maximum number of containers per host at the same time, and the number is also the number of operable container IP addresses in each internal container network. Further, the length of the subnet mask of the container network may be calculated; further, the length of the container network address suffix which can be supported by the system can be calculated according to the length of the container network total segment prefix; one-to-one mapping of the host and the container network, that is, one-to-one mapping of the suffix of the address of the host and the suffix of the address of the container network. Therefore, the present invention proposes that the number of allowed container network address suffixes should be greater than the number of allowed host addresses, so that it is ensured that there is enough independent container network address space for all hosts.
The flow of computing container network configuration parameters according to user configuration according to the present invention is shown in fig. 6; in particular, the invention proposes that the number of allowed container network address suffixes should be greater than the number of allowed host addresses, and if this condition is not met, the user should be alerted that the container network may be insufficient, and this configuration alert is recorded. For the mapping of the host and the container network sub-segment, the present invention indicates that the mapping is a one-to-one mapping, but the specific mapping method is not within the scope of the present patent, wherein one of the most direct mapping relationships is that the host address suffix of the host is equal to the container network address suffix, i.e. 2 in fig. 5.
According to the present invention, as shown in fig. 7, a user configures the configuration of host address allocation to a host address allocator through a user interaction module and a host address allocation module. As shown in fig. 8, the interaction flow of the modules when registering and configuring the network controller. The method specifically comprises the following steps:
s111, registering and connecting a host address distributor and configuring a host address section;
s112, registering and connecting a network controller, and configuring a container address total segment, the maximum container number of each host and a container gateway host address;
s113, reading the address field of the host machine;
s114, calculating the mapping from the host machine address to the container address field;
s115, the mapping from the host machine to the container address field is configured.
FIG. 9 illustrates the interaction flow of modules when registering and configuring a host. The method specifically comprises the following steps:
s21, registering and connecting a host machine;
s22, deploying the container tunnel;
s23, configuring network controller address, the container tunnel connects the network controller, and obtains the container network configuration of the host machine;
s24, configuring the container gateway through the container tunnel, configuring host machine route, and directing the container network total segment route to the container tunnel by the next hop;
s25, registering and activating the one-to-one mapping of the host address to the container network.
Fig. 10 illustrates the flow of configuring container network DHCP. Judging whether the container network gateway contains a DHCP function, if so, setting DHCP configuration of the container network gateway; if the container gateway does not contain DHCP functionality, then a container tunnel DHCP configuration is set.
Fig. 11 illustrates the process flow of the system for sending data packets from the container network.
S311, the container sends a data packet;
s312, judging whether the target host is the same host or not,
if the target host is a different host, executing step S313;
if the target host is the same host, sending the data packet to another container through internal communication of the host to finish data packet sending;
s313, sending the data to the host routing module through the container gateway;
s314, judging whether the target is the container network total segment,
if the target is the container network segment, go to step S315;
if the target is not the container network segment, the host machine routing module directly sends the target address to complete the data packet sending;
s315, the host machine routing module sends the data packet to a container tunnel for processing;
s316, acquiring a target host mapped by the target container network;
and S317, packaging the container data packet into a data packet which can be sent to a host, and then sending the packaged data packet to a target host to finish sending the data packet.
Fig. 12 illustrates the processing flow of the system in the case of receiving a packet to be sent to the container network.
S321, the host receives the data packet;
s322, judging whether the target is a container tunnel,
if the target is a container tunnel, performing step S323;
if the target is not the container tunnel, the target is transferred to a corresponding port process for processing, and the data packet receiving is completed.
S323, sending the data to a container tunnel for processing;
s324, removing the data package encapsulation, and enabling the target to become a host machine container;
and S325, sending the data packet to the host machine container for processing, and finishing receiving the data packet.
In one embodiment of the present invention, a user makes a network configuration as in fig. 5. The user sets the host segment to 192.168.1.0/24, so the system calculates the maximum supportable host number to be 254. The user further configures the container address total segment to be 10.1.0.0/16. The user configures the maximum number of containers per host to be 254, so that the system calculates the length of the container instance address field to be 8, and further calculates the length of the suffix of the maximum allowed container network address to be 32-16-8 ═ 8, that is, the maximum allowed number of container networks is 8 powers of 2, that is, 256 container networks. When checking this configuration, it is verified 254< > 256, that is, the configuration can have enough container networks to satisfy the number of hosts, which is a legal configuration. In this embodiment, the mapping relationship is that the host address suffix of the host is equal to the container network address suffix; that is, for a host with an address of 192.168.1.2, the container network mapped by the host is 10.1.2.0/24, and the gateway address of the container network is 10.1.2.1. Let us assume that the address of another host is 192.168.1.3, its mapped container network is 10.1.3.0/24, and the gateway address of the container network is 10.1.3.1. If a container instance with address 10.1.2.3 sends a packet to a container instance with address 10.1.3.4, the forwarding and processing flow of the packet is as follows:
the first step is as follows: container 10.1.2.3 sends a packet with destination IP address 10.1.3.4, which is sent to container gateway 10.1.2.1 because its destination address is not on local subnet 10.1.2.0/24.
The second step is that: the system finds that the destination address 10.1.3.4 belongs to the container network total segment 10.1.0.0/16 according to the local routing table, and sends the packet to the container tunnel.
The third step: the container tunnel searches for a local cache according to the target address 10.1.3.4, finds that no host address corresponding to the cache exists, and initiates a request to the network controller to search for a host address corresponding to the target network 10.1.3.0/24.
The fourth step: the network controller returns a corresponding host address of 192.168.1.3.
The fifth step: the container tunnel encapsulates the data packet to be sent to the host 192.168.1.3, the Encapsulation method is not within the scope of this patent, and various existing Encapsulation methods can be adopted, including VxLAN (virtual Extensible LAN), GRE (Generic Routing Encapsulation), UDP (user data Protocol), TCP (Transfer Control Protocol transport Control Protocol), and the like.
And a sixth step: the host 192.168.1.3 receives the encapsulated packet, finds it as a VxLAN encapsulated packet, and gives it to the container tunnel for processing.
The seventh step: the container tunnel receives the encapsulation packet, tears down the VxLAN encapsulation, and finds that the inner container IP address is 10.1.3.4.
Eighth step: the container tunnel discovery target address 10.1.3.4 is within range of the local container network and is sent to the container gateway 10.1.3.1.
The ninth step: the container gateway receives the packet and forwards it to the container instance of 10.1.3.4.
The tenth step: the container instance addressed to 10.1.3.4 receives and processes the packet.
By adopting the technical scheme disclosed by the invention, the following beneficial effects are obtained: according to the invention, a highly extensible container network can be established, a cloud computing system administrator can autonomously set a host computer network segment, a container network segment, the maximum supportable container number of each host computer and the gateway address of each container network, and according to the setting of the system administrator, the cloud computing system can automatically allocate the network address of the container network and maintain the connectivity and stability of the whole container network.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and improvements can be made without departing from the principle of the present invention, and such modifications and improvements should also be considered within the scope of the present invention.

Claims (5)

1.一种高可扩展的容器网络管理的方法,用于高可扩展的容器网络管理系统,其特征在于,包括以下步骤:1. A method for highly scalable container network management, for a highly scalable container network management system, characterized in that it comprises the following steps: S1,配置容器网络参数,配置宿主机地址到容器地址段的映射;S1, configure the container network parameters, and configure the mapping from the host address to the container address segment; S2,部署容器隧道,配置、激活所述宿主机地址到容器网络段的一一映射;S2, deploying a container tunnel, configuring and activating the one-to-one mapping from the host address to the container network segment; S3,根据所述宿主机地址到容器网络段的一一映射,发送和接受数据包;S3, send and receive data packets according to the one-to-one mapping of the host address to the container network segment; 所述高可扩展的容器网络管理系统,包括宿主机地址分配器,网络配置管理器、网络控制器和容器隧道,The highly scalable container network management system includes a host address allocator, a network configuration manager, a network controller and a container tunnel, 所述网络配置管理器,用于配置所述宿主机地址分配器,配置所述网络控制器,部署和配置所述容器隧道;the network configuration manager, configured to configure the host address allocator, configure the network controller, and deploy and configure the container tunnel; 所述网络控制器用于为每个宿主机上运行的容器分配一个容器网络子网段,并且,分配、保存宿主机地址到容器网络子网段的一一映射关系;The network controller is used for allocating a container network subnet segment for the container running on each host machine, and assigning and saving the one-to-one mapping relationship between the host machine address and the container network subnet segment; 所述容器隧道设置在每个宿主机上,用于封装来自本宿主机的数据包,和/或拆除封装其他宿主机上的容器发送到本宿主机的数据包;The container tunnel is set on each host, and is used to encapsulate data packets from the host, and/or remove and encapsulate the packets sent by containers on other hosts to the host; 所述网络配置管理器包括用户交互模块、宿主机地址配置模块、容器地址配置模块和容器隧道部署模块;The network configuration manager includes a user interaction module, a host address configuration module, a container address configuration module and a container tunnel deployment module; 所述用户交互模块用于提供用户自主设置容器网络参数的交互界面,所述容器网络参数包括宿主机网段,容器地址总段,每主机最大容器数和容器网关地址;所述用户交互模块为命令行或者图形用户界面;The user interaction module is used to provide an interactive interface for the user to independently set the container network parameters, and the container network parameters include the host network segment, the total container address segment, the maximum number of containers per host and the container gateway address; the user interaction module is: command line or graphical user interface; 所述宿主机地址配置模块用于配置所述宿主机地址分配器;The host address configuration module is used to configure the host address allocator; 所述容器地址配置模块用于配置、管理所述容器网络参数;The container address configuration module is used to configure and manage the container network parameters; 所述容器隧道部署模块用于部署和配置所述容器隧道;The container tunnel deployment module is used to deploy and configure the container tunnel; 步骤S1具体为:Step S1 is specifically: S11,配置所述容器网络参数;S11, configure the container network parameters; S12,计算、配置所述宿主机地址到容器地址段的映射;S12, calculate and configure the mapping from the host address to the container address segment; 步骤S11具体为:Step S11 is specifically: S111,注册、连接宿主机地址分配器,配置宿主机地址段;S111, register and connect to the host address allocator, and configure the host address segment; S112,注册、连接网络控制器,配置容器地址总段、每主机最大容器数和容器网关主机地址;S112, register and connect to the network controller, and configure the container address total segment, the maximum number of containers per host, and the container gateway host address; S113,读取所述宿主机地址段;S113, read the host address segment; S114,计算宿主机地址到容器地址段映射;S114, calculating the mapping from the host address to the container address segment; S115,配置宿主机到容器地址段映射;S115, configure the host-to-container address segment mapping; 步骤S114具体为:Step S114 is specifically: S1141,配置所述容器地址总段;S1141, configure the container address general segment; S1142,计算容器网络地址前缀;S1142, calculate the container network address prefix; S1143,配置宿主机最大容器数;S1143, configure the maximum number of containers of the host; S1144,计算容器实例地址长度;S1144, calculate the address length of the container instance; S1145,判断允许的容器网络地址后缀个数是否大于等于允许的宿主机地址个数,S1145, determine whether the number of allowed container network address suffixes is greater than or equal to the allowed number of host addresses, 若所述容器网络地址后缀个数大于或者等于所述允许的宿主机地址个数,则保存配置到网络控制器;If the number of container network address suffixes is greater than or equal to the number of allowed host addresses, save the configuration to the network controller; 若所述容器网络地址后缀个数小于所述允许的宿主机地址个数,则向用户提示网络段不够;If the number of container network address suffixes is less than the allowed number of host addresses, the user is prompted that the network segment is insufficient; 步骤S3包括,Step S3 includes, S31,容器发送数据包到目标宿主机;S31, the container sends the data packet to the target host; S32,所述目标宿主机接收并处理数据包;S32, the target host machine receives and processes the data packet; 步骤S31包括,Step S31 includes, S311,容器发送数据包;S311, the container sends a data packet; S312,判断所述目标宿主机是否为同一宿主机,S312, determine whether the target host machine is the same host machine, 若所述目标宿主机为不同宿主机,则执行步骤S313;If the target host is a different host, step S313 is performed; 若所述目标宿主机为同一宿主机,则通过宿主机内部通信发送给另一容器,完成数据包发送;If the target host is the same host, send it to another container through the internal communication of the host to complete the data packet sending; S313,通过容器网关发送给宿主机路由模块;S313, send to the host routing module through the container gateway; S314,判断目标是否为容器网络总段,S314, determine whether the target is the total segment of the container network, 若目标是容器网络总段,则执行步骤S315;If the target is the container network total segment, execute step S315; 若目标不是容器网络总段,则由所述宿主机路由模块直接发送给目标地址,完成数据包发送;If the target is not the general segment of the container network, the host routing module will directly send it to the target address to complete the data packet sending; S315,由所述宿主机路由模块发送数据包给所述容器隧道处理;S315, the host routing module sends a data packet to the container tunnel for processing; S316,获取目标容器网络映射的目标宿主机;S316, obtain the target host of the target container network mapping; S317,封装容器数据包为可发送到宿主机的数据包,然后,发送封装后的数据包到目标宿主机,完成数据包发送。S317 , encapsulating the container data packet into a data packet that can be sent to the host, and then sending the encapsulated data packet to the target host to complete the sending of the data packet. 2.根据权利要求1中所述的容器网络管理的方法,其特征在于,步骤S2具体为:2. The method for container network management according to claim 1, wherein step S2 is specifically: S21,注册、连接宿主机;S21, register and connect to the host; S22,部署所述容器隧道;S22, deploying the container tunnel; S23,配置网络控制器地址,所述容器隧道连接所述网络控制器,并获取本宿主机容器网络配置;S23, configure a network controller address, the container tunnel is connected to the network controller, and obtain the container network configuration of the host machine; S24,通过所述容器隧道配置所述容器网关,配置容器网络DHCP,配置所述容器隧道,配置宿主机路由,将容器网络总段路由向下一跳指向所述容器隧道;S24, configure the container gateway through the container tunnel, configure the container network DHCP, configure the container tunnel, configure the host route, and direct the container network total segment route to the next hop to the container tunnel; S25,注册、激活所述宿主机地址到所述容器网络的一一映射。S25, register and activate the one-to-one mapping from the host address to the container network. 3.根据权利要求1所述的容器网络管理的方法,其特征在于,步骤S316为从缓存或者从所述网络控制器读取目标容器网络映射的目标宿主机地址。3 . The method for container network management according to claim 1 , wherein step S316 is to read the target host address of the target container network mapping from a cache or from the network controller. 4 . 4.根据权利要求1所述的容器网络管理的方法,其特征在于,步骤S32包括,4. The method for container network management according to claim 1, wherein step S32 comprises: S321,宿主机接收数据包;S321, the host computer receives the data packet; S322,判断目标是否为所述容器隧道,S322, determine whether the target is the container tunnel, 若目标是所述容器隧道,则执行步骤S323;If the target is the container tunnel, perform step S323; 若目标不是所述容器隧道,则转给相应的端口进程处理,完成接收数据包;If the target is not the container tunnel, it will be transferred to the corresponding port process for processing to complete receiving the data packet; S323,发送给所述容器隧道处理;S323, send to the container tunnel for processing; S324,拆除数据包封装,目标变为本宿主机容器;S324, remove the data packet encapsulation, and the target becomes the host container; S325,发送给本宿主机容器处理,完成接收数据包。S325, send to the host container for processing, and complete receiving the data packet. 5.根据权利要求2所述的容器网络管理的方法,其特征在于,步骤S24中,配置容器网络DHCP具体为:5. The method for container network management according to claim 2, wherein in step S24, configuring the container network DHCP is specifically: 判断容器网关是否包含DHCP功能,Determine whether the container gateway includes the DHCP function, 如果容器网关包含DHCP功能,那么就设置容器网关DHCP配置;If the container gateway includes DHCP function, then set the container gateway DHCP configuration; 如果容器网关不包含DHCP功能,那么就设置容器隧道DHCP配置。If the container gateway does not include DHCP capability, then set the container tunnel DHCP configuration.
CN201511021498.0A 2015-12-31 2015-12-31 A highly scalable container network management system and method Active CN105591820B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511021498.0A CN105591820B (en) 2015-12-31 2015-12-31 A highly scalable container network management system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021498.0A CN105591820B (en) 2015-12-31 2015-12-31 A highly scalable container network management system and method

Publications (2)

Publication Number Publication Date
CN105591820A CN105591820A (en) 2016-05-18
CN105591820B true CN105591820B (en) 2020-05-08

Family

ID=55931079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021498.0A Active CN105591820B (en) 2015-12-31 2015-12-31 A highly scalable container network management system and method

Country Status (1)

Country Link
CN (1) CN105591820B (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733992B1 (en) * 2016-05-27 2017-08-15 Huawei Technologies Co., Ltd. Inter-process communication between containers
US10305834B2 (en) * 2016-06-20 2019-05-28 Huawei Technologies Co., Ltd. System and method for messaging between operating system containers
CN105978902B (en) * 2016-06-29 2019-08-06 中国联合网络通信集团有限公司 Access control method and device
CN106169994B (en) * 2016-06-29 2019-02-26 中国联合网络通信集团有限公司 Security control method and device for communication between containers
CN106130990B (en) * 2016-06-29 2019-06-18 中国联合网络通信集团有限公司 Container access control method and device
CN106790483A (en) * 2016-12-13 2017-05-31 武汉邮电科学研究院 Hadoop group systems and fast construction method based on container technique
CN107276826A (en) * 2017-07-24 2017-10-20 郑州云海信息技术有限公司 A kind of capacitor network collocation method and device
CN107332775B (en) * 2017-08-14 2020-07-31 上海新炬网络信息技术股份有限公司 Cross-host machine inter-visit system based on docker container and control method thereof
CN109862127B (en) * 2017-11-30 2021-05-11 华为技术有限公司 Message transmission method and related device
CN108228318B (en) * 2017-12-29 2021-08-06 优刻得科技股份有限公司 Method, host, system and storage medium for communication between cloud container and management device
CN108234215B (en) * 2018-01-12 2019-12-31 平安科技(深圳)有限公司 Gateway creating method and device, computer equipment and storage medium
CN109240799B (en) * 2018-09-06 2022-04-15 福建星瑞格软件有限公司 Disaster tolerance method and system for big data platform cluster and computer readable storage medium
US10812374B2 (en) * 2018-09-21 2020-10-20 Cisco Technology, Inc. Segment routing with fast reroute for container networking
CN110932907B (en) * 2019-12-03 2020-10-16 北京大学 A Linux container network configuration method and network system
CN110943911B (en) * 2019-12-19 2022-05-31 北京轻元科技有限公司 High-efficiency data transmission method for Internet of things based on protobuf
JP7585709B2 (en) 2020-10-27 2024-11-19 日本電気株式会社 CONTAINER REARRANGEMENT SYSTEM, CONTAINER REARRANGEMENT METHOD, AND CONTAINER REARRANGEMENT PROGRAM
CN112383594B (en) * 2020-10-30 2022-04-22 新华三技术有限公司 Cross-host communication method and device based on hyper-directory Fabric network
CN116097630A (en) * 2021-04-08 2023-05-09 思科技术公司 Horizontal Scaling for Software-Defined Wide Area Networks (SD-WAN)
CN114785540B (en) * 2022-03-07 2024-11-26 奇安信科技集团股份有限公司 A flow traction method, device, electronic device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594678A (en) * 2012-02-15 2012-07-18 杭州华三通信技术有限公司 Method for large-scale networking of dynamic virtual private network (DVPN) and client
CN104899126A (en) * 2015-06-12 2015-09-09 北京奇虎科技有限公司 Method, device and system for performing local real-time monitoring on containers in host
CN105099706A (en) * 2015-08-25 2015-11-25 华为技术有限公司 Data communication method, user equipment and server
CN105099779A (en) * 2015-07-29 2015-11-25 北京京东尚科信息技术有限公司 Multi-tenant cloud platform architecture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9590901B2 (en) * 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594678A (en) * 2012-02-15 2012-07-18 杭州华三通信技术有限公司 Method for large-scale networking of dynamic virtual private network (DVPN) and client
CN104899126A (en) * 2015-06-12 2015-09-09 北京奇虎科技有限公司 Method, device and system for performing local real-time monitoring on containers in host
CN105099779A (en) * 2015-07-29 2015-11-25 北京京东尚科信息技术有限公司 Multi-tenant cloud platform architecture
CN105099706A (en) * 2015-08-25 2015-11-25 华为技术有限公司 Data communication method, user equipment and server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
七牛容器SDN技术与微服务架构实践;中关村在线;《http://dealer.zol.com.cn/dealer_article/559/5590307.html》;20151221;第2-4页 *

Also Published As

Publication number Publication date
CN105591820A (en) 2016-05-18

Similar Documents

Publication Publication Date Title
CN105591820B (en) A highly scalable container network management system and method
US11190375B2 (en) Data packet processing method, host, and system
CN108347493B (en) Hybrid cloud management method and device and computing equipment
JP7413415B2 (en) Communication method, gateway, and management method and device in a hybrid cloud environment
CN103607430B (en) A kind of method and system of network processes and the network control center
EP3316532B1 (en) Computer device, system and method for implementing load balancing
CN111866064B (en) A method, device and system for load balancing
US8725898B1 (en) Scalable port address translations
CN108111383B (en) A method for building cross-domain container virtual network based on SDN
WO2018032910A1 (en) Cross-network communication method and apparatus
US10594586B2 (en) Dialing test method, dialing test system, and computing node
US10129096B2 (en) Commissioning/decommissioning networks in orchestrated or software-defined computing environments
CN106790660A (en) A kind of dispositions method and device for realizing distributed memory system
CN104272668A (en) Layer-3 overlay gateways
WO2015096737A1 (en) Method, apparatus and system for controlling auto-provisioning of network device
WO2011162942A2 (en) Distributed virtual network gateways
WO2017032251A1 (en) Virtual network management
US10237235B1 (en) System for network address translation
CN106559451A (en) Customer shift method and device
CN107276826A (en) A kind of capacitor network collocation method and device
EP3518499B1 (en) Nfv system service acceleration methods, systems and apparatus
CN111294268B (en) Method and device for avoiding IP address conflict
CN108886475A (en) To network authorization/solution authorization in calculating environment allocate or software definition
EP3629559B1 (en) Method for configuring forwarding table for user equipment and apparatus
CN114650290A (en) Network connection method, processing device, terminal and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231027

Address after: 5089, 5th Floor, Building 2, China Agricultural University International Entrepreneurship Park, No. 10 Tianxiu Road, Haidian District, Beijing, 100193

Patentee after: Fenomen array (Beijing) Technology Co.,Ltd.

Address before: No. 2776, Building 2, No. 7 Chuangxin Road, Science and Technology Park, Changping District, Beijing 102200

Patentee before: BEIJING QINGYUAN TECHNOLOGY Co.,Ltd.

OSZAR »