Bmc-based arp proxy optimization method and device

By listening to and parsing ARP frames through the BMC and offloading the ARP response function, the problems of power waste and hibernation limitations in traditional server network communication are solved, and network reachability and low power consumption of the host in deep hibernation mode are achieved.

CN122317037APending Publication Date: 2026-06-30SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610491584.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-04-10
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In traditional server network communication, the host's network interface controller continuously responds to ARP requests, resulting in wasted power consumption and sleep limitations, making it impossible to balance energy saving and network availability.

Method used

The Baseboard Management Controller (BMC) listens for and parses ARP frames, offloading the ARP response function to the BMC. In deep sleep mode, the BMC proxies the network identity, utilizing the low power consumption of the BMC to maintain network reachability.

Benefits of technology

This technology enables the host to maintain network reachability even in deep sleep mode, reduces total system power consumption, avoids frequent wake-ups, and creates a new state of logical online and physical sleep, thus resolving the contradiction between energy saving and network availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122317037A_ABST
    Figure CN122317037A_ABST
Patent Text Reader

Abstract

This application discloses an ARP proxy optimization method and device based on BMC, relating to the field of data processing technology. The method includes entering an ARP frame proxy state upon receiving an enable command from the host, listening for and parsing ARP frame addressing commands to obtain a first IP address included in the ARP frame addressing command; when the IP address in the first IP address addressing command is the same as the host's second IP address, sending the pre-stored MAC address corresponding to the second IP address to the ARP frame addressing command sender. This method completely eliminates the wake-up power consumption generated by the host in response to ARP requests. Through the BMC proxy mechanism, it overcomes the strong dependence of the ARP protocol on the online status of the physical host, achieving decoupling between network identity and physical power consumption status.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a BMC-based ARP proxy optimization method and device. Background Technology

[0002] In Ethernet, for hosts to communicate, they must know the Media Access Control (MAC) address of the destination host. Once the IP address of the destination host is known, the MAC address of the destination host can be obtained through the Address Resolution Protocol (ARP).

[0003] In server network communication, the Address Resolution Protocol (ARP) is used to map IP addresses to physical MAC addresses. In traditional implementations, the host's network interface controller continuously responds to all ARP requests by default. However, this mechanism has drawbacks such as wasted power consumption or sleep limitations (limited network availability), and current technologies cannot balance energy saving and network availability. Summary of the Invention

[0004] This application provides an ARP proxy optimization method and device based on BMC, which at least solves the problems of power waste or limited network availability caused by sleep restrictions in traditional mechanisms in related technologies.

[0005] This application provides an ARP proxy optimization method based on BMC, which is executed by a baseboard management controller and includes: Upon entering the ARP frame proxy state based on the enable command sent by the host, it listens for and parses the Address Resolution Protocol (ARP) frame addressing commands to obtain the first IP address included in the ARP frame addressing command. When the IP address in the first IP address addressing instruction is the same as the host's second IP address, the pre-stored MAC address corresponding to the second IP address is sent to the ARP frame addressing instruction sending end.

[0006] This application also provides an ARP proxy optimization device based on BMC, including: The listening module is used to listen for Address Resolution Protocol (ARP) frame addressing commands after entering the ARP frame proxy state according to the enable command sent by the host. The parsing module is used to parse the ARP frame addressing instructions and obtain the first IP address included in the ARP frame addressing instructions; The processing module is used to determine whether the IP address in the first IP address addressing instruction is the same as the host's second IP address; The sending module is used to send the pre-stored MAC address corresponding to the second IP address to the ARP frame addressing instruction sending end when the processing module determines that the IP address in the first IP address addressing instruction is the same as the second IP address of the host.

[0007] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the BMC-based ARP proxy optimization methods described above.

[0008] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the BMC-based ARP proxy optimization methods described above.

