WO2022109986A1 - 报文转发方法、装置以及电子设备 - Google Patents

报文转发方法、装置以及电子设备 Download PDF

Info

Publication number
WO2022109986A1
WO2022109986A1 PCT/CN2020/132102 CN2020132102W WO2022109986A1 WO 2022109986 A1 WO2022109986 A1 WO 2022109986A1 CN 2020132102 W CN2020132102 W CN 2020132102W WO 2022109986 A1 WO2022109986 A1 WO 2022109986A1
Authority
WO
WIPO (PCT)
Prior art keywords
outbound interface
target
queue
outbound
time slice
Prior art date
Application number
PCT/CN2020/132102
Other languages
English (en)
French (fr)
Inventor
王玮
Original Assignee
新华三技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新华三技术有限公司 filed Critical 新华三技术有限公司
Priority to US18/003,485 priority Critical patent/US20230254263A1/en
Priority to PCT/CN2020/132102 priority patent/WO2022109986A1/zh
Priority to JP2022575727A priority patent/JP7433479B2/ja
Priority to CN202080003397.3A priority patent/CN112585914B/zh
Priority to EP20962877.5A priority patent/EP4156645A4/en
Publication of WO2022109986A1 publication Critical patent/WO2022109986A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Definitions

  • the present application relates to network communication technologies, and in particular, to a message forwarding method, apparatus, and electronic device.
  • packet forwarding delay can be determined to ensure the end-to-end delay.
  • packets are forwarded by routers according to a store-and-forward mechanism, which can improve bandwidth utilization.
  • the current store-and-forward mechanism only pays attention to the forwarding of packets, and does not consider the delay of packet forwarding enough, so it is difficult to meet the requirement that the delay can be determined, and it cannot guarantee the end-to-end delay.
  • FIG. 2 is a flowchart for realizing step 101 provided by the embodiment of the present application.
  • FIG. 3 is a flowchart for implementing step 102 provided in this embodiment of the present application.
  • FIG. 4 is a flowchart for implementing step 103 provided in this embodiment of the present application.
  • FIG. 5 is a flowchart of another method provided by an embodiment of the present application.
  • FIG. 6 is a flow chart of message forwarding provided by an embodiment of the present application.
  • FIG. 7 is another flow chart of packet forwarding provided by an embodiment of the present application.
  • FIG. 8 is a structural diagram of a device provided by an embodiment of the present application.
  • FIG. 9 is a structural diagram of another device provided by an embodiment of the present application.
  • FIG. 10 is a hardware structural diagram of an apparatus provided by an embodiment of the present application.
  • first, second, third, etc. may be used in this application to describe various information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information without departing from the scope of the present application.
  • word "if” as used herein can be interpreted as "at the time of” or "when” or "in response to determining.”
  • Inbound packet processing delay It is mainly manifested in the delay of inbound packet processing logic such as identifying packet headers and packet look-up tables, which is caused by the software or hardware itself that executes the above inbound packet processing logic. performance is determined. During specific implementation, once the software or hardware that executes the above-mentioned inbound packet processing logic is determined, the corresponding inbound packet processing delay is also determined. In other words, the inbound packet processing delay here is a fixed value.
  • Delay of sending packets to the outgoing interface link mainly reflected in the delay of sending packets to the link connected to the outgoing interface due to the influence of the link speed, which is determined by the bandwidth of the outgoing interface.
  • the bandwidth of the outgoing interface will be pre-configured, and accordingly, the delay of sending packets to the link connected to the outgoing interface may also be determined based on the pre-configured bandwidth of the outgoing interface. In other words, the delay for sending the packet to the link connected to the outgoing interface is a fixed value.
  • the transmission delay of the message from the start point to the end point it is mainly reflected in the transmission delay caused by the distance when the message is transmitted from the start point to the end point, which is determined by the physical characteristics such as transmission distance and transmission speed.
  • the transmission delay of the packet from the start point to the end point is a fixed value.
  • Waiting delay for queue scheduling on the outbound interface It is mainly reflected in the delay between when the packet is put into the queue on the outbound interface until the packet is scheduled and forwarded from the queue on the outbound interface.
  • the reason for this delay is that the packet cannot be sent immediately after receiving the packet and completing routing selection for the packet.
  • the reason why the message cannot be sent immediately is because there are other messages in the queue waiting to be sent, and it is necessary to wait for the other messages in front to finish sending before sending.
  • the waiting time for other packets to be sent is unpredictable, so the waiting delay for queue scheduling in the outbound interface direction here is also unpredictable.
  • the waiting delay of queue scheduling in the outbound direction cannot be predicted, so the delay of packet forwarding cannot be determined, and the determinable network cannot be realized.
  • FIG. 1 is a flowchart of a method provided by an embodiment of the present application. This process should be used to manage devices.
  • the management device here is used to manage at least one network device.
  • the management device here may be an SDN controller, and correspondingly, the foregoing network device may be an SDN device such as an SDN switch, which is not specifically limited in this embodiment.
  • the process may include the following steps:
  • Step 101 Determine the length of a time slice corresponding to the outgoing interface according to the bandwidth of the outgoing interface on the network device for forwarding the packet and the specified packet length.
  • the outgoing interface here may be an interface connected to an upstream device or a network (may be referred to as a network-side interface).
  • the time slice is a new concept introduced by the embodiments of the present application.
  • the purpose of introducing the time slice is to subdivide the queue scheduling period in the outbound interface direction corresponding to the above-mentioned outbound interface, as specifically described in step 102 .
  • As for how to determine the length of the time slice an example will be described below, which will not be repeated here.
  • Step 102 Determine the number M of time slices in the queue scheduling period in the outbound interface direction corresponding to the above-mentioned outbound interface according to the length of one time slice and the specified one-hop delay.
  • the outbound interface direction queue scheduling period is used to schedule N outbound interface direction queues corresponding to the above-mentioned outbound interface.
  • N is greater than or equal to 1, which may be specifically determined according to the performance of the foregoing network device.
  • the packets in the queue in the direction of each outgoing interface are forwarded through the above-mentioned outgoing interface.
  • different outbound interface direction queues correspond to different service attributes.
  • the above-mentioned service attribute can be a forwarding equivalence class of the service (which can be implemented by a quintuple, where the quintuple can be source IP address, destination IP address, source port, destination port, protocol type TCP/ UDP represents); it can also be the category of the service itself, such as voice service, video service, etc., which is not specifically limited in this embodiment.
  • the above-mentioned N outbound interface direction queues do not include reserved queues.
  • the N outbound interface direction queues meet the following requirements: the service attributes corresponding to the same outbound interface direction queue are the same.
  • the reserved queue may be a Best Effort queue.
  • the Best Effort queue can send any number of packets at any time, and does not provide any guarantees on bandwidth, delay, jitter, and reliability.
  • the above-mentioned N outbound interface direction queues may also include at least one reserved queue.
  • the queues other than the reserved queues among the N outbound interface direction queues meet the following requirements: the service attributes corresponding to the same outbound interface direction queue are the same. And for reserved queues, it may not be limited by the above requirements.
  • step 102 determines the time slice in the outbound interface direction queue scheduling cycle corresponding to the outbound interface.
  • Quantity M the queue scheduling period in the outbound direction can be determined.
  • the above-specified one-hop delay is also the currently acceptable longest one-hop delay, which can be set according to the actual situation, for example, can be set to 1ms, 100us, etc., which is not specifically limited in the embodiment of the present invention .
  • Step 103 Allocate time slices corresponding to the outgoing interface direction queue scheduling period to the outgoing interface direction queue according to the service attribute corresponding to the outgoing interface direction queue, so that the network device can perform each time slot in the outgoing interface direction queue scheduling period.
  • a time slice schedules the packets in the outbound direction queue corresponding to the time slice.
  • a corresponding time slice is allocated to each outbound interface direction queue according to the service attribute corresponding to each outbound interface direction queue.
  • M the total number of time slices allocated to the N outbound interface direction queues. It should be noted that, in view of the particularity of the reserved queues, if the above-mentioned N outbound interface direction queues include at least one reserved queue, on this premise, the N outbound interface direction queues other than the reserved queues can be selected first. The queue allocates time slices. If there are remaining time slices after the allocation is completed, the remaining time slices can be allocated to the reserved queue. Otherwise, no time slice can be allocated to the reserved queue.
  • the reserved queue can send any number of packets at any time, regardless of whether it has been allocated a time slice, it can be sent to the queue on the outbound interface that has been allocated a time slice at the time corresponding to the actual situation. In-chip sending. For example, for a time slice, there is still time left after sending the packets in the corresponding outbound direction queue. At this time, the packets in the reserved queue can be sent within the remaining time; For example, for a time slice, there is still time left after sending a packet in the corresponding outbound direction queue. At this time, the remaining time is not enough to send the next packet in the outbound interface direction queue. The packets in the reserved queue are sent within the remaining time.
  • the network device schedules the packets in the outgoing interface direction queue scheduling period, it schedules the packets in the outbound interface direction queue corresponding to the time slice in each time slice in the outgoing interface direction queue scheduling period.
  • the best result is that just after the packet enters the outbound interface direction queue, the packet in the outbound interface direction queue is sent in the current time slice in the current outbound interface direction queue scheduling cycle.
  • the packet's waiting delay for queue scheduling in the outbound interface direction is the smallest (recorded as the optimal delay). For example, it can be set to 0 by default.
  • the worst result is that after the packet has just entered the outbound direction queue, it just passes the time slice corresponding to the outbound interface direction queue, then the packet needs to wait for the next outbound interface direction queue scheduling cycle to be sent.
  • the waiting delay of queue scheduling in the outbound interface direction is the longest (recorded as the worst delay), which is "a queue scheduling period in the outbound interface direction". If the length of the time slice is 1ms, and an outbound interface direction queue scheduling period T has 10 time slices (that is, an outbound interface direction queue scheduling period T is 10ms), the worst delay here is 10ms. That is to say, the length of the worst delay is determined by the length of the time slice * the number of time slices in a queue scheduling cycle in the outbound interface direction.
  • the waiting delay of queue scheduling in the outbound direction is between the worst delay and the best delay. This realizes the determination of the waiting delay of queue scheduling in the outbound interface direction. Based on the description of the delay that may be generated in the packet forwarding process, this embodiment finally realizes the determination of the delay.
  • the embodiment of the present application sets the corresponding outbound interface direction queue scheduling period for the outbound interface on the network device, as well as the number of time slices in the outbound interface direction queue scheduling period and the difference between a time slice. and allocate corresponding time slices to each outbound interface direction queue corresponding to the outbound interface within the outbound interface direction queue scheduling period, so that the network device schedules the corresponding time slice in each time slice in the outbound interface direction queue scheduling period.
  • the packets in the queue in the outbound interface direction which realizes that the waiting delay of queue scheduling in the outbound interface direction is between the worst delay and the best delay mentioned above, and realizes the determination of the waiting delay of queue scheduling in the outbound interface direction. In this way, the determinability of the packet forwarding delay is realized.
  • the first consideration is the packet length.
  • the length of the packets transmitted in this time slice is fixed.
  • an IP packet is a variable-length packet, and the length of the packet transmitted in any one time slice cannot be fixed.
  • the embodiment of the present application may specify the message length according to actual requirements, for example, the specified message length is 64 bytes (Bytes), 512 Bytes, 1518 Bytes, and 2 Kbytes.
  • the above-mentioned determination of the length of a time slice corresponding to the outbound interface according to the bandwidth of the outbound interface used for forwarding packets on the network device and the specified packet length may include the process shown in Figure 2:
  • FIG. 2 is a flowchart for implementing step 101 provided in this embodiment of the present application. As shown in Figure 2, the process may include the following steps:
  • Step 201 Determine a reference value (IFG) for calculating the length of a time slice according to the specified packet length.
  • IFG a reference value
  • the reference value IFG here can take a value when the specified packet length is an integer multiple of 4 bytes, for example, the specified packet length is 64 bytes, 512 bytes, 1518 bytes, 2K bytes, etc. is the first value, such as 12, otherwise, it can be the second value, such as other values except 12.
  • Step 202 Determine the length of the one time slice according to the reference value, the specified packet length, the bandwidth of the outgoing interface, and according to the set time slice length calculation formula.
  • the above set time slice length calculation formula may be the following formula 1:
  • Frame is the length of the specified message.
  • the IFG is described above and will not be repeated here.
  • Bandwidth is the bandwidth of the outgoing interface.
  • the following table 2 shows the length of the next time slice for different specified packet lengths by taking the outbound interface bandwidth of 10G Ethernet as an example:
  • Time slice length (us) 14880952 ⁇ 64Bytes 0.0672 2349624 ⁇ 512Bytes 0.4256 812744 ⁇ 1518Bytes 1.2304 604449 ⁇ 2KBytes 1.6544
  • Table 3 shows the length of the next time slice for different specified packet lengths by taking the outgoing interface bandwidth of 100G Ethernet as an example:
  • Time slice length (us) 148809523.8 ⁇ 64Bytes 0.00672 23496240.6 ⁇ 512Bytes 0.04256 8127438.231 ⁇ 1518Bytes 0.12304 6044487.427 ⁇ 2KBytes 0.16544
  • step 102 determines the number M of time slices in the outbound interface direction queue scheduling period corresponding to the outbound interface according to the length of one time slice and the specified one-hop delay:
  • FIG. 3 is a flowchart for implementing step 102 provided in this embodiment of the present application. As shown in Figure 3, the process may include the following steps:
  • Step 301 Calculate the quotient of the specified one-hop delay and the length of the one time slice.
  • the above-mentioned step 301 can be expressed by the following formula 2: the specified one-hop delay/the length of one time slice.
  • the specified one-hop delay is 1ms
  • the length of one time slice is 0.4256us
  • the specified one-hop delay is 1ms
  • the length of one time slice is 0.04256us
  • the number M of time slices in the queue scheduling period in the outgoing interface direction generally needs to be equal to 2 x , where x can be any positive integer.
  • the quotient obtained in the above step 301 and 2 x can be used to determine the number M of time slices in the above-mentioned outbound direction queue scheduling period. For details, see the description of step 302 below:
  • Step 302 If the quotient is 2 x and x is any positive integer, determine the quotient to be the above M ;
  • the quotient obtained above is 2349, 2048 (2 11 ) which is closest to 2349 can be selected as the above M.
  • the quotient obtained above is 23496, 16384 (2 14 ) which is closest to 23496 can be selected as the above M.
  • the duration of each outbound interface direction queue scheduling period is the length of M time slices.
  • FIG. 4 is a flowchart for implementing step 103 provided in this embodiment of the present application. As shown in Figure 4, the process may include the following steps:
  • Step 401 For each outbound interface direction queue, obtain a delay requirement corresponding to the outbound interface direction queue according to the service attribute corresponding to the outbound interface direction queue, where the delay requirement includes the required target delay.
  • an outbound interface direction queue corresponds to a type of service (corresponding to service attributes), and corresponding to this type of service, the corresponding delay requirement is configured based on the characteristics of this type of service.
  • the target latency in the corresponding latency requirement is relatively small.
  • the target latency in the corresponding latency requirement is relatively small. bigger.
  • Step 402 Obtain the configured maximum transmission unit (MTU: Maximum Transmission Unit) of the outbound interface direction queue.
  • MTU Maximum Transmission Unit
  • an outbound interface direction queue corresponds to a type of service (corresponding to service attributes), and for this type of service, MTU is also configured based on the actual requirements of the application to prevent service flow congestion.
  • Step 403 Allocate time slices corresponding to the outgoing interface direction queue scheduling period to the outgoing interface direction queue according to the obtained delay requirement and the above-mentioned MTU.
  • this step 403 may be performed according to the principle of avoiding packet splitting and meeting the delay required by the service.
  • the outbound interface direction queue if the configured MTU of the outbound interface direction queue is greater than the specified packet length, then within one outbound interface direction queue scheduling cycle, multiple outbound interface direction queues can be allocated to the outbound interface direction queue. Consecutive time slices to meet the service requirements for a larger maximum packet length and avoid packet splitting and reorganization.
  • the delay requirement configured for the outbound interface direction queue is relatively high, for example, the required target delay is very small, multiple distributed time can be allocated in one outbound interface direction queue scheduling period. Slices are queued for the outbound interface direction to obtain higher and more uniform delay.
  • step 403 may include the following situations when specifically implemented:
  • Case 1 When the delay required by the outbound direction queue is relatively high (represented by the target delay required by the outbound interface direction queue being less than or equal to the set delay threshold), and the configured MTU of the outbound interface direction queue is less than or equal to If the packet length is specified above, the time slice separated by the above target delay in an outbound interface direction queue scheduling period can be allocated to the outbound interface direction queue. For example, as shown in Table 4, queue 1 requires a relatively high delay, and the required target delay is less than or equal to the set delay threshold, then as shown in Table 4, the time slice 1, Time slice 7, time slice 16, etc. are allocated to queue 1 to meet the delay required by queue 1.
  • Case 2 When the delay required by the outbound direction queue is relatively high (represented by the target delay required by the outbound interface direction queue being less than or equal to the set delay threshold), and the configured MTU of the outbound interface direction queue is greater than the above specified If the packet length is set, the time slice group that is separated from the above target delay in an outgoing interface direction queue scheduling period can be allocated to the outgoing interface direction queue.
  • the time slice group includes L adjacent time slices, and L is the number of time slices occupied by the configured MTU of the outbound interface direction queue. For example, as shown in Table 5, queue 1 requires a relatively high delay, and the required target delay is less than or equal to the set delay threshold. 4 times, as shown in Table 5, the time slice group (including 4 consecutive time slices) separated by the above target delay in an outbound direction queue scheduling period can be allocated to this queue 1 to meet the time required by queue 1. Delay and do not group packets in queue 1.
  • Case 3 When the delay required by the queue in the outbound direction is relatively low (it is indicated by the target delay required by the queue in the outbound direction being greater than the set delay threshold), and the MTU configured for the queue in the outbound direction is smaller than the above-specified report.
  • P1 time slices in an outgoing interface direction queue scheduling period can be assigned to the outgoing interface direction queue.
  • P1 is greater than or equal to 1.
  • P1 is equal to 1.
  • P1 time slices are dispersed in the same outbound interface direction queue scheduling period. Taking P1 as an example, Table 1 above shows that the time slice corresponding to each outbound interface direction queue is allocated in the same outbound interface direction queue scheduling period.
  • Case 4 When the delay required by the queue in the outbound direction is relatively low (it is indicated by the target delay required by the queue in the outbound direction being greater than the set delay threshold), and the MTU configured for the queue in the outbound direction is greater than the specified report above.
  • the length of the text is set, P2 time slice groups in an outgoing interface direction queue scheduling period can be assigned to the outgoing interface direction queue.
  • the time slice group includes L adjacent time slices, and L is the number of time slices occupied by the configured MTU of the queue in the direction of the outgoing interface.
  • P2 is equal to 1. In other cases, if P2 is greater than 1, the P2 time slice groups are dispersed with each other in the same outbound interface direction queue scheduling period.
  • queue 1 requires a low delay, and its required target delay is greater than the set delay threshold, but the MTU configured for queue 1 is greater than the specified packet length above. 4 times the packet length, as shown in Table 6, a time slice group (including 4 consecutive time slices) within a queue scheduling period in the outgoing interface direction can be allocated to this queue 1, so that the packets in queue 1 grouping.
  • the above describes how to allocate time slices corresponding to the outgoing interface direction queue scheduling period to the outgoing interface direction queue according to the obtained delay requirement and the MTU in the above step 103 by taking four cases as examples. It should be noted that the above-mentioned four cases are only examples and are not limited.
  • the subsequent network device schedules each outbound interface direction queue when scheduling each outbound interface direction queue. , you can schedule according to the time slice. As shown in Table 6 above, within a queue scheduling period in the outbound interface direction, the network device can schedule queue 1 in four time slices: time slice 1, time slice 2, time slice 3, and time slice 4. 5 Dispatch queue 2, and so on. It should be noted that when scheduling any queue, if the remaining time in the time slice corresponding to the queue is not enough to send the next packet in the queue, the configured reserved queue can be sent within the remaining time. 's message.
  • the delay (also referred to as the delay per hop) of the network device from receiving the packet to sending the packet can finally be estimated.
  • the end-to-end delay can be obtained by adding up the delays of each hop of each network device on the forwarding path.
  • the above-mentioned forwarding path can be called a path that guarantees the end-to-end delay.
  • the above-mentioned management device may determine a corresponding forwarding path for the message before the network device forwards the message sent from the terminal to which the network device has accessed.
  • the network device may send a path request to the above-mentioned management device when receiving the message sent by the connected terminal, so as to instruct the network device to receive the message sent by the connected terminal and request the management device.
  • a corresponding forwarding path is determined for the packet received by the network device.
  • the management device can determine a corresponding forwarding path for the packet according to the configured path scheduling algorithm.
  • the specific manner of determining the forwarding path is not specifically limited in this embodiment.
  • the above-mentioned management device may further queue the target outbound interface of each hop on the forwarding path, the target outbound interface direction corresponding to the target outbound interface (also the service attributes that match the packet)
  • the identifier of the corresponding ) and the identifier of the target time slice corresponding to the target outbound interface direction queue are notified to the above-mentioned network device.
  • the network device receives the target outbound interface of each hop on the forwarding path, the identifier of the target outbound interface direction queue corresponding to the target outbound interface, and the target time slice corresponding to the target outbound interface direction queue sent from the management device.
  • the reason why the above-mentioned network device adds the target outgoing interface of each hop on the above-mentioned forwarding path, the identifier of the direction queue of the target outbound interface, and the identifier of the target time slice corresponding to the direction queue of the target outbound interface in the SR header of the message is to instruct other network devices on the forwarding path that receive the packet to forward the packet directly according to the target outbound interface, the destination outbound interface direction queue ID, and the target time slot ID added in the SR header. time delay.
  • the packet is forwarded according to the traditional route.
  • the size of the queue in the direction of each outgoing interface is limited.
  • the size of the outbound interface direction queue can be represented by the number of buffers used to store packets in the outbound interface direction queue.
  • a Buffer stores a message. If the outgoing interface direction queue supports at most Z buffers, it means that the outgoing interface direction queue can accommodate at most Z packets.
  • the number of buffers in an outbound interface direction queue may be set according to actual requirements, for example, determined according to an acceptable packet buffering time and an acceptable transmission delay.
  • the following formula 3 shows an example of the number of buffers in the outbound direction queue:
  • the number of buffers B1+2*The amount of packets transmitted by RTT B2 (Formula 3)
  • B1 represents the number of packets corresponding to the acceptable packet buffering time.
  • the buffering time of the accepted message can be determined according to the time allowed to wait by the service.
  • RTT represents the acceptable transmission delay, which can be determined according to the transmission distance and the bandwidth of the outbound interface. For example, for time-sensitive services, the RTT can be the maximum one-hop delay (that is, a queue scheduling period in the outbound interface direction)*N Determine, N is the number of queues in the outbound interface direction.
  • any device on the above-mentioned forwarding path when receiving the message, it obtains the local outbound interface of the device and the corresponding local outbound interface from the SR header in which the message is encapsulated.
  • the queue identifier of the queue in the outbound direction if the number of packets currently stored in the outbound direction queue corresponding to the obtained queue identifier is greater than or equal to the set threshold of the number of packets, it is determined that the queue is congested and can be sent to the above management device. Congestion notification.
  • the set threshold of the number of packets can be set according to actual needs, for example, it can be set according to the following formula 4:
  • B3 represents the maximum number of packets allowed in the queue
  • B2 is as described above
  • C is set according to actual experience, and its value is a positive integer from 0 to 100.
  • the management device When the management device receives and records the congestion notification, and then determines other packets with the same service attribute corresponding to the above-mentioned packet, the above-mentioned forwarding path for forwarding the packet is no longer determined. It should be noted that if it is found that the number of packets currently stored in the above-mentioned outbound interface queue has changed from greater than or equal to the set packet number threshold to less than the set packet number threshold, it means that the outbound interface queue is no longer available. If congestion occurs, a congestion cancellation notification can also be sent to the above management device. When the management device receives the congestion cancellation notification, and then determines other packets with the same service attribute corresponding to the above-mentioned packets, it may also determine that the above-mentioned forwarding path continues to forward the packets.
  • FIG. 5 is a flowchart of another method provided by this embodiment of the present application. This process is applied to a network device, such as an SDN switch, etc., which is not specifically limited in this embodiment.
  • a network device such as an SDN switch, etc.
  • the process may include the following steps:
  • Step 501 Obtain the number M of time slices in the outbound interface direction queue scheduling period corresponding to the outbound interface on the network device.
  • the above-mentioned M is determined according to the length of a time slice corresponding to the above-mentioned outgoing interface and the specified one-hop delay.
  • the length of a time slice is determined according to the bandwidth of the outgoing interface and the length of the specified packet.
  • the flow shown in FIG. 2 above which will not be repeated here.
  • the outbound interface direction queue scheduling period is used to schedule N outbound interface direction queues corresponding to the outbound interface; different outbound interface direction queues correspond to different service attributes; N is greater than or equal to 1.
  • Step 502 Obtain the time slice corresponding to the outbound interface direction queue scheduling period allocated by the management device for the outbound interface direction queue, and schedule the outbound interface direction queue corresponding to the time slice in each time slice within the outbound interface direction queue scheduling period
  • the total number of time slices allocated to N outbound interface direction queues is M.
  • the management device may allocate a corresponding time slice to the outbound interface direction queue within an outbound interface direction queue scheduling period corresponding to the above-mentioned outbound interface.
  • the specific allocation method refers to the flow shown in FIG. 4 above, which will not be repeated here.
  • the waiting delay of queue scheduling in the outbound interface direction is between the worst delay and the best delay. This realizes the determination of the waiting delay of queue scheduling in the outbound interface direction. Based on the description of the delay that may be generated in the packet forwarding process, this embodiment finally realizes the determination of the delay.
  • the network device schedules the packets in the outbound direction queue corresponding to the outbound interface direction through each time slice in the outbound interface direction queue scheduling period, which realizes The waiting delay of queue scheduling in the outbound direction is between the worst delay and the optimal delay, which realizes the determination of the waiting delay of queue scheduling in the outbound interface direction, and further realizes the determination of the packet forwarding delay.
  • the above-mentioned network device when the above-mentioned network device receives the message sent by the local terminal, it can execute the process shown in FIG. 6 below:
  • FIG. 6 is a flowchart of packet forwarding provided by this embodiment of the present application. As shown in Figure 6, the process may include the following steps:
  • Step 601 Receive a first packet sent by a terminal that has accessed a network device.
  • the first packet is just named for convenience of description, and is not used for limitation.
  • Step 602 Encapsulate a segment route (SR: Segment Route) header for the first packet and forward it, and the SR header includes: the target outbound interface of each hop on the first forwarding path for forwarding the first packet, and the corresponding target outbound interface.
  • SR Segment Route
  • the network device does not currently have a first forwarding path for forwarding the first packet (the first forwarding path is only named for the convenience of description and is not used for limitation), it will request the above management device for the first forwarding. path.
  • the network device does not currently have the target outbound interface of each hop on the first forwarding path, the identifier of the target outbound interface direction queue corresponding to the target outbound interface and corresponding to the first service attribute matching the first packet, And the identifier of the target time slice corresponding to the queue in the direction of the target outbound interface will also be requested from the above management device.
  • the network device includes, in the SR header, the target outbound interface of each hop on the first forwarding path, the identifier of the direction queue of the target outbound interface, and the identifier of the target time slice corresponding to the direction queue of the target outbound interface.
  • the purpose is to instruct other network devices that receive the first packet on the first forwarding path to forward the first packet according to the target outbound interface, the target outbound interface direction queue identifier, and the target time slice identifier in the SR header to avoid routing forwarding.
  • the SR header is no longer limited to the next hop, but the extended SR header not only specifies the next hop on the forwarding path, but also It is necessary to add the outbound interface on each hop, the identifier of the outbound interface direction queue corresponding to the service attribute matching the packet corresponding to the outbound interface, and the identifier of the time slice corresponding to the outbound interface direction queue.
  • the hop is forwarded directly according to the SR header to ensure the delay.
  • the above-mentioned network device will also receive the remote message (referred to as the second message) forwarded by other network devices, and when receiving the second message, the process shown in Figure 7 below can be executed:
  • FIG. 7 is another flow chart of packet forwarding provided by this embodiment of the present application. As shown in Figure 7, the process may include the following steps:
  • Step 701 Receive a second packet forwarded by other network devices.
  • the SR header encapsulated in the second packet may include: the target outbound interface of each hop on the forwarding path for forwarding the second packet (referred to as the second forwarding path), the target outbound interface corresponding to the second packet
  • Step 702 Obtain, from the SR header encapsulated in the second packet, a target outbound interface that belongs to the local network device, and an identifier of the target outbound interface direction queue corresponding to the target outbound interface.
  • Step 703 if the number of packets in the target outbound direction queue corresponding to the obtained target outbound interface direction queue identifier is greater than or equal to the set packet number threshold, then send a congestion notification to the first network device on the second forwarding path to The first network device is caused to subsequently suppress forwarding of other packets matching the second service attribute through the second forwarding path.
  • the The packet is stored in the destination queue on the outbound interface.
  • the SR header encapsulated in the second packet contains the following information as shown in Table 8 as an example:
  • the network device Based on Table 8, if the network device obtains the local target outbound interface as outbound interface 5 shown in Table 8, and the identifier of the queue in the direction of the target outbound interface is queue 5, the network device finds that the current number of packets in queue 5 is greater than or equal to the set value. If the threshold for the number of packets is determined, then a congestion notification is sent to the first network device on the second forwarding path, so that the first network device subsequently suppresses forwarding other packets whose attributes match the second service through the second forwarding path. arts.
  • the network device sending the congestion notification to the first network device on the second forwarding path may include: according to each next hop in the SR header, sending the congestion notification to the previous hop in sequence, and finally the congestion notification will be sent to the second forwarding.
  • the first network device on the path may include: directly sending the congestion notification to the foregoing management device, so that the management device forwards the congestion notification to the second forwarding path.
  • the first network device on the second forwarding path also implements that the congestion notification will be sent to the first network device on the second forwarding path.
  • Step 704 If the number of packets in the queue in the direction of the target outbound interface detected subsequently is updated from the threshold value greater than or equal to the set packet quantity to less than the set packet quantity threshold, send congestion cancellation to the first network device. notification, so that the first network device subsequently forwards other packets matching the second service attribute through the second forwarding path.
  • this step 704 if the number of packets in the queue in the direction of the target outbound interface detected subsequently is updated from the above-mentioned greater than or equal to the set threshold of the number of packets to less than the threshold of the set number of packets, and the target outbound interface is updated. If the number of packets in the direction queue is less than the set number of packets for the set time, a congestion cancellation notification can be sent to the first network device, so that the first network device can subsequently forward it through the second forwarding path other packets that match the second service attribute.
  • FIG. 8 is a structural diagram of an apparatus provided by an embodiment of the present application.
  • the apparatus 800 is applied to a management device, and the management device is used to manage at least one network device.
  • the apparatus 800 may include a time slice determination unit 810 , a period determination unit 820 , and an allocation unit 830 . in:
  • the time slice determining unit 810 is configured to determine the length of a time slice corresponding to the outgoing interface according to the bandwidth of the outgoing interface on the network device for forwarding the packet and the specified packet length.
  • a period determining unit 820 configured to determine, according to the length of the one time slice and the specified one-hop delay, the number M of time slices in the outbound interface direction queue scheduling period corresponding to the outgoing interface, where M is greater than or equal to 1; the The outbound interface direction queue scheduling period is used to schedule N outbound interface direction queues corresponding to the outbound interface; different outbound interface direction queues correspond to different service attributes; N is greater than or equal to 1.
  • the allocation unit 830 is configured to allocate a time slice corresponding to the outbound direction queue scheduling period to the outbound interface direction queue according to the service attribute corresponding to the outbound interface direction queue, so that the network device can perform the outbound interface direction queue scheduling period in the outbound interface direction queue.
  • Each time slice within the time slice schedules the packets in the outbound interface direction queue corresponding to the time slice; the total number of time slices allocated to the N outbound interface direction queues is M.
  • the time slice determining unit 810 determines the length of a time slice corresponding to the outgoing interface according to the bandwidth of the outgoing interface used for forwarding packets on the network device and the length of the specified packet, including: according to the specified packet.
  • the length determines a reference value for calculating the length of a time slice; the length of a time slice is determined according to the reference value, the specified packet length and the bandwidth of the outgoing interface, and according to the set time slice length calculation formula.
  • the set time slice length calculation formula is:
  • Frame is the specified packet length
  • IFG is the reference value.
  • IFG is the first value; otherwise, IFG is the second value; Bandwidth is the bandwidth of the outgoing interface.
  • the length of the specified message is 64 bytes, 512 bytes, 2K bytes or 1518 bytes.
  • the period determining unit 820 determines the number M of time slices in the outbound interface direction queue scheduling period corresponding to the outbound interface according to the length of one time slice and the specified one-hop delay, including: calculating the specified one-hop time.
  • the quotient extended with the length of the one time slice; if the quotient is 2 x and the x is any positive integer, then the quotient is determined to be the M; if the quotient is not 2 x , then the quotient is determined 2k closest to the quotient, then 2k is determined to be the M.
  • the allocation unit 830 allocates a time slice corresponding to the outbound direction queue scheduling period to the outbound direction queue according to the service attribute corresponding to the outbound interface direction queue, including: for each outbound interface direction queue, according to the outbound interface direction queue;
  • the service attribute corresponding to the queue obtains the delay requirement corresponding to the service attribute, and the delay requirement includes the required target delay;
  • MTU Maximum Transmission Unit
  • the delay requirement, and the MTU allocates the time slice corresponding to the outbound interface direction queue scheduling period to the outbound interface direction queue.
  • the allocation unit 830 allocates the time slice corresponding to the outbound direction queue scheduling period to the outbound interface direction queue according to the obtained delay requirement and the MTU, including:
  • the target delay is less than or equal to the set delay threshold, and if the MTU is less than or equal to the specified packet length, a time slice separated from the target delay in the queue scheduling period in the direction of the outgoing interface is allocated to the outgoing interface Direction queue, if the MTU is greater than the specified packet length, the time slice group separated by the target delay in the scheduling period of the outbound interface direction queue is allocated to the outbound interface direction queue; wherein, the time slice group includes adjacent L time slices, where L is the number of time slices occupied by the MTU;
  • P1 time slices in the outgoing interface direction queue scheduling period are allocated to the outgoing interface direction queue.
  • P2 time slice groups are allocated to the outbound interface direction queue within the scheduling period of the outgoing interface direction; among them, P1 is greater than or equal to 1, when P1 is greater than 1, the P1 time slices are scattered; P2 Greater than or equal to 1, when P2 is greater than 1, the P2 time slice groups are scattered, and one time slice group is adjacent to L time slices, where L is the number of time slices occupied by the MTU.
  • the method further includes: determining a forwarding path for forwarding the message; converting the target outgoing interface of each hop on the forwarding path, The identifier of the target outbound interface direction queue corresponding to the target outbound interface and corresponding to the service attribute matching the packet, and the identifier of the target time slice corresponding to the target outbound interface direction queue are notified to the network device, so that the The network device adds, in the encapsulated segment routing SR header, the target outbound interface of each hop on the forwarding path, the identifier of the target outbound interface direction queue corresponding to the target outbound interface and corresponding to the service attribute matching the packet, and The identifier of the time slice corresponding to the direction queue of the target outbound interface, to instruct other network devices on the forwarding path that receive the packet according to the target outbound interface, the target outbound interface direction queue identifier and the target time added in the SR header Fragment identifier forwarding message.
  • FIG. 9 is a structural diagram of another apparatus provided by an embodiment of the present application.
  • the apparatus 900 is applied to network equipment, and may include: an obtaining unit 910 and a scheduling unit 920 .
  • the obtaining unit 910 is used to obtain the number M of time slices in the outbound interface direction queue scheduling period corresponding to the outgoing interface on the network device; the M is based on the length of a time slice corresponding to the outgoing interface and a specified hop The delay is determined; the length of one time slice is determined according to the bandwidth of the outbound interface and the length of the specified packet; the outbound interface direction queue scheduling period is used to schedule N outbound interface direction queues corresponding to the outbound interface ; different outbound interface direction queues correspond to different service attributes; N is greater than or equal to 1; and, obtain a time slice corresponding to the outbound interface direction queue scheduling period allocated by the management device for the outbound interface direction queues.
  • a scheduling unit 920 configured to schedule packets in the outbound direction queue corresponding to the outbound interface direction in each time slice within the outbound interface direction queue scheduling period; the total number of time slices allocated to the N outbound interface direction queues for M.
  • the scheduling unit 920 is further configured to: receive a first packet sent by a terminal that has accessed the network device; encapsulate a segment route SR header for the first packet, where the SR header includes: forwarding the The target outbound interface of each hop on the first forwarding path of the first packet, the identifier of the target outbound interface direction queue corresponding to the target outbound interface and corresponding to the first service attribute matching the first packet, and the target outbound interface The identifier of the target time slice corresponding to the direction queue; the identifier of the target outbound interface of each hop on the first forwarding path, the identifier of the direction queue of the target outbound interface, and the identifier of the target time slice corresponding to the direction queue of the target outbound interface included in the SR header, It is used to instruct other network devices that receive the first packet on the first forwarding path to forward the first packet according to the target outbound interface, the target outbound interface direction queue identifier and the target time slice identifier in the SR header.
  • the scheduling unit 920 is further configured to: receive the second packet forwarded by other network devices; the SR header encapsulated in the second packet includes: the target of each hop on the second forwarding path for forwarding the second packet The outbound interface, the identifier of the target outbound interface direction queue corresponding to the second service attribute corresponding to the target outbound interface and matching the second packet, and the time slice identifier of the target time slice corresponding to the target outbound interface direction queue; In the SR header of the encapsulated packet, obtain the local target outbound interface belonging to the local network device and the identifier of the destination outbound interface direction queue corresponding to the local target outbound interface; if the obtained target outbound interface direction queue identifier corresponds to the target outbound interface direction If the number of packets in the queue is greater than or equal to the set threshold of the number of packets, a congestion notification is sent to the first network device on the second forwarding path, so that the first network device subsequently inhibits passing through the second forwarding path Forward other packets matching the second service
  • the embodiment of the present application further provides the hardware structure of the apparatus shown in FIG. 8 or FIG. 9 .
  • the hardware structure may include: a machine-readable storage medium 1020 and a processor 1010 .
  • Machine-readable storage medium 1020 stores instruction codes.
  • the processor 1010 communicates with the machine-readable storage medium 1020, reads and executes the instruction codes in the machine-readable storage medium 1020, and implements the above-mentioned message forwarding method disclosed in this application.
  • a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, and the like.
  • the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as compact disc, dvd, etc.), or similar storage media, or a combination thereof.
  • a typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, email sending and receiving device, game control desktop, tablet, wearable device, or a combination of any of these devices.
  • the embodiments of the present application may be provided as a method, or as a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • these computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer readable memory result in an article of manufacture comprising the instruction means,
  • the instruction means implements the functions specified in a flow or flows of the flowcharts and/or a block or blocks of the block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了报文转发方法、装置以及电子设备。本申请实施例中,通过针对网络设备上的出接口设置对应的出接口方向队列调度周期、以及出接口方向队列调度周期内时间片的数量和一个时间片的长度,并在出接口方向队列调度周期内为出接口对应的各出接口方向队列分配对应的时间片,以使网络设备在出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文,这实现了出接口方向队列调度的等待时延在上述最差时延和最佳时延之间,实现了出接口方向队列调度的等待时延的可确定,进而实现了报文转发时延的可确定。

