Network communication method, electronic device and medium for board-level management controller
By sharing the Ethernet port on the network interface card between the board-level management controller and the host, and using the message copy module and the scheduling module, the problems of service isolation and resource conflict in the network communication solution of the board-level management controller are solved, and efficient resource utilization and cost reduction are achieved.
Patent Information
- Application Number
- CN202411854109.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2044-12-17
AI Technical Summary
In the prior art, the network communication solution of board-level management controllers has an exclusive Ethernet port or a separate management of virtual LAN due to the consideration of service isolation and resource conflict, which is not conducive to reducing costs and improving resource utilization.
By sharing the Ethernet port on the network interface card between the board-level management controller and the host, and using the message copy module and scheduling module, service isolation and bandwidth management are achieved, ensuring the bandwidth resources of the board-level management controller.
It realizes sharing of Ethernet ports between board-level management controllers and hosts, ensuring business isolation and resource utilization, reducing costs, and improving server density and feature richness.
Smart Images

Figure CN119316365B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a network communication method, electronic equipment and medium for a board-level management controller. Background Art
[0002] In the technical fields of cloud computing, data centers, artificial intelligence, etc., a unified access interface is provided to the outside through a baseboard management controller (Baseboard Management Controller, BMC), providing services such as temperature, voltage, fan, bus monitoring, etc., which can be used for remote management and remote server login. The external communication of the baseboard management controller is carried out through the independent management network port integrated on the server board. By using the network controller sideband interface (Network Controller-Sideband Interface, NC-SI) technology, the baseboard management controller can refer to the independent network card management method to manage the business network interface card on the motherboard, which can improve the density of the server and provide richer functions and services. However, in the prior art, the network communication scheme of the baseboard management controller is for the purpose of business isolation and avoiding resource conflicts. Some arrange the baseboard management controller to exclusively occupy the Ethernet port, and some require the baseboard management controller to use the network controller sideband interface command to separately manage and configure the virtual local area network (Virtual Local Area Network, VLAN), which is not conducive to reducing costs and improving resource utilization.
[0003] To this end, the present application provides a network communication method, electronic device and medium for a board-level management controller, which not only realizes the sharing of Ethernet ports between the board-level management controller and the host machine, but also ensures business isolation, avoids resource conflicts, and ensures the bandwidth resources of the board-level management controller, which is conducive to improving server density, providing richer functions and services, and is conducive to reducing costs and improving resource utilization. Summary of the invention
[0004] In a first aspect, the present application provides a network communication method for a board management controller. The network communication method includes: providing a message replication module through a first network interface card, wherein the message replication module is used to, when a first Ethernet port of the first network interface card is shared between a host machine and a board management controller, replicate an uplink message passing through the first Ethernet port and meeting a first matching condition to a first network port set, wherein the first network port set includes a network port of the host machine corresponding to the first Ethernet port and a network port of the board management controller corresponding to the first Ethernet port; providing a scheduling module through the first network interface card, wherein the scheduling module is used to execute a downlink rate limiting strategy for downlink traffic passing through the first Ethernet port, wherein the downlink rate limiting strategy defines the maximum bandwidth and the maximum burst bandwidth of the board management controller and defines the maximum bandwidth and the maximum burst bandwidth of the host machine; using the message replication module and the scheduling module of the first network interface card, sharing the first Ethernet port between the host machine and the board management controller, and realizing network communication between the board management controller and the simplified media independent interface of the first network interface card.
[0005] Through the first aspect of the present application, on the basis of arranging for the board-level management controller and the host machine to share the Ethernet port on the network interface card, the network interface card is optimized at the software and hardware levels, and then the uplink message processing flow and the downlink message processing flow are improved. This not only realizes the sharing of the Ethernet port between the board-level management controller and the host machine, but also ensures business isolation, avoids resource conflicts, and ensures the bandwidth resources of the board-level management controller, which is conducive to improving server density, providing richer functions and services, and helping to reduce costs and improve resource utilization.
[0006] In a possible implementation of the first aspect of the present application, the downlink speed limiting strategy limits the maximum bandwidth and maximum burst bandwidth of the board-level management controller and limits the maximum bandwidth and maximum burst bandwidth of the host machine, including: the downlink speed limiting strategy limits that the maximum bandwidth and maximum burst bandwidth of the board-level management controller are both preset values, and the downlink speed limiting strategy also limits that the maximum bandwidth and maximum burst bandwidth of the host machine are both the bandwidth of the first Ethernet port.
[0007] In a possible implementation of the first aspect of the present application, the scheduling module is also used to execute an uplink scheduling strategy for the uplink traffic passing through the first Ethernet port, and the uplink scheduling strategy is determined based on the respective weights of the host machine and the board-level management controller, or the respective priorities of the host machine and the board-level management controller.
[0008] In a possible implementation of the first aspect of the present application, when the uplink scheduling strategy is determined based on the respective weights of the host machine and the board management controller, the weight of the board management controller is higher than the weight of the host machine, and when the uplink scheduling strategy is determined based on the respective priorities of the host machine and the board management controller, the priority of the board management controller is higher than the priority of the host machine.
[0009] In a possible implementation of the first aspect of the present application, the first matching condition indicates that when the uplink message is an Address Resolution Protocol request message, a Neighbor Advertisement message of Internet Protocol version 6, a Neighbor Request message of Internet Protocol version 6, or a multicast message of Dynamic Host Configuration Protocol, the uplink message is copied to the first network port set.
[0010] In a possible implementation of the first aspect of the present application, the Internet Protocol version 6 neighbor advertisement message and the Internet Protocol version 6 neighbor solicitation message are based on the Internet Protocol version 6 neighbor discovery protocol.
[0011] In a possible implementation manner of the first aspect of the present application, the board management controller performs network communication with the first network interface card through the simplified media independent interface, so that the first network interface card is used in an independent network card management manner.
[0012] In a possible implementation of the first aspect of the present application, the board-level management controller performs network communication with a second network interface card through a network port of the board-level management controller corresponding to the first Ethernet port in the first network port set, thereby using the second network interface card in accordance with the independent network card management method, wherein the second network interface card is independent of the first network interface card.
[0013] In a possible implementation manner of the first aspect of the present application, both the first network interface card and the second network interface card are mounted on the server where the host machine is located.
[0014] In a possible implementation of the first aspect of the present application, when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, there is no conflict between the virtual LAN resources used by the board-level management controller and the virtual LAN resources used by the host machine.
[0015] In a possible implementation manner of the first aspect of the present application, the board management controller exclusively uses the second Ethernet port of the first network interface card, and the board management controller exclusively occupies the bandwidth of the second Ethernet port.
[0016] In a second aspect, an embodiment of the present application further provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements a method according to any one of the implementation modes of any of the above aspects when executing the computer program.
[0017] In a third aspect, an embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer device, the computer device executes a method according to any one of the implementation methods of any of the above aspects.
[0018] In a fourth aspect, an embodiment of the present application further provides a computer program product, which includes instructions stored on a computer-readable storage medium, and when the instructions are executed on a computer device, the computer device executes a method according to any one of the implementation methods of any of the above aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0020] Figure 1 A schematic diagram of a flow chart of a network communication method for a board-level management controller provided in an embodiment of the present application;
[0021] Figure 2 A schematic diagram of a network interface card for a board-level management controller provided in an embodiment of the present application;
[0022] Figure 3 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] The embodiments of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0024] It should be understood that, in the description of this application, "at least one" means one or more, and "a plurality of" means two or more. In addition, unless otherwise specified, the words "first", "second", etc. are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying an order.
[0025] Figure 1A schematic diagram of a flow chart of a network communication method for a board-level management controller provided in an embodiment of the present application. Figure 1 As shown, the network communication method includes the following steps.
[0026] Step S101: providing a message copying module through a first network interface card, wherein the message copying module is used to copy an uplink message passing through the first Ethernet port and meeting a first matching condition to a first network port set when a first Ethernet port of the first network interface card is shared between a host machine and a board-level management controller, the first network port set including a network port of the host machine corresponding to the first Ethernet port and a network port of the board-level management controller corresponding to the first Ethernet port.
[0027] Step S103: A scheduling module is provided through the first network interface card, wherein the scheduling module is used to execute a downlink speed limit strategy for downlink traffic passing through the first Ethernet port, wherein the downlink speed limit strategy limits the maximum bandwidth and maximum burst bandwidth of the board-level management controller and limits the maximum bandwidth and maximum burst bandwidth of the host machine.
[0028] Step S105: using the message replication module and the scheduling module of the first network interface card, the first Ethernet port is shared between the host machine and the board management controller, and network communication between the board management controller and the simplified media independent interface of the first network interface card is achieved.
[0029] Figure 1The network communication method for the board management controller shown is applied to technical fields such as cloud computing, data centers, and artificial intelligence. Through the board management controller (Baseboard Management Controller, BMC), a unified access interface is provided to the outside, providing services such as temperature, voltage, fan, bus monitoring, etc., which can be used for remote management and remote login of the server. The external communication of the board management controller is carried out through the independent management network port integrated on the server board. By using the network controller sideband interface (Network Controller-Sideband Interface, NC-SI) technology, the board management controller and the reduced media independent interface (Reduced Media Independent Interface, RMII) on the board where the network interface card is located communicate with each other on the network, so that the board management controller can refer to the independent network card management method to manage the service network interface card on the motherboard. The reduced media independent interface generally has a maximum bandwidth, such as a network rate of 100 megabits per second. By using the saved independent network card position, other business cards can be used, thereby increasing the density of the server and providing richer functions and services. If the board-level management controller is arranged to exclusively use the Ethernet port on the network interface card for external communication, this will help isolate services and avoid resource conflicts, but it will occupy the limited Ethernet port resources on the network interface card, and the bandwidth of the network interface card as a service interface can be used to provide rich functions, which is not conducive to cost control. In order to achieve service isolation and avoid resource conflicts, as well as to avoid insufficient service bandwidth resources, Figure 1 The network communication method for the board-level management controller shown in the figure, on the basis of arranging the Ethernet port on the network interface card shared between the board-level management controller and the host, optimizes the network interface card at the software level and the hardware level, and then improves the uplink message processing flow and the downlink message processing flow, which not only realizes the sharing of the Ethernet port between the board-level management controller and the host, but also ensures the isolation of services, avoids resource conflicts, ensures the bandwidth resources of the board-level management controller, is conducive to improving the server density, provides richer functions and services, and is conducive to reducing costs and improving resource utilization. The following is a detailed description.
[0030] refer to Figure 1In step S101, a message copy module is provided through the first network interface card. The message copy module is used to copy the uplink message passing through the first Ethernet port and meeting the first matching condition to the first network port set when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, and the first network port set includes the network port of the host machine corresponding to the first Ethernet port and the network port of the board-level management controller corresponding to the first Ethernet port. Here, the message copy module is provided through the optimization of the software level and the hardware level of the first network interface card, and the message copy module is used to copy the uplink message passing through the first Ethernet port and meeting the first matching condition to the first network port set when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller. In this way, the first Ethernet port of the first network interface card can be shared between the host machine and the board-level management controller, and when the first Ethernet port of the first network interface card as a service interface receives specific uplink messages, the destination of these specific uplink messages may be the host machine or the board-level management controller. In order to ensure the correct forwarding of messages, when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, a message copy module is used to copy specific uplink messages to the first network port set, so that the network port corresponding to the first Ethernet port of the host machine and the network port corresponding to the first Ethernet port of the board-level management controller can each receive the copied message, which means that the board-level management controller does not need to manage and configure the virtual local area network (VLAN) separately, nor does the board-level management controller need to monopolize the first Ethernet port, thereby reducing the complexity and cost of network management and configuration. In addition, based on the application environment of the network communication method for the board-level management controller, such as the applicable network communication protocol, security specifications, etc., the message copy module can be flexibly set, including setting the first matching condition, so as to achieve the purpose of sharing the first Ethernet port and not needing to configure the virtual local area network separately.In some embodiments, the first matching condition can be set as follows: for example, when the uplink message through the first Ethernet port is an Address Resolution Protocol (ARP) request message, the message copying module performs a message copying action and copies the message to the set of network ports corresponding to the host machine and the board-level management controller; for another example, when the uplink message through the first Ethernet port is a message related to the Neighbor Discovery (ND) protocol of Internet Protocol Version 6 (IPV6), such as a Neighbor Advertisement (NA) message and a Neighbor Solicitation (NS) message, which are similar to ARP reply messages and ARP request messages, the message copying module performs a message copying action and copies the message to the set of network ports corresponding to the host machine and the board-level management controller; for another example, when the uplink message through the first Ethernet port is a Dynamic Host Configuration Protocol (DHCP) message. Protocol, DHCP) multicast message, such as for dynamic management and configuration of user network protocol addresses, the message copying module performs the message copying action and copies it to the network port set corresponding to the host machine and the board-level management controller. In this way, by deploying the message copying module and setting the corresponding first matching condition, when the board-level management controller uses the Ethernet port, the corresponding table entry is sent to the message copying module, which can flexibly adapt to various communication protocol specifications, such as Internet Protocol Version 4 (IPV4) and IPV6, and copy specific uplink messages such as ARP messages, ND messages, NA messages, NS messages, and DHCP multicast messages passing through the first Ethernet port to the first network port set, which saves the loss of configuring an independent VLAN for the board-level management controller and also meets the needs of business isolation.
[0031] Continue to refer Figure 1In step S103, a scheduling module is provided through the first network interface card, wherein the scheduling module is used to execute a downlink speed limit strategy for downlink traffic through the first Ethernet port, wherein the downlink speed limit strategy defines the maximum bandwidth and the maximum burst bandwidth of the board-level management controller and the maximum bandwidth and the maximum burst bandwidth of the host machine. In this way, through the optimization of the software and hardware levels of the first network interface card, on the basis of the above-mentioned message replication module, a scheduling module is further provided, thereby further improving the downlink message processing process on the basis of improving the uplink message processing process. When the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, in order to ensure that the host machine can fully utilize the bandwidth of the first Ethernet port, and to ensure that the board-level management controller has sufficient bandwidth to provide various functions and services, such as temperature, voltage, fan, bus monitoring, etc., and considering that back pressure may be generated when there is a large traffic competition at the first Ethernet port, the scheduling module executes a downlink speed limit strategy for the downlink traffic through the first Ethernet port, thereby limiting the maximum bandwidth and maximum burst bandwidth of the board-level management controller and the maximum bandwidth and maximum burst bandwidth of the host machine. This means that when there is a large traffic competition at the Ethernet port and back pressure is generated, the bandwidth resources of the board-level management controller can also be ensured, such as a network rate of 100 megabits per second, which is sufficient to support the use of the network controller sideband interface technology to realize network communication between the board-level management controller and the simplified media independent interface on the board where the first network interface card is located. In addition, the host machine's need to fully utilize bandwidth resources is met, which is conducive to improving message forwarding performance.
[0032] Continue to refer Figure 1In step S105, the message replication module and the scheduling module of the first network interface card are used to share the first Ethernet port between the host machine and the board-level management controller, and to realize network communication between the board-level management controller and the simplified media independent interface of the first network interface card. In this way, there is no need to configure a virtual local area network separately, nor is there a need to isolate the use of the Ethernet port in time or space. The first Ethernet port on the first network interface card can be shared between the host machine and the board-level management controller, and the correct message forwarding function is ensured by the above-mentioned message replication module, avoiding the need to manage and configure an independent virtual local area network separately, and the above-mentioned scheduling module avoids bandwidth competition, ensures the service quality of the board-level management controller, and avoids the service of the board-level management controller being squeezed by the host machine service, resulting in a small overall bandwidth. In this way, on the basis of arranging the Ethernet port on the network interface card to be shared between the board-level management controller and the host machine, by optimizing the network interface card at the software and hardware levels, and then improving the uplink message processing flow and the downlink message processing flow, not only the Ethernet port is shared between the board-level management controller and the host machine, but also business isolation is ensured, resource conflicts are avoided, and the bandwidth resources of the board-level management controller are ensured, which is conducive to improving server density, providing richer functions and services, and helping to reduce costs and improve resource utilization.
[0033] Figure 2 A schematic diagram of a network interface card for a board-level management controller provided in an embodiment of the present application. Figure 2As shown, the network interface card includes multiple Ethernet ports, namely Ethernet port A240, Ethernet port B242, and Ethernet port C244. The network interface card 220 used for the board-level management controller 201, and the network communication method provided for the board-level management controller 201 includes: providing a message copying module 221 through the network interface card 220, wherein the message copying module 221 is used to copy the uplink message that passes through the first Ethernet port (Ethernet port A240) and meets the first matching condition to the first network port set when the first Ethernet port (Ethernet port A240) of the network interface card 220 is shared between the host machine 211 and the board-level management controller 201, and the first network port set includes the network port B213 of the host machine 211 corresponding to the first Ethernet port (Ethernet port A240) and the network port A213 of the board-level management controller 201 corresponding to the first Ethernet port (Ethernet port A240). 03; providing a scheduling module 223 through the network interface card 220, wherein the scheduling module 223 is used to execute a downlink speed limit strategy for the downlink traffic passing through the first Ethernet port (Ethernet port A240), wherein the downlink speed limit strategy defines the maximum bandwidth and the maximum burst bandwidth of the board-level management controller 201 and the maximum bandwidth and the maximum burst bandwidth of the host machine 211; utilizing the message replication module 221 and the scheduling module 223 of the network interface card 220, sharing the first Ethernet port (Ethernet port A240) between the host machine 211 and the board-level management controller 201, and realizing network communication between the board-level management controller 201 and the simplified media independent interface 230 of the network interface card 220.
[0034] Figure 2 The network interface card 220 shown in the figure, on the basis of arranging that the Ethernet port A240 on the network interface card 220 is shared between the board-level management controller 201 and the host machine 211, optimizes the network interface card 220 at the software level and the hardware level, and then improves the uplink message processing flow and the downlink message processing flow, not only realizes the sharing of the Ethernet port A240 between the board-level management controller 201 and the host machine 211, but also ensures the isolation of services, avoids resource conflicts, ensures the bandwidth resources of the board-level management controller 201, is conducive to improving the server density, providing more abundant functions and services, and is conducive to reducing costs and improving resource utilization. It should be understood that one or more of the multiple Ethernet ports on the network interface card 220 can be used as a shared Ethernet port. In some embodiments, one or more of the multiple Ethernet ports on the network interface card 220 may also be one or more Ethernet ports as Ethernet ports exclusively used by the board-level management controller 201.
[0035] refer to Figure 1 and Figure 2In a possible implementation, the downlink speed limit strategy defines the maximum bandwidth and the maximum burst bandwidth of the board-level management controller and the maximum bandwidth and the maximum burst bandwidth of the host machine, including: the downlink speed limit strategy defines that the maximum bandwidth and the maximum burst bandwidth of the board-level management controller are both preset values, and the downlink speed limit strategy also defines that the maximum bandwidth and the maximum burst bandwidth of the host machine are both the bandwidth of the first Ethernet port. Here, the maximum bandwidth and the maximum burst bandwidth of the board-level management controller are both preset values, and the preset value can be, for example, a network rate of 100 megabits per second, which is sufficient to support the use of the network controller sideband interface technology to realize network communication between the board-level management controller and the simplified media independent interface on the board where the first network interface card is located. In this way, through the optimization of the software and hardware levels of the first network interface card, a scheduling module is further provided on the basis of the above-mentioned message replication module, so that on the basis of improving the uplink message processing flow, the downlink message processing flow is further improved. When the first Ethernet port of the first network interface card is shared between the host machine and the board management controller, it is ensured that the host machine can fully utilize the bandwidth of the first Ethernet port, and that the board management controller has sufficient bandwidth to provide various functions and services.
[0036] In some embodiments, the scheduling module is further used to execute an uplink scheduling strategy for the uplink traffic through the first Ethernet port, wherein the uplink scheduling strategy is determined based on the respective weights of the host machine and the board-level management controller, or the respective priorities of the host machine and the board-level management controller. Thus, the uplink scheduling strategy further provides scheduling flexibility in terms of service traffic, which is conducive to ensuring the service traffic of the board-level management controller.
[0037] In some embodiments, when the uplink scheduling strategy is determined based on the respective weights of the host machine and the board management controller, the weight of the board management controller is higher than the weight of the host machine, and when the uplink scheduling strategy is determined based on the respective priorities of the host machine and the board management controller, the priority of the board management controller is higher than the priority of the host machine. In this way, when the first Ethernet port of the first network interface card is shared between the host machine and the board management controller, it is ensured that the host machine can fully utilize the bandwidth of the first Ethernet port, and that the board management controller has sufficient bandwidth to provide various functions and services.
[0038] In a possible implementation, the first matching condition indicates that when the uplink message is an address resolution protocol request message, a neighbor advertisement message of Internet Protocol version 6, a neighbor solicitation message of Internet Protocol version 6, or a multicast message of Dynamic Host Configuration Protocol, the uplink message is copied to the first network port set. In this way, based on the application environment of the network communication method for the board-level management controller, such as applicable network communication protocols, security specifications, etc., the message copy module can be flexibly set, including setting the first matching condition, so as to achieve the purpose of sharing the first Ethernet port without the need to configure a virtual local area network separately. By deploying a message copy module and setting a corresponding first matching condition, when the board-level management controller uses the Ethernet port, the corresponding table entry is sent to the message copy module, which can flexibly adapt to various communication protocol specifications, such as IPV4 and IPV6, and copy specific uplink messages through the first Ethernet port, such as ARP messages, ND messages, NA messages, NS messages, and DHCP multicast messages, to the first network port set, thereby saving the loss of configuring an independent VLAN for the board-level management controller and also meeting the needs of business isolation.
[0039] In some embodiments, the neighbor advertisement message of Internet Protocol version 6 and the neighbor solicitation message of Internet Protocol version 6 are based on the neighbor discovery protocol of Internet Protocol version 6. In this way, not only the Ethernet port is shared between the board management controller and the host machine, but also the service isolation is ensured, resource conflicts are avoided, and the bandwidth resources of the board management controller are ensured, which is conducive to improving server density, providing richer functions and services, and is conducive to reducing costs and improving resource utilization.
[0040] In a possible implementation manner, the board management controller performs network communication with the first network interface card through the simplified media independent interface, so that the first network interface card is used in an independent network card management manner.
[0041] In some embodiments, the board-level management controller communicates with the second network interface card through the network port of the board-level management controller corresponding to the first Ethernet port in the first network port set, so as to use the second network interface card in accordance with the independent network card management method, wherein the second network interface card is independent of the first network interface card. In this way, when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, the board-level management controller can also be deployed to use the second network interface card in accordance with the independent network card management method, that is, the board-level management controller can refer to the independent network card management method to manage the service network interface card on the mainboard, which helps to provide richer functions, increase the density of the server, and improve resource utilization.
[0042] In some embodiments, the first network interface card and the second network interface card are both mounted on the server where the host machine is located. This helps to provide more abundant functions, increase server density, and improve resource utilization.
[0043] In a possible implementation, when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, there is no conflict between the virtual LAN resources used by the board-level management controller and the virtual LAN resources used by the host machine. In this way, there is no need to configure a virtual LAN separately, nor is there a need to isolate the use of the Ethernet port in time or space. The first Ethernet port on the first network interface card can be shared between the host machine and the board-level management controller, and the correct message forwarding function is ensured by the above-mentioned message replication module, avoiding the need to manage and configure an independent virtual LAN separately, and the above-mentioned scheduling module avoids bandwidth competition, ensuring the service quality of the board-level management controller, and avoiding the board-level management controller's service being squeezed by the host machine's service, resulting in an overall small bandwidth.
[0044] In a possible implementation, the board-level management controller exclusively uses the second Ethernet port of the first network interface card, and the board-level management controller exclusively uses the bandwidth of the second Ethernet port. In this way, when the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, the board-level management controller can also be arranged to exclusively use the second Ethernet port of the first network interface card, and the board-level management controller exclusively uses the bandwidth of the second Ethernet port. In this way, the second Ethernet port is exclusively used on the basis of sharing the first Ethernet port, which is conducive to meeting the customized input and output requirements of the board-level management controller, such as providing functions and services with higher requirements for response speed, bandwidth resources, network stability, etc. through the exclusive second Ethernet port, while reducing the overall cost and improving the overall resource utilization through the shared first Ethernet port.
[0045] Figure 33 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application, and the computing device 300 includes: one or more processors 310, a communication interface 320 and a memory 330. The processor 310, the communication interface 320 and the memory 330 are interconnected via a bus 340. Optionally, the computing device 300 may also include an input / output interface 350, and the input / output interface 350 is connected to an input / output device for receiving parameters set by a user, etc. The computing device 300 can be used to implement some or all of the functions of the device embodiment or system embodiment in the above-mentioned embodiment of the present application; the processor 310 can also be used to implement some or all of the operating steps of the method embodiment in the above-mentioned embodiment of the present application. For example, the specific implementation of the various operations performed by the computing device 300 can refer to the specific details in the above-mentioned embodiments, such as the processor 310 is used to perform some or all of the steps in the above-mentioned method embodiment or some or all of the operations in the above-mentioned method embodiment. For another example, in an embodiment of the present application, the computing device 300 may be used to implement part or all of the functions of one or more components in the above-mentioned apparatus embodiment. In addition, the communication interface 320 may be specifically used to perform the communication functions necessary to implement the functions of these apparatuses and components, and the processor 310 may be specifically used to perform the processing functions necessary to implement the functions of these apparatuses and components.
[0046] It should be understood that Figure 3 The computing device 300 may include one or more processors 310, and the multiple processors 310 may provide processing capabilities in a parallel connection mode, a serial connection mode, a serial-parallel connection mode, or any connection mode, or the multiple processors 310 may form a processor sequence or a processor array, or the multiple processors 310 may be divided into a main processor and an auxiliary processor, or the multiple processors 310 may have different architectures such as a heterogeneous computing architecture. In addition, Figure 3 The computing device 300 shown in the figure, and the related structural description and functional description are exemplary and non-limiting. In some exemplary embodiments, the computing device 300 may include Figure 3 More or fewer components may be shown, or some components may be combined or separated, or may have a different arrangement of components.
[0047] The processor 310 may have a variety of specific implementation forms. For example, the processor 310 may include a central processing unit (CPU), a graphic processing unit (GPU), a neural-network processing unit (NPU), a tensor processing unit (TPU) or a data processing unit (DPU), etc., and the embodiment of the present application does not specifically limit it. The processor 310 may also be a single-core processor or a multi-core processor. The processor 310 may be a combination of a CPU and a hardware chip. The above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof. The processor 310 may also be implemented using a logic device with built-in processing logic alone, such as an FPGA or a digital signal processor (DSP). The communication interface 320 may be a wired interface or a wireless interface for communicating with other modules or devices. The wired interface may be an Ethernet interface, a local interconnect network (LIN), etc., and the wireless interface may be a cellular network interface or a wireless local area network interface, etc.
[0048] The memory 330 may be a non-volatile memory, such as a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The memory 330 may also be a volatile memory, which may be a random access memory (RAM) used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM). The memory 330 may also be used to store program codes and data, so that the processor 310 calls the program codes stored in the memory 330 to execute some or all of the operation steps in the above method embodiment, or to execute the corresponding functions in the above device embodiment. Figure 3 Show more or fewer components, or have different component configurations.
[0049] The bus 340 may be a peripheral component interconnect express (PCIe) bus, an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus 340 may be divided into an address bus, a data bus, a control bus, etc. In addition to the data bus, the bus 340 may also include a power bus, a control bus, and a status signal bus, etc. However, for the sake of clarity, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0050] The method and device provided in the embodiments of the present application are based on the same inventive concept. Since the principles of solving the problems in the methods and devices are similar, the embodiments, implementation methods, examples or implementation methods of the methods and devices can refer to each other, and the repeated parts will not be repeated. The embodiments of the present application also provide a system, which includes multiple computing devices, and the structure of each computing device can refer to the structure of the computing device described above. The functions or operations that can be implemented by the system can refer to the specific implementation steps in the above method embodiments and / or the specific functions described in the above device embodiments, which will not be repeated here.
[0051] The present application also provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed on a computer device (such as one or more processors), the method steps in the above method embodiment can be implemented. The specific implementation of the processor of the computer-readable storage medium in executing the above method steps can refer to the specific operations described in the above method embodiment and / or the specific functions described in the above device embodiment, which will not be repeated here.
[0052] It should be understood by those skilled in the art that the embodiments of the present application may be provided as methods, systems, or computer program products. The present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. The embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any other combination. When implemented using software, the above embodiments may be implemented in whole or in part in the form of a computer program product. The present application may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program codes. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, the process or function described in the embodiments of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. Computer-readable storage media can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media. Available media can be magnetic media (such as floppy disks, hard disks, tapes), optical media, or semiconductor media. Semiconductor media can be solid-state hard disks, random access memory, flash memory, read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, or any other form of suitable storage media.
[0053] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. Each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0054] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. The steps in the method of the embodiment of the present application can be adjusted in order, merged or deleted according to actual needs; the modules in the system of the embodiment of the present application can be divided, merged or deleted according to actual needs. If these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these modifications and variations.
Claims
1. A network communication method for a board-level management controller, characterized in that: The network communication method comprises: A message replication module is provided through a first network interface card, wherein the message replication module is used to, when a first Ethernet port of the first network interface card is shared between a host machine and a board-level management controller, replicate an uplink message passing through the first Ethernet port and meeting a first matching condition to a first network port set, wherein the first network port set includes a network port of the host machine corresponding to the first Ethernet port and a network port of the board-level management controller corresponding to the first Ethernet port; Providing a scheduling module through the first network interface card, wherein the scheduling module is used to execute a downlink speed limit strategy for downlink traffic through the first Ethernet port, wherein the downlink speed limit strategy limits the maximum bandwidth and maximum burst bandwidth of the board-level management controller and limits the maximum bandwidth and maximum burst bandwidth of the host machine; By using the message replication module and the scheduling module of the first network interface card, the first Ethernet port is shared between the host machine and the board management controller, and network communication between the board management controller and the simplified media independent interface of the first network interface card is realized. The board-level management controller performs network communication with the first network interface card through the simplified media independent interface, so as to use the first network interface card in accordance with the independent network card management mode. When the first Ethernet port of the first network interface card is shared between the host machine and the board-level management controller, there is no conflict between the virtual local area network resources used by the board-level management controller and the virtual local area network resources used by the host machine.
2. The network communication method according to claim 1, characterized in that: The downlink speed limit strategy limits the maximum bandwidth and maximum burst bandwidth of the board-level management controller and the maximum bandwidth and maximum burst bandwidth of the host machine, including: The downlink speed limit strategy defines that the maximum bandwidth and the maximum burst bandwidth of the board-level management controller are both preset values, and the downlink speed limit strategy further defines that the maximum bandwidth and the maximum burst bandwidth of the host machine are both the bandwidth of the first Ethernet port.
3. The network communication method according to claim 2, characterized in that: The scheduling module is also used to execute an uplink scheduling strategy for the uplink traffic through the first Ethernet port, wherein the uplink scheduling strategy is determined based on the respective weights of the host machine and the board-level management controller, or the respective priorities of the host machine and the board-level management controller.
4. The network communication method according to claim 3, characterized in that: When the uplink scheduling strategy is determined based on the respective weights of the host machine and the board management controller, the weight of the board management controller is higher than the weight of the host machine, and when the uplink scheduling strategy is determined based on the respective priorities of the host machine and the board management controller, the priority of the board management controller is higher than the priority of the host machine.
5. The network communication method according to claim 1, characterized in that: The first matching condition indicates that when the uplink message is an Address Resolution Protocol request message, a Neighbor Advertisement message of Internet Protocol version 6, a Neighbor Request message of Internet Protocol version 6, or a multicast message of Dynamic Host Configuration Protocol, the uplink message is copied to the first network port set.
6. The network communication method according to claim 5, characterized in that: The Internet Protocol version 6 neighbor advertisement message and the Internet Protocol version 6 neighbor solicitation message are based on the Internet Protocol version 6 neighbor discovery protocol.
7. The network communication method according to claim 1, characterized in that: The board-level management controller performs network communication with the second network interface card through the network port of the board-level management controller corresponding to the first Ethernet port in the first network port set, thereby using the second network interface card according to the independent network card management method, wherein the second network interface card is independent of the first network interface card.
8. The network communication method according to claim 7, characterized in that: The first network interface card and the second network interface card are both mounted on the server where the host machine is located.
9. The network communication method according to claim 1, characterized in that: The board-level management controller exclusively uses the second Ethernet port of the first network interface card, and the board-level management controller exclusively occupies the bandwidth of the second Ethernet port.
10. An electronic device, characterized in that: The electronic device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 9 when executing the computer program.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, which, when executed on a computer device, cause the computer device to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Network interface control method and multi-node server
CN116074268A
Method and system for realizing server BMC network binding
CN117254988A