WO2022183879A1 - 报文转发方法、电子设备和存储介质 - Google Patents

报文转发方法、电子设备和存储介质 Download PDF

Info

Publication number
WO2022183879A1
WO2022183879A1 PCT/CN2022/074957 CN2022074957W WO2022183879A1 WO 2022183879 A1 WO2022183879 A1 WO 2022183879A1 CN 2022074957 W CN2022074957 W CN 2022074957W WO 2022183879 A1 WO2022183879 A1 WO 2022183879A1
Authority
WO
WIPO (PCT)
Prior art keywords
time slot
flow
node
packet
service flow
Prior art date
Application number
PCT/CN2022/074957
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/258,904 priority Critical patent/US20240048502A1/en
Priority to EP22762347.7A priority patent/EP4250669A4/en
Publication of WO2022183879A1 publication Critical patent/WO2022183879A1/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/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • 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
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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
    • 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/568Calendar queues or timing rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/801Real time traffic

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a message forwarding method, an electronic device and a storage medium.
  • CQF Cyclic Queuing and Forwarding
  • TSN Time Sensitive Networking
  • Embodiments of the present application provide a packet forwarding method, an electronic device, and a storage medium.
  • an embodiment of the present application provides a packet forwarding method, which is applied to a first node through which a forwarding path of a service flow passes.
  • the method includes: determining a flow identifier of the service flow; determining according to the flow identifier the basic time slot number of the first packet in the service flow; determine the time slot offset of the first node for the service flow according to the flow identifier; according to the basic time slot number and the time slot The slot offset determines the number of the queued time slot of the first packet.
  • an embodiment of the present application provides a first node, where the first node is a node through which a forwarding path of a service flow passes, and is characterized by comprising: a first determination module configured to determine the service flow
  • the second determination module is configured to determine the basic time slot number of the first packet in the service flow according to the flow identification;
  • the third determination module is configured to determine the flow identification according to the flow identification.
  • the fourth determining module is configured to determine the queue entry time slot of the first packet according to the basic time slot number and the time slot offset Numbering.
  • an embodiment of the present application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the above-described computer program when the processor executes the computer program
  • the transmission method described in one aspect or the second aspect is not limited to: a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the above-described computer program when the processor executes the computer program The transmission method described in one aspect or the second aspect.
  • an embodiment of the present application further provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the transmission method described in the first aspect or the second aspect is implemented.
  • Figure 1 is a schematic diagram of the cyclic scheduling of the CQF mechanism
  • FIG. 2 is a flowchart of a message forwarding method provided by an embodiment of the present application.
  • Fig. 3 is the sub-step flow chart of step S100 in Fig. 2;
  • FIG. 4 is a schematic diagram of a round-robin scheduling parameter list provided by an embodiment of the present application.
  • Fig. 5 is the sub-step flow chart of step S200 in Fig. 2;
  • Fig. 6a is the sub-step flow chart of step S300 in Fig. 2;
  • Fig. 6b is the sub-step flow chart of step S300 in Fig. 2;
  • Example 7a is a schematic diagram of a round-robin scheduling parameter list in Example 1 of the embodiments of the present application.
  • Example 7b is a schematic diagram of the basic time slot number corresponding to each packet in Example 1 of the embodiment of the present application.
  • FIG. 7c is a schematic diagram of the number of the queued time slots corresponding to each packet in Example 1 of the embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a first node provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • a, b, and c may represent: a, b, c, a and b, a and c, b and c or a and b and c, where a, b, c may be single, or Can be multiple.
  • each node is provided with multiple buffer queues for buffering packets, and each queue corresponds to a time slot number. These cache queues form a circular queue, and the queues are forwarded in a circular scheduling manner.
  • the queue in the sending state sends a message within a certain time slot duration (for example, 10 ⁇ S), while the other queues all receive the message.
  • a certain time slot duration for example, 10 ⁇ S
  • the end-to-end delay is related to the number of hops and the time slot duration
  • the jitter is only related to the time slot duration and has an upper bound.
  • this scheme requires time synchronization between nodes, so it is only suitable for small-scale networks.
  • a related technical solution proposes a forwarding plane solution based on time slot label mapping between upstream and downstream nodes. Packets are sent out in the same outgoing time slot, thereby providing services with deterministic services with bounded delay and jitter.
  • this solution needs to carry time slot label information in the message, and requires modification of the existing message encapsulation, which brings problems of device interworking and protocol compatibility.
  • the embodiments of the present application provide a message forwarding method, an electronic device, and a storage medium, which can realize deterministic transmission in a large-scale network.
  • the controller may be a software defined network (Software Defined Network, SDN) controller. It may include, but is not limited to, application identification (app ID), service flow identification (Flow ID), traffic model, network quality of service (Quality of Service, QoS) requirements, etc.
  • the controller reads network parameters, including but not limited to: bandwidth and delay, circular queue template maintained by ports, packet header-to-basic timeslot mapping policy supported by nodes, etc. requirements, determine the forwarding path for forwarding the service flow.
  • the forwarding path passes through multiple nodes, for example: node A-node B-node C-node D-node E, and the nodes are connected by links.
  • the node described in this embodiment of the present application may be a specific network device, such as a router or a switch.
  • the packet forwarding method is applied to the first node through which the forwarding path of the service flow passes, where the first node may be any node in the forwarding path.
  • the packet forwarding method according to the embodiment of the present application includes the following steps:
  • the flow ID (Flow ID) of the service flow in this embodiment of the present application may use a field or a combination of fields in the message header.
  • MPLS Multi-Protocol Label Switching
  • DetNet deterministic network
  • DetNet IPv4/IPv6 packets can use source IP address, destination IP address Fields such as address, source port, destination port, transport layer protocol type, and priority are used as Flow ID.
  • determining the flow identifier of the service flow may include the following steps:
  • the first node after receiving the service flow, the first node identifies the type of the service flow, and the type of the service flow may be an MPLS packet, an IPv4/IPv6 packet, or the like.
  • S102 Determine the field where the flow identifier is located according to the type of the service flow.
  • the mapping relationship between the service flow type and the field where the flow ID is located can be established in advance. After identifying the type of the currently received service flow, the currently received service flow is determined according to the mapping relationship between the service flow type and the field where the flow ID is located.
  • the flow identifier is extracted from the field corresponding to the packet header of the service flow.
  • S200 Determine the basic time slot number of the first packet in the service flow according to the flow identifier.
  • the controller may pre-establish a mapping rule based on the flow ID of the service flow and the basic time slot number, and after determining the forwarding path of the service flow, the controller sends the mapping rule of the flow ID and the basic time slot number to the Every node that the forwarding path passes through.
  • the first node may determine the basic time slot number of the first packet mapping of the service flow according to the flow identifier.
  • the first packet belongs to the service flow, the service flow includes one or more packets, and the first packet is any packet in the service flow.
  • the related technical solution solves the problem that the time slot label information is carried in the message in the related technical solution. It is necessary to modify the problems caused by the existing packet encapsulation.
  • the controller constructs a round-robin scheduling parameter list for the deterministic service flow.
  • a round-robin scheduling parameter list for the specific form of the round-robin scheduling parameter list, reference may be made to the table shown in FIG. 4 .
  • the round-robin scheduling parameter list may include the following fields:
  • Flow ID The key value field of the table entry is used to configure the deterministic service flow ID.
  • a node receives a service flow message, it first needs to match the table Flow ID to determine whether it needs to provide deterministic forwarding services;
  • Flow Interval If the service flow is a periodic service flow, configure the period of the service flow to the Flow Interval field, otherwise this field is Null;
  • Max Packets Per Interval If the service flow is a periodic service flow, configure the maximum number of packets sent in a single period to this field, otherwise this field is Null;
  • ⁇ T Time slot offset, obtained by self-learning of nodes on the forwarding plane, and the initial value is Null.
  • round-robin scheduling parameter list shown in FIG. 4 is only schematic. During specific implementation, the round-robin scheduling parameter list may contain more or fewer fields than the template shown in FIG. 4 . This is not too restrictive.
  • the controller delivers the round-robin scheduling parameter list for the deterministic service flow to each node belonging to the controller, and guides each node to perform round-robin scheduling through the round-robin scheduling parameter list.
  • the controller has previously delivered the round-robin scheduling parameter list to each node, that is, the round-robin scheduling parameter list has been preset in each node that the forwarding path of the service flow passes through. , so that each node passing through the forwarding path performs round-robin scheduling for the deterministic service flow according to the unified round-robin scheduling parameter list.
  • the same circular scheduling parameter list is used between the upstream and downstream nodes of the forwarding path, that is, the same time slot duration and the same number of buffer queues, and the time slot polling frequency is synchronized.
  • the first node when it determines the flow identifier of the service flow, it also searches a preset cyclic scheduling parameter list according to the flow identifier of the service flow.
  • the basic time slot number otherwise the service flow is processed according to the original forwarding process.
  • the first node when it receives a service flow, it first determines the Flow ID of the service flow, such as s-label for DetNet MPLS packets and n-tuple for DetNet IPv4/IPv6 packets; then use the Flow ID as the key to search Circular scheduling parameter list. If the search is successful, it indicates that a deterministic forwarding service needs to be provided for the service flow, otherwise, it is processed according to the original forwarding process.
  • the Flow ID of the service flow such as s-label for DetNet MPLS packets and n-tuple for DetNet IPv4/IPv6 packets.
  • determining the basic time slot number of the first packet in the service flow according to the flow identifier may include:
  • mapping rule searching for a mapping rule corresponding to the flow identifier from a preset round-robin scheduling parameter list according to the flow identifier, where the mapping rule includes key field indication information for mapping;
  • S203 Determine the basic time slot number to which the key field value is mapped according to the mapping rule.
  • the first node finds a mapping rule (Slot Mapping Strategy) corresponding to the Flow ID from the preset round-robin scheduling parameter list, indicating that the message is determined based on the packet sequence number.
  • the base slot number of the text is the key field indication information contained in the mapping rule corresponding to the Flow ID.
  • the message sequence number is extracted from the header of the first message, and then the basic time slot number to which the message sequence number is mapped is determined according to the mapping rule.
  • determining the time slot offset of the first node for the service flow according to the flow identifier includes:
  • S310 Search for the time slot offset corresponding to the flow identification from the preset cyclic scheduling parameter list according to the flow identification.
  • the first node can search for the ⁇ T corresponding to the current Flow ID from the preset cyclic scheduling parameter list. If the ⁇ T field is not Null, that is, A slot offset corresponding to the flow identification can be determined.
  • determining the time slot offset of the first node for the service flow according to the flow identifier includes:
  • the Slot Interval field and the Slot Number field corresponding to the current Flow ID are searched from the cyclic scheduling parameter list, and the slot duration and the number of slots corresponding to the flow ID can be obtained.
  • S321 obtain the time delay reference value of the first node, and determine the time delay interval according to the time delay reference value and the time slot duration;
  • the delay reference value may be determined by the maximum forwarding delay value between the ingress port and the egress port of the first node.
  • the delay reference value is maxdelay, according to the delay reference value maxdelay and the parameters indicated in the round-robin scheduling parameter list.
  • the time slot duration t can be determined by the following formula (1) to determine the delay interval ⁇ t:
  • the number of the timeslot corresponding to the queue currently in the sending state of the first node is 3, that is, the number of the timeslot currently scheduled by the first node is 3.
  • S323 Determine the time slot offset according to the basic time slot number, the currently scheduled time slot number, the time delay interval and the number of time slots.
  • the time slot of the current first packet can be determined.
  • the gap offset can be calculated by the following formula:
  • ⁇ T represents the time slot offset
  • T1 represents the basic time slot number
  • T2 represents the currently scheduled time slot number
  • ⁇ t represents the delay interval
  • N represents the number of time slots.
  • the first node can realize self-learning of the time slot offset of the current service flow.
  • the first node after determining the time slot offset for the service flow, the first node also records the time slot offset in the preset cyclic scheduling parameter list for use in subsequent packets.
  • S400 Determine the queued time slot number of the first packet according to the basic time slot number and the time slot offset.
  • the basic time slot number is shifted according to the time slot offset, so that the queue entry time slot number of the first packet can be determined.
  • the enqueuing time slot number obtained in this way can prevent the first node from being unable to schedule in time, thereby ensuring the queuing delay of the message at the first node.
  • the polling schedule is to the enqueue time slot number of the first packet
  • the first packet is sent to the next hop node, that is, the forwarding of the first packet on the current first node is completed.
  • the packet forwarding method according to the embodiment of the present application is specifically described below by using an example.
  • the quintuple of service flow 1 is ⁇ 192.168.2.1, 192.168.3.1, 500, 1000, 10 ⁇
  • the quintuple of service flow 2 is ⁇ 192.168.1.1, 192.168. 2.2, 1000, 2000, 10 ⁇ .
  • node A For the packet of service flow 1, node A extracts the quintuple of the packet and searches the round-robin scheduling parameter list. The matching fails. Therefore, the packet is processed according to the original method, for example, the packet is sent to the queue of the outgoing port based on the priority.
  • node A For the packet of service flow 2, node A extracts the quintuple of the packet, and searches the round-robin scheduling parameter list, and the matching is successful, indicating that the packet of service flow 2 needs to be processed according to the solution of the embodiment of the present application.
  • the Slot Mapping Strategy field in the table entry the basic slot mapping is calculated based on the packet sequence number (Sequence Number). It is assumed that the calculation formula of the slot mapping used is:
  • T1 represents the basic time slot number
  • cycle1 represents the service cycle
  • t represents the time slot duration
  • the basic timeslot number mapping calculation method is the same as that of the first packet. According to the above calculation result, the basic timeslot number is 0.
  • the basic timeslot number mapping calculation method is the same as that of the first packet. According to the above calculation result, the basic timeslot number is 2.
  • the basic time slot number mapping and the time slot offset calculation of the enqueue time slot number are the same as the above-mentioned second and third.
  • the packets are the same, so they will not be repeated one by one.
  • the enqueuing time slot number of each packet finally obtained can be seen in Figure 7c.
  • This example further illustrates the calculation of the slot offset ⁇ T.
  • ⁇ T represents the time slot offset
  • T1 represents the basic time slot number
  • T2 represents the currently scheduled time slot number
  • ⁇ t represents the delay interval
  • N represents the number of time slots.
  • (T2+ ⁇ t-T1) may be a negative value, it is necessary to add N before taking the modulo of the number of time slots N.
  • the first node after receiving the service flow, determines the basic time slot number and time slot offset corresponding to the first packet of the service flow according to the flow identifier of the service flow, and then according to the basic time slot number and the time slot offset to determine the entry time slot number of the first packet, and provide a deterministic forwarding service with bounded delay and jitter for the packet through the forwarding plane.
  • This solution does not require time synchronization between nodes on the forwarding path, so it is especially suitable for large-scale network applications.
  • the intermediate node does not introduce additional jitter, and the maximum end-to-end jitter of the service is 2*t, where t is the time slot duration of the cyclic scheduling parameter list.
  • an embodiment of the present application further provides a first node 400, where the first node is a node through which a forwarding path of a service flow passes, and is characterized in that it includes:
  • the first determining module 410 is configured to determine the flow identifier of the service flow
  • the second determining module 420 is configured to determine the basic time slot number of the first packet in the service flow according to the flow identifier
  • the third determining module 430 is configured to determine the time slot offset of the first node for the service flow according to the flow identifier
  • the fourth determining module 440 is configured to determine the queued time slot number of the first packet according to the basic time slot number and the time slot offset.
  • the first determining module 410 specifically includes:
  • an identification unit configured to identify the type of the received service flow
  • the first determining unit determines the field where the flow identifier is located according to the type of the service flow
  • the extraction unit extracts the flow ID from the packet header of the service flow according to the field where the flow ID is located.
  • the second determining module 420 specifically includes:
  • a first search unit configured to search for a mapping rule corresponding to the flow identification from a preset round-robin scheduling parameter list according to the flow identification, where the mapping rule includes key field indication information for mapping;
  • a second determining unit configured to determine the key field value from the header of the first packet according to the key field indication information
  • the third determining unit is configured to determine the basic time slot number of the key field value mapping according to the mapping rule.
  • the third determining module 430 specifically includes:
  • the second search unit is configured to search for the time slot duration and the number of time slots corresponding to the flow identification from the preset cyclic scheduling parameter list according to the flow identification;
  • a fourth determining unit configured to obtain the time delay reference value of the first node, and determine the time delay interval according to the time delay reference value and the time slot duration;
  • an obtaining unit configured to obtain the time slot number currently scheduled by the first node
  • the fifth determining unit is configured to determine the time slot offset according to the basic time slot number, the currently scheduled time slot number, the time delay interval and the number of time slots.
  • the second search unit is further configured to search for the time slot offset corresponding to the flow identification from the preset cyclic scheduling parameter list according to the flow identification.
  • the third determining module 430 further includes:
  • the recording unit is configured to record the time slot offset in the preset cyclic scheduling parameter list.
  • the first node 400 in this embodiment of the present application further includes:
  • the scheduling module is configured to send the first packet to the next hop node when the polling schedule is to the queued time slot number of the first packet.
  • the round-robin scheduling parameter list is preset in each node that the forwarding path of the service flow passes through, and the round-robin scheduling parameter list is used to guide each node to perform round-robin scheduling.
  • an electronic device 500 provided by an embodiment of the present application is shown, including: a memory 510 , a processor 520 , and a computer program stored on the memory 510 and running on the processor 520 .
  • the processor 520 and the memory 510 may be connected by a bus or otherwise.
  • the memory 510 can be used to store non-transitory software programs and non-transitory computer-executable programs. Additionally, memory 510 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may include memory located remotely from the processor 520, which may be connected to the processor 520 through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • the non-transitory software programs and instructions required to implement the transmission methods of the above embodiments are stored in the memory 510, and when executed by the processor 520, execute the message forwarding methods in any of the above embodiments.
  • the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • an embodiment of the present application also provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, the computer program is executed by a processor or a controller, and when the computer program is executed by the processor or the controller , execute the packet forwarding method in any of the foregoing embodiments.
  • the first node that the forwarding path of the service flow passes through determines the flow identifier of the service flow; the first node determines the basic time slot number of the first packet in the service flow according to the flow identifier; A node determines the time slot offset of the first node for the service flow according to the flow identifier; the first node determines the first packet according to the basic time slot number and the time slot offset the enqueue slot number.
  • the first node determines the basic time slot number and time slot offset corresponding to the first packet of the service flow according to the flow identifier of the service flow, and then according to the basic time slot number and the time slot The offset determines the entry time slot number of the first packet, and provides a deterministic forwarding service with bounded delay and jitter for the packet through the forwarding plane.
  • This solution does not require time synchronization between nodes on the forwarding path, so it is especially suitable for large-scale network applications.
  • Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium used to store desired information and which can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and can include any information delivery media, as is well known to those of ordinary skill in the art .