[0009] This application offloads the ARP response function from the host OS to the BMC. The BMC, as a hardware module independent of the host, needs to be always on to maintain the out-of-band management channel, utilizing its remaining computing power to handle ARP listening with zero interference to the host. This avoids the situation where traditional ARP responses rely on the host OS's network stack, causing the host to frequently wake up or remain active to handle ARP requests, preventing deep sleep. The host can completely enter a low-power state (such as S3 / S4), no longer frequently woken up by ARP broadcast packets at the network layer, significantly extending the host's deep sleep duration. As a low-power coprocessor, this application reuses the BMC's existing power consumption, using a "small power module (BMC) replacing a high power system (host)" architecture to minimize total system power consumption while ensuring network reachability. Even if the host is physically asleep, the BMC can still "impersonate" the host at the network layer, maintaining the host's online network identity. This creates a new state of "logically online, physically asleep," thus resolving the classic contradiction of "energy saving equals network disconnection."

[0010] In other words, even in deep sleep mode, the host operating system can maintain network reachability at the ARP protocol level, completely eliminating the power consumption caused by the host waking up in response to ARP requests. By fully utilizing the hardware characteristic of the BMC running residently, a leap in system-level energy efficiency is achieved through functional expansion without adding additional dedicated hardware. Through the BMC proxy mechanism, the strong dependence of the ARP protocol on the online status of the physical host is overcome, achieving decoupling between network identity and physical power consumption status. Attached Figure Description

[0011] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 A schematic diagram of a BMC-based ARP proxy optimization method is provided for embodiments of this application; Figure 2 This is a schematic diagram of a server local area network connection provided in an embodiment of this application; Figure 3 This is a schematic diagram of host control mode switching provided in an embodiment of this application; Figure 4 A schematic diagram of another BMC-based ARP proxy optimization method provided in this application embodiment; Figure 5 A schematic diagram of another BMC-based ARP proxy optimization method provided in this application embodiment; Figure 6 A schematic diagram of a BMC-based ARP proxy optimization device is provided for embodiments of this application; Figure 7 This is a schematic diagram of an electronic device structure provided in an embodiment of this application. Detailed Implementation

[0013] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0014] It should be noted that, in the description of this application, 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. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0015] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0016] In Ethernet, for hosts to communicate, they must know the destination host's MAC address (physical address). Once the destination host's IP address is known, its MAC address can be obtained through the ARP protocol.

[0017] In server network communication, the Address Resolution Protocol (ARP) is used to map IP addresses to physical MAC addresses. In traditional implementations, the host's network interface controller continuously responds to all ARP requests by default. However, this mechanism has the following problems: 1) Wasted power consumption; When a server cluster continuously connects new devices, the host needs to respond to a large number of ARP broadcast requests. Even when the server is under low load or idle, the CPU still needs to process ARP broadcast requests, resulting in additional power consumption.

[0018] In addition, it is estimated that, besides requiring additional power consumption under low load, ARP processing will consume 0.5%-1% of the host CPU resources even under high load.

[0019] 2) Hibernation restrictions; When the host device enters a low-power sleep state at night or when power consumption is high, the ARP response function is turned off, the network connection is interrupted, and remote management and service continuity are affected.

[0020] To address one or more of the above problems, the following solutions are provided in related technologies: In other words, most systems employ either full-power operation or a sleep-and-wake-up strategy. The first approach is to maintain full-power operation if an ARP frame from a node is detected as requiring a response, which increases power consumption. The second approach is to enter a sleep state, completely disabling the ARP frame response function. When an ARP frame is present, the host will power on for a period of time before responding. If the frequency of ARP broadcast frames on the bus is not high, the host will remain in a power-on / power-off state.

[0021] Neither of the above two methods can balance energy saving and network availability.

[0022] To address the aforementioned issues, embodiments of this application provide a BMC-based ARP proxy optimization method, as detailed below. Figure 1 As shown, in this embodiment, a baseboard management controller (BMC) is introduced. The method is executed by the baseboard management controller. Before describing the method steps of this embodiment, a schematic diagram of the system architecture for which this method is applied is first presented. See details... Figure 2 As shown, Figure 2 This diagram illustrates the server's local area network connection. Figure 2This involves multiple host devices establishing communication connections via a local area network (LAN). Simultaneously, each host device is configured with a Base Management Console (BMC), which can also establish communication connections with other host devices or BMCs via the LAN. In this embodiment, the BMC primarily enters the working state after receiving an enable command from the host device. The host device may have already entered a low-power state, such as sleep mode. In this embodiment, ARP frames have broadcast characteristics within the LAN, and ARP frames address the device's MAC address using the IP address.