Description

报文转发方法、装置以及电子设备 技术领域
本申请涉及网络通信技术,特别涉及报文转发方法、装置以及电子设备。
背景技术
所谓可确定网络,其中一个核心目标是报文转发时延可确定,以保障端到端的时延。在目前的网络中,报文都是由路由器按照存储转发机制转发,其可提高带宽的利用率。
但是,目前的存储转发机制只重视报文的转发,对报文转发的时延考虑不足,很难满足时延可确定的要求,也无法保障端到端的时延。
附图说明
图1为本申请实施例提供的方法流程图;
图2为本申请实施例提供的步骤101实现流程图;
图3为本申请实施例提供的步骤102实现流程图;
图4为本申请实施例提供的步骤103实现流程图;
图5为本申请实施例提供的另一方法流程图;
图6为本申请实施例提供的报文转发流程图;
图7为本申请实施例提供的另一报文转发流程图;
图8为本申请实施例提供的装置结构图;
图9为本申请实施例提供的另一装置结构图;
图10为本申请实施例提供的装置的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为使本申请更加容易理解,下面先对报文转发过程中有可能产生的时延进行描述:
入方向报文的处理时延:主要表现在识别报文头、报文查表等入方向报文处理逻辑 上的时延,其是由执行上述入方向报文处理逻辑的软件或硬件本身的性能决定的。在具体实现时,一旦执行上述入方向报文处理逻辑的软件或硬件确定,则对应地入方向报文处理时延也就确定。换言之,这里的入方向报文处理时延是一个固定值。
报文发送到出接口链路的时延:主要表现在因链路速度影响而将报文发送到出接口所连接的链路的时延,其是由出接口的带宽决定。在具体实现时,出接口的带宽会预先配置好,相应地,报文发送到出接口所连接的链路的时延也可以基于出接口被预先配置的带宽确定。换言之,这里的报文发送到出接口所连接的链路的时延是一个固定值。
报文从起点至终点的传送时延:主要表现在报文从起点至终点传输时因距离原因而导致的传送时延,其是由传输距离、传输速度等物理特性决定的。在具体实现时,报文从起点至终点的传送时延是一个固定值。
出接口方向队列调度的等待时延:主要表现在报文在放入出接口方向队列至报文从出接口方向队列调度转发之间的一个延时。之所以产生该时延,其原因是收到报文并针对该报文完成路由选择后并不能立即发送该报文导致的。而之所以不能立即发送该报文,那是因为前面已经有其他报文在队列中等待发送,需要等待前面的其他报文完成发送后才能发送。这个等待其他报文完成发送的时间是无法预测的,所以这里的出接口方向队列调度的等待时延也是无法预测的。而出接口方向队列调度的等待时延无法预测,则就导致报文转发的时延无法确定,进而无法实现可确定网络。
为了确定上述出接口方向队列调度的等待时延,本申请实施例提供了下文图1所示的流程:
参见图1,图1为本申请实施例提供的方法流程图。该流程应用于管理设备。这里的管理设备用于管理至少一个网络设备。可选地,这里的管理设备可为SDN控制器,对应地,上述网络设备可为SDN设备比如SDN交换机等,本实施例并不具体限定。
如图1所示,该流程可包括以下步骤:
步骤101,依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定该出接口对应的一个时间片的长度。
可选地,这里的出接口可为与上游设备或者网络连接的接口(可称网络侧接口)。
时间片是本申请实施例引入的一个新的概念,之所以引入时间片,其目的是为了将上述出接口对应的出接口方向队列调度周期进行细分,具体如步骤102描述。至于如何确定时间片的长度,下文会举例描述,这里暂不赘述。
步骤102,依据一个时间片的长度和指定的一跳时延确定上述出接口对应的出接口方向队列调度周期中时间片的数量M。
可选地,出接口方向队列调度周期,用于调度上述出接口对应的N个出接口方向队列。N大于或等于1,具体可依据上述网络设备的性能确定。这里,每一出接口方向队列中的报文都是通过上述出接口转发的。在一个例子中,不同出接口方向队列对应不同业务属性。作为一个实施例,上述业务属性可为业务的一个转发等价类(可通过五元组实现,这里的五元组可为源IP地址、目的IP地址、源端口、目的端口、协议类型TCP/UDP表示);也可为业务本身的类别,比如语音业务、视频业务等,本实施例并不具体限定。
作为一个实施例,上述N个出接口方向队列不包括预留队列。在此情况下,可选地,N个出接口方向队列满足以下要求:同一出接口方向队列其对应的业务属性相同。这里,预留队列可为尽力服务(Best Effort)队列。Best Effort队列可以在任何时候发出任意数量的报文,对带宽、时延、抖动和可靠性等不提供任何保证。
作为另一个实施例,上述N个出接口方向队列也可包括至少一个预留队列。在此情况下,可选地,N个出接口方向队列中除预留队列之外的队列满足以下要求:同一出接口方向队列其对应的业务属性相同。而对于预留队列,其可不受上述要求限制。
一旦在上述步骤101确定好一个时间片的长度,则如步骤102描述,依据已确定的一个时间片的长度和指定的一跳时延确定出接口对应的出接口方向队列调度周期中时间片的数量M。这样,出接口方向队列调度周期就可以确定了。至于如何依据已确定的一个时间片的长度和指定的一跳时延确定出接口对应的出接口方向队列调度周期中时间片的数量M下文会举例描述,这里暂不赘述。另,需要说明的是,上述指定的一跳时延也是目前可接受的一跳的最长时延,其根据实际情况设置,比如可设置为1ms、100us等,本发明实施例并不具体限定。
步骤103,依据出接口方向队列对应的业务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片,以使所述网络设备在所述出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文。
在本步骤103中,依据每一出接口方向队列对应的业务属性为每一出接口方向队列分配对应的时间片。最终,N个出接口方向队列被分配的时间片的总数量为M,即N个出接口方向队列占用了M个时间片。需要说明的是,鉴于预留队列的特殊性,假若上述N个出接口方向队列包括至少一个预留队列,在此前提下,可先为N个出接口方向队列中除预留队列之外的队列分配时间片,在完成分配后如还有剩余的时间片,则可把剩余的时间片分配给预留队列,否则,可不分配时间片给预留队列。
可选地,因为预留队列可以在任何时候,发出任意数量的报文,其不管有没有被分配时间片,都可根据实际情况在已被分配了时间片的出接口方向队列所对应的时间片内发送,比如,对于一时间片,其在发送完对应的出接口方向队列中的报文之后还有剩余时间,此时可在该剩余时间内发送该预留队列中的报文;再比如,对于一时间片,其在发送对应的出接口方向队列中的一个报文之后还有剩余时间,此时该剩余时间不够发送该出接口方向队列中的下一个报文,则可在该剩余时间内发送该预留队列中的报文。
可选地,假若N与M相等,以N、M取值为10为例,则基于步骤103,10个出接口方向队列被分配的时间片如表1所示:
Figure PCTCN2020132102-appb-000001
表1
基于上述表1,则网络设备在上述出接口方向队列调度周期内调度报文时,就在出接口方向队列调度周期内每一时间片调度该时间片对应的出接口方向队列中的报文。对于上述这样的调度方式,最好的结果是报文刚进入出接口方向队列后,正好本次出接口方向队列调度周期内当前时间片就发送这个出接口方向队列中的该报文,此时该报文在出接口方向队列调度的等待时延最小(记为最佳时延),比如可以默认为0。最差的结果是报文刚进入出接口方向队列后,此时正好刚刚经过该出接口方向队列对应的时间片,则该报文需要等待下一个出接口方向队列调度周期发送,此时该报文在出接口方向队列调度的等待时延最长(记为最差时延),是“一个出接口方向队列调度周期”。假若时间片的长度是1ms,一个出接口方向队列调度周期T有10个时间片(即一个出接口方向队列调度周期T就是10ms),则这里的最差时延就是10ms。也就是说,最差时延的长度,决定于时间片长度*一个出接口方向队列调度周期的时间片个数。基于上面描述可以粗略确定出接口方向队列调度的等待时延在最差时延和最佳时延之间。这实 现了出接口方向队列调度的等待时延的可确定。基于上述报文转发过程中有可能产生的时延的描述,则本实施例最终实现了时延的可确定。
至此,完成图1所示流程。
通过上述图1所示流程可以看出,本申请实施例通过针对网络设备上的出接口设置对应的出接口方向队列调度周期、以及出接口方向队列调度周期内时间片的数量和一个时间片的长度,并在出接口方向队列调度周期内为出接口对应的各出接口方向队列分配对应的时间片,以使网络设备在出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文,这实现了出接口方向队列调度的等待时延在上述最差时延和最佳时延之间,实现了出接口方向队列调度的等待时延的可确定,进而实现了报文转发时延的可确定。
下面对上述步骤101中如何依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度进行描述:
可选地,在本实施例中,设计一个时间片的长度,首先要考虑的是报文长度。对于任一个时间片,该时间片内传送的报文长度是固定的。但是,在IP网络中,IP报文是变长报文,其无法做到任一个时间片内传送的报文长度是固定的。针对此种情况,本申请实施例可根据实际需求指定报文长度,比如指定报文长度为64字节(Bytes)、512Bytes、1518Bytes、2Kbytes。
基于上述设置的指定报文长度,则上述依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定出接口对应的一个时间片的长度可包括图2所示流程:
参见图2,图2为本申请实施例提供的步骤101实现流程图。如图2所示,该流程可包括以下步骤:
步骤201,依据所述指定报文长度确定用于计算一个时间片长度的参考值(IFG)。
可选地,这里的参考值IFG在指定报文长度是4字节的整数倍时,比如指定报文长度为64字节、512字节、1518字节、2K字节等,则可取值为第一值,比如12,否则,可取值为第二值,比如除12之外的其他值。
步骤202,依据所述参考值、指定报文长度和出接口的带宽并按照设定的时间片长度计算公式确定所述一个时间片的长度。
可选地,上述设定的时间片长度计算公式可为如下公式1:
(8+Frame+IFG)*8)/Bandwidth;      (公式1)
其中,Frame为指定报文长度。IFG如上描述,这里不再赘述。Bandwidth为出接口的带宽。
下面以出接口带宽为10G以太网为例通过表2示出不同指定报文长度下一个时间片的长度:
FPS(帧数每秒) 报文长度 时间片长度(us)
14880952 ·64Bytes 0.0672
2349624 ·512Bytes 0.4256
812744 ·1518Bytes 1.2304
604449 ·2KBytes 1.6544
表2
下面再以出接口带宽为100G以太网为例通过表3示出不同指定报文长度下一个时 间片的长度:
FPS(帧数每秒) 报文长度 时间片长度(us)
148809523.8 ·64Bytes 0.00672
23496240.6 ·512Bytes 0.04256
8127438.231 ·1518Bytes 0.12304
6044487.427 ·2KBytes 0.16544
表3
至此,完成图2所示流程。
通过图2所示流程,实现了如何依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度。需要说明的是,图2所示的流程只是一种举例,并非用于限定。
下面通过图3所示流程对上述步骤102如何依据一个时间片的长度和指定的一跳时延确定所述出接口对应的出接口方向队列调度周期中时间片的数量M进行描述:
参见图3,图3为本申请实施例提供的步骤102实现流程图。如图3所示,该流程可包括以下步骤:
步骤301,计算所述指定的一跳时延与所述一个时间片的长度的商。
可选地,上述步骤301可通过下述公式2表示:指定的一跳时延/一个时间片的长度。比如,指定的一跳时延为1ms,一个时间片的长度为0.4256us,则上述步骤301得到的商为1000us/0.4256us=2349。再比如,指定的一跳时延为1ms,一个时间片的长度为0.04256us,则上述步骤301得到的商为1000us/0.04256us=23496。
为了应用于数字电路,可选地,上述出接口方向队列调度周期中时间片的数量M一般需要等于2 x,这里x可为任一正整数。基于此,本实施例可借助上述步骤301得到的商、以及2 x一起确定上述出接口方向队列调度周期中时间片的数量M,具体可参见下文步骤302描述:
步骤302,若上述商为2 x,x为任一正整数,则确定上述商为上述M,若上述商不为2 x,则确定最接近上述商的2 k,确定2 k为上述M。
比如,上述得到的商为2349,则可以选择最接近2349的2048(2 11)为上述M。再比如,上述得到的商为23496,则可以选择最接近23496的16384(2 14)为上述M。
至此,完成图3所示流程。
通过图3所示流程最终实现了确定上输出接口方向队列调度周期中时间片的数量M。相应地,每一个出接口方向队列调度周期的时长为M个时间片的长度。
下面通过图4所示流程对上述步骤103中如何依据出接口方向队列对应的业务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片进行描述:
参见图4,图4为本申请实施例提供的步骤103实现流程图。如图4所示,该流程可包括以下步骤:
步骤401,针对每一出接口方向队列,依据该出接口方向队列对应的业务属性获得对应该出接口方向队列的时延要求,所述时延要求包括要求的目标时延。
在应用中,一个出接口方向队列对应一类业务(对应业务属性),而对应该类业务,会基于该类业务的特点配置对应的时延要求。其中,当业务对时延的要求高,则对应的时延要求中的目标时延就比较小,反之,当业务对时延的要求不高,则对应的时延要求中的目标时延就比较大。
步骤402,获得该出接口方向队列被配置的最大传输单元(MTU:Maximum Transmission Unit)。
如上描述,一个出接口方向队列对应一类业务(对应业务属性),针对该类业务,也会基于该业务本申请的实际需求配置MTU,以防止业务流堵塞。
步骤403,依据获得的时延要求、以及上述MTU为该出接口方向队列分配上述出接口方向队列调度周期内对应的时间片。
可选地,本步骤403在具体实现时,可按照避免报文拆分且满足业务要求的时延的原则执行。比如,在一个例子中,对于出接口方向队列,假若该出接口方向队列被配置的MTU大于上述指定报文长度,则在一个出接口方向队列调度周期内可以为该出接口方向队列分配多个连续的时间片,以满足业务对较大最大报文长度的需求,避免报文的拆分和重组。再比如,对于出接口方向队列,假若该出接口方向队列被配置的时延要求比较高,比如要求的目标时延非常小,则可以在一个出接口方向队列调度周期内分配多个分散的时间片给该出接口方向队列,以获得更高、更均匀的时延。
基于此,上述步骤403在具体实现时可包括以下情况:
情况1:当该出接口方向队列要求时延比较高(通过该出接口方向队列要求的目标时延小于或等于设定时延阈值表征)、且该出接口方向队列被配置的MTU小于或等于上述指定报文长度,则可将一个出接口方向队列调度周期内相隔上述目标时延的时间片分配给该出接口方向队列。比如表4所示队列1要求时延比较高,其要求的目标时延小于或等于设定时延阈值,则如表4所示,可将一个出接口方向队列调度周期内的时间片1、时间片7、时间片16等分配给队列1,以满足队列1要求的时延。
Figure PCTCN2020132102-appb-000002
表4
情况2:当该出接口方向队列要求时延比较高(通过该出接口方向队列要求的目标时延小于或等于设定时延阈值表征)、且该出接口方向队列被配置的MTU大于上述指定报文长度,则可将一个出接口方向队列调度周期内相隔上述目标时延的时间片组分配给该出接口方向队列。这里,时间片组包括相邻的L个时间片,L为该出接口方向队列被配置的MTU所占用的时间片的数量。比如表5所示队列1要求时延比较高,其要求的目标时延小于或等于设定时延阈值,但队列1被配置的MTU大于上述指定报文长度,比如为上述指定报文长度的4倍,则如表5所示,可将一个出接口方向队列调度周期内相隔上述目标时延的时间片组(包括连续4个时间片)分配给该队列1,以满足队列1要求的时延且不对队列1中报文分组。
Figure PCTCN2020132102-appb-000003
表5
情况3:当该出接口方向队列要求时延比较不高(通过该出接口方向队列要求的目标时延大于设定时延阈值表征)、且该出接口方向队列被配置的MTU小于上述指定报文长度,则可将一个出接口方向队列调度周期内P1个时间片给该出接口方向队列。这里,P1大于等于1。一般情况下,P1等于1。而在其他情况下,若P1大于1,则该P1个时间片在同一个出接口方向队列调度周期内是相互分散的。以P1为1例,上述表1举例示出在同一个出接口方向队列调度周期内分配各出接口方向队列对应的时间片。
情况4:当该出接口方向队列要求时延比较不高(通过该出接口方向队列要求的目标时延大于设定时延阈值表征)、且该出接口方向队列被配置的MTU大于上述指定报文长度,则可将一个出接口方向队列调度周期内P2个时间片组给该出接口方向队列。这 里,时间片组包括相邻的L个时间片,L为该出接口方向队列被配置的MTU所占用的时间片的数量。一般情况下,P2等于1。而在其他情况下,若P2大于1,则该P2个时间片组在同一个出接口方向队列调度周期内是相互分散的。以P2为1例,比如表6所示队列1要求时延不高,其要求的目标时延大于设定时延阈值,但队列1被配置的MTU大于上述指定报文长度,比如为上述指定报文长度的4倍,则如表6所示,可将一个出接口方向队列调度周期内的一个时间片组(包括连续4个时间片)分配给该队列1,以不对队列1中报文分组。
Figure PCTCN2020132102-appb-000004
表6
以上通过4种情况举例描述了上述步骤103中如何依据获得的时延要求、以及所述MTU为该出接口方向队列分配所述出接口方向队列调度周期内对应的时间片。需要说明的是,上述4种情况只是举例,并非限定。
如上描述,当在网络设备中出接口对应的一个出接口方向队列调度周期内为该出接口对应的各出接口方向队列分配对应的时间片后,则后续网络设备在调度各出接口方向队列时,即可按照时间片调度。以上述表6所示,则在一个出接口方向队列调度周期内,网络设备可在时间片1、时间片2、时间片3、时间片4这4个时间片内调度队列1,在时间片5调度队列2,依次类推。需要说明的是,在调度任一队列时,假若该队列对应的时间片内剩余时间不足以再发送该队列中的下一个报文,则可在该剩余时间内发送已配置的预留队列中的报文。
基于如上图1至图4所示流程的描述,则最终可预估网络设备从接收到报文至发送报文的时延(也可称每一跳时延)。而将转发路径上各网络设备的每一跳时延相加,即可得到端到端时延。而上述的转发路径则可称一条保证端到端时延的路径。
还需要补充的是,在本实施例中,可选地,上述管理设备可在网络设备转发来自该网络设备已接入的终端发送的报文之前,为该报文确定对应的转发路径。可选地,这里,网络设备可在接收到已接入的终端发送的报文时向上述管理设备发送路径请求,以指示本网络设备接收到已接入的终端发送的报文,请求管理设备为本网络设备接收的报文确定对应的转发路径,如此,管理设备可按照已配置的路径调度算法为该报文确定对应的转发路径。这里,确定转发路径的具体方式本实施例并不具体限定。
在确定报文对应的转发路径后,可选地,上述管理设备还可将转发路径上每一跳的目标出接口、目标出接口对应的目标出接口方向队列(还与报文匹配的业务属性对应)的标识、以及目标出接口方向队列对应的目标时间片的标识通知给上述网络设备。作为一个实施例,网络设备在接收到来自管理设备发送的上述转发路径上每一跳的目标出接口、目标出接口对应的目标出接口方向队列的标识和目标出接口方向队列对应的目标时间片的标识后,在为报文封装的段路由(SR:Segment Route)头中添加上述转发路径上每一跳的目标出接口、目标出接口方向队列的标识和目标时间片的标识。表7举例示出了SR头中添加的信息:
1 下一跳IP1 目标出接口1 目标出接口队列标识1 目标时间片标识1
2 下一跳IP2 目标出接口2 目标出接口队列标识2 目标时间片标识2
3 下一跳IP3 目标出接口3 目标出接口队列标识3 目标时间片标识3
4 下一跳IP4 目标出接口4 目标出接口队列标识4 目标时间片标识4
5 下一跳IP5 目标出接口5 目标出接口队列标识5 目标时间片标识5
6 下一跳IP6 目标出接口6 目标出接口队列标识6 目标时间片标识6
7 下一跳IP7 目标出接口7 目标出接口队列标识7 目标时间片标识7
8 下一跳IP8 目标出接口8 目标出接口队列标识8 目标时间片标识8
表7
可选地,上述网络设备之所以在报文的SR头中添加上述转发路径上每一跳的目标出接口、目标出接口方向队列的标识和目标出接口方向队列对应的目标时间片的标识,其目的是指示转发路径上收到该报文的其他网络设备直接依据SR头中添加的目标出接口、目标出接口方向队列标识和目标时间片标识转发报文,无需再重新查表转发,保证时延。可选地,假若在上述报文转发过程中上述转发路径在发生了变化,此时对于正在沿着该转发路径转发的报文,由于报文封装的SR头中的信息无法修改,则可直接按照传统的路由转发该报文。
在本实施例中,每一出接口方向队列的大小是有限制的。这里,出接口方向队列的大小可通过出接口方向队列中用于存放报文的缓冲Buffer的数量表征。一个Buffer存放一个报文。假若出接口方向队列最大支持Z个Buffer,可表示出接口方向队列最多容纳Z个报文。作为一个实施例,一个出接口方向队列中的buffer数量可根据实际需求设置,比如,根据可接受的报文缓存时间、可接受的传输时延确定。下文公式3举例示出一个出接口方向队列中的buffer数量:
buffer数量=B1+2*RTT传输的报文量B2   (公式3)
其中,B1表示可接受的报文缓存时间所对应的报文数量。这里,接受的报文缓存时间可依据业务允许等待的时间确定。RTT表示可接受的传输时延,其可根据传输距离和出接口带宽确定,比如对于时间敏感的业务,RTT可为上述最大的一跳时延(也即一个出接口方向队列调度周期)*N确定,N为上述出接口方向队列的数量。
可选地,本实施例中,对于上述转发路径上的任一个设备,其在接收到报文时,从报文被封装的SR头中获得本设备的本地出接口、以及本地出接口对应的出接口方向队列的队列标识;若发现获得的队列标识对应的出接口方向队列中当前存放的报文数量大于或等于设定报文数量阈值,则确定队列拥塞,此时可向上述管理设备发送拥塞通知。这里,设定报文数量阈值可根据实际需求设置,比如可根据下述公式4设置:
设定报文数量阈值=(B3-2*RTT传输的报文数量B2)*C%   (公式4)
其中,B3表示队列被允许的最大报文数量,B2如上所述,C根据实际经验设置,其取值在0至100中的一个正整数。
当管理设备接收并记录拥塞通知,之后在确定与上述报文对应的业务属性相同的其他报文时,不再确定上述转发路径转发报文。需要说明的是,假若之后又发现上述出接口方向队列中当前存放的报文数量从大于或等于设定报文数量阈值变为小于设定报文数量阈值,则意味着出接口方向队列不再拥塞,此时也可向上述管理设备发送拥塞取消通知。当管理设备接收拥塞取消通知,之后在确定与上述报文对应的业务属性相同的其他报文时,也可确定上述转发路径继续转发报文。
以上是站在管理设备角度描述本申请实施例。下面站在由管理设备管理的网络设备描述本申请实施例:
参见图5,图5为本申请实施例提供的另一方法流程图。该流程应用于网络设备,比如SDN交换机等,本实施例并不具体限定。
如图5所示,该流程可包括以下步骤:
步骤501,获得本网络设备上出接口对应的出接口方向队列调度周期中时间片的数量M。
可选地,上述M是依据上述出接口对应的一个时间片的长度、以及指定的一跳时延确定,具体可参见图3所示流程。作为一个实施例,一个时间片的长度是依据上述出接口的带宽和指定报文长度确定的,具体可参见前文图2所示流程,这里不再赘述。
本实施例中,出接口方向队列调度周期用于调度所述出接口对应的N个出接口方向队列;不同出接口方向队列对应不同业务属性;N大于或等于1。
步骤502,获得管理设备为出接口方向队列分配的所述出接口方向队列调度周期内 对应的时间片,在出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文;N个出接口方向队列被分配的时间片的总数量为M。
可选的,本实施例中,对于上述出接口对应的每一出接口方向队列,管理设备可在上述出接口对应的一个出接口方向队列调度周期内为该出接口方向队列分配对应的时间片,具体分配方式参考前文图4所示流程,这里不再赘述。当网络设备获得管理设备为出接口方向队列分配的出接口方向队列调度周期内对应的时间片后,如步骤502描述,网络设备则在出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文。基于上面描述,则按照图5所示流程最终可以粗略确定出接口方向队列调度的等待时延在上述最差时延和上述最佳时延之间。这实现了出接口方向队列调度的等待时延的可确定。基于上述报文转发过程中有可能产生的时延的描述,则本实施例最终实现了时延的可确定。
至此,完成图5所示流程。
通过上述图5所示流程可以看出,本申请实施例中网络设备通过在出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文,这实现了出接口方向队列调度的等待时延在上述最差时延和最佳时延之间,实现了出接口方向队列调度的等待时延的可确定,进而实现了报文转发时延的可确定。
本实施例中,上述网络设备在接收到本地终端发送的报文时,则可执行下文图6所示流程:
参见图6,图6为本申请实施例提供的报文转发流程图。如图6所示,该流程可包括以下步骤:
步骤601,接收已接入网络设备的终端发送的第一报文。
这里,第一报文只是为便于描述而进行的命名,并非用于限定。
步骤602,为第一报文封装分段路由(SR:Segment Route)头并转发,SR头包括:转发第一报文的第一转发路径上每一跳的目标出接口、目标出接口对应的且与第一报文匹配的第一业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识。
可选地,假若网络设备当前并不存在转发第一报文的第一转发路径(第一转发路径只是为便于描述而进行的命名,并非用于限定),会向上述管理设备请求第一转发路径。同样地,假若网络设备当前不存在第一转发路径上每一跳的目标出接口、目标出接口对应的且与第一报文匹配的第一业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识,也会向上述管理设备请求。
本实施例中,网络设备在上述SR头中包括上述第一转发路径上每一跳的目标出接口、目标出接口方向队列的标识和目标出接口方向队列对应的目标时间片的标识,其目的是为了指示第一转发路径上收到第一报文的其他网络设备依据SR头中的目标出接口、目标出接口方向队列标识和目标时间片标识转发第一报文,避免路由转发。
至此,完成图6所示流程。
通过图6所示流程可以看出,在本实施例中,通过对SR的改进,使SR头不再局限于下一跳,而是扩展SR头不仅仅指定转发路径上的下一跳、还需要增加每一跳上出接口、出接口对应的其与报文匹配的业务属性对应的出接口方向队列的标识、以及该出接口方向队列对应的时间片的标识,这保证转发路径上每一跳直接根据SR头进行转发,保证时延。
本实施例中,上述网络设备也会接收到其他网络设备转发的远端报文(记为第 二报文),当接收到第二报文时,可执行下文图7所示流程:
参见图7,图7为本申请实施例提供的另一报文转发流程图。如图7所示,该流程可包括以下步骤:
步骤701,接收其他网络设备转发的第二报文。
这里,第二报文被封装的SR头中可包括:转发第二报文的转发路径(记为第二转发路径)上每一跳的目标出接口、目标出接口对应的且与第二报文匹配的第二业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的时间片标识。
步骤702,从第二报文被封装的SR头中获得属于本网络设备本地的目标出接口、以及该目标出接口对应的目标出接口方向队列的标识。
步骤703,若获得的目标出接口方向队列标识对应的目标出接口方向队列中报文数量大于或等于设定报文数量阈值,则向第二转发路径上的首个网络设备发送拥塞通知,以使所述首个网络设备后续抑制通过所述第二转发路径转发所述第二业务属性匹配的其他报文。
可选地,作为一个实施例,假若此时获得的目标出接口方向队列标识对应的目标出接口方向队列中报文数量大于或等于设定报文数量阈值,为避免业务中断,则可进一步将该报文存放至该目标出接口方向队列。
假若第二报文封装的SR头中包含如表8举例示出的以下信息:
1 下一跳IP1 目标出接口1 目标出接口队列标识1 目标时间片标识1
2 下一跳IP2 目标出接口2 目标出接口队列标识2 目标时间片标识2
3 下一跳IP3 目标出接口3 目标出接口队列标识3 目标时间片标识3
4 下一跳IP4 目标出接口4 目标出接口队列标识4 目标时间片标识4
5 下一跳IP5 目标出接口5 目标出接口队列标识5 目标时间片标识5
6 下一跳IP6 目标出接口6 目标出接口队列标识6 目标时间片标识6
7 下一跳IP7 目标出接口7 目标出接口队列标识7 目标时间片标识7
8 下一跳IP8 目标出接口8 目标出接口队列标识8 目标时间片标识8
表8
则基于表8,假若网络设备获得本地目标出接口为表8所示的出接口5,目标出接口方向队列的标识为队列5,网络设备发现队列5当前已有的报文数量大于或等于设定报文数量阈值,则向第二转发路径上的首个网络设备发送拥塞通知,以使所述首个网络设备后续抑制通过所述第二转发路径转发所述第二业务属性匹配的其他报文。可选地,网络设备向第二转发路径上的首个网络设备发送拥塞通知可包括:按照SR头中的各下一跳,依次向上一跳发送拥塞通知,最终拥塞通知会发送至第二转发路径上的首个网络设备。可选地,作为另一个实施例,网络设备向第二转发路径上的首个网络设备发送拥塞通知可包括:直接向上述管理设备发送拥塞通知,以使管理设备转发拥塞通知至第二转发路径上的首个网络设备,也实现了拥塞通知会发送至第二转发路径上的首个网络设备。
步骤704,若后续检测的上述目标出接口方向队列中报文数量从所述大于或等于设定报文数量阈值更新为小于设定报文数量阈值,则向所述首个网络设备发送拥塞取消通知,以使所述首个网络设备后续通过所述第二转发路径转发所述第二业务属性匹配的其他报文。
可选地,本步骤704中,若后续检测的上述目标出接口方向队列中报文数量从所述大于或等于设定报文数量阈值更新为小于设定报文数量阈值,且该目标出接口方向队列中报文数量小于设定报文数量阈值的情况维持设定时间,则可向上述首个网络设备发送拥塞取消通知,以使所述首个网络设备后续通过所述第二转发路径转发所述第二业务属性匹配的其他报文。
至此,完成图7所示流程。
通过图7所示流程,最终实现了拥塞的精确控制,以实现在有出接口对应的队列发生拥塞时只是阻断该队列对应的业务属性这一类业务的原有转发路径,并不影响其他业务的转发,确保时延。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
参见图8,图8为本申请实施例提供的装置结构图。该装置800应用于管理设备,所述管理设备用于管理至少一个网络设备,该装置800可包括时间片确定单元810、周期确定单元820、分配单元830。其中:
时间片确定单元810,用于依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度。
周期确定单元820,用于依据所述一个时间片的长度和指定的一跳时延确定所述出接口对应的出接口方向队列调度周期中时间片的数量M,M大于或等于1;所述出接口方向队列调度周期用于调度所述出接口对应的N个出接口方向队列;不同出接口方向队列对应不同业务属性;N大于或等于1。
分配单元830,用于依据出接口方向队列对应的业务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片,以使所述网络设备在所述出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文;N个出接口方向队列被分配的时间片的总数量为M。
可选地,所述时间片确定单元810依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度包括:依据所述指定报文长度确定用于计算一个时间片长度的参考值;依据所述参考值、指定报文长度和出接口的带宽并按照设定的时间片长度计算公式确定所述一个时间片的长度。
可选地,所述设定的时间片长度计算公式为:
(8+Frame+IFG)*8)/Bandwidth;
其中,Frame为指定报文长度,IFG所述参考值,当指定报文长度是4字节的整数倍时,IFG为第一值,否则,IFG为第二值;Bandwidth为出接口的带宽。
可选地,本实施例中,所述指定报文长度为64字节、512字节,2K字节或者1518字节。
可选地,周期确定单元820依据一个时间片的长度和指定的一跳时延确定所述出接口对应的出接口方向队列调度周期中时间片的数量M包括:计算所述指定的一跳时延与所述一个时间片的长度的商;若所述商为2 x,所述x为任一正整数,则确定所述商为所述M;若所述商不为2 x,则确定最接近所述商的2 k,则确定2 k为所述M。
可选地,分配单元830依据出接口方向队列对应的业务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片包括:针对每一出接口方向队列,依据该出接口方向队列对应的业务属性获得对应该业务属性的时延要求,所述时延要求包 括要求的目标时延;获得该出接口方向队列被配置的最大传输单元(MTU:Maximum Transmission Unit);依据获得的时延要求、以及所述MTU为该出接口方向队列分配所述出接口方向队列调度周期内对应的时间片。
可选地,分配单元830依据获得的时延要求、以及所述MTU为该出接口方向队列分配所述出接口方向队列调度周期内对应的时间片包括:
当所述目标时延小于或等于设定时延阈值时,若所述MTU小于或等于指定报文长度,则分配出接口方向队列调度周期内相隔所述目标时延的时间片给该出接口方向队列,若所述MTU大于指定报文长度,则分配出接口方向队列调度周期内相隔所述目标时延的时间片组给该出接口方向队列;其中,所述时间片组包括相邻的L个时间片,L为所述MTU所占用的时间片的数量;
当所述目标时延大于设定时延阈值时,若所述MTU小于或等于指定报文长度,则分配出接口方向队列调度周期内P1个时间片给该出接口方向队列,若所述MTU大于设定MTU阈值,则分配出接口方向队列调度周期内P2个时间片组给该出接口方向队列;其中,P1大于等于1,当P1大于1时,该P1个时间片是分散的;P2大于等于1,当P2大于1时,该P2个时间片组是分散的,一个时间片组相邻的L个时间片,L为所述MTU所占用的时间片的数量。
可选地,在所述网络设备转发已接入的终端发送的报文之前,该方法进一步包括:确定转发所述报文的转发路径;将所述转发路径上每一跳的目标出接口、目标出接口对应的且与所述报文匹配的业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识通知给所述网络设备,以使所述网络设备在封装的段路由SR头中添加所述转发路径上每一跳的目标出接口、目标出接口对应的且与所述报文匹配的业务属性所对应的目标出接口方向队列的标识以及目标出接口方向队列对应的时间片的标识,以指示所述转发路径上收到所述报文的其他网络设备依据所述SR头中添加的目标出接口、目标出接口方向队列标识和目标时间片标识转发报文。
至此,完成图8所示装置的结构描述。
参见图9,图9为本申请实施例提供的另一装置结构图。该装置900应用于网络设备,可包括:获得单元910和调度单元920。
获得单元910,用于获得本网络设备上出接口对应的出接口方向队列调度周期中时间片的数量M;所述M是依据所述出接口对应的一个时间片的长度、以及指定的一跳时延确定;所述一个时间片的长度是依据所述出接口的带宽和指定报文长度确定的;所述出接口方向队列调度周期用于调度所述出接口对应的N个出接口方向队列;不同出接口方向队列对应不同业务属性;N大于或等于1;以及,获得所述管理设备为出接口方向队列分配的所述出接口方向队列调度周期内对应的时间片。
调度单元920,用于在所述出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文;N个出接口方向队列被分配的时间片的总数量为M。
可选地,调度单元920进一步用于:接收已接入所述网络设备的终端发送的第一报文;为所述第一报文封装段路由SR头,所述SR头包括:转发所述第一报文的第一转发路径上每一跳的目标出接口、目标出接口对应的且与第一报文匹配的第一业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识;所述SR头包括的第一转发路径上每一跳的目标出接口、目标出接口方向队列的标识和目标出接口方向队列对应的目标时间片的标识,用于指示第一转发路径上收到所述第一报文的其他网络设备依据所述SR头中的目标出接口、目标出接口方向队列标识 和目标时间片标识转发第一报文。
可选地,调度单元920进一步用于:接收其他网络设备转发的第二报文;第二报文被封装的SR头中包括:转发第二报文的第二转发路径上每一跳的目标出接口、目标出接口对应的且与第二报文匹配的第二业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的时间片标识;从第二报文被封装的SR头中获得属于本网络设备本地的本地目标出接口、以及本地目标出接口对应的目标出接口方向队列的标识;若获得的目标出接口方向队列标识对应的目标出接口方向队列中报文数量大于或等于设定报文数量阈值,则向所述第二转发路径上的首个网络设备发送拥塞通知,以使所述首个网络设备后续抑制通过所述第二转发路径转发所述第二业务属性匹配的其他报文;若检测的所述目标出接口方向队列中报文数量从所述大于或等于设定报文数量阈值更新为小于设定报文数量阈值,则向所述首个网络设备发送拥塞取消通知,以使所述首个网络设备后续通过所述第二转发路径转发所述第二业务属性匹配的其他报文。
至此,完成图9所示装置的结构描述。
对应地,本申请实施例还提供了图8或图9所示装置的硬件结构。如图10所示,该硬件结构可以包括:机器可读存储介质1020和处理器1010。
机器可读存储介质1020存储指令代码。
处理器1010与机器可读存储介质1020通信,读取和执行所述机器可读存储介质1020中的指令代码,实现本申请公开的上述报文转发方法。
至此,完成图10所示装置的硬件结构图。
在本申请中,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指 令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

  1. 一种报文转发方法,其特征在于,该方法应用于管理设备,所述管理设备用于管理至少一个网络设备,该方法包括:
    依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度;
    依据所述一个时间片的长度和指定的一跳时延确定所述出接口对应的出接口方向队列调度周期中时间片的数量M;M大于或等于1,所述出接口方向队列调度周期用于调度所述出接口对应的N个出接口方向队列,N大于或等于1;不同出接口方向队列对应不同业务属性;
    依据出接口方向队列对应的业务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片,以使所述网络设备在所述出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文;N个出接口方向队列被分配的时间片的总数量为M。
  2. 根据权利要求1所述的方法,其特征在于,所述依据网络设备上用于转发报文的出接口的带宽和指定报文长度确定所述出接口对应的一个时间片的长度包括:
    依据所述指定报文长度确定用于计算一个时间片长度的参考值;
    依据所述参考值、指定报文长度和出接口的带宽并按照设定的时间片长度计算公式确定所述一个时间片的长度。
  3. 根据权利要求2所述的方法,其特征在于,所述设定的时间片长度计算公式为:
    (8+Frame+IFG)*8)/Bandwidth;
    其中,Frame为指定报文长度,IFG为所述参考值,当指定报文长度Frame是4字节的整数倍时,参考值IFG为第一值,否则,参考值IFG为第二值;Bandwidth为出接口的带宽。
  4. 根据权利要求1至3任一所述的方法,其特征在于,所述指定报文长度为64字节、512字节,2K字节或者1518字节。
  5. 根据权利要求1所述的方法,其特征在于,所述依据一个时间片的长度和指定的一跳时延确定所述出接口对应的出接口方向队列调度周期中时间片的数量M包括:
    计算所述指定的一跳时延与所述一个时间片的长度的商;
    若所述商为2 x,所述x为任一正整数,则确定所述商为所述M;
    若所述商不为2 x,则确定最接近所述商的2 k,确定2 k为所述M。
  6. 根据权利要求1所述的方法,其特征在于,所述依据出接口方向队列对应的业 务属性为出接口方向队列分配所述出接口方向队列调度周期内对应的时间片包括:
    针对每一出接口方向队列,
    依据该出接口方向队列对应的业务属性获得对应该出接口方向队列的时延要求,所述时延要求包括要求的目标时延;
    获得该出接口方向队列被配置的最大传输单元MTU;
    依据获得的时延要求、以及所述MTU为该出接口方向队列分配所述出接口方向队列调度周期内对应的时间片。
  7. 根据权利要求6所述的方法,其特征在于,所述依据获得的时延要求、以及所述MTU为该出接口方向队列分配所述出接口方向队列调度周期内对应的时间片包括:
    当所述目标时延小于或等于设定时延阈值时,
    若所述MTU小于或等于指定报文长度,则分配出接口方向队列调度周期内相隔所述目标时延的时间片给该出接口方向队列,
    若所述MTU大于指定报文长度,则分配出接口方向队列调度周期内相隔所述目标时延的时间片组给该出接口方向队列;其中,每个时间片组包括相邻的L个时间片,L为所述MTU所占用的时间片的数量;
    当所述目标时延大于设定时延阈值时,
    若所述MTU小于或等于指定报文长度,则分配出接口方向队列调度周期内P1个时间片给该出接口方向队列,
    若所述MTU大于设定MTU阈值,则分配出接口方向队列调度周期内P2个时间片组给该出接口方向队列;
    其中,P1大于等于1,当P1大于1时,该P1个时间片是分散的;
    P2大于等于1,当P2大于1时,该P2个时间片组是分散的,每个时间片组包括相邻的L个时间片,L为所述MTU所占用的时间片的数量。
  8. 根据权利要求1所述的方法,其特征在于,在所述网络设备转发已接入的终端发送的报文之前,该方法进一步包括:
    确定转发所述报文的转发路径;
    将所述转发路径上每一跳的目标出接口、目标出接口对应的且与所述报文匹配的业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识通知给所述网络设备,以使所述网络设备在封装的段路由SR头中添加所述转发路径上每一跳的目标出接口、目标出接口对应的且与所述报文匹配的业务属性所对应的目标出接口方向队列的标识以及目标出接口方向队列对应的时间片的标识,以指示所 述转发路径上收到所述报文的其他网络设备依据所述SR头中添加的目标出接口、目标出接口方向队列标识和目标时间片标识转发报文。
  9. 一种报文转发方法,其特征在于,该方法应用于网络设备,包括:
    获得本网络设备上出接口对应的出接口方向队列调度周期中时间片的数量M;所述M是依据所述出接口对应的一个时间片的长度、以及指定的一跳时延确定;所述一个时间片的长度是依据所述出接口的带宽和指定报文长度确定的;所述出接口方向队列调度周期用于调度所述出接口对应的N个出接口方向队列;不同出接口方向队列对应不同业务属性;N大于或等于1;
    获得所述管理设备为出接口方向队列分配的所述出接口方向队列调度周期内对应的时间片,在所述出接口方向队列调度周期内的每一时间片调度该时间片对应的出接口方向队列中的报文;N个出接口方向队列被分配的时间片的总数量为M。
  10. 根据权利要求9所述的方法,其特征在于,该方法进一步包括:
    接收已接入所述网络设备的终端发送的第一报文;
    为所述第一报文封装段路由SR头,所述SR头包括:转发所述第一报文的第一转发路径上每一跳的目标出接口、目标出接口对应的且与第一报文匹配的第一业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的标识;所述SR头包括的第一转发路径上每一跳的目标出接口、目标出接口方向队列的标识和目标出接口方向队列对应的目标时间片的标识,用于指示第一转发路径上收到所述第一报文的其他网络设备依据所述SR头中的目标出接口、目标出接口方向队列标识和目标时间片标识转发第一报文。
  11. 根据权利要求9所述的方法,其特征在于,该方法进一步包括:
    接收其他网络设备转发的第二报文;第二报文被封装的SR头中包括:转发第二报文的第二转发路径上每一跳的目标出接口、目标出接口对应的且与第二报文匹配的第二业务属性所对应的目标出接口方向队列的标识、以及目标出接口方向队列对应的目标时间片的时间片标识;
    从第二报文被封装的SR头中获得属于本网络设备本地的本地目标出接口、以及本地目标出接口对应的目标出接口方向队列的标识;
    若获得的目标出接口方向队列标识对应的目标出接口方向队列中报文数量大于或等于设定报文数量阈值,则向所述第二转发路径上的首个网络设备发送拥塞通知,以使所述首个网络设备后续抑制通过所述第二转发路径转发所述第二业务属性匹配的其他报文;
    若检测的所述目标出接口方向队列中报文数量从所述大于或等于设定报文数量阈值更新为小于设定报文数量阈值,则向所述首个网络设备发送拥塞取消通知,以使所述首个网络设备后续通过所述第二转发路径转发所述第二业务属性匹配的其他报文。
  12. 一种电子设备,其特征在于,包括:机器可读存储介质和处理器;
    机器可读存储介质:存储指令代码;
    处理器:与机器可读存储介质通信,读取和执行所述机器可读存储介质中的指令代码,实现如权利要求1至11任一所述的方法。