Landscapes

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

Abstract

一种报文转发方法、电子设备和存储介质,所述方法包括:业务流的转发路径经过的第一节点确定所述业务流的流标识;第一节点根据流标识确定业务流中的第一报文的基础时隙编号;第一节点根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;第一节点根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。如此,第一节点根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。

Description

报文转发方法、电子设备和存储介质
相关申请的交叉引用
本申请基于申请号为202110235437.3、申请日为2021年3月3日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及通信技术领域,具体涉及一种报文转发方法、电子设备和存储介质。
背景技术
IEEE时间敏感网络(Time Sensitive Networking,TSN)工作组于802.1Qch草案中提出的循环入队和转发(Cyclic Queuing and Forwarding,CQF)机制能够为TSN业务提供确定性的转发服务。CQF要求节点间时间同步,然而在大规模三层确定性网络中,节点之间往往难以时间同步,因此在大规模网络中无法直接复用CQF技术提供有效的确定性转发服务。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种报文转发方法、电子设备和存储介质。
第一方面,本申请实施例提供了一种报文转发方法,应用于业务流的转发路径经过的第一节点,所述方法包括:确定所述业务流的流标识;根据所述流标识确定所述业务流中的第一报文的基础时隙编号;根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
第二方面,本申请实施例提供了一种第一节点,所述第一节点为业务流的转发路径经过的节点,其特征在于,包括:第一确定模块,被设置成确定所述业务流的流标识;第二确定模块,被设置成根据所述流标识确定所述业务流中的第一报文的基础时隙编号;第三确定模块,被设置成根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;第四确定模块,被设置成根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或者第二方面所述的传输方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或者第二方面所述的传输方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和得到。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是CQF机制的循环调度示意图;
图2是本申请实施例提供的一种报文转发方法的流程图;
图3是图2中步骤S100的子步骤流程图;
图4是本申请实施例提供的循环调度参数列表示意图;
图5是图2中步骤S200的子步骤流程图;
图6a是图2中步骤S300的子步骤流程图;
图6b是图2中步骤S300的子步骤流程图;
图7a是本申请实施例的示例一中的循环调度参数列表示意图;
图7b是本申请实施例的示例一中每个报文对应的基础时隙编号示意图;
图7c是本申请实施例的示例一中每个报文对应的入队时隙编号示意图;
图8是本申请实施例提供的一种第一节点的结构示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
应了解,在本申请实施例的描述中,如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为便于理解,首先对本申请实施例的相关技术方案进行介绍。
请参见图1,在CQF机制中,每个节点设置有多个用于缓存报文的缓存队列,每个队列对应一个时隙编号。这些缓存队列组成一个循环队列,队列之间按循环调度方式转发。在某一个时隙,处于发送状态的队列在确定的时隙时长内(例如10μS)发送报文,而其余队列均接收报文。通过循环入队和转发,端到端的时延与跳数和时隙时长相关,抖动仅和时隙时长相关,且有上界。然而这种方案要求节点间时间同步,因而仅适应于小规模网络。
相关技术方案,提出了基于上下游节点间时隙标签映射的转发面解决方案,下游节点需在上游时隙序号和下游时隙序号间维护时隙映射关系,并使所有携带同一时隙序号的报文在同一出时隙中发送出去,从而为业务提供有界时延和抖动的确定服务。然而,该解决方案需 要在报文中携带时隙标签信息,要求修改现有报文封装,带来设备互通和协议兼容性问题。
本申请实施例提供了一种报文转发方法、电子设备和存储介质,能够实现大规模网络的确定性传输。
可以理解,在用户部署确定性业务流前,首先通过用户网络接口将业务流相关信息提交给控制器,其中,控制器可以是软件定义网络(Software Defined Network,SDN)控制器,业务流相关信息可以包括但不限于应用标识(app ID)、业务流标识(Flow ID)、流量模型、网络服务质量(Quality of Service,QoS)要求等。控制器读取网络参数,包括但不限于:带宽和时延、端口维护的循环队列模板、节点支持的报文头到基础时隙映射策略等信息,然后根据业务流QoS中对于时延和抖动的要求,确定转发该业务流的转发路径。该转发路径经过多个节点,例如:节点A-节点B-节点C-节点D-节点E,节点之间通过链路连接。本申请实施例描述的节点可以为一个具体的网络设备,例如:路由器或交换机等。
请参见图2,示出了本申请实施例提供的一种报文转发方法。该报文转发方法应用于业务流的转发路径经过的第一节点,这里的第一节点可以是转发路径中的任一个节点。如图2所示,本申请实施例的报文转发方法包括以下步骤:
S100,确定业务流的流标识。
可以理解,为了不改变现有报文的封装以避免设备互通和协议兼容性问题,本申请实施例的业务流的流标识(Flow ID)可以采用报文头的字段或者字段的组合。例如确定性网络(DetNet)的多协议标签交换(Multi-Protocol Label Switching,MPLS)报文可采用s-label、d-cw作为Flow ID,DetNet IPv4/IPv6报文可采用源IP地址、目的IP地址、源端口、目的端口、传输层协议类型、优先级等字段作为Flow ID。
请参见图3,确定业务流的流标识,可以包括以下步骤:
S101,识别接收到的业务流的类型。
作为示例,第一节点接收到业务流后,对业务流的类型进行识别,业务流的类型可以是MPLS报文、IPv4/IPv6报文等。
S102,根据业务流的类型确定流标识所在字段。
具体实现时,可以预先建立业务流类型和流标识所在字段的映射关系,在识别到当前接收的业务流的类型后,根据业务流类型和流标识所在字段的映射关系,确定当前接收的业务流的流标识所在字段。例如,识别到业务流的类型为MPLS报文时,确定流标识所在字段为s-label和/或d-cw;识别到业务流的类型为Pv4/IPv6报文时,确定流标识所在字段为源IP地址、目的IP地址、源端口、目的端口、传输层协议类型、优先级中的一个或多个字段的组合。
S103,根据流标识所在字段从业务流的报文头中提取流标识。
可以理解,当确定了流标识所在字段之后,从业务流的报文头对应的字段中提取该流标识。
S200,根据流标识确定业务流中的第一报文的基础时隙编号。
作为示例,可以由控制器预先建立基于业务流的流标识和基础时隙编号的映射规则,控制器在确定业务流的转发路径后,将流标识和基础时隙编号的映射规则下发给该转发路径经过的每一个节点。第一节点在确定当前业务流的流标识后,即可根据流标识确定业务流的第一报文映射的基础时隙编号。这里,第一报文属于该业务流,该业务流包括一个或者多个报 文,第一报文为该业务流中的任一个报文。
可以理解,在流标识存在于业务流的报文头字段的情况下,相当于基于报文头字段进行基础时隙的映射,如此,解决了相关技术方案在报文中携带时隙标签信息而需要修改现有报文封装所带来的问题。
作为一种示例,控制器构建针对确定性业务流的循环调度参数列表,该循环调度参数列表的具体形式可以参考图4所示的表格。如图4所示,循环调度参数列表可以包括以下的字段:
Flow ID:表项的键值字段,用于配置确定性业务流ID,当节点收到业务流报文时,首先需要匹配表Flow ID,判断是否需要为其提供确定性转发服务;
Flow Interval:若业务流为周期性的业务流,配置业务流的周期至Flow Interval字段,否则该字段为Null;
Max Packets Per Interval:若业务流为为周期性的业务流,配置单个周期内最大发送报文数量至该字段,否则该字段为Null;
Slot Interval:表示循环队列时隙时长;
Slot Number:表示循环队列的时隙个数;
Slot Mapping Strategy:表示报文头字段到基础时隙编号的映射规则;
ΔT:时隙偏移量,由转发面的节点自学习得到,初始值为Null。
需说明的是,图4所示的循环调度参数列表仅是示意性的,具体实现时,循环调度参数列表可以比图4所示的模板包含更多或者更少的字段,本申请实施例对此不作过多限定。
可以理解,控制器将针对确定性业务流的循环调度参数列表下发至归属于该控制器的每个节点中,通过该循环调度参数列表指导每个节点进行循环轮询调度。当有确定性业务流需进行确定性转发时,由于此前控制器已将循环调度参数列表下发至各个节点,即该循环调度参数列表已预先设置在业务流的转发路径经过的每个节点中,从而使转发路径经过的每个节点根据统一的循环调度参数列表针对该确定性业务流进行循环轮询调度。
可以理解,转发路径的上、下游节点间均采用相同的循环调度参数列表,即有相同的时隙时长和缓存队列个数,并且时隙轮询频率同步。
在一些实施例中,当第一节点确定业务流的流标识,还根据业务流的流标识查找预置的循环调度参数列表,如果查找成功,根据流标识确定业务流中的第一报文的基础时隙编号,否则按原有转发流程处理该业务流。
例如,第一节点接收到业务流时,先确定业务流的Flow ID,例如针对DetNet MPLS报文是s-label,针对DetNet IPv4/IPv6报文为n-tuple;然后以Flow ID为键去查找循环调度参数列表,若查找成功,则表明需要为该业务流提供确定性转发服务,否则按原有转发流程处理。
请参见图5,在一个示例中,根据流标识确定业务流中的第一报文的基础时隙编号,可以包括:
S201,根据流标识从预置的循环调度参数列表中查找与流标识对应的映射规则,映射规则包括用于映射的关键字段指示信息;
S202,根据关键字段指示信息从第一报文的报文头中确定关键字段值;
S203,根据映射规则确定关键字段值映射的基础时隙编号。
例如,第一节点确定当前接收到的业务流1的Flow ID后,从预置的循环调度参数列表中查找到与该Flow ID对应的映射规则(Slot Mapping Strategy)指示基于报文序列号确定报文的基础时隙编号。这里,与该Flow ID对应的映射规则所包含的关键字段指示信息为报文序列号。当确定关键字段指示信息为报文序列号之后,从第一报文的报文头中提取报文序列号,然后根据映射规则确定该报文序列号映射的基础时隙编号。
S300,根据流标识确定第一节点针对业务流的时隙偏移量。
请参见图6a,在一些实施例中,根据流标识确定第一节点针对业务流的时隙偏移量,包括:
S310,根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙偏移量。
可以理解,第一节点在确定当前接收到的业务流的流标识(Flow ID)后,可以从预置的循环调度参数列表中查找与当前Flow ID对应的ΔT,若ΔT字段不为Null,即可确定与该流标识对应的时隙偏移量。
可以理解,若预置的循环调度参数列表中与当前Flow ID对应的ΔT字段为Null,则需要第一节点自学习自身对于当前业务流的时隙偏移量。
请参见图6b,在一些实施例中,根据流标识确定第一节点针对业务流的时隙偏移量,包括:
S320,根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙时长和时隙个数;
例如,结合图4,从该循环调度参数列表中查找与当前Flow ID对应的Slot Interval字段和Slot Number字段,即可得到与流标识对应的时隙时长和时隙个数。
S321,获取第一节点的时延参考值,并根据时延参考值和时隙时长确定时延间隔;
例如,时延参考值可以由第一节点的入端口到出端口之间的最大转发时延值决定,假设时延参考值为maxdelay,根据该时延参考值maxdelay和循环调度参数列表中指示的时隙时长t,即可通过以下公式(1)确定时延间隔Δt:
Δt=maxdelay/t        (1)
S322,获取第一节点当前调度的时隙编号。
例如,第一节点当前处于发送状态的队列对应的时隙编号为3,即第一节点当前调度的时隙编号为3。
S323,根据基础时隙编号、当前调度的时隙编号、时延间隔和时隙个数确定时隙偏移量。
在一个示例中,在确定了当前的第一报文的基础时隙编号、第一节点当前调度的时隙编号、时延间隔和时隙个数后,即可确定当前第一报文的时隙偏移量,具体可以通过以下公式计算得到:
ΔT=(T2+Δt-T1+N)%N        (2)
其中,ΔT表示时隙偏移量,T1表示基础时隙编号,T2表示当前调度的时隙编号,Δt表示时延间隔,N表示时隙个数。
需说明的是,本申请实施例提供的采用公式(2)计算时隙偏移量的方式仅是示意性的,还可以采用对公式(2)进行变形得到的其它计算公式来计算时隙偏移量,本申请实施例对此不作过多限制。
可以理解,通过以上步骤S320至S323,第一节点即可实现对当前业务流的时隙偏移量 的自学习。
可以理解,第一节点在确定针对业务流的时隙偏移量之后,还将该时隙偏移量记录在预置的循环调度参数列表中,以便后续的报文使用。
S400,根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号。
可以理解,确定时隙偏移量之后,根据该时隙偏移量对基础时隙编号进行偏移,即可确定第一报文的入队时隙编号。如此得到的入队时隙编号能避免第一节点无法做到及时调度,从而保证报文在第一节点的排队时延。
可以理解,当轮询调度至第一报文的入队时隙编号,将第一报文发送至下一跳节点,即完成第一报文在当前的第一节点的转发。
以下通过示例对本申请实施例的报文转发方法进行具体的说明。
示例一:
假设节点A的最大处理时延maxDelay为40us,且节点A配置的循环调度参数列表如图7a所示,该列表包含一条业务流的循环调度参数。
假设节点A收到两条IPv4业务流,业务流1的五元组为{192.168.2.1,192.168.3.1,500,1000,10},业务流2的五元组为{192.168.1.1,192.168.2.2,1000,2000,10}。
对业务流1报文,节点A提取报文的五元组,并查找循环调度参数列表,匹配失败,因此根据原有方式处理报文,例如基于优先级将报文送入出端口队列。
对业务流2报文,节点A提取报文的五元组,并查找循环调度参数列表,匹配成功,表明需要按本申请实施例的方案处理业务流2的报文。根据表项中Slot Mapping Strategy字段指示基于报文序列号(Sequence Number)计算基础时隙映射,假设采用的时隙映射计算公式为:
Figure PCTCN2022074957-appb-000001
其中T1表示基础时隙编号,cycle1表示业务周期,t表示时隙时长。
结合图7b,本示例中每个报文的基础时隙编号计算结果如下:
对Sequence Number=1,基础时隙编号为T1 1=(1*150/20/3)%5=2;
对Sequence Number=2,基础时隙编号为T1 2=(2*150/20/3)%5=0;
对Sequence Number=3,基础时隙编号为T1 3=(3*150/20/3)%5=2;
对Sequence Number=4,基础时隙编号为T1 4=(4*150/20/3)%5=0;
对Sequence Number=5,基础时隙编号为T1 5=(5*150/20/3)%5=2;
......
根据上述计算结果,Sequence Number=1的报文的基础时隙编号为2。再查找表项中ΔT字段,发现ΔT为Null,因此按节点本身自学习方式计算ΔT,查询当前处于调度的时隙序号为3,根据前面描述的公式(2),则计算得到ΔT=(3+2-2+5)%5=3。节点将计算得到的ΔT值保存进业务流对应的循环调度参数列表的表项中。
然后对于Sequence Number=1的报文,容易计算其入队时隙编号为:cycle 入1=(T1 1+ΔT)%N=(2+3)%5=0,节点按计算结果将Sequence Number=1的报文缓存进时隙编号为0的队列中,当调度轮询到时隙编号为0的队列时,将业务流的第一个报文调 度发送出去。
对收到的业务流2第二个报文(Sequence Number=2),基础时隙编号映射计算方式与第一个报文相同,根据上述计算结果,基础时隙编号为0。当查找表项中ΔT字段时发现ΔT=3,则直接对时隙进行偏移得到第二个报文的入队时隙编号为:cycle 入2=(T1 2+ΔT)%N=(0+3)%5=3。
对收到的业务流2第三个报文(Sequence Number=3),基础时隙编号映射计算方式与第一个报文相同,根据上述计算结果,基础时隙编号为2。当查找表项中ΔT字段时发现ΔT=3,则直接对时隙进行偏移得到第三个报文的入队时隙编号为:cycle 入3=(T1 3+ΔT)%N=(2+3)%5=0。
对后续收到的业务流2的第四、五、六、……个报文,其基础时隙编号映射和时隙偏移计算入队时隙编号的方式均与上述第二个和第三个报文相同,因而不再一一赘述,最后得到的每个报文的入队时隙编号可参见图7c。
实例二:
本实施例举例说明采用哈希算法基于报文头Flow ID计算基础时隙映射的策略,即基础时隙编号T1=hash(FlowID)%N,表示先基于Flow ID做哈希计算,然后对循环队列个数取模得到基础时隙编号。
假设有五条DetNet MPLS业务流,其业务流Flow ID分别为s-label=1,2,3,4和5,假设循环调度参数列表的时隙个数为N=5。
假设由循环调度参数列表相应字段指示采用哈希算法基于业务流报文头Flow ID进行基础时隙映射,且各个DetNet MPLS业务流的Flow ID的哈希计算结果为:
对于第一条业务流,hash(1)=150;
对于第二条业务流,hash(2)=12;
对于第三条业务流,hash(3)=34;
对于第四条业务流,hash(4)=14;
对于第五条业务流,hash(5)=53。
易根据T1=hash(FlowID)%N计算各业务流报文的基础时隙映射,计算结果如下:
对于Flow ID=1,基础时隙编号为150%5=0;
对于Flow ID=2,基础时隙编号为12%5=2;
对于Flow ID=3,基础时隙编号为34%5=4;
对于Flow ID=4,基础时隙编号为14%5=4;
对于Flow ID=5,基础时隙编号为53%5=4。
需说明的是,可以根据实际应用场景需求,灵活采用相应的基础时隙编号计算策略,本实施例中取值示例仅作解释说明,不作为对本申请实施例的限定。
实例三:
本实例进一步举例说明时隙偏移量ΔT的计算。
假设ΔT的计算公式为:ΔT=(T2+Δt-T1+N)%N
其中,ΔT表示时隙偏移量,T1表示基础时隙编号,T2表示当前调度的时隙编号,Δt表示时延间隔,N表示时隙个数。
这里,由于其中(T2+Δt-T1)可能为负值,因此在对时隙个数N取模前,需要先加上N。
假设节点的最大处理时延maxDelay为20us,根据时隙计算策略计算得到第一个报文的基础时隙编号T1为4,节点接收到第一个报文时当前正处于调度状态的时隙序号为0,循环调度参数列表的时隙个数为N=5,时隙时长为t=10us。计算该业务流时隙偏移量为:
ΔT=(T2+Δt-T1+N)%N=(0+20/10-4+5)%5=3;
则对于该业务第一个报文,经过偏移调整ΔT=3后,该报文的入队时隙为:
cycle =(T1+ΔT)%N=(4+3)%5=2;
假设后续接收到该业务的另一个报文,根据时隙映射计算策略得到的基础时隙编号T1为3,则经过时隙偏移调整ΔT=3后,该报文的入队时隙为:
cycle =(T1+ΔT)%N=(3+3)%5=1。
本申请实施例的方案,第一节点在接收到业务流后,根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。本方案不需要转发路径上的各个节点之间的时间同步,因此尤其适合大规模网络应用。采用本申请实施例提供的转发方法,中间节点不会引入额外抖动,业务端到端最大抖动为2*t,其中t为循环调度参数列表的时隙时长。
请参见图8,本申请实施例还提供了一种第一节点400,第一节点为业务流的转发路径经过的节点,其特征在于,包括:
第一确定模块410,被设置成确定业务流的流标识;
第二确定模块420,被设置成根据流标识确定业务流中的第一报文的基础时隙编号;
第三确定模块430,被设置成根据流标识确定第一节点针对业务流的时隙偏移量;
第四确定模块440,被设置成根据基础时隙编号和时隙偏移量确定第一报文的入队时隙编号。
在一个示例中,第一确定模块410具体包括:
识别单元,被设置成识别接收到的业务流的类型;
第一确定单元,根据业务流的类型确定流标识所在字段;
提取单元,根据流标识所在字段从业务流的报文头中提取流标识。
在一个示例中,第二确定模块420具体包括:
第一查找单元,被设置成根据流标识从预置的循环调度参数列表中查找与流标识对应的映射规则,映射规则包括用于映射的关键字段指示信息;
第二确定单元,被设置成根据关键字段指示信息从第一报文的报文头中确定关键字段值;
第三确定单元,被设置成根据映射规则确定关键字段值映射的基础时隙编号。
在一个示例中,第三确定模块430具体包括:
第二查找单元,被设置成根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙时长和时隙个数;
第四确定单元,被设置成获取第一节点的时延参考值,并根据时延参考值和时隙时长确定时延间隔;
获取单元,被设置成获取第一节点当前调度的时隙编号;
第五确定单元,被设置成根据基础时隙编号、当前调度的时隙编号、时延间隔和时隙个数确定时隙偏移量。
在一个示例中,第二查找单元还被设置成:根据流标识从预置的循环调度参数列表中查找与流标识对应的时隙偏移量。
在一个示例中,第三确定模块430还包括:
记录单元,被设置成将时隙偏移量记录在预置的循环调度参数列表中。
在一个示例中,本申请实施例的第一节点400还包括:
调度模块,被设置成当轮询调度至第一报文的入队时隙编号,将第一报文发送至下一跳节点。
在一个示例中,循环调度参数列表预置在业务流的转发路径经过的每个节点中,循环调度参数列表用于指导每个节点进行循环轮询调度。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
请参见图9,示出了本申请实施例提供的一种电子设备500,包括:存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序。
处理器520和存储器510可以通过总线或者其他方式连接。
存储器510作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器510可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至该处理器520。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的传输方法所需的非暂态软件程序以及指令存储在存储器510中,当被处理器520执行时,执行上述任意实施例中的报文转发方法。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被一个处理器或控制器执行,当计算机程序被处理器或控制器执行时,执行上述任意实施例中的报文转发方法。
本申请实施例的方案,业务流的转发路径经过的第一节点确定所述业务流的流标识;第一节点根据所述流标识确定业务流中的第一报文的基础时隙编号;第一节点根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;第一节点根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。如此,第一节点在接收到业务流后,根据业务流的流标识确定业务流的第一报文对应的基础时隙编号和时隙偏移量,进而根据基础时隙编 号和所述时隙偏移量确定所述第一报文的入队时隙编号,通过转发面为报文提供有界时延和抖动的确定性转发服务。本方案不需要转发路径上的各个节点之间的时间同步,因此尤其适合大规模网络应用。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的一些实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请范围的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (11)

  1. 一种报文转发方法,应用于业务流的转发路径经过的第一节点,所述方法包括:
    确定所述业务流的流标识;
    根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
    根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
    根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
  2. 根据权利要求1所述的方法,其中,根据所述流标识确定所述业务流中的第一报文的基础时隙编号,包括:
    根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的映射规则,所述映射规则包括用于映射的关键字段指示信息;
    根据所述关键字段指示信息从所述第一报文的报文头中确定关键字段值;
    根据所述映射规则确定所述关键字段值映射的所述基础时隙编号。
  3. 根据权利要求1所述的方法,其中,根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量,包括:
    根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的时隙偏移量。
  4. 根据权利要求1所述的方法,其中,根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量,包括:
    根据所述流标识从预置的循环调度参数列表中查找与所述流标识对应的时隙时长和时隙个数;
    获取所述第一节点的时延参考值,并根据所述时延参考值和所述时隙时长确定时延间隔;
    获取所述第一节点当前调度的时隙编号;
    根据所述基础时隙编号、所述当前调度的时隙编号、所述时延间隔和所述时隙个数确定所述时隙偏移量。
  5. 根据权利要求4所述的方法,其中,在根据所述基础时隙编号、所述当前调度的时隙编号、所述时延间隔和所述时隙个数确定所述时隙偏移量之后,所述方法还包括:
    将所述时隙偏移量记录在所述预置的循环调度参数列表中。
  6. 根据权利要求2-5任一所述的方法,其中,所述循环调度参数列表预置在所述业务流的转发路径经过的每个节点中,所述循环调度参数列表用于指导所述每个节点进行循环轮询调度。
  7. 根据权利要求1所述的方法,还包括:
    当轮询调度至所述第一报文的入队时隙编号,将所述第一报文发送至下一跳节点。
  8. 根据权利要求1所述的方法,其中,确定所述业务流的流标识,包括:
    识别接收到的所述业务流的类型;
    根据所述业务流的类型确定流标识所在字段;
    根据所述流标识所在字段从所述业务流的报文头中提取所述流标识。
  9. 一种第一节点,所述第一节点为业务流的转发路径经过的节点,包括:
    第一确定模块,被设置成确定所述业务流的流标识;
    第二确定模块,被设置成根据所述流标识确定所述业务流中的第一报文的基础时隙编号;
    第三确定模块,被设置成根据所述流标识确定所述第一节点针对所述业务流的时隙偏移量;
    第四确定模块,被设置成根据所述基础时隙编号和所述时隙偏移量确定所述第一报文的入队时隙编号。
  10. 一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的报文转发方法。
  11. 一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的报文转发方法。