[0023] See details Figure 3 As shown, Figure 3 The diagram illustrates the switching of host control modes. Figure 3 The host in the context is the IP host being addressed. Other hosts on the local area network (LAN) need to send data packets to this host, but their MAC addresses are not found in their cache lists, preventing link-layer communication. Therefore, they need to send ARP frames to obtain the host's MAC address. An ARP frame is sent to this host, with the IP address field containing the current host's IP address. Since ARP frames are broadcast frames, all host nodes on the LAN can receive them. However, see... Figure 3 As shown. The host device has disabled ARP frame reception and response through the control module and has entered a low-power mode. For example, the host may enter a low-power state, or the host may dynamically assess that the CPU load for handling ARP broadcast storms is too high and enter a low-power mode. However, before this, the host first sends an enable command to put the BMC in the host device into an ARP frame proxy state. That is, the BMC needs to execute the following method steps of this application embodiment. See below for details; the method steps include: Step S101: After entering the ARP frame proxy state according to the enable command sent by the host, listen for and parse the Address Resolution Protocol (ARP) frame addressing command to obtain the first IP address included in the ARP frame addressing command.

[0024] Specifically, the BMC listens for ARP frame addressing commands sent by other hosts on the local area network. Then, it parses the command to obtain the first IP address included in the ARP frame addressing command.

[0025] Step S102: When the IP address in the first IP address addressing instruction is the same as the host's second IP address, the pre-stored MAC address corresponding to the second IP address is sent to the ARP frame addressing instruction sending end.

[0026] Specifically, the dedicated network port of the BMC accessing the local area network has a buffer area that reserves the host's second IP address and MAC address. Therefore, when the BMC determines that the first IP address and the second IP address are the same, it confirms that the host to be addressed is the host to which this BMC belongs. Thus, it can send the pre-stored BMC address to the sender of the ARP frame addressing command, which is the host to be addressed.

[0027] This application provides an ARP proxy optimization method based on BMC, which offloads the ARP response function from the host OS to the BMC. The BMC, as a hardware module independent of the host, needs to be always on to maintain the out-of-band management channel, utilizing its remaining computing power to handle ARP listening with zero interference to the host. This avoids the situation where traditional ARP responses rely on the host OS's network stack, causing the host to frequently wake up or remain active to handle ARP requests, preventing deep sleep. The host can completely enter a low-power state (such as S3 / S4), no longer frequently woken up by ARP broadcast packets at the network layer, significantly extending the host's deep sleep duration. As a low-power coprocessor, the BMC in this application reuses its existing energy consumption, using a "small power module (BMC) replacing a high power system (host)" architecture to minimize the total system power consumption while ensuring network reachability. Even if the host is physically asleep, the BMC can still "impersonate" the host at the network layer, maintaining the host's online network identity. This creates a new state of "logically online, physically asleep," thus resolving the classic contradiction of "energy saving equals network disconnection."

[0028] In other words, even in deep sleep mode, the host operating system can maintain network reachability at the ARP protocol level, completely eliminating the power consumption caused by the host waking up in response to ARP requests. By fully utilizing the hardware characteristic of the BMC running residently, a leap in system-level energy efficiency is achieved through functional expansion without adding additional dedicated hardware. Through the BMC proxy mechanism, the strong dependence of the ARP protocol on the online status of the physical host is overcome, achieving decoupling between network identity and physical power consumption status.

[0029] In an optional embodiment, before performing the aforementioned method steps, the BMC also needs to receive and store the second IP address and MAC address sent by the host in advance.

[0030] Alternatively, if the host wants to forcibly disable the BMC's proxy function, the method may further include: The ARP frame proxy operation is stopped based on the disable / enable command sent by the host.

[0031] The above-mentioned operation steps will be explained in a specific example below: 1. Power on the host device, the host performs self-test and self-test, and then performs initialization operations; after powering on the BMC, it performs firmware self-test and initialization operations, and then monitors the host hardware parameters through the bus and connects to the host.