PCT/CN2020/132102 2020-11-27 2020-11-27 报文转发方法、装置以及电子设备 WO2022109986A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US18/003,485 US20230254263A1 (en) 2020-11-27 2020-11-27 Packet forwarding method, packet forwarding apparatus and electronic device
PCT/CN2020/132102 WO2022109986A1 (zh) 2020-11-27 2020-11-27 报文转发方法、装置以及电子设备
JP2022575727A JP7433479B2 (ja) 2020-11-27 2020-11-27 パケット転送方法、装置及び電子デバイス
CN202080003397.3A CN112585914B (zh) 2020-11-27 2020-11-27 报文转发方法、装置以及电子设备
EP20962877.5A EP4156645A4 (en) 2020-11-27 2020-11-27 MESSAGE FORWARDING METHOD AND DEVICE AND ELECTRONIC DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/132102 WO2022109986A1 (zh) 2020-11-27 2020-11-27 报文转发方法、装置以及电子设备

Publications (1)

Publication Number Publication Date
WO2022109986A1 true WO2022109986A1 (zh) 2022-06-02

Family

ID=75145456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/132102 WO2022109986A1 (zh) 2020-11-27 2020-11-27 报文转发方法、装置以及电子设备

Country Status (5)

Country Link
US (1) US20230254263A1 (zh)
EP (1) EP4156645A4 (zh)
JP (1) JP7433479B2 (zh)
CN (1) CN112585914B (zh)
WO (1) WO2022109986A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115696465A (zh) * 2023-01-05 2023-02-03 北京科技大学 一种基于终端侧网关队列缓存的5g-tsn资源管理方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116686272A (zh) * 2021-12-29 2023-09-01 新华三技术有限公司 一种报文传输方法及网络设备
CN116686353A (zh) * 2021-12-29 2023-09-01 新华三技术有限公司 一种调度周期调整方法及网络设备
CN114726805B (zh) * 2022-03-28 2023-11-03 新华三技术有限公司 一种报文处理方法及装置
CN115242728B (zh) * 2022-06-27 2023-07-21 新华三技术有限公司 一种报文传输方法及装置
CN115412308A (zh) * 2022-08-09 2022-11-29 北京天融信网络安全技术有限公司 报文处理方法、装置及电子设备
WO2024036476A1 (zh) * 2022-08-16 2024-02-22 新华三技术有限公司 一种报文转发方法及装置
CN116366570B (zh) * 2023-05-30 2023-08-18 新华三技术有限公司 一种报文转发方法、装置及可编程器件

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897566A (zh) * 2005-07-14 2007-01-17 中兴通讯股份有限公司 一种基于分类等级实现汇聚点服务质量保证的系统及方法
US7274696B1 (en) * 2002-10-21 2007-09-25 Force10 Networks, Inc. Scalable redundant switch fabric architecture
CN102083207A (zh) * 2009-11-30 2011-06-01 中国移动通信集团北京有限公司 Hs-pdsch资源的调度方法及相关装置
CN109639595A (zh) * 2018-09-26 2019-04-16 北京云端智度科技有限公司 一种基于时延的cdn动态优先级调度算法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244220A (ja) 2002-02-14 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 伝送レート制御装置並びに当該装置を含むネットワークシステム及び経路制御装置
US20050089054A1 (en) * 2003-08-11 2005-04-28 Gene Ciancaglini Methods and apparatus for provisioning connection oriented, quality of service capabilities and services
WO2006050140A2 (en) 2004-10-28 2006-05-11 The Regents Of The University Of California Dynamic adaptation for wireless communications with enhanced quality of service
JP4490806B2 (ja) 2004-12-28 2010-06-30 株式会社日立製作所 衛星通信制御方法、サーバ側地上局装置および端末側地上局装置
KR101344014B1 (ko) * 2007-02-07 2014-01-06 삼성전자주식회사 제로 지연 큐잉 방법 및 그 시스템
CN101442495B (zh) * 2008-12-26 2012-08-15 南京邮电大学 基于服务等级协议的时间片散列调度方法
CN101651614B (zh) * 2009-09-14 2011-08-10 华为技术有限公司 多端口队列调度方法及设备
CN102223306B (zh) * 2011-06-17 2018-10-16 南京中兴软件有限责任公司 一种报文传输方法及装置
WO2015042959A1 (zh) * 2013-09-30 2015-04-02 华为技术有限公司 一种数据传输的方法、装置及系统
CN105453681B (zh) * 2014-07-28 2019-03-08 华为技术有限公司 一种数据调度方法及装置
CN106506108A (zh) * 2016-12-06 2017-03-15 全球能源互联网研究院 基于软件定义网络sdn的同步报文调度方法及装置
CN108282415B (zh) * 2017-12-29 2022-01-11 超聚变数字技术有限公司 一种调度方法及设备
CN109246023A (zh) * 2018-11-16 2019-01-18 锐捷网络股份有限公司 流量控制方法、网络设备及存储介质
WO2020136843A1 (ja) 2018-12-27 2020-07-02 三菱電機株式会社 中継装置、中継方法及び中継プログラム
CN110099013B (zh) * 2019-04-25 2022-08-09 新华三技术有限公司 一种报文发送控制方法及装置
CN111431822A (zh) * 2020-04-19 2020-07-17 汪勤思 一种确定性时延业务智能调度与控制实施方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274696B1 (en) * 2002-10-21 2007-09-25 Force10 Networks, Inc. Scalable redundant switch fabric architecture
CN1897566A (zh) * 2005-07-14 2007-01-17 中兴通讯股份有限公司 一种基于分类等级实现汇聚点服务质量保证的系统及方法
CN102083207A (zh) * 2009-11-30 2011-06-01 中国移动通信集团北京有限公司 Hs-pdsch资源的调度方法及相关装置
CN109639595A (zh) * 2018-09-26 2019-04-16 北京云端智度科技有限公司 一种基于时延的cdn动态优先级调度算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4156645A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115696465A (zh) * 2023-01-05 2023-02-03 北京科技大学 一种基于终端侧网关队列缓存的5g-tsn资源管理方法及装置
CN115696465B (zh) * 2023-01-05 2023-04-07 北京科技大学 一种基于终端侧网关队列缓存的5g-tsn资源管理方法及装置