PCT/CN2022/074957 2021-03-03 2022-01-29 报文转发方法、电子设备和存储介质 WO2022183879A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/258,904 US20240048502A1 (en) 2021-03-03 2022-01-29 Packet forwarding method, electronic device, and storage medium
EP22762347.7A EP4250669A4 (en) 2021-03-03 2022-01-29 PACKET RETRANSMISSION METHOD, ELECTRONIC DEVICE AND STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110235437.3 2021-03-03
CN202110235437.3A CN115037399A (zh) 2021-03-03 2021-03-03 报文转发方法、电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2022183879A1 true WO2022183879A1 (zh) 2022-09-09

Family

ID=83118031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/074957 WO2022183879A1 (zh) 2021-03-03 2022-01-29 报文转发方法、电子设备和存储介质

Country Status (4)

Country Link
US (1) US20240048502A1 (zh)
EP (1) EP4250669A4 (zh)
CN (1) CN115037399A (zh)
WO (1) WO2022183879A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117811962A (zh) * 2022-09-23 2024-04-02 中兴通讯股份有限公司 报文发送方法及装置、存储介质及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715418B2 (en) * 2006-08-11 2010-05-11 Samsung Electronics Co., Ltd. Method and apparatus for guaranteeing quality of service in a residential ethernet system
CN107438029A (zh) * 2016-05-27 2017-12-05 华为技术有限公司 转发数据的方法和设备
CN110024339A (zh) * 2017-11-06 2019-07-16 华为技术有限公司 报文转发方法、转发设备和网络设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474853B (zh) * 2018-05-11 2022-10-18 华为技术有限公司 一种报文发送的方法、网络节点和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715418B2 (en) * 2006-08-11 2010-05-11 Samsung Electronics Co., Ltd. Method and apparatus for guaranteeing quality of service in a residential ethernet system
CN107438029A (zh) * 2016-05-27 2017-12-05 华为技术有限公司 转发数据的方法和设备
CN110024339A (zh) * 2017-11-06 2019-07-16 华为技术有限公司 报文转发方法、转发设备和网络设备
CN112202685A (zh) * 2017-11-06 2021-01-08 华为技术有限公司 报文转发方法、转发设备和网络设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP4250669A4
ZTE: "S2-170931 "5G Application based uplink traffic identification and QoS mapping"", 3GPP TSG_SA\WG2_ARCH, 6 February 2017 (2017-02-06), XP051228208 *