[0032] 2. The host device sends its IP address and MAC address connected to the local area network to the BMC in the form of a message via the I2C serial port. The BMC's dedicated network port stores the host device's IP address and MAC address.

[0033] 3. If the host device requires BMC to perform ARP proxy, configure the BMC control module through the I2C bus to enable BMC to perform ARP frame proxy.

[0034] For example, the host writes an enable signal (Proxy_EN = 1) to the BMC's control register (Proxy_EN_Reg) via the I2C bus. At this point, the BMC loads the host's IP and MAC addresses, and the state machine switches to proxy mode. Step 4.1 is then executed. Alternatively, if the BMC is already in ARP proxy mode and you need to disable the BMC's ARP frame proxy function, you can configure the BMC control module via the I2C bus to disable the proxy.

[0035] For example, if the host is actively woken up by a local timed task or manual operation, it clears the enable register (Proxy_EN = 0) via the bus, and the BMC directly exits the agent, returning control. At this time, step 4.2 is executed.

[0036] 4.1 When the BMC proxy host device sends an ARP frame, the host enters a low-power or sleep state. At this time, when there is an ARP frame in the local area network, the BMC dedicated network port will listen for the frame. If the IP address addressed by the ARP frame is the IP address of the host device, the network port will respond and send the MAC address of the host device pre-saved in step 2 to the addressing device.

[0037] 4.2 When the host device exits low power or sleep mode, configure the BMC control module to disable ARP proxy. At this time, when there are ARP frames in the local area network, the host device's network port will listen for them. When the addressing IP address is this device, the host device will respond and send a MAC frame to the addressing device.

[0038] 5. The addressing device obtains the MAC address of the host device and can communicate with the host device.

[0039] Optionally, in the foregoing embodiments, although the host answers the ARP request on behalf of the BMC in low-power mode, it is unable to receive subsequent actual service data. To solve this technical problem, the method may further include the following steps, based on the foregoing embodiments, as detailed below. Figure 4 As shown, it includes: Step S401: When a data packet of a preset type is detected, the data packet is intercepted.

[0040] Specifically, when the host is in low-power mode and the BMC has ARP proxy enabled, the BMC's dedicated network port continuously listens to the network bus after successfully replying to an ARP response. When it receives a data packet from an addressed device, the BMC first determines whether it is a preset data packet type. If so, it intercepts the packet through the hardware logic of the BMC control module.

[0041] Step S402: Determine the validity of the data packet.

[0042] Verifying the validity of a data packet essentially involves parsing whether it is a valid TCP / UDP packet (not an ARP broadcast). The verification process includes, for example, determining if the destination MAC address of the UDP / TCP packet matches the MAC address of the local host. IP address and checksum checks are performed to verify the correctness of the IP destination address and the integrity of the data; the port number is confirmed; UDP / TCP checks are performed; and finally, the payload operation is executed. In simpler terms, if the BMC dedicated network interface receives a service packet and the hardware matching logic is triggered (Valid_Payload_Rx == 1 and the destination MAC matches the pre-stored MAC), then the data packet is considered valid.

[0043] Step S403: If the data packet is a valid data packet, add the data packet to the pre-built message queue.

[0044] When a data packet is confirmed to be valid, it is added to a pre-built message queue to prevent connection timeout retransmissions due to the host not waking up.

[0045] Step S404: Send a preset priority wake-up command to the host to instruct the host to recover from the low power state to the full power operation state and process data packets.

[0046] Specifically, after adding the data packet to the message queue, a preset priority wake-up command is sent to the host. For example, the highest priority wake-up command is used to quickly wake up the host, allowing it to recover from a low-power state to a full-power operating state and process the data packet.

[0047] Specifically, the MC control module sends a high-priority wake-up interrupt signal (Wake_Event_Assert) to the host via the I2C bus. Upon receiving the interrupt, the host begins power-on recovery, and the state machine enters a handover waiting state.

[0048] Furthermore, during the transition phase of the host waking up and network card initialization, the BMC continues to perform proxy work. This continues until the BMC receives a second instruction from the host to stop proxying, at which point it stops ARP frame proxying. This second instruction is sent by the host to the baseboard management controller after waking up and performing network initialization.

