Multi-server network interconnection system and method based on baseboard management controller
By establishing a multi-server network interconnection system based on the substrate management controller between the CPU node server and the multi-level GPU BOX server, the problem that the existing technology cannot be compatible with the multi-GPU node server combination scenario is solved, and efficient management and operation and maintenance are achieved.
Patent Information
- Application Number
- CN202411746364.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-04
AI Technical Summary
The existing technology is not compatible with the combination scenarios of one CPU node server and multiple GPU BOX servers, and it is impossible to achieve convenient management and operation and maintenance.
By establishing a multi-server network interconnection system based on the substrate management controller between the CPU node server and the multi-level GPU BOX server, the private network communication port and the LAN switching chip are used to transmit label data and non-label data, and port isolation and logical forwarding are realized.
It realizes BMC interconnection management between CPU node server and multi-GPU node server, solves the problem of multi-GPU node server combination management operation and maintenance, and improves the management convenience and scalability of the system.
Smart Images

Figure CN119561802A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of server technology, and in particular to a multi-server network interconnection system and method based on a baseboard management controller. Background Art
[0002] BMC (Baseboard Management Controller) is a dedicated chip / controller based on the core of IPMI (Intelligent Platform Management Interface). Servers are generally equipped with BMC as an operation and maintenance management module.
[0003] The current demand for computing power is increasing. The number of GPUs (Graphics Processing Units) in a single machine is limited, so a combination of CPU node servers and multi-GPU BOX servers has emerged. Similarly, the convenient management of such multiple servers has also put forward higher requirements.
[0004] The existing technologies only consider the combination scenario of one CPU node server and one GPU BOX server, and are not compatible with the combination scenario of one CPU node server and multiple GPU BOX servers. Summary of the invention
[0005] The purpose of this application is to provide a multi-server network interconnection system and method based on a baseboard management controller, which is used to solve the problem that the existing scenario only considers the combination of one CPU node server and one GPU BOX server, and is not compatible with the combination of one CPU node server and multiple GPU BOX servers.
[0006] In a first aspect, an embodiment of the present application provides a multi-server network interconnection system based on a baseboard management controller, including a CPU node server and a multi-level GPU BOX server, wherein:
[0007] The CPU node server includes a host BMC, and the host BMC is interconnected with the first communication port of the first-level GPUBOX server through a private network communication port;
[0008] Any level GPU BOX server includes a LAN switch chip and a BOX BMC, wherein the LAN switch chip includes a first communication port, a second communication port and a third communication port interconnected with each other, and the third communication port is connected to the BOX BMC;
[0009] The second communication port of each GPU BOX server except the last one is connected to the first communication port of the next level, and the second communication port of the GPU BOX server of the last level is connected to the network equipment in the computer room;
[0010] The first communication port, the second communication port and the third communication port are divided into the first local area network for transmitting label data between the host BMC and any BOX BMC, and the first communication port and the second communication port are divided into the second local area network for transmitting non-label data without label between the host BMC and the network equipment in the computer room.
[0011] In some possible embodiments, the CPU node server further includes a network controller of the private network communication port;
[0012] The network controller is configured with a port mapping table and a logic forwarding rule, wherein the port mapping table is used to map the protocol ports of different BOX BMCs to the host BMC access logic ports;
[0013] The logic forwarding rule is to map the access logic port of the host BMC to the access protocol port of the target BOX BMC, and generate label data with the destination address being the IP address of the target BOX BMC, and then send it to the first-level GPU BOX server through the private network communication port.
[0014] In some possible embodiments, the protocol port of the BOX BMC is defined by the IP address and protocol port number of the BOX BMC, and the port mapping table is used to map the IP address and protocol port number combination of different BOX BMCs into a host BMC access logical port.
[0015] In some possible embodiments, the BOX BMC is configured with a designated routing table;
[0016] The designated routing table is used to instruct the BOX BMC to send the label data according to the default routing rule. The default routing forwarding rule is to forward the label data from the host BMC using the IP address of the host BMC as the source address.
[0017] In a second aspect, an embodiment of the present application provides a multi-server network interconnection method based on a baseboard management controller based on the above system, the method comprising:
[0018] The host BMC sends the label data sent to any BOX BMC and the non-label data sent to the network equipment in the computer room to the first communication port of the first-level GPU BOX server through the private network communication port; the host BMC receives the label data from any BOX BMC and the non-label data from the network equipment in the computer room sent by the first communication port of the first-level GPU BOX server through the above private network communication port;
[0019] When any level GPU BOX server receives the label data and non-label data from the host BMC through the first communication port, it sends the non-label data to the first communication port of the next level or the network device in the computer room through the second communication port, and sends the label data to the BOX BMC through the third communication port. The BOX BMC of this level processes the data when it determines that it is its own label data, otherwise it sends the data to the first communication port of the next level through the third communication port to the second communication port;
[0020] When any level of GPU BOX server receives non-label data sent to the host BMC through the second communication port, the non-label data is sent through the first communication port. When the BOX BMC sends label data to the host BMC, it is sent through the third communication port and sent to the second communication port of the previous level or the host BMC of the previous level through the first communication port. When the BOX BMC receives label data sent to the host BMC from other GPU BOX servers through the second communication port to the third communication port, the label data sent to the host BMC by other GPU BOX servers is sent to the second communication port of the previous level or the host BMC of the previous level through the third communication port to the first communication port.
[0021] In some possible embodiments, the host BMC sends the tag data sent to any BOX BMC to the first communication port of the first-level GPU BOX server through the private network communication port, including:
[0022] In response to the access instruction, determine the access logical port of the host BMC to be accessed, and search for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table;
[0023] Based on the configured logical forwarding rules, the logical port accessed to the host BMC is mapped to the protocol port accessed to the target BOX BMC, and after generating label data with the destination address being the IP address of the target BOX BMC, it is sent to the first-level GPU BOX server through the private network communication port.
[0024] In some possible embodiments, the protocol port of the BOX BMC is defined by the IP address and the protocol port number of the BOX BMC, and searching for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table includes:
[0025] The host BMC access logical port is searched, and the IP address and protocol port number combination of the target BOX BMC mapped in the configured port mapping table is searched.
[0026] In some possible embodiments, the access instruction is triggered in any of the following ways:
[0027] An access instruction is triggered according to an operation on the host BMC access logical port identifier displayed on the port access web page of the browser; or
[0028] The access instruction is triggered according to the operation of accessing the logical port identifier of the host BMC through the intelligent platform management interface IPMI platform management tool.
[0029] In some possible embodiments, when any level of GPU BOX server receives tag data from the host BMC through the first communication port, the tag data is sent to the BOX BMC through the third communication port, and sent to the first communication port of the next level through the second communication port, including:
[0030] When any level of GPU BOX server receives label data from the host BMC through the first communication port, based on the default routing rule specified in the specified routing table, the label data from the host BMC is sent to the first communication port of the next level through the second communication port using the IP address of the host BMC as the source address.
[0031] In some possible embodiments, the source address of the tag data is the IP address of the host BMC, and the destination address is the IP address of the target BOX BMC; or
[0032] The source address of the tag data is the IP address of any BOX BMC, and the destination address is the IP address of the host BMC;
[0033] The source address of the non-label data is the IP address of the host BMC, and the destination address is the address of the network device in the computer room; or
[0034] The source address of the non-label data is the address of the network equipment in the computer room, and the destination address is the IP address of the host BMC.
[0035] The embodiment of the present application solves the problem of combined management and operation of a CPU node server plus multiple GPU node servers, and provides a BMC interconnection management solution for a CPU node server and multiple GPU node servers. The communication between the CPU node server and multiple GPU node servers includes label data communication and non-label data communication, and the label data and non-label data are divided into different local area networks, thereby realizing port isolation transmission. This solves the existing problem that only one CPU node server and one GPU BOX server are considered, and the combination scenario of one CPU node server and multiple GPU BOX servers is not compatible.
[0036] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. Obviously, the drawings introduced below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0038] Figure 1 A schematic diagram of a multi-server network interconnection system based on a baseboard management controller provided in an embodiment of the present application;
[0039] Figure 2 A flow chart of a multi-server network interconnection method based on a baseboard management controller provided in an embodiment of the present application;
[0040] Figure 3 It is a flowchart of the configuration of the host BMC and each BOX BMC and the process of the host transmitting label data to one of the BOX BMCs as exemplified in the embodiments of the present application;
[0041] Figure 4 A flow chart of the transmission process of non-label data between the host BMC and the network equipment in the computer room according to the embodiment of the present application;
[0042] Figure 5 This is a flow chart of a transmission process in which a BOX BMC transmits tag data to a host BMC according to an example of an embodiment of the present application. DETAILED DESCRIPTION
[0043] To further illustrate the technical solution provided by the embodiment of the present application, this is described in detail below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiment of the present application provides the method operation steps as shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on routine or no creative labor. In the steps where there is no necessary causal relationship logically, the execution order of these steps is not limited to the execution order provided by the embodiment of the present application. The method can be executed in the order of the method shown in the embodiment or drawings or in parallel during the actual processing process or when the control device is executed.
[0044] The relevant technical terms involved in this application are explained below.
[0045] 1) BMC (Baseboard Management Controller)
[0046] BMC is an independent system. It does not depend on other hardware on the system (such as CPU, memory, etc.), nor does it depend on BIOS, OS, etc. However, BMC can interact with BIOS and OS to better manage the platform. System management software under OS can work with BMC to achieve better management results.
[0047] 2) GPU (Graphics Processing Unit)
[0048] Graphics Processing Unit (GPU), also known as display core, visual processor, display chip, is a microprocessor that specializes in image computing on personal computers, workstations, game consoles and some mobile devices (such as tablets, smart phones, etc.).
[0049] 3) VLAN (Virtual Local Area Network)
[0050] VLAN is a network-based logical grouping technology that allows LAN devices to be physically divided into multiple logical groups. These logical groups can communicate and be managed like independent physical LANs.
[0051] 4) VLAN Tag
[0052] VLAN tagging is a technology used to mark the VLAN to which a data frame belongs in network communication. By adding VLAN tags to data frames, network devices (such as switches) can identify and forward data frames to the correct VLAN, thereby achieving the division and management of virtual LANs.
[0053] 5) IPMI (Intelligent Platform Management Interface) is an open standard hardware management interface specification designed to provide remote monitoring, management and recovery capabilities for computer system hardware.
[0054] 6) Host baseboard management controller, i.e. CPU node server baseboard management controller
[0055] 7) GPU BOX baseboard management controller, i.e. GPU node server baseboard management controller
[0056] 8) LAN switches are important devices for data exchange in switched LANs;
[0057] 9) Iptables
[0058] Iptables is an IP packet filtering system integrated with the latest 3.5 version of the Linux kernel. This system facilitates better control of IP packet filtering and firewall configuration on Linux systems if they are connected to the Internet or a LAN, a server, or a proxy server connecting a LAN and the Internet.
[0059] The firewall has a set of rules to follow and compose when making packet filtering decisions. These rules are stored in dedicated packet filter tables, which are integrated into the Linux kernel. In the packet filter table, the rules are grouped in what we call chains. The netfilter / iptables IP packet filtering system is a powerful tool that can be used to add, edit and remove rules.
[0060] 10) IP address (Internet Protocol Address) refers to the Internet Protocol address, which is also translated as Internet Protocol address. It is a unified address format provided by the IP protocol, which assigns a logical address to each network and each host on the Internet to shield the difference in physical addresses.
[0061] 11) Port number is a digital identifier used by transport layer protocols (such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol)) to distinguish different applications or services. It is used in conjunction with the IP address to ensure that data can be accurately delivered to a specific service or application in the network.
[0062] 12) Port forwarding refers to the act of forwarding data packets received at one port in the network to another port or another network node.
[0063] Since the related art only considers the combination scenario of one CPU node server and one GPU BOX server, the current network topology method makes the current technology incompatible with the interconnection scenario of one CPU node server and multiple GPU node servers. This application proposes a multi-server network interconnection system and method based on a baseboard management controller.
[0064] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings.
[0065] The following is a detailed description of the multi-server network interconnection system and method based on a baseboard management controller in an embodiment of the present application in conjunction with the accompanying drawings.
[0066] See also Figure 1 , is a schematic diagram of a multi-server network interconnection system based on a baseboard management controller according to an embodiment of the present application, the system includes: a CPU node server and a multi-level GPU BOX server, illustratively including n-level GPU BOX servers, specifically GPU BOX server 1, GPU BOX server 2, GPU BOX server 3 ... GPU BOX server n, n is a positive integer greater than 1, wherein:
[0067] The CPU node server includes a host BMC, and the host BMC is interconnected with the first communication port port1 of the first-level GPU BOX server through a private network communication port Port; in the embodiment of the present application, the host BMC provides an independent dedicated network port as a private network communication port;
[0068] Any level of GPU BOX server includes a LAN switch chip and a BOX BMC, the LAN switch chip includes an interconnected first communication port port1, a second communication port port2 and a third communication port port3, and the third communication port port3 is connected to the BOX BMC; in the embodiment of the present application, the GPU BOX server provides a LAN switch chip Lan Switch chip with three communication ports to complete the interconnection between its own BOX BMC and other server BOX BMCs. Specifically, for GPU BOX server 1, it includes a LAN switch chip and BOX BMC1, the LAN switch chip includes an interconnected first communication port port1, a second communication port port2 and a third communication port port3, and the third communication port port3 is connected to BOX BMC1; for GPU BOX server 2, it includes a LAN switch chip and BOX BMC2, the LAN switch chip includes an interconnected first communication port port1, a second communication port port2 and a third communication port port3, and the third communication port port3 is connected to BOX BMC2; for GPU BOX server 3, it includes a LAN switch chip and BOX BMC3, the LAN switch chip includes a first communication port port1, a second communication port port2 and a third communication port port3 that are interconnected, and the third communication port port3 is connected to BOX BMC3; for GPU BOX server n, including a LAN switch chip and BOX BMCn, the LAN switch chip includes a first communication port port1, a second communication port port2 and a third communication port port3 that are interconnected, and the third communication port port3 is connected to BOX BMCn;
[0069] The second communication port of each GPU BOX server except the last level is connected to the first communication port of the next level, and the second communication port of the GPU BOX server of the last level is connected to the network equipment in the computer room; specifically, the second communication port Port2 of GPU BOX server 1 is connected to the first communication port Port1 of GPU BOX server 2, the second communication port Port2 of GPU BOX server 2 is connected to the first communication port Port1 of GPU BOX server 3, the second communication port Port2 of GPU BOX server 3 is connected to the first communication port Port1 of the GPU BOX server of the next level, and the second communication port Port2 of GPU BOX server n is connected to the network equipment in the computer room;
[0070] The first communication port, the second communication port and the third communication port are divided into the first local area network for transmitting the tagged data between the host BMC and any BOX BMC, and the first communication port and the second communication port are divided into the second local area network for transmitting the untagged non-tagged data between the host BMC and the network equipment in the computer room. Specifically, the first communication port port1, the second communication port port2 and the third communication port port3 in GPU BOX server 1, GPU BOX server 2, GPU BOX server 3 ... GPU BOX server n are divided into VLAN1, and the first communication port port1 and the second communication port port2 are divided into the second local area network VLAN2.
[0071] VLAN1 is used to transmit tag data between the host BMC and any BOX BMC, so as to Figure 1 The interconnection method marked by the solid line in the middle realizes the tag data transmission between the host BMC and the BOX BMC in each GPU BOX server, realizing local communication. VLAN2 is used to transmit the untagged data between the host BMC and the computer room network equipment in the computer room network environment, so as to achieve Figure 1 The interconnection method marked by the dotted line realizes the untag data transmission between the host BMC and the network equipment in the computer room.
[0072] like Figure 2 As shown, the flowchart of the multi-server network interconnection method based on the baseboard management controller based on the above system provided by the embodiment of the present application mainly includes:
[0073] Step 201, the host BMC sends the tag data sent to any BOX BMC and the untag data sent to the network device in the computer room to the first communication port of the first-level GPU BOX server through the private network communication port, and the host BMC receives the tag data sent from any BOX BMC and the untag data from the network device in the computer room sent by the first communication port of the first-level GPU BOX server through the private network communication port; specifically, the host BMC sends the tag data sent to any BOX BMC and the untag data sent to the network device in the computer room to Port1 of the first-level GPU BOX server 1 through Port, and the host BMC receives the tag data sent from any BOX BMC and the untag data from the network device in the computer room sent by Port1 of the first-level GPU BOX server 1 through the Port;
[0074] Step 202, when any level of GPU BOX server receives the label data and non-label data from the host BMC through the first communication port, it sends the non-label data to the first communication port of the next level or the network device in the computer room through the second communication port, and sends the label data to the BOX BMC through the third communication port. The BOX BMC of this level processes the label data when it determines that it is its own label data, otherwise it sends the label data to the first communication port of the next level through the third communication port to the second communication port;
[0075] Specifically, when GPU BOX server 1 receives tag data from the host BMC through Port1, it sends the tag data to BOX BMC1 through Port3. BOX BMC1 processes it when it determines that it is its own tag data. Otherwise, it sends it to Port1 of GPU BOX server 2 through Port3 to Port2. When GPU BOX server 1 receives Untag data from the host BMC through Port1, it sends the Untag data to Port1 of GPU BOX server 2 through Port2.
[0076] When GPU BOX server 2 receives tag data from the host BMC through Port1, it sends the tag data to BOX BMC2 through Port3. BOX BMC2 processes the data when it determines that it is its own tag data. Otherwise, it sends the data to Port1 of GPU BOX server 3 through Port3 to Port2. When GPU BOX server 2 receives Untag data from the host BMC through Port1, it sends the Untag data to Port1 of GPU BOX server 3 through Port2.
[0077] When GPU BOX server 3 receives tag data from the host BMC through Port1, it sends the tag data to BOX BMC3 through Port3. When BOX BMC3 determines that it is its own tag data, it processes it. Otherwise, it sends it to Port1 of the next-level GPU BOX server through Port3 to Port2. When GPU BOX server 3 receives Untag data from the host BMC through Port1, it sends the Untag data to Port1 of the next-level GPU BOX server through Port2.
[0078] The processing of tag data and untag data by the GPU BOX server omitted in the middle is the same as above and will not be repeated here.
[0079] When GPU BOX server n receives tag data from the host BMC through Port1, it sends the tag data to BOX BMCn through Port3. BOX BMCn processes the data when it determines that it is its own tag data, otherwise it discards the tag data. When GPUBOX server n receives Untag data from the host BMC through Port1, it sends the Untag data to the computer room network device in the computer room network environment through Port2.
[0080] Step 203, when any level of GPU BOX server receives non-labeled data sent to the host BMC through the second communication port, the non-labeled data is sent through the first communication port; when the BOX BMC sends labeled data to the host BMC, the labeled data is sent through the third communication port and sent to the second communication port of the previous level or the host BMC of the previous level through the first communication port; when the BOXBMC receives labeled data sent to the host BMC from other GPU BOX servers through the second communication port to the third communication port, the labeled data sent to the host BMC from other GPU BOX servers is sent to the second communication port of the previous level or the host BMC of the previous level through the third communication port to the first communication port.
[0081] Specifically, when GPU BOX server 1 receives Untag data sent to the host BMC through Port2, it sends the Untag data through Port1. When BOX BMC1 sends tag data to the host BMC, it sends it through Port3 and sends it to the host BMC through Port1. When BOX BMC1 receives tag data sent to the host BMC by other GPU BOX servers via Port2 to Port3, it sends the tag data sent to the host BMC by other GPU BOX servers to the host BMC through Port3 to Port1.
[0082] When GPU BOX server 2 receives Untag data sent to the host BMC through Port2, it sends the Untag data through Port1. When BOX BMC2 sends tag data to the host BMC, it sends it through Port3 and sends it to Port2 of GPU BOX server 1 through Port1. When BOX BMC2 receives tag data sent to the host BMC from other GPU BOX servers via Port2 to Port3, it sends the tag data sent to the host BMC from other GPU BOX servers to Port2 of GPU BOX server 1 through Port3 to Port1.
[0083] When GPU BOX server 3 receives Untag data sent to the host BMC through Port2, it sends the Untag data through Port1. When BOX BMC3 sends tag data to the host BMC, it sends it through Port3 and sends it to Port2 of GPU BOX server 2 via Port1. When BOX BMC3 receives tag data sent to the host BMC from other GPU BOX servers via Port2 to Port3, it sends the tag data sent to the host BMC from other GPU BOX servers to Port2 of GPU BOX server 2 via Port3 to Port1.
[0084] When GPU BOX server n receives the Untag data sent to the host BMC through Port2, it sends the Untag data through Port1. When BOX BMCn sends tag data to the host BMC, it sends it through Port3 and then sends it to Port2 of the upper-level GPUBOX server through Port1.
[0085] In the embodiment of the present application, the Lan switch is configured through the port isolation rule to assign Port1 / Port2 / Port3 to a Vlan1, so only tagged network packets can flow in the solid line connection line, and other tagged or untagged network packets will be isolated as the internal communication network of each BOX BMC.
[0086] Lan switch configures the port isolation rule to assign Port1 / Port2 to another Vlan2 and sets Untag, so the dotted line can complete the communication with the computer room network devices in the computer room network, serving as the external communication network between the host BMC and the computer room environment.
[0087] In the embodiment of the present application, when the above-mentioned system provides external access, access is made through the external IP address of the host BMC plus the designated port. In the embodiment of the present application, the host BMC and the BOX BMC are both assigned corresponding IP addresses. Exemplarily, the IP address of the host BMC is 192.168.1.11, the IP address of BOX BMC1 is 192.168.1.12, the IP address of BOX BMC2 is 192.168.1.13, the IP address of BOX BMC3 is 192.168.1.14, and the IP address of BOX BMCn is 192.168.1.1m, where m is n+1.
[0088] In order to realize the access of the external network to the BOX BMC, the CPU node server in the embodiment of the present application also includes a network controller of the private network communication port;
[0089] The network controller is configured with a port mapping table and a logic forwarding rule, wherein the port mapping table is used to map the protocol ports of different BOX BMCs to the host BMC access logic ports;
[0090] The logic forwarding rule is to map the access logic port of the host BMC to the access protocol port of the target BOX BMC, and generate label data with the destination address being the IP address of the target BOX BMC, and then send it to the first-level GPU BOX server through the private network communication port.
[0091] In the embodiment of the present application, the host BMC needs to be configured, specifically, a Vlan port and a static IP address that communicate only with the BOX BMC are added. By way of example, a Vlan port with an ID of 102 is added to the physical port of the host BMC, a static IP address of 192.168.1.11 is set, and a logical Vlan port is created based on the network controller of the Vlan port. The logical Vlan port is used to map the protocol ports of different BOX BMCs.
[0092] In some possible embodiments, the protocol port of the BOX BMC is defined by the IP address and protocol port number of the BOX BMC, and the port mapping table is used to map the IP address and protocol port number combination of different BOX BMCs into a host BMC access logical port.
[0093] The above protocol port number is used to distinguish different access paths. In some possible embodiments, the access instruction is triggered in any of the following ways:
[0094] 1) Triggering an access instruction based on the operation of accessing the host BMC logical port identifier displayed on the port access web page of the browser;
[0095] 2) According to the operation of accessing the logical port identifier of the host BMC through the intelligent platform management interface IPMI platform management tool, an access instruction is triggered.
[0096] For example, if the access path is the above-mentioned method 1, the protocol port number is 443, and if the access path is the above-mentioned method 2, the protocol port number is 623.
[0097] Exemplarily, the port mapping table is used to map the IP address and protocol port number combination of different BOX BMCs to the host BMC access logical port in the following manner:
[0098] The port mapping table maps the IP address 192.168.1.12 and protocol port number 443 of BOX BMC1 to 2443;
[0099] The port mapping table maps the IP address 192.168.1.13 of BOX BMC2 and the protocol port number 443 to 3443;
[0100] The port mapping table maps the IP address 192.168.1.14 of BOX BMC3 and the protocol port number 443 to 4443;
[0101] The port mapping table maps the IP address 192.168.1.1m of BOX BMCn and the protocol port number 443 to m443;
[0102] The port mapping table maps the IP address 192.168.1.12 and protocol port number 623 of BOX BMC1 to 2623;
[0103] The port mapping table maps the IP address 192.168.1.13 of BOX BMC2 and the protocol port number 623 to 3623;
[0104] The port mapping table maps the IP address 192.168.1.14 of BOX BMC3 and the protocol port number 623 to 4623;
[0105] The port mapping table maps the IP address 192.168.1.1m of BOX BMCn and the protocol port number 623 to m623.
[0106] After configuring the above port mapping table in the embodiment of the present application, the logical interface can be configured to enable, so that the configured port mapping table and logical forwarding rules are effective.
[0107] According to the operation of the host BMC access logical port identifier displayed on the port access web page of the browser, one possible way to trigger the access instruction is to display on the web page:
[0108] https: / / External IP (host): 2443, indicating access to port 443 (web) of BOX BMC1;
[0109] https: / / External IP (host): 3443, indicating access to port 443 (web) of BOX BMC2.
[0110] In some possible embodiments, the host BMC sends the tag data sent to any BOX BMC to the first communication port of the first-level GPU BOX server through the private network communication port, including:
[0111] In response to the access instruction, determine the access logical port of the host BMC to be accessed, and search for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table;
[0112] Based on the configured logical forwarding rules, the logical port accessed to the host BMC is mapped to the protocol port accessed to the target BOX BMC, and after generating label data with the destination address being the IP address of the target BOX BMC, it is sent to the first-level GPU BOX server through the private network communication port.
[0113] The protocol port of the BOX BMC is defined by the IP address and the protocol port number of the BOX BMC, and searching for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table includes:
[0114] The host BMC access logical port is searched, and the IP address and protocol port number combination of the target BOX BMC mapped in the configured port mapping table is searched.
[0115] For example, in response to the access instruction, all packets entering through the host BMC interface, with a target address type of local, a protocol of TCP, and a host BMC access logical port of 2443, are redirected to BOX BMC1 with an IP address of 192.168.1.12 and a protocol port number of 443;
[0116] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as 3443, are redirected to BOX BMC2 with the IP address as 192.168.1.13 and the protocol port number as 443;
[0117] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as 4443, are redirected to BOX BMC3 with the IP address as 192.168.1.14 and the protocol port number as 443;
[0118] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as 2623, are redirected to BOX BMC1 with the IP address as 192.168.1.12 and the protocol port number as 623;
[0119] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as 3623, are redirected to BOX BMC2 with the IP address as 192.168.1.13 and the protocol port number as 623;
[0120] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as 4623, are redirected to BOX BMC3 with the IP address as 192.168.1.14 and the protocol port number as 623;
[0121] All packets entering through the host BMC interface, with the destination address type as local, the protocol as TCP, and the host BMC access logical port as m623, are redirected to BOX BMCn with an IP address of 192.168.1.1m and a protocol port number of 623.
[0122] The configuration of the BOX BMC in the embodiment of the present application mainly includes configuring the IP address and specifying the routing table; the specified routing table is used to instruct the BOX BMC to send the label data according to the default routing rule, and the default routing forwarding rule is to forward the label data from the host BMC using the IP address of the host BMC as the source address. In this way, for each GPU BOX, it can only be determined that the label data is the data sent by the IP address of the host, and the address of the BOX BMC that forwards the label data cannot be seen.
[0123] The port number of the host BMC is 443 or 623, and the label data can carry the source port number 443 or 210. In this way, for BOX BMC1, BOX BMC2, BOX BMC3...BOX BMCn, a routing rule is added to specify that the data packets with the source port number 443 or 623 should use the specified routing table for decision-making; the specified routing table uses the default route and specifies that all destination addresses (0.0.0.0 / 0 is a wildcard route that matches all IPv4 addresses) should be forwarded through the gateway 192.168.1.11, which is equivalent to forwarding the label data from the host BMC using the IP address of the host BMC as the source address.
[0124] In some possible embodiments, when any level of GPU BOX server receives tag data from the host BMC through the first communication port, the tag data is sent to the BOX BMC through the third communication port, and sent to the first communication port of the next level through the second communication port, including:
[0125] When any level of GPU BOX server receives label data from the host BMC through the first communication port, based on the default routing rule specified in the specified routing table, the label data from the host BMC is sent to the first communication port of the next level through the second communication port using the IP address of the host BMC as the source address.
[0126] Since there are two data transmission directions for tagged data and untagged data, in some possible embodiments, the source address of the tagged data is the IP address of the host BMC, and the destination address is the IP address of the target BOX BMC; or the source address of the tagged data is the IP address of any BOX BMC, and the destination address is the IP address of the host BMC; the source address of the untagged data is the IP address of the host BMC, and the destination address is the address of the computer room network device; or the source address of the untagged data is the address of the computer room network device, and the destination address is the IP address of the host BMC.
[0127] Combine the following Figure 3 This application is based on Figure 1 The system shown in the figure takes access to each BOX through the Web of the browser, and takes access to BOX BMC2 as an example to provide a detailed embodiment of the multi-server network interconnection method based on the baseboard management controller, which mainly includes the following steps:
[0128] Step 301, configure the IP addresses of the host BMC and each BOX BMC;
[0129] Specifically, the IP address of the host BMC is configured to be 192.168.1.11, the IP address of BOX BMC1 is 192.168.1.12, the IP address of BOX BMC2 is 192.168.1.13, the IP address of BOX BMC3 is 192.168.1.14, and the IP address of BOX BMCn is 192.168.1.1m, where m is n+1.
[0130] Step 302, configuring the port mapping table and logical forwarding rules through the network controller of the host BMC;
[0131] The port mapping table maps the IP address 192.168.1.12 and protocol port number 443 of BOX BMC1 to 2443;
[0132] The port mapping table maps the IP address 192.168.1.13 of BOX BMC2 and the protocol port number 443 to 3443;
[0133] The port mapping table maps the IP address 192.168.1.14 of BOX BMC3 and the protocol port number 443 to 4443;
[0134] The port mapping table maps the IP address 192.168.1.1m of BOX BMCn and the protocol port number 443 to m443;
[0135] Step 303, adding a designated routing table for BOX BMC1 to BOX BMCn;
[0136] The designated routing table is used to instruct the BOX BMC to send the label data according to the default routing rule, and the default routing forwarding rule is to forward the label data from the host BMC using the IP address of the host BMC as the source address;
[0137] Step 304, generating a Web access address https: / / external IP(host):3443 according to the operation of the host BMC access logical port identifier displayed on the port access Web page of the browser;
[0138] Step 305: redirect to BOX BMC2 with an IP address of 192.168.1.13 and a protocol port number of 443 according to the port mapping table;
[0139] Step 306: According to the logical forwarding rule, the label data generated by the operation is sent to Port 1 of GPU BOX1 through the private network communication port with the IP address 192.168.1.11 of the host BMC as the source address and 192.168.1.13 of BOX BMC2 as the destination address.
[0140] Step 307, the tag data is sent from Port 1 to Port 3 of GPU BOX1 and to BOX BMC1 through Port 3;
[0141] Step 308, BOX BMC1 determines that the data is not its own data according to the destination address, and according to the default route, uses the host's IP address as the source address and sends it to Port 1 of GPU BOX2 through Port 3 to Port 1;
[0142] Step 309, the tag data is sent from Port 1 to Port 3 of GPU BOX2 and to BOX BMC2 via Port 3;
[0143] Step 310: BOX BMC2 determines that the tag data is its own data and processes the tag data.
[0144] like Figure 4 The transmission process of the non-label data exemplified in this application specifically includes:
[0145] Step 401, the host BMC sends the non-label data to Port 1 of GPU BOX server 1 through the private network communication port;
[0146] Step 402, non-labeled data of Port 1 of GPU BOX server 1 is transmitted to Port 2, and then transmitted from Port 2 to Port 1 of GPU BOX server 2;
[0147] Step 402, non-labeled data of Port 1 of GPU BOX server 2 is transmitted to Port 2, and then transmitted from Port 2 to Port 1 of GPU BOX server 3;
[0148] Step 403, the non-labeled data of Port 1 of GPU BOX server 3 is transmitted to Port 2, and Port 2 transmits the data to Port 1 of the next-level GPU BOX server, until the data is transmitted to Port 1 of GPU BOX server n;
[0149] Step 404, the non-labeled data of Port 1 of GPU BOX server n is transmitted to Port 2, and Port 2 transmits the data to the network device in the computer room;
[0150] Step 405, the computer room network device sends the non-labeled data sent to the host BMC to Port 2 of GPU BOX server n;
[0151] Step 406, the non-labeled data of Port 2 of GPU BOX server n is transmitted to Port 1, and then transmitted from Port 1 to Port 2 of the upper-level GPU BOX server, until it is transmitted to Port 2 of GPU BOX server 1;
[0152] Step 407, the non-labeled data of Port 2 of GPU BOX server 1 is transmitted to Port 1, and then transmitted to the host BMC by Port 1.
[0153] like Figure 5 The process of transmitting label data from BOX BMC3 to host BMC in the embodiment of the present application specifically includes:
[0154] Step 501, BOX BMC3 transmits the tag data sent to the host BMC to Port1 through Port3, and then transmits it to Port2 of GPU BOX server 2 through Port1;
[0155] Step 502, Port 2 of GPU BOX server 2 transmits the label data to Port 3, and then transmits it to BOXBMC2 through Port 3;
[0156] Step 503, BOX BMC2 transmits the tag data to Port2 of GPU BOX server 1 through Port3 to Port1 according to the destination address;
[0157] Step 504, Port 2 of GPU BOX server,1 transmits the label data to Port 3, and transmits it to BOX BMC1 through Port 3;
[0158] Step 505, BOX BMC1 transmits the tag data to the host BMC through Port3 to Port1 according to the destination address.
[0159] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0160] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A multi-server network interconnection system based on a baseboard management controller, characterized in that: It includes CPU node servers and multi-level GPU BOX servers, including: The CPU node server includes a host BMC, and the host BMC is interconnected with a first communication port of a first-level GPU BOX server through a private network communication port; Any level GPU BOX server includes a LAN switch chip and a BOX BMC, wherein the LAN switch chip includes a first communication port, a second communication port and a third communication port interconnected with each other, and the third communication port is connected to the BOX BMC; The second communication port of each GPU BOX server except the last one is connected to the first communication port of the next level, and the second communication port of the GPU BOX server of the last level is connected to the network equipment in the computer room; The first communication port, the second communication port and the third communication port are divided into the first local area network for transmitting label data between the host BMC and any BOX BMC, and the first communication port and the second communication port are divided into the second local area network for transmitting non-label data without label between the host BMC and the network equipment in the computer room.
2. The system according to claim 1, characterized in that The CPU node server also includes a network controller for the private network communication port; The network controller is configured with a port mapping table and a logic forwarding rule, wherein the port mapping table is used to map the protocol ports of different BOXBMCs to the host BMC access logic ports; The logic forwarding rule is to map the access logic port of the host BMC to the access protocol port of the target BOX BMC, and generate label data with the destination address being the IP address of the target BOX BMC, and then send it to the first-level GPU BOX server through the private network communication port.
3. The system according to claim 1, characterized in that The protocol port of the BOX BMC is defined by the IP address and protocol port number of the BOX BMC, and the port mapping table is used to map the IP address and protocol port number combination of different BOX BMCs into a host BMC access logical port.
4. The system according to claim 1, characterized in that The BOX BMC is configured with a specified routing table; The designated routing table is used to instruct the BOX BMC to send the label data according to the default routing rule. The default routing forwarding rule is to forward the label data from the host BMC using the IP address of the host BMC as the source address.
5. A multi-server network interconnection method based on a baseboard management controller based on the system according to any one of claims 1 to 4, characterized in that: The method includes: The host BMC sends the label data sent to any BOX BMC and the non-label data sent to the network equipment in the computer room to the first communication port of the first-level GPU BOX server through the private network communication port; the host BMC receives the label data from any BOX BMC and the non-label data from the network equipment in the computer room sent by the first communication port of the first-level GPU BOX server through the above private network communication port; When any level GPU BOX server receives the label data and non-label data from the host BMC through the first communication port, it sends the non-label data to the first communication port of the next level or the network device in the computer room through the second communication port, and sends the label data to the BOX BMC through the third communication port. The BOX BMC of this level processes the data when it determines that it is its own label data, otherwise it sends the data to the first communication port of the next level through the third communication port to the second communication port; When any level of GPU BOX server receives non-label data sent to the host BMC through the second communication port, the non-label data is sent through the first communication port. When the BOX BMC sends label data to the host BMC, it is sent through the third communication port and sent to the second communication port of the previous level or the host BMC of the previous level through the first communication port. When the BOX BMC receives label data sent to the host BMC from other GPU BOX servers through the second communication port to the third communication port, the label data sent to the host BMC by other GPU BOX servers is sent to the second communication port of the previous level or the host BMC of the previous level through the third communication port to the first communication port.
6. The method according to claim 5, characterized in that The host BMC sends the tag data sent to any BOX BMC to the first communication port of the first-level GPU BOX server through the private network communication port, including: In response to the access instruction, determine the access logical port of the host BMC to be accessed, and search for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table; Based on the configured logical forwarding rules, the logical port accessed to the host BMC is mapped to the protocol port accessed to the target BOX BMC, and after generating label data with the destination address being the IP address of the target BOX BMC, it is sent to the first-level GPU BOX server through the private network communication port.
7. The method according to claim 6, characterized in that The protocol port of the BOX BMC is defined by the IP address and the protocol port number of the BOX BMC, and searching for the protocol port of the target BOX BMC mapped by the host BMC access logical port in the configured port mapping table includes: The host BMC access logical port is searched, and the IP address and protocol port number combination of the target BOX BMC mapped in the configured port mapping table is searched.
8. The method according to claim 6, characterized in that The access instruction is triggered in any of the following ways: An access instruction is triggered according to an operation on the host BMC access logical port identifier displayed on the port access web page of the browser; or The access instruction is triggered according to the operation of accessing the logical port identifier of the host BMC through the intelligent platform management interface IPMI platform management tool.
9. The method according to claim 6, characterized in that When any level GPU BOX server receives label data from the host BMC through the first communication port, it sends the label data to the BOX BMC through the third communication port, and sends it to the first communication port of the next level through the second communication port, including: When any level of GPU BOX server receives label data from the host BMC through the first communication port, based on the default routing rule specified in the specified routing table, the label data from the host BMC is sent to the first communication port of the next level through the second communication port using the IP address of the host BMC as the source address.
10. The method according to claim 6, characterized in that The source address of the tag data is the IP address of the host BMC, and the destination address is the IP address of the target BOX BMC; or The source address of the tag data is the IP address of any BOX BMC, and the destination address is the IP address of the host BMC; The source address of the non-label data is the IP address of the host BMC, and the destination address is the address of the network device in the computer room; or The source address of the non-label data is the address of the network equipment in the computer room, and the destination address is the IP address of the host BMC.