Also Published As

Publication number Publication date
US20240048502A1 (en) 2024-02-08
EP4250669A4 (en) 2024-04-24
EP4250669A1 (en) 2023-09-27
CN115037399A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US8792506B2 (en) Inter-domain routing in an n-ary-tree and source-routing based communication framework
US9197568B2 (en) Method for providing quality of service in software-defined networking based network and apparatus using the same
CN105723657B (zh) 交换机、控制器、系统及链路质量检测方法
EP3468123B1 (en) Method and device for use in processing low-latency traffic
US8908527B2 (en) Using context labels to scale MAC tables on computer network edge devices
WO2016198013A1 (zh) 一种报文传输方法及装置
WO2021249021A1 (zh) 信息通告方法、通信节点、计算机可读介质
CN108574630A (zh) Evpn报文处理方法、设备及系统
EP3834365B1 (en) Multicast distribution tree versioning for minimizing multicast group traffic disruption
US11411882B2 (en) Generating automatic bandwidth adjustment policies per label-switched path
WO2021233327A1 (zh) 报文处理方法及装置、通告方法及装置、网桥节点、源设备、存储介质及报文处理系统
CN107454000B (zh) 网络数据传输装置及方法
WO2021164402A1 (zh) 路由方法、路由装置及计算机可读存储介质
WO2020156090A1 (zh) 一种建立跨域转发路径的方法、装置及系统
WO2021174958A1 (zh) 报文转发方法、设备、系统、网络设备和存储介质
CN101355487A (zh) 一种标签分发方法及装置
EP2728797A1 (en) Message processing method, device and system
WO2022183879A1 (zh) 报文转发方法、电子设备和存储介质
TWI543567B (zh) 在電腦網路中進行封包的多路徑路由選擇的裝置及其方法
WO2016150020A1 (zh) 基于调度流标识的报文调度方法和装置
WO2019061302A1 (zh) 对报文进行处理方法及装置
US20230254246A1 (en) Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks
CN115643220A (zh) 基于抖动时延的确定性业务传输方法和装置
WO2021103744A1 (zh) 一种异构网络通信方法、系统和控制器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22762347

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18258904

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022762347

Country of ref document: EP

Effective date: 20230622

NENP Non-entry into the national phase

Ref country code: DE