[0049] Specifically, the second indication information is, for example, a handover completion acknowledgment (Handover_Ack=1) sent by the host via the bus to indicate that the BMC exits agent mode.

[0050] The host's primary network interface card (NIC) proactively broadcasts an ARP packet to the local area network (LAN). This packet is used to refresh the MAC address forwarding table of the switch ports within the LAN, ensuring that subsequent TCP / UDP service data streams can be seamlessly and accurately routed to the host's primary NIC.

[0051] After processing all data packets in the message queue, the host sends a first indication message to the BMC. This first indication message indicates that the host has finished processing all packets in the message queue. BMC, upon receiving the first instruction, also needs to clear the message queue according to the first instruction.

[0052] Further optionally, based on the foregoing embodiments, before adding the data packet to the pre-built message queue when the data packet is a valid data packet, the method further includes the following method steps, as detailed in the example below. Figure 5 As shown, it includes: Step S501: Extract the fingerprint information of the data packet. The fingerprint information includes the protocol type and / or source port number information of the data packet.

[0053] Step S502: When it is determined that the fingerprint information is the same as the fingerprint information of any data packet in the message queue, the data packet overwrites the data packet with the same fingerprint information in the message queue.

[0054] Specifically, in order to prevent the host from being woken up ineffectively and reduce the number of times the host is woken up, the method also includes identifying whether the fingerprint information of the currently received data packet is the same as the fingerprint information of the data packets in the message queue. If they are the same, the data packets with the same fingerprint information in the message queue are overwritten, or the new packets are retained and the old packets are discarded.

[0055] Queue space is a scarce resource during the dormant proxy phase. This mechanism ensures that each message stored in the queue comes from a different business context, fundamentally preventing duplicate and redundant information from crowding out queue space. This allows the limited queue space to accommodate more diverse and broader business requests, significantly improving the utilization efficiency of queue resources. Since there are no duplicate messages in the queue after the host is woken up, it no longer needs to perform repeated processing for the same business logic. This directly shortens the workload and processing time that the host must complete in the high-power wake-up state, allowing the host to return to the low-power state more quickly. For scenarios such as edge computing and data center servers that pursue extreme energy efficiency, this brings direct and quantifiable power savings. Moreover, by filtering out redundant messages, unnecessary wake-up events triggered by queue backlog are reduced, making each wake-up more "necessary" and "valuable." At the same time, the time spent by the host processing the queue is greatly reduced, and the end-to-end latency from the arrival of the message at the BMC to the completion of host processing is significantly reduced, improving service response speed. When faced with common network anomalies such as network jitter, packet retransmission, or misconfigured applications frequently sending the same requests, this mechanism can automatically "digest" this redundant traffic and prevent it from impacting the background host. It is equivalent to providing an adaptive traffic shaping protection for the dormant host, thereby improving the stability and reliability of the entire system.

[0056] This solution cleverly addresses the triple waste of resources, energy consumption, and latency caused by information redundancy in traditional solutions through a low-overhead intelligent deduplication step implemented on the BMC side. It elevates the BMC's role from a "dumb pipe" to an intelligent preprocessing node with basic data deduplication capabilities, achieving a synergistic optimization effect of purifying wake-up payloads, improving energy efficiency, and ensuring the timeliness of critical business operations with almost no increase in hardware costs. In an optional example, fingerprint information may also include one or more of the following: protocol-specific flags of the data packet, arrival timestamp, and valid resuming hash digest. Protocol-specific flags may include, for example, TCP's SYN / FIN / RST flags and UDP's checksum status. The hash digest may be obtained by calculating the CRC32 of the first n bytes of the packet payload.

[0057] When comparing fingerprint information, it may also include: If the timestamp of an existing message with the same fingerprint in the queue is earlier than the preset "time limit" (e.g., 5 seconds ago), the new message will overwrite it; if it is within the time limit, the new message will be discarded and the old message will be retained. And / or, For the TCP protocol, if a new packet carries the SYN / FIN / RST flags, while packets with the same fingerprint in the queue do not, the new packet will overwrite the existing one; otherwise, it will be discarded. And / or, If the payload hash of a new message is different from the payload hash of a message in the queue, the new message will overwrite the existing message; otherwise, the message will be discarded.

