Search

JP-2026514231-A - Load-aware packet size distribution measurement in network devices

JP2026514231AJP 2026514231 AJP2026514231 AJP 2026514231AJP-2026514231-A

Abstract

The network device determines a load metric corresponding to the processing load of the network device. In response to determining that the load metric meets a threshold, the network device begins measuring distribution information regarding the distribution of packet sizes processed by the network device, and then terminates the measurement of distribution information. The network device then uses the distribution information to control the network device.

Inventors

  • リン メグ
  • マシューズ ウィリアム ブラッド
  • ブッドヒア ルパ
  • クワン ブルース

Assignees

  • マーベル アジア ピーティーイー、リミテッド

Dates

Publication Date
20260507
Application Date
20240428
Priority Date
20230428

Claims (20)

  1. A method for controlling the operation of a network device, In the aforementioned network device, a step of determining a load metric corresponding to the processing load of the network device; In response to determining that the load metric satisfies a first threshold, the network device begins measuring distribution information relating to the distribution of packet sizes processed by the network device; A method comprising: a step of completing the measurement of distribution information relating to the distribution of the sizes of packets processed by the network device in the network device; and a step of controlling the network device using the distribution information in the network device.
  2. A step in which the timer of the network device is started in response to the determination that the load metric meets the first threshold; Furthermore, The method according to claim 1, wherein the step of terminating the measurement of the distribution information includes a step of terminating the measurement of the distribution information in response to the expiration of the timer.
  3. The method according to claim 1, wherein the step of terminating the measurement of the distribution information is in response to determining that the load metric satisfies a second threshold.
  4. Determining that the load metric satisfies the first threshold includes at least one of: i) determining that the load metric is equal to the first threshold, and ii) determining that the load metric exceeds the first threshold; The method according to claim 3, wherein determining that the load metric satisfies the second threshold includes at least one of: i) determining that the load metric is equal to the second threshold, and ii) determining that the load metric is below the second threshold.
  5. The method according to claim 4, wherein the first threshold is equal to the second threshold.
  6. The method according to claim 4, wherein the first threshold is greater than the second threshold.
  7. The step of controlling the network device using the distribution information is: The method according to any one of claims 1 to 6, wherein the network device has the step of moving the transmission of a packet flow from a first port of the network device to a second port of the network device based on the distribution information.
  8. The step of controlling the network device using the distribution information is: The method according to any one of claims 1 to 6, wherein the network device has a step of changing from storing packets in a first queue of the network device to storing packets in a second queue of the network device, based on the distribution information.
  9. The step of controlling the network device using the distribution information is: The method according to any one of claims 1 to 6, further comprising the step of adjusting the processing rate at which the network device processes packets based on the distribution information.
  10. The step of controlling the network device using the distribution information is: The method according to any one of claims 1 to 6, further comprising the step of adjusting an algorithm corresponding to buffer allocation and/or buffer usage based on the distribution information.
  11. i) The step of the network device sending one or more flow control messages to another network device based on the distribution information; and ii) The step of the network device marking one or more packets to be sent to another network device based on the distribution information, wherein the marking of the one or more packets is to notify the other network device that the network device is in a congested state. The method according to any one of claims 1 to 6, further comprising at least one of the following.
  12. A network device, Multiple network interfaces; A packet processor configured to process data units received via the plurality of network interfaces and to determine which of the plurality of network interfaces transmits the data units; A first circuit configured to determine a load metric corresponding to the processing load of the network device; The second circuit, In response to determining that the load metric satisfies a first threshold, the measurement of distribution information regarding the distribution of packet sizes processed by the network device is initiated. A network device comprising: a second circuit configured to complete the measurement of distribution information relating to the distribution of the sizes of packets processed by the network device; and a controller configured to control the network device using the distribution information.
  13. The second circuit has a timer, and the second circuit, In response to determining that the load metric meets the first threshold, the timer is started; The network device according to claim 12, configured to terminate the measurement of the distribution information in response to the expiration of the timer.
  14. The second circuit described above is The network device according to claim 12, configured to terminate the measurement of the distribution information in response to determining that the load metric satisfies a second threshold.
  15. The second circuit described above is i) determine that the load metric is equal to the first threshold, and ii) determine that the load metric is greater than the first threshold; The network device according to claim 14, configured to determine one of the following: i) the load metric is equal to the second threshold, and ii) the load metric is below the second threshold.
  16. The network device according to claim 15, wherein the first threshold is equal to the second threshold.
  17. The network device according to claim 15, wherein the first threshold exceeds the second threshold.
  18. The plurality of network interfaces include a first network interface and a second network interface, and the controller is A network device according to any one of claims 12 to 17, configured to move the transmission of a packet flow from the first network interface to the second network interface based on the distribution information.
  19. A plurality of queues for storing packets processed by the network device, the plurality of queues including a first queue and a second queue; Furthermore, The network device according to any one of claims 12 to 17, wherein the controller is configured to change the storage of packets from a first queue to a second queue based on the distribution information.
  20. The aforementioned controller, The network device according to any one of claims 12 to 17, wherein the packet processor is configured to adjust the processing rate at which it processes packets based on the distribution information.

