Data transmission method and data transmission system
By establishing a data transmission channel between the in-band host and the baseboard management controller using a virtual Ethernet card, the communication interruption problem caused by the in-band host being equipped with only one physical network card is solved, achieving stable communication and resource optimization during network anomalies.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LENOVO (BEIJING) LTD
- Filing Date
- 2026-04-30
- Publication Date
- 2026-07-03
AI Technical Summary
The in-band host is equipped with only one physical network card. When the network card is unavailable, it will be unable to communicate with external devices. Existing technologies cannot effectively solve this communication interruption problem.
A second transmission channel is established to replace the unusable physical network card by using the data transmission channel between the virtual Ethernet card and the physical network card on the Baseboard Management Controller (BMC) side, enabling communication between the in-band host and external devices, and releasing the channel after the network anomaly is repaired.
Even if the physical network card is unavailable, the in-band host can still communicate with external devices, avoiding communication interruptions, improving network stability and fault prediction capabilities, and reducing hardware resource redundancy and costs.
Smart Images

Figure CN122340139A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic information technology, and in particular to a data transmission method and data transmission system. Background Technology
[0002] An in-band host is the core computing unit of a server, used to run the business operating system and support the execution of business applications and the processing of business data. An in-band host typically includes a physical network interface card (NIC) for communicating with external devices and handling the sending and receiving of various types of business data. To reduce costs, in-band hosts are currently usually equipped with only one physical NIC. In this case, if the physical NIC becomes unavailable, the in-band host will be unable to communicate with external devices. Summary of the Invention
[0003] This application provides a data transmission method applied to an in-band host of a server. The server further includes a baseboard management controller. The method includes: in response to determining a network anomaly in the in-band host, sending a first message to the baseboard management controller via a first transmission channel; the first message is used to request communication with an external device based on the baseboard management controller; receiving a first confirmation signal sent by the baseboard management controller; the first confirmation signal includes configuration information of a second transmission channel; the second transmission channel is used for data transmission between the in-band host and the baseboard management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel; based on the first confirmation signal, sending data to be transmitted to the baseboard management controller via the second transmission channel, so that the baseboard management controller sends the data to be transmitted to the external device via a third transmission channel; the third transmission channel is a data transmission channel between a virtual Ethernet card and a physical network card on the baseboard management controller side.
[0004] In some embodiments, the configuration information includes configuration information of the virtual Ethernet card on the baseboard management controller side, and the method further includes: loading the USB Ethernet bridging protocol driver to generate an in-band host-side virtual Ethernet card; and establishing a second transmission channel based on the in-band host-side virtual Ethernet card, the virtual Ethernet card on the baseboard management controller side, and the USB Ethernet bridging protocol.
[0005] In some embodiments, the method further includes: detecting whether the network anomaly has been repaired; in response to detecting that the network anomaly has been repaired, releasing the second transmission channel and communicating with external devices based on the physical network card on the host side of the in-band.
[0006] In some embodiments, the method further includes: sending a second message to a substrate management controller; the second message is used to indicate that communication with external devices is not based on the substrate management controller, so that the substrate management controller releases the third transmission channel.
[0007] In some embodiments, the in-band host includes a physical network interface card (NIC), and the method further includes: detecting a target metric of the physical NIC of the in-band host; if the target metric meets a first threshold, determining that the in-band host has a network anomaly; repairing the network of the in-band host until the target metric meets a second threshold, determining that the network anomaly of the in-band host has been repaired; the second threshold is less than the first threshold.
[0008] This application provides a data transmission method applied to a baseboard management controller of a server. The server further includes an in-band host. The method includes: in response to a first message sent by the in-band host through a first transmission channel, sending a first confirmation signal to the in-band host; the first confirmation signal includes configuration information of a second transmission channel; the second transmission channel is used for data transmission between the in-band host and the baseboard management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel; in response to receiving data to be transmitted sent by the in-band host through the second transmission channel, sending the data to be transmitted to an external device through a third transmission channel; the third transmission channel is a data transmission channel between a virtual Ethernet card and a physical network card on the baseboard management controller side.
[0009] In some embodiments, the configuration information includes the configuration information of the virtual Ethernet card on the substrate management controller side, and the method further includes: if the third transmission channel is not established on the substrate management controller side, loading the USB Ethernet bridging protocol driver to generate the virtual Ethernet card on the substrate management controller side; and establishing a third transmission channel between the virtual Ethernet card on the substrate management controller side and the physical network card on the substrate management controller side.
[0010] In some embodiments, the method further includes: releasing a third transmission channel in response to receiving a second message from an in-band host; wherein the second message is used to indicate that communication with external devices is not based on a board management controller.
[0011] In some embodiments, the baseboard management controller includes multiple physical network interface cards (NICs) that serve as backups for each other; the third transmission channel is established based on one of the multiple physical NICs.
[0012] This application provides a data transmission system, including: an in-band host; a baseboard management controller, configured to receive data to be transmitted from the in-band host via a second transmission channel and send the data to be transmitted to an external device via a third transmission channel in the event of a network anomaly in the in-band host; the third transmission channel is a data transmission channel between a virtual Ethernet card and a physical network card on the baseboard management controller side. Attached Figure Description
[0013] Figure 1 This is a schematic diagram of a data transmission system provided in an embodiment of this application; Figure 2This is one of the flowcharts illustrating a data transmission method provided in an embodiment of this application; Figure 3 This is a second schematic flowchart of a data transmission method provided in an embodiment of this application; Figure 4 This is a third schematic flowchart of a data transmission method provided in an embodiment of this application; Figure 5 This is a fourth flowchart illustrating a data transmission method provided in an embodiment of this application; Figure 6 This is the fifth flowchart illustrating a data transmission method provided in an embodiment of this application; Figure 7 This is one of the structural schematic diagrams of a data transmission device provided in the embodiments of this application; Figure 8 This is a second schematic diagram of the structure of a data transmission device provided in an embodiment of this application; Figure 9 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application. Detailed Implementation
[0014] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0015] An in-band host is the core computing unit of a server, used to run the business operating system and support the execution of business applications and the processing of business data. An in-band host typically includes a physical network interface card (NIC) for communicating with external devices and handling the sending and receiving of various types of business data. To reduce costs, in-band hosts are currently usually equipped with only one physical NIC. In this case, if the physical NIC becomes unavailable, the in-band host will be unable to communicate with external devices.
[0016] Therefore, this application provides a data transmission method and a data transmission system. When the physical network card of the in-band host is unavailable, the in-band host can interact with external devices through the physical network card on the baseboard management controller (BMC) side of the server. In this way, even if the physical network card on the in-band host side is unavailable, the in-band host can still communicate with external devices, thus avoiding communication failure or communication interruption.
[0017] The following description, in conjunction with the accompanying drawings and embodiments, illustrates a data transmission method and system provided in this application. Figure 1This is a schematic diagram of a data transmission system proposed in an embodiment of this application.
[0018] like Figure 1 As shown, the data transmission system 100 includes an in-band host 101 and a baseboard management controller 102. The data transmission system 100 is applied to a server. The in-band host 101 runs the business operating system, supporting the operation of business applications and the processing of business data. The baseboard management controller 102 is used for out-of-band hardware monitoring and remote operation and maintenance management. The in-band host 101 can be configured with a single physical network interface card (NIC). The baseboard management controller 102 can be configured with at least one physical NIC; when the baseboard management controller 102 is configured with multiple physical NICs, the multiple physical NICs serve as backups for each other.
[0019] The physical network interface card (NIC) is a dedicated hardware device responsible for converting data into network signals for transmission and receiving network signals for conversion back into data. For example, the in-band host 101 or the baseboard management controller 102 can transmit data to its built-in NIC via a high-speed peripheral component interconnect express (PCIe) link. The NIC encapsulates the data into Ethernet frames, then converts the digital signals into electrical or optical signals, and transmits them via a network cable or fiber optic cable. The NIC can also receive electrical or optical signals via a network cable or fiber optic cable and convert them back into digital signals. The NIC can also transmit the digital signals back via the PCIe link, completing data transmission and reception. An Ethernet frame is the basic unit for data exchange in Ethernet.
[0020] In this embodiment, the baseboard management controller 102 is used to receive data to be transmitted from the in-band host 101 via a second transmission channel and to send the data to be transmitted to an external device via a third transmission channel in the event of a network anomaly in the in-band host 101. The third transmission channel is a data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller 102 side. Specific embodiments will be described in detail below, without further elaboration.
[0021] Figure 2 This is one of the flowcharts illustrating a data transmission method provided in an embodiment of this application. Figure 2 The data transfer method shown can be performed by an in-band host in the server, for example, by... Figure 1 The method, executed by in-band host 101, includes: S201, in response to determining a network anomaly in the in-band host, a first message is sent to the board management controller via the first transmission channel.
[0022] In this embodiment, the first transmission channel may be, for example, a local hardware communication channel for instruction interaction between the in-band host and the board management controller. This local hardware communication channel does not rely on a physical network card and therefore does not consume network bandwidth. For example, the first transmission channel may be a local hardware communication channel for Intelligent Platform Management Interface (IPMI) instruction interaction between the in-band host and the board management controller, implemented based on the Keyboard Controller Style (KCS) interface and the motherboard's underlying bus. More specifically, the first transmission channel may be, for example, an IPMI channel based on KCS (IPMI over KCS). The data transmission capacity of the first transmission channel is limited; for example, the data length and transmission rate are both low, suitable for transmitting instruction-type data, but unable to meet the needs of high-capacity, high-speed transmission.
[0023] In some embodiments, in-band hosts determine whether the network of the in-band host is abnormal through event monitoring, proactive sensing, or other methods. Network abnormalities may include, for example, network interruptions, poor network quality, or unavailability of the physical network interface card (NIC).
[0024] For example, an in-band host can proactively monitor changes in its network traffic and determine whether the in-band host's network is abnormal based on these changes. For instance, the in-band host can collect network traffic metrics from its physical network interface card (NIC) in real time, compare these metrics with preset metrics, and determine if the network traffic metrics do not meet the preset metrics if the in-band host's network is abnormal. These network traffic metrics include, but are not limited to, the number of packets sent and received, real-time bandwidth, packet loss rate, and connection status.
[0025] For example, an in-band host can monitor a first event that indicates a network outage for the in-band host, and in response to the first event, determine a network anomaly for the in-band host. This first event includes, but is not limited to, events such as a hardware recovery error occurring on the physical network interface card (NIC), a PCIe link going offline, or a physical NIC link disconnection.
[0026] For example, an in-band host can detect a target metric of the physical network interface card (NIC) on its side and determine whether the network on that side is abnormal based on this metric. This target metric could be, for example, the PCIe link correctable error rate (PCI Express Link Correctable Error Rate). The physical NIC establishes a hardware connection with the in-band host via a PCIe link. The PCIe link provides a high-speed data transmission path for the physical NIC. The PCIe link is the underlying hardware link through which the physical NIC transmits and receives data. The PCIe link correctable error rate refers to the frequency of errors that can be automatically corrected by hardware during the operation of the PCIe link, and is used to evaluate the transmission stability of the PCIe link.
[0027] For example, if the correctable error rate of a PCIe link meets or exceeds a first threshold, it indicates poor PCIe link transmission stability of the physical network card. In this case, the in-band host determines that the in-band host's network is abnormal. The first threshold is a preset maximum allowable correctable error rate for PCIe links, used to determine whether the correctable error rate exceeds the limit. It should be understood that although correctable errors in PCIe links are hardware-recoverable, a correctable error rate greater than or equal to the first threshold indicates that the PCIe link has transmission instability issues. For example, a large number of correctable errors in PCIe links can cause problems such as packet retransmission, data loss, packet corruption, network jitter, and increased transmission latency, directly affecting the normal data transmission and reception of the physical network card, ultimately resulting in network quality degradation.
[0028] In this embodiment, the correctable error rate of the PCIe link is used as the basis for determining whether the network is abnormal. This can detect potential problems such as signal attenuation, poor contact, transmission interference, and hardware aging of the physical network card's PCIe link in advance. It makes up for the lag of relying solely on upper-layer monitoring methods such as traffic indicators and link status, and enables early prediction of network anomalies. This avoids serious faults such as network outages, packet loss, and service interruptions caused by network quality deterioration, and effectively improves the stability and fault prediction capability of in-band host network operation.
[0029] In some embodiments, upon determining a network anomaly in an in-band host, the in-band host may, in response, send a first message to the baseboard management controller via a first transmission channel. The first message requests communication with an external device via the baseboard management controller.
[0030] In response to receiving the first message, the board management controller can send a first confirmation signal to the in-band host, and the in-band host can then execute S202.
[0031] S202, Receive the first confirmation signal sent by the board management controller.
[0032] The second transmission channel is used for data transmission between the in-band host and the board management controller. The data transmission performance of the second transmission channel is higher than that of the first transmission channel. The second transmission channel includes, but is not limited to, the compute fast link channel, the universal serial bus (USB) high-speed channel, and the USB-based virtual network transmission channel.
[0033] The first confirmation signal includes configuration information for the second transmission channel. For example, this configuration information may include network segment configuration parameters, communication negotiation parameters, bridging protocol parameters, forwarding policy parameters, channel bandwidth configuration, and connection status identifiers.
[0034] S203, based on the first confirmation signal, the data to be transmitted is sent to the substrate management controller through the second transmission channel.
[0035] In this embodiment, the in-band host sends the data to be transmitted to the baseboard management controller via a second transmission channel based on a first confirmation signal. The baseboard management controller can then send the data to be transmitted from the in-band host side to an external device via a third transmission channel. The third transmission channel is a data transmission channel between the virtual Ethernet card on the baseboard management controller side and the physical network card on the baseboard management controller side. External devices include, but are not limited to, network switching devices, remote management devices, external storage devices, operation and maintenance control devices, and edge service terminal devices.
[0036] As can be seen, the data transmission method provided in this application embodiment allows an in-band host, after determining its own network anomaly, to first send a first message to the baseboard management controller (BMDC) through a local hardware communication channel, such as a first transmission channel, requesting interaction with external devices via the BMDC's network. The in-band host can also receive a first confirmation signal from the BMDC, and based on this first confirmation signal, send the data to be transmitted to the BMDC through a second transmission channel with superior transmission performance to the local hardware communication channel, so that the BMDC transmits the data to be transmitted through its internal third transmission channel. In other words, in this application embodiment, the in-band host can utilize the data transmission channel between the virtual Ethernet card on the BMDC side and the physical network card on the BMDC side—the third transmission channel—to interact with external devices. Thus, even if the in-band host's physical network card is unavailable, the in-band host can still communicate with external devices, avoiding communication failures or interruptions.
[0037] In some embodiments, the second transmission channel is established based on a virtual Ethernet card on the in-band host side and a virtual Ethernet card on the baseboard management controller side. This second transmission channel can be, for example, a USB-based virtual network transmission channel. In this embodiment, the configuration information of the second transmission channel can specifically be the configuration information of the virtual Ethernet card on the baseboard management controller side. This configuration information includes, but is not limited to, media access control address, internet address, subnet mask, gateway, transmission rate, operating mode, and link configuration parameters. The virtual Ethernet card can be, for example, a logical network interface generated through driver or protocol virtualization, without independent physical network card hardware, relying on an internal transmission bus such as USB to carry Ethernet data.
[0038] In some embodiments, after receiving a first confirmation signal from the baseboard management controller, the in-band host can also establish a second transmission channel based on the first confirmation signal. For example, after receiving the first confirmation signal from the baseboard management controller, the in-band host can first load the USB Ethernet bridging protocol driver to generate a virtual Ethernet card on the in-band host side. The USB Ethernet bridging protocol driver is a driver program used to convert between the USB bus and Ethernet protocols, simulating a virtual Ethernet card and building a USB-based virtual network transmission channel. Then, the in-band host can establish a second transmission channel based on the virtual Ethernet card on the in-band host side, the virtual Ethernet card on the baseboard management controller side, and the USB Ethernet bridging protocol. For example, the in-band host performs link negotiation and interaction matching with the baseboard management controller based on the USB Ethernet bridging protocol, and establishes a point-to-point association and binding between the virtual Ethernet card on the in-band host side and the virtual Ethernet card on the baseboard management controller side, thereby constructing a second transmission channel between the in-band host and the baseboard management controller.
[0039] In this embodiment, the USB-based virtual network transmission channel is isolated from and independent of the PCIe link of the physical network card on the in-band host side, and does not depend on the physical network card on the in-band host side. When the PCIe link on the in-band host side is abnormal, the physical network card fails, or the service network is interrupted, the channel can still be used normally. At the same time, the USB-based virtual network transmission channel has the advantages of high reliability, high fault tolerance, fast response speed, and convenient switching, and can stably realize data interaction between the in-band host and the baseboard management controller.
[0040] In some embodiments, the in-band host can also proactively repair the network and detect in real time whether network anomalies have been repaired. If the network anomaly is repaired, the second transmission channel is released, and interaction with external devices is established based on the physical network interface card (NIC) on the in-band host side. Specifically, the in-band host can also detect whether network anomalies have been repaired. In response to detecting that the network anomaly has been repaired, the second transmission channel is released, and communication with external devices is established based on the physical NIC on the in-band host side. Thus, when the physical NIC on the in-band host side is available, the second transmission channel can be released promptly, and data can be sent and received based on this physical NIC. This effectively releases USB bus resources and virtual network configuration resources, avoids network conflicts and packet forwarding anomalies caused by dual-channel parallel operation, and reduces redundant hardware resource usage. Simultaneously, it ensures stable return of service data to the physical NIC, reducing link risks caused by the long-term operation of the backup channel (second transmission channel), and improving the overall stability and operational efficiency of the server's network communication.
[0041] For example, an in-band host can determine whether its network anomaly has been resolved by monitoring changes in its network traffic. For instance, if the network traffic metrics of the physical network interface card (NIC) on the in-band host side meet a preset metric, the in-band host determines that its network anomaly has been resolved. As another example, an in-band host can determine whether its network anomaly has been resolved based on a second event indicating that its network has been resolved. This second event could be a PCIe hardware error recovery event. As yet another example, an in-band host can determine whether its network anomaly has been resolved based on a target metric of its physical NIC. This target metric could be, for example, the PCIe link correctable error rate. For instance, the in-band host resolves its network anomaly and continuously monitors the PCIe link correctable error rate in real time until the PCIe link correctable error rate meets a second threshold. If the PCIe link correctable error rate is less than or equal to the second threshold, the in-band host determines that its network anomaly has been resolved. The second threshold is less than the first threshold. In other words, in-band hosts can continuously perform link repair and network optimization operations until the correctable error rate of the PCIe link drops below a second threshold, at which point the network anomaly is considered repaired. The second threshold is a preset baseline value; a correctable error rate of the PCIe link less than or equal to the second threshold indicates that the PCIe link of the in-band host's physical network card is stable, meaning the in-band host's network is not abnormal.
[0042] In this context, releasing the second transmission channel can be understood as breaking the point-to-point binding relationship between the virtual Ethernet card on the in-band host side and the virtual Ethernet card on the baseboard management controller side, terminating the negotiation and data forwarding based on the USB Ethernet bridging protocol, disabling the virtual network interfaces of both parties, disconnecting the virtual network path based on the USB bus, and completing the resource release.
[0043] In some embodiments, after the network anomaly of the in-band host is resolved, the in-band host can also instruct the board management controller to release the third transmission channel. For example, after the network anomaly of the in-band host is resolved, a second message is sent to the in-band host board management controller. The second message indicates that communication with external devices should not be based on the board management controller, so that the board management controller releases the third transmission channel. This allows for the timely release of USB bus resources and virtual network configuration resources, reducing the overhead of the board management controller.
[0044] Figure 3 This is a second schematic flowchart of a data transmission method proposed in an embodiment of this application. Figure 3 The data transmission method shown can be executed by the baseboard management controller in the server, for example, by... Figure 1 The method, executed by the substrate management controller 102, includes: S301, in response to receiving a first message sent by the in-band host through the first transmission channel, sends a first acknowledgment signal to the in-band host.
[0045] In this embodiment, the baseboard management controller can receive a first message sent by the in-band host through the first transmission channel. In response, the baseboard management controller can send a first confirmation signal to the in-band host. The first transmission channel and the first message are as described above and will not be repeated here.
[0046] In some embodiments, the first confirmation signal includes configuration information for the second transmission channel. The second transmission channel is used for data transmission between the in-band host and the board management controller, and its data transmission performance is higher than that of the first transmission channel. Please refer to the preceding description; further details will not be repeated here.
[0047] S302, in response to receiving data to be transmitted from the in-band host via the second transmission channel, transmits the data to be transmitted to the external device via the third transmission channel.
[0048] In this embodiment, the third transmission channel is a data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller side. In response to receiving data to be transmitted from an in-band host via the second transmission channel, the baseboard management controller can transmit the data to be transmitted from the in-band host to an external device based on the third transmission channel.
[0049] This application provides a data transmission method in which a baseboard management controller, in response to a first message sent by an in-band host, first sends a first confirmation signal including configuration information of a second transmission channel to the in-band host, instructing the in-band host to send data to be transmitted through the second transmission channel. Since the data transmission performance of the second transmission channel is higher than that of the first transmission channel, transmitting the in-band host's data to be transmitted via the second transmission channel can improve data transmission efficiency. Then, after receiving the data to be transmitted from the in-band host via the second transmission channel, the baseboard management controller sends the data to be transmitted from the in-band host side via its own data transmission channel between the virtual Ethernet card and the physical network card, i.e., a third data transmission channel. In this application embodiment, the baseboard management controller can provide an available data transmission channel for the in-band host, assisting the in-band host in interacting with external devices.
[0050] In some embodiments, before sending a first confirmation signal to the in-band host, the board management controller may first determine whether a third transmission channel has been established.
[0051] For example, if the baseboard management controller does not establish a third transmission channel, it can do so. For example, the baseboard management controller loads the USB Ethernet bridging protocol driver to generate a virtual Ethernet card on its side. The method by which the baseboard management controller generates this virtual Ethernet card is the same as the method by which an in-band host generates a virtual Ethernet card on its side, as described above, and will not be repeated here. The baseboard management controller can also establish a third transmission channel between the virtual Ethernet card and the physical network interface card (NIC) on its side. For example, the baseboard management controller obtains the network configuration parameters of its own virtual Ethernet card and the physical NIC through its internal network protocol stack, and completes data forwarding authorization and link adaptation between the two NICs by configuring internal routing rules or network bridging policies, thereby establishing an internal transmission channel, i.e., the third transmission channel, between the virtual Ethernet card and the physical NIC on its side. Furthermore, the configuration information of the second transmission channel included in the first confirmation signal can specifically be the configuration information of the virtual Ethernet card on the baseboard management controller side.
[0052] In this embodiment, if the baseboard management controller does not establish a third transmission channel, the baseboard controller can generate its own virtual Ethernet card and establish a third transmission channel. The baseboard management controller can also carry the configuration information of its own virtual Ethernet card in the first confirmation signal sent to the in-band host, so that the in-band host can establish a second transmission channel based on the first confirmation signal.
[0053] For example, if a third transmission channel has already been established on the board management controller side, the board management controller does not need to establish a third transmission channel again. The board management controller can carry the configuration information of the virtual Ethernet card in the third transmission channel in the first confirmation signal sent to the in-band host, so that the in-band host can establish a second transmission channel based on the first confirmation signal.
[0054] In the above embodiments, in response to the first message, the baseboard management controller can first identify whether an available third transmission channel exists. If no available third transmission channel exists, a third transmission channel is established, and the configuration information of the virtual Ethernet card corresponding to the third transmission channel is carried in the first confirmation signal, so that the in-band host can establish a second transmission channel based on this configuration information. If an available third transmission channel exists, the configuration information of the virtual Ethernet card corresponding to the third transmission channel is directly carried in the first confirmation signal, so that the in-band host can establish a second transmission channel based on this configuration information. In this way, it can automatically adapt to its own situation. When an available third transmission channel exists, the existing channel is directly reused without repeated configuration creation, reducing redundant operations, saving system resources, and avoiding resource waste. When no available third transmission channel exists, it is established promptly as needed, ensuring high-speed and efficient data interaction. This method realizes on-demand access to channel resources, reducing resource occupation and power consumption caused by idle channels remaining resident, while also enabling timely channel creation, balancing resource utilization and data transmission efficiency, and improving the flexibility and rationality of overall communication scheduling.
[0055] In some embodiments, the baseboard management controller can also release the third transmission channel based on an indication from the in-band host. This indication is used to indicate that the in-band host is not communicating with external devices via the baseboard management controller; the indication may be, for example, a second message. Exemplarily, the method further includes: releasing the third transmission channel in response to receiving a second message from the in-band host; wherein the second message indicates that communication with external devices is not via the baseboard management controller. Releasing the third transmission channel can be understood as canceling the internal bridging configuration or routing forwarding policy, disabling packet forwarding between the two network interface cards (NICs), terminating the internal communication association between the virtual Ethernet card and the physical NIC, and ending the data transmission interaction between them, thereby disconnecting and releasing the third transmission channel. This allows for the timely release of USB bus resources and virtual network configuration resources, reducing the overhead of the baseboard management controller.
[0056] As discussed above, the baseboard management controller can be configured with at least one physical network interface card (NIC). If the baseboard management controller has only one physical NIC, it establishes a third transmission channel between that physical NIC and the virtual Ethernet interface card on the baseboard management controller side. If the baseboard management controller has multiple physical NICs, it establishes a third transmission channel between one of these physical NICs and the virtual Ethernet interface card on the baseboard management controller side. In other words, the third transmission channel is established based on one of the multiple physical NICs. For example, the baseboard management controller is configured with physical NIC 1 and physical NIC 2, and physical NIC 1 and physical NIC 2 have a master-slave backup relationship. In response to the first message, if the baseboard management controller does not establish a third transmission channel, it can disconnect the master-slave mode of physical NIC 1 and physical NIC 2, and establish a third transmission channel based on the backup card, such as physical NIC 2.
[0057] Figure 4 This is a third schematic flowchart of a data transmission method provided in this application embodiment. For example, the method may include: S401, in response to determining a network anomaly in the in-band host, the in-band host sends a first message to the board management controller.
[0058] S402, in response to a first message sent by the in-band host through the first transmission channel, the board management controller determines whether a third transmission channel is available.
[0059] If the baseboard management controller determines that a third transmission channel exists, it can send a first confirmation signal to the in-band host, for example, by executing S403. If the baseboard management controller determines that a third transmission channel does not exist, it can establish a third transmission channel and send a first confirmation signal to the in-band host, for example, by executing S404-S406. The first confirmation signal includes configuration information for the second transmission channel, which may specifically be the configuration information of the virtual Ethernet card on the baseboard management controller side.
[0060] S403, the board management controller determines that the third transmission channel has been established and sends a first confirmation signal to the in-band host.
[0061] In some embodiments, the substrate management controller may send a first acknowledgment signal to the in-band host via a first transmission channel.
[0062] S404, the baseboard management controller loads the USB Ethernet bridging protocol driver to generate a virtual Ethernet card on the baseboard management controller side.
[0063] S405, the baseboard management controller establishes a third transmission channel between the virtual Ethernet card on the baseboard management controller side and the physical network card on the baseboard management controller side.
[0064] S406, the board management controller sends a first confirmation signal to the in-band host.
[0065] S407, in response to the first confirmation signal, the in-band host establishes a second transmission channel.
[0066] S408, the in-band host sends the data to be transmitted to the board management controller through the second transmission channel.
[0067] S409, the board management controller sends the data to be transmitted from the host side of the in-band to the external device through the third transmission channel.
[0068] S410, the in-band host detects whether network anomalies have been repaired.
[0069] If the network anomaly is resolved, the in-band host can interact with external devices based on the physical network card on the in-band host side. For example, the in-band host can execute S411. If the network anomaly is not resolved, the in-band host can send the data to be transmitted to the baseboard management controller through the second transmission channel, so that the baseboard management controller can send the data to be transmitted to the external device through the third transmission channel.
[0070] S411: The in-band host releases the second transmission channel and interacts with external devices through the physical network card on the in-band host side.
[0071] S412, the in-band host sends a second message to the board management controller.
[0072] For example, the in-band host can send a second message to the board management controller through the first transmission channel.
[0073] S413, in response to the second message, the substrate management controller releases the third transmission channel.
[0074] In some embodiments, the baseboard management controller can also receive data sent by an external device to an in-band host. For example, the baseboard management controller can receive data sent by an external device to an in-band host based on the physical network interface card corresponding to the third transmission channel. The baseboard management controller can also forward the data to the in-band host based on the third transmission channel and the second transmission channel. That is, the above method further includes: the baseboard management controller receiving data sent by an external device to an in-band host, and forwarding the data to the in-band host based on the third transmission channel and the second transmission channel.
[0075] The following describes a data transmission method and data transmission system provided by embodiments of this application, using specific application scenarios as examples.
[0076] During the operating system installation phase, when deploying operating systems in batches, if an in-band host on a single server lacks a corresponding physical network interface card (NIC) when installing the operating system via the preboot execution environment (PXE), the operating system cannot be installed. During the operating system runtime phase, if the physical NIC hardware on the in-band host malfunctions, or if a driver issue prevents the physical NIC from communicating, network communication services will be suspended if there is no corresponding physical NIC as a backup. Even with a physical NIC as a backup, a detection period representing network downtime needs to be set, making it impossible to achieve prior detection and prevention.
[0077] To address the aforementioned issues, conventional technologies require a USB converter to RJ45 to connect the network cable and communicate with a switch and PXE server to retrieve the installation source and complete the installation of a single system. Alternatively, multiple physical network cards (NICs) can be inserted on the in-band host as backups, actively switching to the backup NIC when the network connection of one NIC fails. However, these conventional solutions suffer from hardware redundancy, high hardware costs, and slow detection. For example, in scenarios where multiple servers deploy operating systems, each server needs a USB converter if no available physical NIC is available, leading to resource redundancy. Furthermore, inserting an additional physical NIC on the in-band host wastes a dedicated backup NIC. Traditional in-band host-side network redundancy relies on dual external physical NICs in a primary / backup aggregation mode, requiring additional PCIe slots and physical NIC hardware, increasing server hardware costs and deployment space. Moreover, there is a time lag between detecting network outages and taking predefined actions; therefore, a network outage detection time needs to be set, preventing proactive notification and early prevention.
[0078] To address this, this application provides a low-cost, highly reliable network redundancy scheme based on BMC dual-NIC linkage. When a network outage occurs in an in-band host, network connectivity is restored through cross-device collaborative switching, utilizing the BMC's physical NICs. The BMC's physical NIC can be one of the following: a physical NIC supporting the network controller sideband interface (NSCI), a physical NIC supporting single root I / O virtualization (SR-IOV), or a backup physical NIC. In this embodiment, the in-band host can also proactively switch networks based on PCIe hardware errors, achieving advance detection and prevention.
[0079] The advantages of this solution are as follows: During system installation, even when the in-band host lacks a physical network card, network installation can be achieved by pulling the operating system image from the PXE server using the BMC's physical network card. During operating system operation, if the network connection of the in-band host's physical network card fails and drops, the network lines can be dynamically adjusted, utilizing the BMC's physical network card to achieve network switching and ensure uninterrupted network access. When the physical network card consistently experiences correctable errors, although network functionality remains available, early switching to the backup channel can be implemented, and users can be notified to replace the network card or port as soon as possible. This shifts the focus from reactive handling to proactive prevention.
[0080] In some embodiments, the in-band host sends a network channel request to the BMC via a first transmission channel, such as an IPMI over KCS channel. The BMC responds with a first acknowledgment signal to indicate to the in-band host whether the BMC supports the request. Actual network communication is performed via a second transmission channel, such as Ethernet over USB. When the in-band host's network connection is lost, network traffic is routed to this channel as a temporary channel. After the traffic reaches the BMC, the BMC forwards it to the external network via a third transmission channel, thus enabling communication with the external network.
[0081] In some embodiments, the data transmission method provided in this application can be executed by an agent on the in-band host side and an agent on the baseboard management controller side, respectively. For example, the in-band host side includes an agent that dynamically monitors host network traffic. This agent can actively monitor changes in the network traffic of the in-band host, or passively receive the first event after a network interruption on the in-band host side, such as receiving a hardware recovery error event sent by the physical network card, and perform a switchover between primary and backup networks. The baseboard management controller side may also include an agent.
[0082] Figure 5 This is the fourth flowchart of a data transmission method provided in the embodiments of this application, as shown below. Figure 5 As shown, the method includes: S1 indicates a network anomaly on the host side via the physical network card.
[0083] S2, in response to determining that the Host's network is abnormal, the agent on the Host side sends a first message to the agent on the BMC side through the first transmission channel.
[0084] S3, the agent on the BMC side establishes a third transmission channel.
[0085] The agent on the BMC side can first determine whether a third transmission channel exists. If it does, it sends a first acknowledgment signal to the agent on the Host side through the first transmission channel. If it does not exist, the agent on the BMC side can determine whether a third transmission channel can be provided to the Host. If so, it establishes a transmission channel (the third transmission channel) between the virtual Ethernet card and the physical network card on the BMC side, and sends a first acknowledgment signal to the agent on the Host side through the first transmission channel.
[0086] S4, the agent on the BMC side sends a first confirmation signal to the agent on the Host side through the first transmission channel.
[0087] S5, the proxy on the host side switches the network to the second transmission channel.
[0088] If the proxy on the host side receives feedback indicating that the host can use the network channel on the BMC side, such as the third transmission channel, then it switches the existing network to the virtual Ethernet card on the host side within the second transmission channel, using it as a temporary network channel. Specifically, the host routes the data to be transmitted to the virtual Ethernet card on the host side, sending the data to the BMC via the second transmission channel. Since the virtual Ethernet card on the BMC side has already established a third transmission channel with the physical network card, it can use the physical network card on the BMC side for temporary network communication, ensuring a smooth link. Specifically, after receiving the data to be transmitted, the BMC sends the data through the third transmission channel to the physical network card on the BMC side, and the physical network card on the BMC side then forwards the data.
[0089] In some embodiments, the agent on the BMC side and the agent on the Host side can issue warnings to the BMC and the Host respectively, indicating that the Host's network is abnormal and that it is using a backup network, and prompting them to troubleshoot and fix the problem. For example, replacing the physical network card or network port, or waiting for PCIe hardware error repair.
[0090] In some embodiments, after replacing the physical network card or network port, the host-side agent dynamically detects that the network has been repaired and switches the network. Alternatively, the network can be switched after a repair notification is manually initiated. For example, the network can be switched back to the host-side physical network card, and the second transmission channel can be released, such as by unbinding the network routing from the host side to the virtual Ethernet card on the host side in the second transmission channel.
[0091] In some embodiments, after switching networks, the Host can inform the BMC via the first transmission channel that it will no longer use the BMC-side physical network interface card (NIC) as a backup network device. The BMC-side proxy can then unbind the virtual Ethernet network route from the BMC side to the BMC-side physical NIC, freeing up network bandwidth and resources.
[0092] Figure 5 The illustrated embodiment uses a BMC with only one physical network interface card (NIC) that supports resource sharing functions such as NCSI and SR-IOV to provide network resources to the host. If the BMC has two NICs, by default, these two NICs operate in primary / backup mode. Upon receiving the first message from the host, the BMC can disconnect from the primary / backup mode and provide the backup NIC to the host, instead of sharing the resources of the BMC's original physical NIC as described above. Figure 6 As shown, before executing S3, the BMC can execute S6. S6 disconnects the backup relationship between the secondary physical network interface card (NIC) and the primary physical NIC. Specifically, S3 can establish a third transmission channel between the secondary NIC and the virtual Ethernet interface card.
[0093] The following describes the device embodiments provided in this application with reference to specific examples. Figure 7 This is one of the structural schematic diagrams of a data transmission device provided in an embodiment of this application. For example... Figure 7 As shown, the data transmission device 700 includes: a first transmitting unit 710, a first receiving unit 720, and a second transmitting unit 730.
[0094] The first transmitting unit 710 is configured to send a first message to the baseboard management controller via a first transmission channel in response to determining a network anomaly in the in-band host; the first message is used to request communication with external devices based on the baseboard management controller. The first receiving unit 720 is used to receive a first confirmation signal sent by the substrate management controller; the first confirmation signal includes configuration information of the second transmission channel; the second transmission channel is used for data transmission between the in-band host and the substrate management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel; The second transmitting unit 730 is used to send the data to be transmitted to the baseboard management controller through the second transmission channel based on the first confirmation signal, so that the baseboard management controller can send the data to be transmitted to an external device through the third transmission channel; the third transmission channel is the data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller side.
[0095] In some embodiments, the data transmission device 700 may further include a first establishment unit for loading a USB Ethernet bridging protocol driver to generate an in-band host-side virtual Ethernet card; and establishing a second transmission channel based on the in-band host-side virtual Ethernet card, the baseboard management controller-side virtual Ethernet card, and the USB Ethernet bridging protocol.
[0096] In some embodiments, the data transmission device 700 may further include a network switching unit for detecting whether a network anomaly has been repaired; in response to detecting that a network anomaly has been repaired, releasing a second transmission channel and communicating with external devices based on the physical network card on the host side of the in-band.
[0097] In some embodiments, the network switching unit is further configured to send a second message to the baseboard management controller; the second message is configured to indicate that communication with external devices is not based on the baseboard management controller, so that the baseboard management controller releases the third transmission channel.
[0098] In some embodiments, the network switching unit is further configured to detect target metrics of the physical network interface card of the in-band host; if the target metrics meet a first threshold, determine that the network of the in-band host is abnormal; repair the network of the in-band host until the target metrics meet a second threshold, and determine that the network abnormality of the in-band host has been repaired; the second threshold is less than the first threshold.
[0099] Figure 8 This is a second schematic diagram of a data transmission device provided in an embodiment of this application. Figure 8 As shown, the data transmission device 800 includes a first communication unit 801 and a second communication unit 802.
[0100] The first communication unit 801 is used to send a first confirmation signal to the in-band host in response to a first message sent by the in-band host through the first transmission channel; the first confirmation signal includes configuration information of the second transmission channel; the second transmission channel is used for data transmission between the in-band host and the board management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel.
[0101] The second communication unit 802 is used to respond to receiving data to be transmitted from the in-band host through the second transmission channel and to transmit the data to be transmitted to an external device through the third transmission channel; the third transmission channel is the data transmission channel between the virtual Ethernet card and the physical network card on the board management controller side.
[0102] In some embodiments, the data transmission device 800 may further include a second establishment unit, configured to load a USB Ethernet bridging protocol driver to generate a virtual Ethernet card on the substrate management controller side if a third transmission channel is not established on the substrate management controller side; and establish a third transmission channel between the virtual Ethernet card on the substrate management controller side and the physical network card on the substrate management controller side.
[0103] In some embodiments, the data transmission device 800 may further include a release unit for releasing the third transmission channel in response to receiving a second message from the in-band host; wherein the second message is used to indicate communication with external devices not based on the board management controller.
[0104] Figure 9 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application. The data transmission device 900 includes one or more processors 910 and one or more memories 920.
[0105] The processor 910 can support the data transmission device 900 in implementing the methods described in the preceding method embodiments.
[0106] The memory 920 stores a program that can be executed by the processor 910, causing the processor 910 to perform the methods described in the preceding method embodiments. The memory 920 can be independent of the processor 910 or integrated into the processor 910.
[0107] Optionally, the data transmission device 900 may also include a transceiver 930. The processor 910 can communicate with other devices or chips through the transceiver 930. For example, the processor 910 can send and receive data with other devices or chips through the transceiver 930.
[0108] This application provides a computer-readable storage medium storing one or more programs that can be executed by one or more processors to implement the steps of the methods described in any of the above embodiments.
[0109] It should be noted that the descriptions of the computer-readable storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the computer-readable storage medium and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0110] The aforementioned processor can be at least one of the following: application-specific integrated circuit (ASIC), digital signal processor (DSP), digital signal processing device (DSPD), programmable logic device (PLD), field-programmable gate array (FPGA), central processing unit (CPU), controller, microcontroller, and microprocessor. It is understood that other electronic devices can also implement the functions of the aforementioned processor, and this application does not specifically limit the specific implementation.
[0111] The aforementioned computer-readable storage medium / memory can be a read-only memory, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD ROM), etc.
[0112] This application provides a computer program including computer-readable code. When the computer-readable code runs in an electronic device, the processor in the electronic device executes some or all of the steps in the above-described method.
[0113] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the above-described method. This computer program product can be implemented specifically through hardware, software, or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer-readable storage medium; in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK), etc.
[0114] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above steps / processes do not imply a sequential order of execution; the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0115] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0116] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0117] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0118] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0119] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0120] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an electronic device to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0121] The above are merely embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
[0122] The above embodiments are merely preferred embodiments provided to fully illustrate this application, and the scope of protection of this application is not limited thereto. Equivalent substitutions or modifications made by those skilled in the art based on this application are all within the scope of protection of this application.
Claims
1. A data transmission method applied to an in-band host of a server, the server further comprising a baseboard management controller, the method comprising: In response to determining a network anomaly in the in-band host, a first message is sent to the baseboard management controller via the first transmission channel; The first message is used to request communication with external devices based on the baseboard management controller; Receive a first confirmation signal sent by the baseboard management controller; the first confirmation signal includes configuration information of the second transmission channel; The second transmission channel is used for data transmission between the in-band host and the baseboard management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel; Based on the first confirmation signal, the data to be transmitted is sent to the baseboard management controller through the second transmission channel, so that the baseboard management controller can send the data to be transmitted to an external device through the third transmission channel; the third transmission channel is the data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller side.
2. The method according to claim 1, wherein the configuration information includes the configuration information of the virtual Ethernet card on the baseboard management controller side, and the method further includes: Load the USB Ethernet bridging protocol driver to generate a virtual Ethernet card on the host side within the band; The second transmission channel is established based on the virtual Ethernet card on the host side of the in-band, the virtual Ethernet card on the baseboard management controller side, and the USB Ethernet bridging protocol.
3. The method according to claim 2, further comprising: Check whether the network anomaly has been repaired; In response to the detection that the network anomaly has been repaired, the second transmission channel is released, and communication with external devices is established based on the physical network card on the host side of the in-band.
4. The method according to claim 3, further comprising: Send a second message to the baseboard management controller; The second message is used to indicate that communication with external devices is not based on the baseboard management controller, so that the baseboard management controller releases the third transmission channel.
5. The method according to any one of claims 1-4, wherein the in-band host includes a physical network interface card (NIC), and the method further includes: Detect the target metrics of the physical network interface card of the in-band host; If the target indicator meets the first threshold, the network anomaly of the in-band host is determined. Repair the network of the in-band host until the target indicator meets the second threshold, and determine that the network anomaly of the in-band host has been repaired. The second threshold is less than the first threshold.
6. A data transmission method applied to a baseboard management controller of a server, the server further comprising an in-band host, the method comprising: In response to the first message sent by the in-band host through the first transmission channel, a first acknowledgment signal is sent to the in-band host; The first confirmation signal includes configuration information for the second transmission channel; The second transmission channel is used for data transmission between the in-band host and the baseboard management controller, and the data transmission performance of the second transmission channel is higher than that of the first transmission channel; In response to receiving the data to be transmitted from the in-band host via the second transmission channel, the data to be transmitted is sent to an external device via the third transmission channel; the third transmission channel is the data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller side.
7. The method according to claim 6, wherein the configuration information includes the configuration information of the virtual Ethernet card on the baseboard management controller side, and the method further includes: If the third transmission channel is not established on the substrate management controller side, the USB Ethernet bridging protocol driver is loaded to generate a virtual Ethernet card on the substrate management controller side. A third transmission channel is established between the virtual Ethernet card on the baseboard management controller side and the physical network card on the baseboard management controller side.
8. The method according to claim 7, further comprising: In response to receiving the second message from the in-band host, the third transmission channel is released; The second message is used to indicate that communication with external devices is not based on the baseboard management controller.
9. The method according to any one of claims 6-8, wherein the baseboard management controller comprises a plurality of physical network interface cards (NICs) that serve as backups for each other; and the third transmission channel is established based on one of the plurality of physical NICs.
10. A data transmission system, comprising: In-band host; The baseboard management controller is used to receive the data to be transmitted from the in-band host through a second transmission channel in the event of a network anomaly in the in-band host, and to send the data to be transmitted to an external device through a third transmission channel; the third transmission channel is the data transmission channel between the virtual Ethernet card and the physical network card on the baseboard management controller side.