[0058] In addition, it may include: Record the fingerprint, timestamp, reason for overwriting, etc. of the overwritten message and compile them into the "Duplicate Statistics Table"; When the coverage frequency of the same fingerprint in the "Deduplication Statistics Table" exceeds the threshold (e.g., 10 times / minute), a flow control suppression signal is sent to the network layer to temporarily reduce or discard the data flow from that source IP / port until the coverage frequency returns to normal.

[0059] In this way, the queue no longer stores "the last N messages to arrive," but rather "the N most timely, most business-representative, and non-repeating messages." Each queue position carries the greatest information value. Traditional simple overlay in heartbeat-intensive scenarios can lead to the queue being "dominated" by heartbeat packets, preventing other business messages from joining. This solution's "time decay strategy" ensures a reasonable tolerance for heartbeat frequencies, preventing high-frequency legitimate traffic from crowding the queue. Furthermore, through the "protocol state priority strategy," TCP's SYN, FIN, RST, and other connection lifecycle control messages are never overwritten by ordinary data packets. This ensures that network connection establishment and closure commands are reliably transmitted during host hibernation, avoiding the "ghost connection" problem of inconsistent connection states. The "payload freshness strategy" distinguishes between identical retransmission packets (discarded) and updated state packets (overwritten). This is crucial for scenarios such as transmitting sensor data and state synchronization, ensuring that the host receives the latest state upon wake-up, rather than stale data. The "deduplication statistics table + flow control suppression" mechanism upgrades the BMC from a passive packet processor to a proactive control point with network anomaly detection capabilities. When a source IP is detected generating a large number of duplicate packets in a short period (potentially due to configuration errors or attacks), it can proactively reduce its traffic, protecting the entire system from continuous impacts from junk traffic. Furthermore, the detailed "deduplication statistics table" records when, why, and whose packets were overwritten. This provides valuable debugging information for network administrators to investigate "why a certain request failed to wake up the host," tracing the lifecycle of packets in the BMC queue. Through intelligent judgment, it avoids a large number of valueless overwriting operations (such as overwriting identical heartbeats within milliseconds), reducing the BMC's own power consumption. By ensuring that the queue contains only "high-value, non-duplicate, and up-to-date" packets, the workload processed by the host after each wake-up is streamlined and necessary, avoiding unnecessary CPU cycles caused by processing a large number of duplicate packets, further shortening the dwell time of high-power states.

[0060] This solution systematically upgrades the simple operation of "deduplication" into a complete intelligent queue management system based on "value assessment based on multi-dimensional fingerprints + intelligent arbitration based on protocol semantics + source control based on statistical learning". It not only optimizes queue information density and host power consumption locally, but also provides protocol state guarantees and network anomaly management capabilities at the global level. This solves the three major shortcomings of traditional solutions—"only deduplication, no value assessment, and no source control"—and creates a significant technological synergy.

[0061] Alternatively, the method may further include the following method steps: Based on the protocol type, all data packets in the message queue are prioritized so that subsequent hosts can process the data packets according to the priority sorting order.

[0062] Specifically, when processing data packets, the host prioritizes more important packets based on their importance, reducing processing latency. The sorting order can be determined based on the protocol type. For example, management packets (SSH, HTTPS, iDRAC / IPMI dedicated port packets) are assigned the highest weight. Storage packets (iSCSI, NVMe-oF protocol packets) are assigned high weight. Business packets (custom TCP / UDP ports for specific applications) are assigned medium weight. Unknown / flooded packets (unrecognized protocols or common scanned port packets) are assigned the lowest weight or discarded.