Description

This disclosure relates generally to communication networks, and more specifically to power-saving technologies for use within network devices. The methods described in this section are pursued methods, but they are not necessarily methods that have been previously devised or pursued. Therefore, unless otherwise indicated, none of the methods described in this section should be assumed to be qualified as prior art simply by being included in this section. A computer network is a set of computing components interconnected by communication links. Each computing component may be a separate computing device, such as a hub, network switch, bridge, router, server, gateway, or personal computer, or components thereof. Each computing component, or “network device,” is considered a node in the network. A communication link is a mechanism that connects at least two nodes so that each node can transmit data to and receive data from other nodes. Such data may be transmitted in the form of signals over a transmission medium, such as, but not limited to, electrical cables, optical cables, or wireless media. The structure and transmission of data between nodes are governed by numerous different protocols. Multiple protocol layers may exist, typically starting from the lowest layer, such as the “physical” layer, which regulates the transmission and reception of raw bitstreams as signals over the transmission medium. Each layer defines data units (protocol data units, or “PDUs”), and multiple data units in one layer combine to form a single data unit in another layer. Further examples of layers may include, for example, the data link layer, where bits defined by the physical layer combine to form frames or cells; the network layer, where frames or cells defined by the data link layer combine to form packets; and the transport layer, where packets defined by the network layer combine to form Transmission Control Protocol (TCP) segments or User Datagram Protocol (UDP) datagrams. The Open Systems Interconnection (OSI) model of communications describes these and other communication layers. However, other models may also be used that define other methods of layering information. The Internet Protocol (IP) suite, or "TCP/IP stack," is an example of a common group of protocols that can be used together across multiple layers to communicate information. However, the techniques described herein may have applications to other protocols outside the TCP/IP stack. A given node in a network, especially in more complex networks, may not necessarily have links to every other node in the network. For example, in a wired network, each node may have only a limited number of physical ports to which cables can be connected to create links. A particular "terminal" node, often a server or end-user device, may have only one or a few ports. Other nodes, such as switches, hubs, or routers, may have many more ports and are typically used to relay information between terminal nodes. The arrangement of nodes and links in a network is called the network topology and is typically visualized as a network graph or tree. A given node in a network may communicate with another node in the network by transmitting data units along one or more different “paths” through the network to other nodes, each path including any number of intermediate nodes. Data transmission across a computing network typically involves transmitting units of data, such as packets, cells, or frames, along paths through intermediate networking devices, such as switches or routers, that either directly or redirect each data unit to its corresponding destination. The period while a data unit is passing through an intermediate networking device is conceptualized as a "visit" or "hop," during which the device may perform a variety of actions or processing steps on the data unit. The exact set of actions taken depends on various characteristics of the data unit, such as metadata found in the data unit's header, and often on the context or state of the network device. For example, address information specified by or associated with the data unit, such as source address, destination address, virtual local area network (VLAN) identifier, and path information, is typically used to determine how to process the data unit (i.e., what actions to take on the data unit). For example, an IP data packet may include a destination IP address field in its header, which a network router may use to determine one or more other networking devices from a number of possible other networking devices to which the IP data packet should be forwarded. Different types of data units tend to have different packet sizes. For example, control packets (e.g., packets for setting up a connection, packets for disconnecting a connection, acknowledgment packets, etc.) tend to be relatively small, often less than 100 bytes, while data packets tend to be significantly larger than control packets, often exceeding 1000 bytes. Another