Also Published As

Publication number Publication date
CN112585914B (zh) 2024-05-28
US20230254263A1 (en) 2023-08-10
EP4156645A4 (en) 2023-07-05
JP2023529883A (ja) 2023-07-12
CN112585914A (zh) 2021-03-30
EP4156645A1 (en) 2023-03-29
JP7433479B2 (ja) 2024-02-19

Similar Documents

Publication Publication Date Title
WO2022109986A1 (zh) 报文转发方法、装置以及电子设备
US10243865B2 (en) Combined hardware/software forwarding mechanism and method
CN109412964B (zh) 报文控制方法及网络装置
US7701849B1 (en) Flow-based queuing of network traffic
US8184540B1 (en) Packet lifetime-based memory allocation
US11968111B2 (en) Packet scheduling method, scheduler, network device, and network system
WO2021114793A1 (zh) 数据转发方法、数据缓存方法、装置和相关设备
US20150215226A1 (en) Device and Method for Packet Processing with Memories Having Different Latencies
CN111526095B (zh) 一种流量控制方法和装置
US8929372B2 (en) Grid router
CN113726671B (zh) 一种网络拥塞控制方法及相关产品
US10855606B2 (en) Information processing apparatus and information processing system
US10623329B2 (en) Queuing system to predict packet lifetime in a computing device
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
US20050147034A1 (en) Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
EP3188419A2 (en) Packet storing and forwarding method and circuit, and device
CN113454957B (zh) 一种存储器的管理方法及装置
US8929216B2 (en) Packet scheduling method and apparatus based on fair bandwidth allocation
US8660001B2 (en) Method and apparatus for providing per-subscriber-aware-flow QoS
WO2019200568A1 (zh) 一种数据通信方法及装置
CN114531399B (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
US20230336487A1 (en) Flow control method
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases
WO2024036476A1 (zh) 一种报文转发方法及装置
CN117714378A (zh) 数据传输方法、装置、节点及系统

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022575727

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020962877

Country of ref document: EP

Effective date: 20221221

NENP Non-entry into the national phase

Ref country code: DE