[0063] This approach ensures that once the host is awakened, it directly processes the highest-priority core business, without "idling" in the awakened state (C0) while waiting to process low-priority garbage packets at the head of the queue. This allows the host to complete its work faster and return to sleep mode, significantly reducing average power consumption. Through priority sorting, the BMC can prioritize discarding low-priority packets (such as scan traffic) when the queue is full, rather than randomly discarding them like a FIFO, thus avoiding invalid wake-ups triggered by "garbage filling the queue." High-priority packets such as management commands (SSH) and storage heartbeats (iSCSI) are immediately placed at the top, regardless of when they arrive. This ensures that the management channel is never lost and the storage link never times out, even when host resources are extremely limited (low power consumption), solving the biggest operational pain point for edge servers during sleep mode. Moreover, for high-priority services, the path from "BMC reception → host processing" is greatly shortened. This deterministic low latency is crucial for latency-sensitive scenarios such as financial transactions and industrial control, breaking the traditional perception that "low power consumption equals high latency." Furthermore, when the network is subjected to DDoS or broadcast storms, low-priority attack / interference packets will be automatically queued or dropped, while high-priority management packets can still penetrate the attack traffic, ensuring the system's serviceability in harsh network environments.

[0064] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.

[0065] Embodiments of this application also provide an ARP proxy optimization device based on BMC, see details below. Figure 6 As shown, the device includes: a listening module 601, a parsing module 602, a processing module 603, and a sending module 604.

[0066] The listening module 601 is used to listen for Address Resolution Protocol (ARP) frame addressing instructions after entering the ARP frame proxy state according to the enable instruction sent by the host. The parsing module 602 is used to parse the ARP frame addressing instructions and obtain the first IP address included in the ARP frame addressing instructions; Processing module 603 is used to determine whether the IP address in the first IP address addressing instruction is the same as the second IP address of the host; The sending module 604 is used to send the pre-stored MAC address corresponding to the second IP address to the ARP frame addressing instruction sending end when the processing module 603 determines that the IP address in the first IP address addressing instruction is the same as the second IP address of the host.

[0067] In an optional example, the device also includes a receiving module 605 for receiving a second IP address and MAC address sent by the host; The processing module 603 is also used to store the second IP address and MAC address.

[0068] In an optional example, the listening module 601 is also used to listen for data packets of a preset type; The processing module 603 is also used to intercept data packets when a preset type of data packet is detected; determine the validity of the data packet; and add the data packet to a pre-built message queue when the data packet is a valid data packet. The sending module 604 is also used to send a preset priority wake-up command to the host, instructing the host to recover from a low-power state to a full-power operating state and process data packets.

[0069] In an optional example, the receiving module 605 is also configured to receive first indication information, which is an indication information sent by the host after it has finished processing all messages in the message queue; The processing module 603 is also used to clear the message queue according to the first instruction information.

[0070] In an optional example, the receiving module 605 is also configured to receive a second indication message for stopping the agent sent by the host, the second indication message being the indication message sent to the baseboard management controller after the host is woken up and performs network initialization; The processing module 603 is also used to stop the ARP frame proxy operation according to the second instruction information.

[0071] In an optional example, the receiving module 605 is also used to receive a shutdown enable command sent by the host; The processing module 603 is also used to stop the ARP frame proxy operation according to the disable enable instruction.

[0072] In an optional example, the default data packet type is either a UDP packet or a TCP packet.

[0073] In an optional example, the processing module 603 is further configured to extract fingerprint information of the data packet, the fingerprint information including the protocol type and / or source port number information of the data packet; when it is determined that the fingerprint information is the same as the fingerprint information of any data packet in the message queue, the data packet overwrites the data packet with the same fingerprint information in the message queue.

[0074] In an optional example, the processing module 603 is further configured to prioritize all data packets in the message queue according to the protocol type when the fingerprint information includes a protocol type, so that subsequent hosts can process the data packets according to the priority sorting order.

[0075] For a description of the features of the BMC-based ARP proxy optimization device provided in this application, please refer to the relevant description of the BMC-based ARP proxy optimization method, which will not be repeated here.

[0076] This application provides an ARP proxy optimization device based on a BMC, which offloads the ARP response function from the host OS to the BMC. The BMC, as a hardware module independent of the host, needs to be always on to maintain the out-of-band management channel, utilizing its remaining computing power to handle ARP listening with zero interference to the host. This avoids the situation where traditional ARP responses rely on the host OS's network stack, causing the host to frequently wake up or remain active to handle ARP requests, preventing deep sleep. The host can completely enter a low-power state (such as S3 / S4), no longer frequently woken up by ARP broadcast packets at the network layer, significantly extending the host's deep sleep duration. As a low-power coprocessor, the BMC in this application reuses its existing energy consumption, using a "small power module (BMC) replacing a high power system (host)" architecture to minimize the total system power consumption while ensuring network reachability. Even if the host is physically asleep, the BMC can still "impersonate" the host at the network layer, maintaining the host's online network identity. This creates a new state of "logically online, physically asleep," thus resolving the classic contradiction of "energy saving equals network disconnection."

[0077] In other words, even in deep sleep mode, the host operating system can maintain network reachability at the ARP protocol level, completely eliminating the power consumption caused by the host waking up in response to ARP requests. By fully utilizing the hardware characteristic of the BMC running residently, a leap in system-level energy efficiency is achieved through functional expansion without adding additional dedicated hardware. Through the BMC proxy mechanism, the strong dependence of the ARP protocol on the online status of the physical host is overcome, achieving decoupling between network identity and physical power consumption status.

[0078] Embodiments of this application also provide an electronic device, such as... Figure 7 As shown, it includes a memory 10 and a processor 20. The memory 10 stores a computer program, and the processor 20 is configured to run the computer program to perform the steps in any of the above embodiments of the BMC-based ARP proxy optimization method.

[0079] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above embodiments of the BMC-based ARP proxy optimization method, or to execute the steps in any of the above embodiments of the data reading method.

[0080] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0081] The embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the BMC-based ARP proxy optimization method embodiments described above.

[0082] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described data reading method embodiments.

[0083] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0084] The above provides a detailed description of the BMC-based ARP proxy optimization method and device provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A BMC-based ARP proxy optimization method, characterized in that, The method is executed by a substrate management controller, and the method includes: Upon entering the ARP frame proxy state according to the enable command sent by the host, it listens for and parses the Address Resolution Protocol (ARP) frame addressing command to obtain the first IP address included in the ARP frame addressing command. When the IP address in the first IP address addressing instruction is the same as the second IP address of the host, the pre-stored MAC address corresponding to the second IP address is sent to the ARP frame addressing instruction sending end.

2. The method according to claim 1, characterized in that, Before listening to and parsing the Address Resolution Protocol (ARP) frame addressing instructions, the method further includes: Receive and store the second IP address and the MAC address sent by the host.

3. The method according to claim 1 or 2, characterized in that, The method further includes: When a data packet of a preset type is detected, the data packet is intercepted; Determine the validity of the data packet; When the data packet is a valid data packet, the data packet is added to a pre-built message queue; A preset priority wake-up command is sent to the host to instruct the host to resume from a low-power state to a full-power operating state and process the data packet.

4. The method according to claim 3, characterized in that, After sending the preset priority wake-up command to the host, the method further includes: Receive first indication information, which is an indication information sent by the host after it has finished processing all messages in the message queue; The message queue is cleared according to the first instruction.

5. The method according to claim 3, characterized in that, After sending the preset priority wake-up command to the host, the method further includes: The system receives a second instruction message to stop the agent sent by the host. The second instruction message is an instruction message sent by the host to the baseboard management controller after the host is woken up and performs network initialization. According to the second instruction, stop the ARP frame proxy operation.

6. The method according to claim 1 or 2, characterized in that, The method further includes: The ARP frame proxy operation is stopped according to the disable enable command sent by the host.

7. The method according to any one of claims 3, characterized in that, The preset type of data packet is either a UDP packet or a TCP packet.

8. The method according to any one of claims 3, characterized in that, Before adding the data packet to the pre-built message queue when the data packet is a valid data packet, the method further includes: Extract the fingerprint information of the data packet, the fingerprint information including the protocol type and / or source port number information of the data packet; When it is determined that the fingerprint information is the same as the fingerprint information of any data packet in the message queue, the data packet is used to overwrite the data packet with the same fingerprint information in the message queue.

9. The method according to claim 8, characterized in that, When the fingerprint information includes a protocol type, the method further includes: According to the protocol type, all data packets in the message queue are prioritized so that subsequent hosts can process the data packets according to the priority sorting order.

10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the BMC-based ARP proxy optimization method as described in any one of claims 1 to 9 when executing the computer program.