Resource reservation method, apparatus and system
By obtaining the accumulated delay and maximum tolerance delay in the network device, and using time slot forwarding items to reserve time slots for the service, the problem of difficulty in ensuring the deterministic service transmission quality in the existing technology is solved, and the control-free efficient resource reservation in network scenarios.
Patent Information
- Application Number
- PCT/CN2024/109730
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-07
- Filing Date
- 2024-08-05
- Publication Date
- 2025-02-13
AI Technical Summary
Existing resource reservation protocols are difficult to ensure the transmission quality of deterministic services, especially in network scenarios without controllers.
The accumulated delay, maximum tolerance delay of the service and time slot forwarding items are obtained through network equipment, and time slots are reserved for the service to ensure transmission quality.
It is realized that in the absence of a controller, time slots are reserved for deterministic services to ensure deterministic transmission quality of services, such as ensuring deterministic delay.
Smart Images

Figure CN2024109730_13022025_PF_FP_ABST
Abstract
Description
Resource reservation method, device and system
[0001] This application claims priority to Chinese patent application filed on August 7, 2023, with application number 202310990078.1 and application name “Resource Reservation Method, Device and System”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of network technology, and in particular to a resource reservation method, device, and system. Background Art
[0003] To ensure the transmission quality of services, the network can reserve resources for services based on the resource allocation protocol (RAP) to forward services using the reserved resources. However, current RAPs are unable to guarantee the transmission quality of deterministic services.
[0004] Summary of the Invention
[0005] This application provides a resource reservation method, device, and system that can ensure the transmission quality of deterministic services. The technical solution is as follows.
[0006] In a first aspect, a resource reservation method is provided, the method comprising: a first network device obtaining a first cumulative delay and a maximum tolerable delay of a first service, the first cumulative delay being an initial cumulative delay or the first cumulative delay being a cumulative delay from a sender of the first service to a previous hop device of the first network device; the first network device obtaining a time slot forwarding entry of the first network device; the first network device reserving a first time slot for the first service based on the maximum tolerable delay, the first cumulative delay, and the time slot forwarding entry of the first network device, the first time slot being an available time slot that meets the maximum tolerable delay. The method of reserving the first time slot for the first service based on the maximum tolerable delay, the first cumulative delay, and the time slot forwarding entry of the first network device comprises: the first network device reserving the first time slot for the first service in a gating list of a port in the first network device used to forward the first service based on the maximum tolerable delay, the first cumulative delay, and the time slot forwarding entry of the first network device.
[0007] The technical solution provided by the present application is that the first network device reserves a first time slot for the first service based on the first cumulative delay, the maximum tolerable delay of the first service and the time slot forwarding entry of the first network device. In this way, after the first service goes online, the first network device can forward the first service (that is, forward the message of the first service) through the first time slot reserved for the first service, thereby ensuring the transmission quality of the first service. In particular, when the first service is a deterministic service, the deterministic transmission quality of the first service is guaranteed, such as ensuring the deterministic delay of the first service. The technical solution provided by the present application is a distributed resource reservation solution, which can reserve time slots for services without the need for a controller to schedule time slots for network devices. It has high flexibility and is suitable for network scenarios without a controller.
[0008] Optionally, the time slot forwarding entry of the first network device includes an end-to-end delay corresponding to the first time slot, where the end-to-end delay corresponding to the first time slot is the delay from the first network device to a receiving end of the first service. For example, the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end of the first service when the first network device forwards the first service in the first time slot. The first network device reserves the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, and the time slot forwarding entry of the first network device, including: the first network device reserves the first time slot for the first service based on the maximum tolerable delay, the first accumulated delay, and the end-to-end delay corresponding to the first time slot.
[0009] The technical solution provided in the present application is that the first network device reserves the first time slot for the first service based on the first accumulated delay, the maximum tolerable delay of the first service and the end-to-end delay corresponding to the first time slot, thereby ensuring that the first time slot reserved for the first service meets the maximum tolerable delay.
[0010] Optionally, the time slot forwarding entry of the first network device further includes next-hop time slot information, where the next-hop time slot information is used to indicate a second time slot in the available time slots of the next-hop device of the first network device; the first network device reserves the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, and the end-to-end delay corresponding to the first time slot, including: the first network device reserves the first time slot for the first service based on the maximum tolerable delay, the first accumulated delay, the end-to-end delay corresponding to the first time slot, and the next-hop time slot information. The second time slot may be the earliest available time slot of the next-hop device of the first network device, for example, the second time slot is the earliest available time slot in the gating list of the port in the next-hop device used to forward the first service, and the first time slot reserved by the first network device for the first service is located before the second time slot.
[0011] The technical solution provided in the present application is that the first network device reserves the first time slot for the first service based on the first accumulated delay, the maximum tolerable delay of the first service, the end-to-end delay corresponding to the first time slot, and the next-hop time slot information. On the one hand, it can ensure that the first time slot reserved for the first service meets the maximum tolerable delay, and on the other hand, it can ensure that the first time slot reserved for the first service is located before the second time slot of the next-hop device.
[0012] Optionally, the method further includes: the first network device obtaining first expected time slot information, the first expected time slot information being used to indicate a time slot that the first network device is expected to reserve for the first service, for example, the first expected time slot information being used to indicate a first expected time slot; the first network device reserving the first time slot for the first service based on a maximum tolerable delay of the first service, a first accumulated delay, and a time slot forwarding entry of the first network device, including: the first network device reserving the first time slot for the first service based on the maximum tolerable delay, the first accumulated delay, the first expected time slot information, and the time slot forwarding entry of the first network device. The first time slot is the first expected time slot indicated by the first expected time slot information, or the first time slot is located after the first expected time slot indicated by the first expected time slot information.
[0013] The technical solution provided by the present application is that the first network device reserves a first time slot for the first service based on the first accumulated delay, the first expected time slot information, the maximum tolerable delay of the first service and the time slot forwarding entry of the first network device. On the one hand, it can ensure that the first time slot reserved for the first service meets the maximum tolerable delay, and on the other hand, it can ensure that the first time slot reserved for the first service meets expectations as much as possible.
[0014] Optionally, the method further includes: the first network device sending a first message to the second network device, the first message including a maximum tolerable delay and a second accumulated delay for the first service, the second accumulated delay being the accumulated delay from the sender of the first service to the first network device, the second network device being the next hop device of the first network device, the first message being used by the second network device to reserve a time slot for the first service based on the maximum tolerable delay, the second accumulated delay, and a time slot forwarding entry of the second network device. The first message is a resource reservation message used to reserve a time slot for the first service.
[0015] The technical solution provided by the present application is that a first network device sends a first message to a second network device, which can facilitate the second network device to reserve a time slot for the first service based on the maximum tolerable delay of the first service included in the first message, the second accumulated delay and the time slot forwarding entry of the second network device. After the first service goes online, the second network device can forward the first service through the time slot reserved for the first service to ensure the transmission quality of the first service. In particular, when the first service is a deterministic service, the deterministic transmission quality of the first service is guaranteed, such as ensuring the deterministic delay of the first service. Since the second network device reserves a time slot for the first service based on the resource reservation message sent by the first network device, the technical solution provided by the present application is a distributed resource reservation solution, which is suitable for network scenarios without a controller.
[0016] Optionally, the first message also includes second expected time slot information, and the second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service. The first message is used for the second network device to reserve a time slot for the first service based on the maximum tolerable delay of the first service, the second accumulated delay, the second expected time slot information and the time slot forwarding entry of the second network device.
[0017] The technical solution provided in the present application is that the first message sent by the first network device to the second network device includes the maximum tolerable delay, the second cumulative delay, and the second expected time slot information of the first service. The second network device reserves a time slot for the first service based on the maximum tolerable delay, the second cumulative delay, the second expected time slot information, and the time slot forwarding entry of the second network device. On the one hand, it can ensure that the time slot reserved by the second network device for the first service meets the maximum tolerable delay, and on the other hand, it can ensure that the time slot reserved by the second network device for the first service meets expectations as much as possible.
[0018] Optionally, the first network device obtains a time slot forwarding entry of the first network device, including: the first network device receives a second message sent by a second network device, where the second message indicates an available time slot of the second network device, and the second network device is a next-hop device of the first network device; and the first network device generates a time slot forwarding entry of the first network device based on the second message and the first time slot. For example, the second message includes available time slot information of the second network device, where the available time slot information indicates an available time slot of the second network device.
[0019] The technical solution provided in the present application is that the first network device generates a time slot forwarding table entry for the first network device based on the second message sent by the second network device and the first time slot of the first network device, which can facilitate the first network device to reserve the first time slot that meets the maximum tolerable delay for the first service based on the maximum tolerable delay of the first service, the first accumulated delay and the time slot forwarding entry of the first network device.
[0020] Optionally, the second message is used to indicate that the available time slots of the second network device include the second time slot, the second message includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service. For example, the second message includes available time slot information of the second network device, and the available time slot information is used to indicate that the available time slots of the second network device include the second time slot. The available time slot information includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service when the second network device forwards the first service in the second time slot. The first network device generates a time slot forwarding entry for the first network device based on the second message and the first time slot, including: the first network device determines the end-to-end delay corresponding to the first time slot based on the end-to-end delay corresponding to the second time slot; and the first network device generates a time slot forwarding entry for the first network device based on the end-to-end delay corresponding to the first time slot.
[0021] The technical solution provided by the present application is that the first network device determines the end-to-end delay corresponding to the first time slot based on the end-to-end delay corresponding to the second time slot, and the first network device generates a time slot forwarding table entry for the first network device based on the end-to-end delay corresponding to the first time slot. This can facilitate the first network device to reserve the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, and the end-to-end delay corresponding to the first time slot included in the time slot forwarding entry, thereby ensuring that the first time slot reserved by the first network device for the first service meets the maximum tolerable delay.
[0022] Optionally, the method also includes: the first network device determines the next hop time slot information based on the second time slot, and the next hop time slot information is used to indicate the second time slot; the first network device generates a time slot forwarding entry of the first network device based on the end-to-end delay corresponding to the first time slot, including: the first network device generates a time slot forwarding entry of the first network device based on the end-to-end delay corresponding to the first time slot and the next hop time slot information.
[0023] The technical solution provided by the present application is that the first network device generates a time slot forwarding table entry of the first network device based on the end-to-end delay corresponding to the first time slot and the next-hop time slot information. This can facilitate the first network device to reserve the first time slot for the first service based on the maximum tolerable delay of the first service, the first cumulative delay, the end-to-end delay corresponding to the first time slot included in the time slot forwarding table entry, and the next-hop time slot information included in the time slot forwarding table entry. On the one hand, it can ensure that the first time slot reserved by the first network device for the first service meets the maximum tolerable delay. On the other hand, it can ensure that the first time slot reserved by the first network device for the first service is before the second time slot indicated by the next-hop time slot information.
[0024] Optionally, the second message includes a time slot bitmap, where the time slot bitmap includes a plurality of bits corresponding one-to-one to a plurality of time slots in a gating list used to forward the first service in the second network device, where each bit is used to indicate a state of a corresponding time slot, where the state of any time slot includes an available state or an unavailable state. For example, the second message includes available time slot information of the second network device, where the available time slot information includes the time slot bitmap. The available state may be an idle state, and the unavailable state may include a reserved state and an occupied state.
[0025] The technical solution provided in this application is that the second message sent by the second network device to the first network device includes a time slot bit map, which can facilitate the first network device to determine the available time slots and unavailable time slots of the second network device based on the time slot bit map.
[0026] Optionally, the first message is a resource allocation protocol (RAP) message.
[0027] Optionally, the second message is an intermediate system-to-intermediate system (ISIS) message or a link-local registration protocol (LRP) message.
[0028] Optionally, the time slot forwarding table entry is a route forwarding table entry or a flow forwarding table entry.
[0029] In a second aspect, a method for obtaining a timeslot forwarding table entry is provided. The method includes: a first network device receiving a message sent by a second network device, the message indicating available timeslots of the second network device; and the first network device generating a timeslot forwarding table entry based on the message and the available timeslots of the first network device. For example, the message includes available timeslot information indicating available timeslots of the second network device. The second network device is a neighbor device of the first network device, for example, the second network device is a next-hop device of the first network device.
[0030] The technical solution provided by the present application is that the first network device generates a time slot forwarding table entry based on the message sent by the second network device to indicate the available time slot of the second network device and the available time slot of the first network device, so that the first network device can reserve a time slot for the service according to the time slot forwarding table entry.
[0031] Optionally, the available time slots of the first network device include the first time slot, the message is used to indicate that the available time slots of the second network device include the second time slot, the message includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end; for example, the message includes available time slot information, the available time slot information is used to indicate that the available time slots of the second network device include the second time slot, the available time slot information includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service. The first network device generates a time slot forwarding table entry based on the message and the available time slots of the first network device, including: the first network device determines the end-to-end delay corresponding to the first time slot based on the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end; and the first network device generates the time slot forwarding table entry based on the end-to-end delay corresponding to the first time slot.
[0032] The technical solution provided by the present application is that the first network device generates a time slot forwarding table entry according to the end-to-end delay corresponding to the first time slot, which can facilitate the first network device to reserve a time slot for the service according to the end-to-end delay corresponding to the first time slot included in the time slot forwarding entry.
[0033] Optionally, the method also includes: the first network device determines the next hop time slot information based on the second time slot, and the next hop time slot information is used to indicate the second time slot; the first network device generates a time slot forwarding table entry based on the end-to-end delay corresponding to the first time slot, including: the first network device generates a time slot forwarding table entry based on the end-to-end delay corresponding to the first time slot and the next hop time slot information.
[0034] The technical solution provided by the present application is that the first network device generates a time slot forwarding table entry based on the end-to-end delay corresponding to the first time slot and the next-hop time slot information, which can facilitate the first network device to reserve a time slot for the service based on the end-to-end delay corresponding to the first time slot included in the time slot forwarding table entry and the next-hop time slot information included in the time slot forwarding table entry.
[0035] Optionally, the message includes a time slot bitmap, where the time slot bitmap includes a plurality of bits corresponding one to each of the plurality of time slots in the gating list of the second network device, each bit being used to indicate a state of the corresponding time slot, where the state of any time slot includes an available state or an unavailable state. For example, the message includes available time slot information of the second network device, where the available time slot information includes the time slot bitmap.
[0036] The technical solution provided in the present application is that the message sent by the second network device to the first network device includes a time slot bit map, which can facilitate the first network device to determine the available time slots and unavailable time slots of the second network device based on the time slot bit map.
[0037] Optionally, the message is an ISIS message or an LRP message.
[0038] Optionally, the time slot forwarding entry is a routing forwarding entry or a flow forwarding entry.
[0039] In a third aspect, a resource reservation device is provided, which includes modules for executing the method provided in the first aspect or any optional manner of the first aspect.
[0040] In a fourth aspect, a device for acquiring time slot forwarding table entries is provided, wherein the device for acquiring time slot forwarding table entries includes modules for executing the method provided in the second aspect or any optional manner of the second aspect.
[0041] The modules in the third aspect or the fourth aspect mentioned above can be implemented based on software, hardware, or a combination of software and hardware, and the modules can be arbitrarily combined or divided based on the specific implementation.
[0042] In a fifth aspect, a resource reservation device is provided, which includes a memory and a processor; the memory is used to store a computer program; the processor is used to execute the computer program stored in the memory so that the resource reservation device performs the method provided in the first aspect or any optional method of the first aspect.
[0043] In a sixth aspect, a resource reservation device is provided, which includes a main control board and an interface board. The main control board and the interface board are used to implement the method provided in the first aspect or any optional manner of the first aspect.
[0044] In the seventh aspect, a device for obtaining time slot forwarding table entries is provided, which includes a memory and a processor; the memory is used to store computer programs; the processor is used to execute the computer program stored in the memory so that the device for obtaining time slot forwarding table entries performs the method provided in the second aspect or any optional method of the second aspect.
[0045] In an eighth aspect, a device for obtaining time slot forwarding table entries is provided, which includes a main control board and an interface board. The main control board and the interface board are used to implement the method provided in the second aspect or any optional method of the second aspect.
[0046] In the ninth aspect, a resource reservation system is provided, comprising a first network device and a second network device, wherein the second network device is the next-hop device of the first network device, and the first network device comprises a resource reservation device as provided in the third aspect, the fifth aspect or the sixth aspect above.
[0047] In the tenth aspect, a system for obtaining time slot forwarding table entries is provided, comprising a first network device and a second network device, wherein the second network device is the next-hop device of the first network device, and the first network device comprises an acquisition device for time slot forwarding table entries as provided in the fourth, seventh or eighth aspects above.
[0048] In the eleventh aspect, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed, it implements the method provided by the first aspect or any optional method of the first aspect, or implements the method provided by the second aspect or any optional method of the second aspect.
[0049] In the twelfth aspect, a computer program product is provided, which includes a program or code. When the program or code is executed, it implements the method provided by the first aspect or any optional method of the first aspect, or implements the method provided by the second aspect or any optional method of the second aspect.
[0050] In the thirteenth aspect, a chip is provided, which includes a programmable logic circuit and / or program instructions, and when the chip is running, it is used to implement the method provided by the first aspect or any optional method of the first aspect, or to implement the method provided by the second aspect or any optional method of the second aspect.
[0051] The beneficial effects brought about by the technical solution provided by the present application include: the resource reservation method, device and system provided by the present application, the network device reserves a time slot for the first service based on the accumulated delay, the maximum tolerable delay of the first service and the time slot forwarding table entry of the network device. After the first service goes online, the network device can forward the first service through the time slot reserved for the first service to ensure the transmission quality of the first service, especially when the first service is a deterministic service, to ensure the deterministic transmission quality of the first service, such as ensuring the deterministic delay of the first service. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] FIG1 is a schematic diagram of an application scenario provided by an embodiment of the present application;
[0053] FIG2 is a schematic diagram of another application scenario provided by an embodiment of the present application;
[0054] FIG3 is a flow chart of a resource reservation method provided in an embodiment of the present application;
[0055] FIG4 is a flowchart of another resource reservation method provided in an embodiment of the present application;
[0056] FIG5 is a state transition diagram of a time slot provided in an embodiment of the present application;
[0057] FIG6 is a schematic diagram of a subtype length value (TLV) field provided in an embodiment of the present application;
[0058] FIG7 is a flowchart of another resource reservation method provided in an embodiment of the present application;
[0059] 8 is a flowchart of a method for obtaining a time slot forwarding table entry provided in an embodiment of the present application;
[0060] FIG9 is a schematic diagram of a resource reservation device provided in an embodiment of the present application;
[0061] 10 is a schematic diagram of a device for obtaining a time slot forwarding table entry according to an embodiment of the present application;
[0062] FIG11 is a schematic diagram of a processing device provided in an embodiment of the present application;
[0063] FIG12 is a schematic diagram of another processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] The embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
[0065] In order to ensure the transmission quality of the service, the network can reserve resources for the service based on the resource allocation protocol (RAP) proposed in the Institute of Electrical and Electronics Engineers (IEEE) 802.1Qdd draft. For example, the network includes a forwarding path for the service, and the sender of the service sends a RAP message to the receiver of the service through the forwarding path. The network equipment on the forwarding path reserves bandwidth for the service based on the RAP message. However, the current RAP is mainly based on asynchronous scheduling, such as strict priority (SP), asynchronous traffic shaper (ATS), etc., which makes it difficult to guarantee the transmission quality of deterministic services (such as industrial control services) with quality of service (QoS) requirements such as delay and jitter.
[0066] To ensure the transmission quality of deterministic services, related technologies combine the gated forwarding mechanism defined in IEEE 802.1Qbv with the centralized network architecture proposed in IEEE 802.1Qcc. However, this solution requires a controller to schedule time slots for network devices along the service forwarding path, resulting in limited flexibility and difficulty in adapting to controllerless network scenarios.
[0067] To facilitate understanding, this article first briefly introduces the gated forwarding mechanism defined in IEEE 802.1Qbv.
[0068] The gated forwarding mechanism defined by IEEE 802.1Qbv is a scheduling mechanism based on a gate control list (GCL), commonly used in time-sensitive networking (TSN). In this scheduling mechanism, a network device's port includes a GCL. When the network device forwards a message through any port of the network device, the network device caches the message in a message queue of the port based on the message's identifier (ID), priority, and service level, and then schedules the message queues of the port based on the GCL to forward the messages in the message queues. The GCL of each port includes multiple time slots and multiple queue status information corresponding to each time slot. The multiple queue status information corresponds to the multiple message queues of each port. Each queue status information corresponding to each time slot indicates the on / off state of the corresponding message queue in each time slot. In each time slot, the network device schedules the message queues in the multiple message queues that are in the on state to forward the messages in these message queues.
[0069] As an example, Table 1 shows a GCL. The GCL includes k time slots T1 to Tk and eight queue status information corresponding to each time slot (the "O" and "C" in the GCL are queue status information). The eight queue status information correspond to eight message queues Q1 to Q8. The queue status information "O" indicates that the corresponding message queue is in the open state, also known as the open state information. The queue status information "C" indicates that the corresponding message queue is in the closed state, also known as the closed state information. As shown in Table 1, the queue status information "O" corresponding to time slot T1 and message queue Q1 indicates that message queue Q1 is in the open state during time slot T1. This means that the network device including the GCL schedules message queue Q1 to forward messages in message queue Q1 during time slot T1. Similarly, the queue status information "O" corresponding to time slot T2 and message queue Q2 is used to indicate that message queue Q2 is in the open state in time slot T2, which means that the network device including the GCL schedules message queue Q2 in time slot T2 to forward the messages in the message queue Q2, and so on.
[0070] Table 1
[0071] As can be seen from the above introduction to IEEE 802.1Qbv, in the technical solution combining IEEE 802.1Qbv and IEEE 802.1Qcc, a controller is required to determine the queue status information corresponding to each time slot in the GCL shown in Table 1 above, in the network devices on the service forwarding path, in order to schedule the time slots of the network devices on the forwarding path (or, in other words, the controller is required to configure the GCL of the network devices on the forwarding path). Therefore, this technical solution has low flexibility and is difficult to apply to controller-less network scenarios.
[0072] The embodiment of the present application provides a resource reservation scheme, in which the network device reserves a time slot for the first service based on the accumulated delay (the initial accumulated delay or the accumulated delay from the sender of the first service to the previous hop device of the network device), the maximum tolerated delay of the first service, and the time slot forwarding entry of the network device. In this way, the network device can forward the first service (that is, forward the message of the first service) through the time slot reserved for the first service, thereby ensuring the transmission quality of the first service, especially when the first service is a deterministic service, ensuring the deterministic transmission quality of the first service, such as ensuring the deterministic delay of the first service. The resource reservation scheme provided by the embodiment of the present application is a distributed resource reservation scheme, which can reserve time slots for services without the need for a controller to schedule time slots for network devices. It has high flexibility and is suitable for network scenarios without a controller.
[0073] The time slot described in the embodiment of the present application is a time slot in the gating list defined by IEEE 802.1Qbv, which is a time resource. Any network device reserving a time slot for a first service means that any network device reserves a time slot for the first service in the gating list of a port for forwarding the first service. In some descriptions of the embodiments of the present application, the gating list of the port for forwarding the first service is referred to as the gating list for forwarding the first service. The port for forwarding the first service includes a message queue for caching the first service (i.e., a queue for caching messages of the first service. For ease of description, the embodiment of the present application refers to the message queue for caching the first service as the first queue). Optionally, any network device reserving a time slot for the first service includes: the network device updates the queue status information corresponding to the first queue in the multiple queue status information corresponding to the time slot reserved for the first service in the gating list to open state information, so as to indicate that the first queue is in an open state during the time slot reserved for the first service, thereby indicating that the first queue is scheduled to forward messages of the first service during the time slot.
[0074] The technical solution of this application is introduced below, and the application scenario of this application is first introduced.
[0075] The application scenario of an embodiment of the present application provides a communication system, which includes a communication network and user equipment connected to the communication network. The communication network is used to forward services between different user equipment connected to the communication network to achieve communication between the different user equipment. The communication network can be a bearer network, a campus network, an in-vehicle network, an industrial network, etc., and the communication network can be a deterministic network (DetNet), for example, the deterministic network is a time-sensitive network (TSN).
[0076] The communication network includes multiple network devices, which are switches, routers, virtual switches created in physical devices, virtual routers created in physical devices, etc. The multiple network devices are of the same or different types, for example, all of the multiple network devices are switches or routers, or some of the multiple network devices are switches and others are routers. The multiple network devices include edge devices and may also include core devices. Edge devices are located at the edge of the communication network and are used for user devices to access the communication network. Core devices are connected between different edge devices and are used to forward services between edge devices. For example, edge devices are provider edge (PE) devices, and core devices are provider (P) devices. User devices accessing the communication network include industrial controllers, industrial actuators, hosts, user terminals, home gateways, servers, virtual machines (VMs) created in servers, etc. The industrial controllers can be programmable logic controllers (PLCs) or distributed control systems (DCSs), and the industrial actuators can be sensors, machine tools, transmission equipment, servers, inverters, etc.
[0077] In an embodiment of the present application, the port of the network device in the communication network includes a gating list, and the network device in the communication network schedules multiple message queues of the port according to the gating list of the port of the network device to forward messages in the multiple message queues. The user equipment accessing the communication network includes a sending end of a first service and a receiving end of the first service, and the first service is a service with service level agreement (SLA) requirements such as low latency and jitter, for example, the first service is an industrial control service. The communication network includes a forwarding path for the first service, and the network devices on the forwarding path include an ingress device, an egress device, and an intermediate (transit) device located between the ingress device and the egress device, the ingress device is connected to the sending end, and the egress device is connected to the receiving end. Before the first service goes online, the network device on the forwarding path reserves a time slot for the first service based on the accumulated delay (for the ingress device on the forwarding path, the accumulated delay is the initial accumulated delay, for example, 0; for the intermediate device or egress device on the forwarding path, the accumulated delay is the accumulated delay from the sender to the previous hop device of the network device), the maximum tolerable delay of the first service, and the time slot forwarding entry of the network device (that is, a time slot is reserved for the first service in the gating list of the port used to forward the first service). After the first service goes online, the network device on the forwarding path forwards the first service through the time slot reserved for the first service, thereby ensuring the deterministic quality of the first service. Optionally, before the first service goes online, the sending end sends a resource reservation message to the receiving end through the forwarding path (it can also be that the ingress device on the forwarding path sends the resource reservation message to the egress device on the forwarding path or to the receiving end). The resource reservation message carries the accumulated delay and the maximum tolerable delay of the first service. The maximum tolerable delay is the maximum delay from the sending end to the receiving end that the first service can tolerate. The accumulated delay carried by the resource reservation message is updated hop by hop. The accumulated delay carried by the resource reservation message received by the ingress device on the forwarding path is the initial accumulated delay. The intermediate devices on the forwarding path The cumulative delay carried in the resource reservation message received by each network device in the export device is the cumulative delay from the sending end to the previous hop device of the network device. Each network device on the forwarding path reserves a time slot for the first service in the gating list of the port used to forward the first service based on the maximum tolerable delay, the cumulative delay and the time slot forwarding entry of the network device carried in the resource reservation message received by the network device, and updates the cumulative delay carried in the resource reservation message based on the cumulative delay carried by the resource reservation message and the time slot reserved by the network device for the first service, and then sends the updated resource reservation message to the next hop device.Among them, the time slot forwarding table entry of each network device is generated by the network device based on the available time slot of the network device and the available time slot information synchronized to the network device by the neighboring device of the network device. The time slot forwarding table entry includes information related to time slot reservation. Each network device reserves a time slot for the first service based on the maximum tolerable delay, cumulative delay carried by the resource reservation message and the information related to time slot reservation in the time slot forwarding table entry of the network device.
[0078] It should be noted that the terms "network device, ingress device, intermediate device, egress device, forwarding path, sender, receiver, etc., in the embodiments of the present application are merely exemplary. In some implementation scenarios, the network device is also referred to as a network node, forwarding node, forwarding device, gateway node, gateway device, routing node, routing device, switching node, switching device, etc. The ingress device is also referred to as an ingress node, head node, head node device, first node, first node device, etc. The intermediate device is also referred to as an intermediate node, transit node, transit device, etc. The egress device is also referred to as an egress node, end node, end node device, etc. The forwarding path is also referred to as a transmission path, communication path, transmission channel, etc. The sender is also referred to as a sender device, and the receiver is also referred to as a receiver device. In addition, the forwarding path of the first service described in the embodiments of the present application may be a pre-calculated path, or a path determined as the message of the first service (e.g., a resource reservation message for reserving resources for the first service) is transmitted, and the embodiments of the present application do not limit this.
[0079] As an example, please refer to Figure 1, which shows a schematic diagram of an application scenario provided by an embodiment of the present application. The communication system provided by the application scenario includes a communication network 100 and a transmitting end 210 and a receiving end 220 accessing the communication network 100. The communication network 100 includes network devices 101 to 103. Network device 101 and network device 103 are edge devices in the communication network 100, and network device 102 is a core device in the communication network 100. For example, network device 101 and network device 103 are both PE devices, and network device 102 is a P device. The transmitting end 210 is connected to the network device 101, and the transmitting end 210 accesses the communication network 100 through the network device 101. The receiving end 220 is connected to the network device 103, and the receiving end 220 accesses the communication network 100 through the network device 103. For example, the sending end 210 is the sending end of the first service, the receiving end 220 is the receiving end of the first service, the communication network 100 includes a forwarding path W1 for the first service, the forwarding path W1 includes network devices 101 to 103, the network device 101 is an ingress device on the forwarding path W1, the network device 103 is an egress device on the forwarding path W1, and the network device 102 is an intermediate device on the forwarding path W1. The network devices 101 to 103 include ports for forwarding the first service, and the port for forwarding the first service in each of the network devices 101 to 103 includes a gating list (for ease of description, the gating list of the port for forwarding the first service in the network device 101 is referred to as gating list 1, the gating list of the port for forwarding the first service in the network device 102 is referred to as gating list 2, and the gating list of the port for forwarding the first service in the network device 103 is referred to as gating list 3). Before the first service goes online, each of the network devices 101-103 reserves a time slot for the first service in a gating list of a port in the network device used to forward the first service based on the accumulated delay (for the ingress device 101 on the forwarding path W1, the accumulated delay is the initial accumulated delay; for the intermediate device 102 or the egress device 103 on the forwarding path W1, the accumulated delay is the accumulated delay from the sender 210 to the previous hop device of the network device), the maximum tolerated delay of the first service, and the time slot forwarding entry of the network device. Optionally, the sender 210 sends a resource reservation message to the receiver 220 via the forwarding path W1, and the network devices 101-103 on the forwarding path W1 reserve a time slot for the first service based on the received resource reservation message and the local time slot forwarding entry.For example, the network device 101 receives the resource reservation message A1 sent by the sending end 210, and the resource reservation message A1 carries the initial cumulative delay D0 and the maximum tolerable delay of the first service. The network device 101 reserves a time slot for the first service in the gating list 1 according to the maximum tolerable delay, the initial cumulative delay D0 and the time slot forwarding entry of the network device 101 carried by the resource reservation message A1. The network device 101 reserves a time slot for the first service according to the initial cumulative delay D0 carried by the resource reservation message A1 and the time slot forwarding entry of the network device 101. 1 is the time slot reserved for the first service. The cumulative delay D1 from the sending end 210 to the network device 101 is determined, and the cumulative delay D1 is used to update the cumulative delay carried in the resource reservation message A1 (for example, the cumulative delay D1 is used to replace the initial cumulative delay D0 carried in the resource reservation message A1). An updated resource reservation message A2 is obtained. The resource reservation message A2 carries the cumulative delay D1 and the maximum tolerable delay of the first service. The network device 101 forwards the resource reservation message A2 to the network device 102. The network device 102 receives the resource reservation message A2. The network device 102 reserves a time slot for the first service in the gating list 2 based on the maximum tolerable delay, the cumulative delay D1 and the time slot forwarding entry of the network device 102 carried by the resource reservation message A2. The network device 102 determines the cumulative delay D2 from the sending end 210 to the network device 102 based on the cumulative delay D1 carried by the resource reservation message A2 and the time slot reserved by the network device 102 for the first service, and uses the cumulative delay D2 to update the cumulative delay carried by the resource reservation message A2 (for example, the cumulative delay D2 is used to replace the cumulative delay D1 carried by the resource reservation message A2) to obtain an updated resource reservation message A3. The resource reservation message A3 carries the cumulative delay D2 and the maximum tolerable delay of the first service. The network device 102 forwards the resource reservation message A3 to the network device 103. Network device 103 receives resource reservation message A3 and reserves a time slot for the first service in gating list 3 based on the maximum tolerable delay, accumulated delay D2, and the time slot forwarding entry of network device 103 carried in resource reservation message A3. Optionally, network device 103 sends resource reservation message A3 to receiving end 220. Alternatively, network device 103 determines the accumulated delay from sending end 210 to network device 103 based on accumulated delay D2 carried in resource reservation message A3 and the time slot reserved by network device 103 for the first service, and uses this accumulated delay to update the accumulated delay carried in resource reservation message A3. Network device 103 then sends the updated resource reservation message to receiving end 220. After network devices 101-103 reserve time slots for the first service and the first service comes online, network devices 101-103 forward messages for the first service through the time slots reserved for the first service.
[0080] In the embodiment of the present application, each network device in network devices 101-103 reserves a time slot for the first service in the available time slot of the network device, and the state of the available time slot is an available state. After reserving the time slot for the first service, each network device in network devices 101-102 updates the state of the time slot reserved for the first service to a reserved state. After reserving the time slot for the first service, network device 103 updates the state of the time slot reserved for the first service to a busy state. Network device 103 sends a confirmation message to network device 101 via the reverse path of forwarding path W1. Network devices 101-102 update the state of the time slot reserved for the first service to a busy state based on the confirmation message. At this point, network devices 101-103 have successfully reserved time slots for the first service. In the embodiment of the present application, the reserved state and the busy state are both unavailable states, and the time slots in the reserved state or the busy state are all unavailable time slots. The embodiment of the present application does not limit this.
[0081] Figure 1 takes the example of a communication network 100 including network devices 101 to 103, and a user device accessing the communication network 100 including a transmitter 210 of a first service and a receiver 220 of the first service. In other embodiments, the communication network 100 includes more or fewer network devices than those in Figure 1, and the user device accessing the communication network 100 includes transmitters and receivers of multiple services, and the transmitters of at least some of the multiple services are the same, and / or the receivers of at least some of the services are the same. As another example, please refer to Figure 2, which shows a schematic diagram of another application scenario provided by an embodiment of the present application, wherein the communication system provided by the application scenario includes a communication network 100 and a transmitter 210, a receiver 220, and a transmitter 230 accessing the communication network 100. The communication network 100 includes network devices 101 to 104, network devices 101, 103, and 104 are edge devices in the communication network 100, and network device 102 is a core device in the communication network 100. Transmitter 210 is connected to network device 101 and accesses communication network 100 through network device 101. Receiver 220 is connected to network device 103 and accesses communication network 100 through network device 103. Transmitter 230 is connected to network device 104 and accesses communication network 100 through network device 104. For example, transmitter 210 is a transmitter of a first service, transmitter 230 is a transmitter of a second service, and receiver 220 is a receiver of both the first and second services. Communication network 100 includes a forwarding path W1 for the first service and a forwarding path W2 for the second service. Forwarding path W1 includes network devices 101-103, and forwarding path W2 includes network devices 104 and 102-103. Before the first service goes online, each of network devices 101-103 reserves a time slot for the first service in a gating list of a port in the network device used to forward the first service based on the accumulated delay, the maximum tolerable delay of the first service, and the time slot forwarding entry of the network device. Before the second service goes online, each of network devices 104, 102-103 reserves a time slot for the second service in a gating list of a port in the network device used to forward the second service based on the accumulated delay, the maximum tolerable delay of the second service, and the time slot forwarding entry of the network device. The process of reserving time slots by each network device can be referred to the relevant description of the application scenario shown in Figure 1 and the embodiments below, and will not be repeated here.
[0082] The above introduction to the application scenarios of the present application is for example only and is not intended to limit the technical solutions of the present application. During the implementation process, the number of network devices, the number of user devices, and the relationship between these devices in the application scenario can be configured as needed. The above embodiment takes the forwarding path of the first service and the forwarding path of the second service as an example, in which both include an intermediate device. In some embodiments, the forwarding path of the first service and / or the forwarding path of the second service include multiple intermediate devices; in other embodiments, the forwarding path of the first service and / or the forwarding path of the second service do not include an intermediate device, and the embodiments of the present application do not limit this. In addition, the execution subject for executing the technical solutions of the embodiments of the present application can be a network device or a unit in the network device. These units in the network device can be implemented by hardware, software, or a combination of hardware and software. For example, the unit in the PE device can be called a PE unit, and the unit in the P device can be called a P unit. Both the PE unit and the P unit can be implemented by hardware, software, or a combination of hardware and software, and the embodiments of the present application do not limit this.
[0083] The above is an introduction to the application scenarios of this application. The following introduces the method embodiments of this application.
[0084] Please refer to Figure 3, which shows a flowchart of a resource reservation method provided in an embodiment of the present application. The resource reservation method is performed by a first network device, which is any network device on the forwarding path of the first service (that is, the first network device is an ingress device, an intermediate device, or an egress device on the forwarding path). For example, as shown in Figure 1 or Figure 2, the forwarding path W1 is the forwarding path of the first service, and the first network device is any network device among network devices 101 to 103. Referring to Figure 3, the resource reservation method includes the following steps S301 to S303.
[0085] S301. A first network device obtains a first accumulated delay and a maximum tolerable delay of a first service, where the first accumulated delay is an initial accumulated delay or a accumulated delay from a sender of the first service to a previous hop device of the first network device.
[0086] The first network device is an ingress device, an intermediate device, or an egress device on the forwarding path of the first service. If the first network device is an ingress device on the forwarding path of the first service, the first accumulated delay is an initial accumulated delay, which is the initial value of the accumulated delay, for example, 0. If the first network device is an intermediate device or an egress device on the forwarding path of the first service, the first accumulated delay is the accumulated delay from the sender of the first service to the previous hop of the first network device. The first accumulated delay is obtained by sequentially accumulating the time slots reserved for the first service by network devices between the sender and the first network device based on the initial accumulated delay.
[0087] In an embodiment of the present application, the first accumulated delay may be configured in the first network device, or may be carried in a resource reservation message received by the first network device for reserving a time slot for the first service, the resource reservation message originating from a transmitter of the first service or from an ingress device on a forwarding path for the first service. In one embodiment, the first network device is an ingress device on a forwarding path for the first service, a user configures the first accumulated delay (i.e., an initial accumulated delay) in the first network device, and the first network device obtains the user-configured first accumulated delay. In another embodiment, the first network device is an ingress device, an intermediate device or an egress device on a forwarding path of a first service, a user configures an initial cumulative delay in a sending end of the first service, the sending end generates a resource reservation message for reserving a time slot for the first service, the resource reservation message carries the initial cumulative delay, the sending end sends the resource reservation message through the forwarding path, each network device on the forwarding path reserves a time slot for the first service based on the resource reservation message received by the network device, each network device on the forwarding path obtains the corresponding cumulative delay of the network device based on the cumulative delay carried in the resource reservation message and the time slot reserved by the network device for the first service, and uses the corresponding cumulative delay of the network device to update the cumulative delay carried in the resource reservation message, and the first network device obtains the first cumulative delay from the resource reservation message received by the first network device. In another embodiment, the first network device is an intermediate device or an egress device on a forwarding path of the first service. The user configures an initial cumulative delay in an ingress device on the forwarding path. The ingress device generates a resource reservation message for reserving a time slot for the first service. The resource reservation message carries the initial cumulative delay. The ingress device reserves a time slot for the first service based on the resource reservation message. The ingress device obtains the cumulative delay corresponding to the ingress device based on the cumulative delay carried in the resource reservation message (that is, the initial cumulative delay) and the time slot reserved by the ingress device for the first service, and uses the cumulative delay corresponding to the ingress device to update the time slot. The ingress device sends the updated resource reservation message through the forwarding path based on the cumulative delay carried by the new resource reservation message; each network device in the intermediate devices and the egress devices on the forwarding path obtains the corresponding cumulative delay of the network device based on the time slot reserved for the first service by the resource reservation message received by the network device, and based on the cumulative delay carried by the resource reservation message and the time slot reserved by the network device for the first service, and uses the corresponding cumulative delay of the network device to update the cumulative delay carried by the resource reservation message, and the first network device obtains the first cumulative delay from the resource reservation message received by the first network device.It can be understood that in another embodiment described above, when the first network device is an ingress device on the forwarding path of the first service, the first cumulative delay obtained by the first network device from the resource reservation message is the initial cumulative delay; when the first network device is an intermediate device or an egress device on the forwarding path of the first service, the first cumulative delay obtained by the first network device from the resource reservation message is the cumulative delay from the sender of the first service to the previous hop device of the first network device. In yet another embodiment described above, the first cumulative delay obtained by the first network device from the resource reservation message is the cumulative delay from the sender of the first service to the previous hop device of the first network device. The cumulative delay corresponding to each network device on the forwarding path of the first service is the cumulative delay from the sender of the first service to the network device, and the cumulative delay corresponding to each network device on the forwarding path is equal to the sum of the cumulative delay carried in the resource reservation message received by the network device and the length of the time slot reserved by the network device for the first service.
[0088] Among them, the maximum tolerable delay of the first service is the maximum delay from the sending end of the first service to the receiving end of the first service that the first service can tolerate. The maximum tolerable delay is used to characterize the delay requirement of the first service, and the delay requirement is a service level agreement (SLA) requirement. The maximum tolerable delay can be configured in the first network device, or it can be carried by a resource reservation message received by the first network device for reserving time slots for the first service, and the resource reservation message comes from the sending end of the first service or from the ingress device on the forwarding path of the first service. In one embodiment, the first network device is the ingress device on the forwarding path of the first service, and the user configures the maximum tolerable delay of the first service in the first network device, and the first network device obtains the maximum tolerable delay configured by the user. In another embodiment, the first network device is an ingress device, an intermediate device or an egress device on a forwarding path of the first service. The user configures a maximum tolerable delay of the first service in a sending end of the first service. The sending end generates a resource reservation message for reserving a time slot for the first service. The resource reservation message carries the maximum tolerable delay. The sending end sends the resource reservation message through the forwarding path. Each network device on the forwarding path obtains the maximum tolerable delay from the resource reservation message received by the network device. The first network device obtains the maximum tolerable delay from the resource reservation message received by the first network device. In another embodiment, the first network device is an intermediate device or an export device on a forwarding path of the first service. The user configures a maximum tolerable delay of the first service in an ingress device on the forwarding path. The ingress device generates a resource reservation message for reserving a time slot for the first service. The resource reservation message carries the maximum tolerable delay. The ingress device sends the resource reservation message through the forwarding path. Each network device on the forwarding path obtains the maximum tolerable delay from the resource reservation message received by the network device. The first network device obtains the maximum tolerable delay from the resource reservation message received by the first network device.
[0089] In an optional embodiment, the first network device obtains the first cumulative delay and the maximum tolerable delay of the first service from a resource reservation message used to reserve time slots for the first service, and the first cumulative delay and the maximum tolerable delay are carried in the same resource reservation message. The resource reservation message can be a RAP message, and the resource reservation message also carries the identifier of the first service, characteristic information of the first service, etc. The identifier of the first service is any possible identification information used to indicate the first service, such as a flow identifier, a five-tuple, a triplet, a two-tuple, etc. The characteristic information of the first service includes a service cycle, the number of messages per cycle, the maximum message length, etc. The number of messages per cycle is the number of service messages of the first service that the sender of the first service needs to send within one service cycle, and the maximum message length is the maximum length of the service message of the first service.
[0090] S302. The first network device obtains a time slot forwarding entry of the first network device.
[0091] The first network device is an ingress device, intermediate device, or egress device on the forwarding path of the first service. When the first network device is an ingress device or intermediate device on the forwarding path of the first service, the first network device generates a time slot forwarding entry for the first network device based on the available time slots of the first network device and the available time slot information of the first network device's next-hop device. When the first network device is an egress device on the forwarding path of the first service, the first network device is directly connected to the receiving end of the first service, and the first network device generates a time slot forwarding entry for the first network device based on the available time slots of the first network device. The following describes the implementation process of the first network device obtaining the time slot forwarding entry of the first network device in two embodiments. For ease of description, the next-hop device of the first network device is referred to as the second network device.
[0092] First embodiment: The first network device is an ingress device or an intermediate device on a forwarding path of a first service, and the first network device generates a time slot forwarding entry of the first network device according to available time slots of the first network device and available time slot information of the second network device.
[0093] A first network device can obtain available time slot information of a second network device, where the available time slot information is used to indicate the available time slots of the second network device. The first network device generates at least one time slot forwarding table entry for the first network device based on the available time slot information and the available time slots of the first network device. The at least one time slot forwarding table entry corresponds one-to-one to at least one available time slot of the first network device, and each time slot forwarding table entry includes relevant information for time slot reservation, which is used by the first network device to reserve a time slot for a service. The available time slot information used to indicate the available time slots of the second network device includes at least one of the following: the available time slot information is used to indicate the earliest available time slot of the second network device; or the available time slot information is used to indicate any one available time slot of the second network device; or the available time slot information is used to indicate multiple available time slots of the second network device, where the multiple available time slots include the earliest available time slot of the second network device.
[0094] In an optional embodiment, the available time slot information of the second network device is used to indicate the available time slots in the gating list of the port used to forward the first service in the second network device. The first network device generates at least one time slot forwarding table entry of the first network device based on the available time slot information and the available time slots in the gating list of the port used to forward the first service in the first network device. The at least one time slot forwarding table entry corresponds one-to-one to at least one available time slot in the gating list of the port used to forward the first service in the first network device. For ease of description, the gating list of the port used to forward the first service in the first network device is referred to as the first gating list, and the gating list of the port used to forward the first service in the second network device is referred to as the second gating list. Therefore, the at least one time slot forwarding table entry of the first network device corresponds one-to-one to at least one available time slot in the first gating list. The at least one time slot forwarding table entry is used by the first network device to reserve a time slot for the first service in the first gating list. The available time slot information of the second network device is used to indicate the available time slots in the second gating list of the second network device. Optionally, the available time slot information is used to indicate that the available time slots in the second gating list of the second network device include at least one of the following: the available time slot information is used to indicate the earliest available time slot in the second gating list of the second network device; or, the available time slot information is used to indicate any one available time slot in the second gating list of the second network device; or, the available time slot information is used to indicate multiple available time slots in the second gating list of the second network device, and the multiple available time slots include the earliest available time slot in the second gating list. In one embodiment, the available time slot information includes a time slot bit map, and the time slot bit map includes multiple bits corresponding to multiple time slots in the second gating list, and the multiple time slots include available time slots and unavailable time slots. Each bit in the multiple bits is used to indicate the status of the corresponding time slot, and the status of each time slot includes an available state or an unavailable state. The state of an available time slot is an available state, and the state of an unavailable time slot is an unavailable state. An available time slot is also called an idle time slot, and an available state is also called an idle state. An unavailable state includes at least one of a reserved state and a busy state. For example, the value of each bit in the multiple bits is 1 or 0, "1" is used to indicate that the corresponding time slot is available, and "0" is used to indicate that the corresponding time slot is unavailable. In this embodiment, the available time slot information may also include indication information of the multiple time slots in the second gating list, and the indication information of each time slot may be the start time of the time slot, the end time of the time slot, any time in the time slot, or the time slot. The multiple time slots are continuous or discontinuous, and the multiple time slots include the second time slot. In another embodiment, the available time slot information includes indication information of the second time slot in the available time slots in the second gating list, and the available time slot information is used to indicate that the available time slots in the second gating list include the second time slot.The second time slot is the earliest available time slot in the second gating list or any available time slot in the second gating list. The indication information of the second time slot is the start time of the second time slot, the end time of the second time slot, any time in the second time slot, or the second time slot.
[0095] In an optional embodiment, the available time slots of the first network device include the first time slot, and the available time slot information of the second network device is used to indicate that the available time slots of the second network device include the second time slot; for example, the available time slots in the first gating list of the first network device include the first time slot, and the available time slot information of the second network device is used to indicate that the available time slots in the second gating list of the second network device include the second time slot; the available time slot information also includes the end-to-end delay (E2E delay) corresponding to the second time slot, where the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service, for example, when the second network device forwards the first service in the second time slot. The first network device generates a time slot forwarding table entry corresponding to the first time slot of the first network device based on the end-to-end delay corresponding to the first time slot and the second time slot (for ease of description, the time slot forwarding table entry corresponding to the first time slot is referred to as time slot forwarding table entry 11). In one embodiment, a first network device determines an end-to-end delay corresponding to a first time slot based on an end-to-end delay corresponding to a second time slot. The first network device generates a time slot forwarding entry 11 for the first network device based on the end-to-end delay corresponding to the first time slot. Time slot forwarding entry 11 includes the end-to-end delay corresponding to the first time slot. The end-to-end delay corresponding to the first time slot is the delay from the first network device to a receiving end of a first service. For example, the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end of the first service when the first network device forwards the first service in the first time slot. Optionally, the first network device determines the sum of the end-to-end delay corresponding to the second time slot and the length of the first time slot as the end-to-end delay corresponding to the first time slot.
[0096] In an optional embodiment, the available time slot information of the second network device is used to indicate that the available time slots of the second network device include the second time slot, the first network device determines the next hop time slot information based on the second time slot, and the first network device generates a time slot forwarding table entry 11 of the first network device based on the end-to-end delay corresponding to the first time slot and the next hop time slot information, and the time slot forwarding table entry 11 also includes the next hop time slot information. That is, the time slot forwarding table entry 11 includes the end-to-end delay corresponding to the first time slot and the next hop time slot information. The next hop time slot information is used to indicate the second time slot in the available time slots of the next hop device of the first network device. For example, the second time slot is the earliest available time slot of the next hop device, and the next hop time slot information is the start time of the second time slot, the end time of the second time slot, any one of the second time slots, or the second time slot. In some embodiments, the next hop time slot information is also called the next hop transmission time (NHTT).
[0097] In an embodiment of the present application, the end-to-end delay and next-hop time slot information corresponding to the first time slot included in the time slot forwarding table entry 11 are both relevant information for time slot reservation. This information is used by the first network device to reserve the first time slot for the first service. Optionally, the time slot forwarding table entry 11 is a routing forwarding table entry or a flow forwarding table entry, and the routing forwarding table entry is a Layer 2 routing forwarding table entry or a Layer 3 routing forwarding table entry. The time slot forwarding table entry 11 also includes the identifier of the destination address and the egress port. In one example, the time slot forwarding table entry 11 of the first network device is shown in Table 2 below.
[0098] Table 2 (Time Slot Forwarding Table Entry 11)
[0099] Referring to Table 2, the time slot forwarding table entry 11 of the first network device includes the destination address "DA1" of the first service, the identifier "P1" of the egress port of the first service in the first network device (that is, the port in the first network device used to forward the first service), the end-to-end delay "D1" corresponding to the first time slot, and the next hop time slot information "S1". The destination address "DA1" is the address of the receiving end of the first service, the first time slot is the available time slot in the gating list of the egress port of the first service in the first network device (that is, the first gating list), the end-to-end delay "D1" corresponding to the first time slot is the delay from the first network device to the receiving end of the first service when the first network device forwards the first service in the first time slot (that is, the delay from the first network device to the destination address "DA1"), the next hop time slot information "S1" is used to indicate the second time slot in the available time slots of the next hop device of the first network device (that is, the second network device), the next hop time slot information "S1" can be the start time of the second time slot, the end time of the second time slot, any one time in the second time slot, or the second time slot.
[0100] The time slot forwarding entry 11 shown in Table 2 is associated with the first time slot to indicate that the end-to-end delay recorded in the time slot forwarding entry 11 is the end-to-end delay corresponding to the first time slot. In some embodiments, the time slot forwarding entry 11 of the first network device also includes indication information of the first time slot. The indication information of the first time slot can be an identifier of the first time slot, the start time of the first time slot, the end time of the first time slot, any time in the first time slot, or the first time slot. In one example, the first time slot is T1, and the first time slot "T1" is the time period between t0 and t1. The time slot forwarding entry 11 of the first network device can also be shown in Table 3 below.
[0101] Table 3 (Time Slot Forwarding Table Entry 11)
[0102] Comparing Table 2 and Table 3, it can be seen that, unlike Table 2, the time slot forwarding entry 11 shown in Table 3 also includes the first time slot "T1".
[0103] It should be noted that the destination address in the time slot forwarding table item 11 shown in Table 2 and Table 3 is an internet protocol (internet protocol, IP) address or a media access control (media access control, MAC) address of the receiving terminal of the first business. Table 2 and Table 3 only exemplarily show the time slot forwarding table item, and the time slot forwarding table item of the first network device may also include other information, for example, also include the address of the next hop device in the time slot forwarding table item. For another example, the time slot forwarding table item is a stream forwarding table item, and the time slot forwarding table item also includes the stream identification information of the first business. The embodiment of the present application is illustrated as an example by taking the time slot forwarding table item as a routing forwarding table item or a stream forwarding table item, and independently the time slot forwarding table item can also be set.
[0104] The time slot forwarding entry 11 is a time slot forwarding entry corresponding to the first time slot of the first network device. The first network device can determine the time slot forwarding entries corresponding to each available time slot of the first network device in the same manner. Optionally, the available time slot information of the second network device is used to indicate that the available time slots of the second network device include the second time slot, where the second time slot is the earliest available time slot in the second gating list of the second network device, and the available time slot information includes the end-to-end delay corresponding to the second time slot. For each available time slot in the first gating list of the first network device: the first network device determines the end-to-end delay corresponding to the available time slot based on the end-to-end delay corresponding to the second time slot, the first network device determines the next-hop time slot information based on the second time slot, and the first network device generates a time slot forwarding entry corresponding to the available time slot of the first network device based on the end-to-end delay corresponding to the available time slot and the next-hop time slot information. The time slot forwarding entry includes the end-to-end delay corresponding to the available time slot and the next-hop time slot information. In this way, the first network device can obtain multiple time slot forwarding table entries corresponding to multiple available time slots of the first network device. The time slot forwarding table entry corresponding to each available time slot in the multiple available time slots includes the end-to-end delay and next-hop time slot information corresponding to the available time slot. The end-to-end delay corresponding to each available time slot is the delay of the first service from the first network device to the receiving end of the first service when the first network device forwards the first service in the available time slot. The end-to-end delay corresponding to each available time slot can be the sum of the length of the available time slot and the end-to-end delay corresponding to the second time slot. The next-hop time slot information in each time slot forwarding table entry is used to indicate the second time slot in the second network device. The multiple time slot forwarding table entries include the same next-hop time slot information. The implementation process of the first network device obtaining each time slot forwarding table entry in the multiple time slot forwarding table entries can refer to the implementation process of the first network device obtaining time slot forwarding table entry 11, which will not be repeated here. Each time slot forwarding table entry in the multiple time slot forwarding table entries is shown in Table 2 or Table 3. Optionally, the lengths of the multiple available time slots of the first network device are equal, and the end-to-end delays recorded in the time slot forwarding table entries corresponding to the multiple available time slots are equal, which is not limited in this embodiment of the present application.
[0105] Second embodiment: the first network device is an egress device on a forwarding path of the first service, and the first network device generates a time slot forwarding entry of the first network device according to an available time slot of the first network device.
[0106] The first network device generates at least one time slot forwarding table entry based on the at least one available time slot of the first network device, where the at least one time slot forwarding table entry corresponds to the at least one available time slot. Optionally, the at least one available time slot is an available time slot in a first gating list of the first network device, and the at least one time slot forwarding table entry is used by the first network device to reserve a time slot in the first gating list for the first service.
[0107] In an optional embodiment, the available time slots of the first network device include the first time slot, the first network device determines the end-to-end delay corresponding to the first time slot and the next-hop time slot information based on the first time slot, and the first network device generates a time slot forwarding table entry 11 of the first network device corresponding to the first time slot based on the end-to-end delay corresponding to the first time slot and the next-hop time slot information, the time slot forwarding table entry 11 includes the end-to-end delay corresponding to the first time slot and the next-hop time slot information. The end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end of the first service. Since the first network device is the egress device of the forwarding path of the first service and the first network device is directly connected to the receiving end of the first service, the end-to-end delay corresponding to the first time slot is equal to the length of the first time slot, and the next-hop time slot information is the initial next-hop time slot information, that is, the initial value of the next-hop time slot information, for example, the next-hop time slot information is 0. For example, the time slot forwarding entry 11 is as shown in Table 2 or Table 3 above. In the second embodiment, the next hop time slot information in the time slot forwarding entry 11 is the initial next hop time slot information.
[0108] Time slot forwarding entry 11 is a time slot forwarding entry corresponding to the first time slot of the first network device. The first network device can use the same method to determine the time slot forwarding entries corresponding to each available time slot of the first network device. Optionally, for each available time slot in the first gating list of the first network device: the first network device determines the end-to-end delay corresponding to the available time slot based on the available time slot and the first network device determines the next-hop time slot information. The first network device generates a time slot forwarding entry corresponding to the available time slot of the first network device based on the end-to-end delay corresponding to the available time slot and the next-hop time slot information. The time slot forwarding entry includes the end-to-end delay corresponding to the available time slot and the next-hop time slot information. In this way, the first network device can obtain multiple time slot forwarding table entries corresponding to multiple available time slots of the first network device. The time slot forwarding table entry corresponding to each available time slot in the multiple available time slots includes the end-to-end delay and next-hop time slot information corresponding to the available time slot. The end-to-end delay corresponding to each available time slot is the delay of the first service from the first network device to the receiving end of the first service when the first network device forwards the first service in the available time slot. The end-to-end delay corresponding to each available time slot is equal to the length of the available time slot, and the next-hop time slot information in each time slot forwarding table entry is the initial next-hop time slot information. Optionally, the lengths of the multiple available time slots of the first network device are equal, and the end-to-end delays recorded in the time slot forwarding table entries corresponding to the multiple available time slots are equal. This embodiment of the present application does not limit this.
[0109] S303. The first network device reserves a first time slot for the first service according to the maximum tolerable delay of the first service, the first accumulated delay, and the time slot forwarding entry of the first network device. The first time slot is an available time slot that meets the maximum tolerable delay.
[0110] In an optional embodiment, the time slot forwarding table entry of the first network device (that is, the time slot forwarding table entry 11) includes the end-to-end delay corresponding to the first time slot. The end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end of the first service, that is, the delay of the first service from the first network device to the receiving end of the first service when the first network device forwards the first service in the first time slot. The first network device reserves the first time slot for the first service in the first gating list based on the maximum tolerable delay of the first service, the first cumulative delay, and the end-to-end delay corresponding to the first time slot. In one embodiment, the first network device determines whether the first time slot meets the maximum tolerable delay based on the first cumulative delay and the end-to-end delay corresponding to the first time slot; if the first time slot meets the maximum tolerable delay, the first network device reserves the first time slot for the first service; if the first time slot does not meet the maximum tolerable delay, the first network device does not reserve the first time slot for the first service. The embodiment of the present application takes the case where the first time slot meets the maximum tolerable delay as an example, so the first network device reserves the first time slot for the first service.
[0111] In an optional embodiment, the first network device determines whether the first time slot meets the maximum tolerable delay of the first service based on the first cumulative delay and the end-to-end delay corresponding to the first time slot, including: the first network device determines whether the sum of the first cumulative delay and the end-to-end delay corresponding to the first time slot is greater than the maximum tolerable delay; when the sum of the first cumulative delay and the end-to-end delay corresponding to the first time slot is not greater than the maximum tolerable delay, the first network device determines that the first time slot meets the maximum tolerable delay; when the sum of the first cumulative delay and the end-to-end delay corresponding to the first time slot is greater than the maximum tolerable delay, the first network device determines that the first time slot does not meet the maximum tolerable delay.
[0112] In an optional embodiment, the time slot forwarding table entry of the first network device (i.e., time slot forwarding table entry 11) further includes next-hop time slot information, where the next-hop time slot information is used to indicate a second time slot in the available time slots of the next-hop device of the first network device. The first network device reserves the first time slot for the first service in the first gating list based on the maximum tolerable delay of the first service, the first accumulated delay, the end-to-end delay corresponding to the first time slot, and the next-hop time slot information. In one embodiment, the first network device determines whether the first time slot meets the maximum tolerable delay of the first service based on the first accumulated delay and the end-to-end delay corresponding to the first time slot, and determines whether the first time slot is before the second time slot indicated by the next-hop time slot information; if the first time slot meets the maximum tolerable delay and the first time slot is before the second time slot, the first network device reserves the first time slot for the first service; if the first time slot does not meet the maximum tolerable delay and / or the first time slot is not before the second time slot, the first network device does not reserve the first time slot for the first service. In the embodiment of the present application, the first time slot satisfies the maximum tolerable delay and is before the second time slot as an example, so the first network device reserves the first time slot for the first service.
[0113] In an optional embodiment, before S303, the first network device obtains first expected time slot information, where the first expected time slot information is used to indicate the time slot that the first network device is expected to reserve for the first service. In S303, the first network device reserves the first time slot for the first service in the first gating list based on the maximum tolerable delay of the first service, the first accumulated delay, the first expected time slot information, and the time slot forwarding entry of the first network device (i.e., time slot forwarding entry 11). For example, the time slot forwarding entry of the first network device (i.e., time slot forwarding entry 11) includes the end-to-end delay corresponding to the first time slot and the next-hop time slot information. In one embodiment, the first network device determines whether the first time slot meets the maximum tolerable delay of the first service based on the first accumulated delay and the end-to-end delay corresponding to the first time slot, determines whether the first time slot is before the second time slot indicated by the next-hop time slot information, and determines the time slot that the first network device is expected to reserve for the first service based on the first expected time slot information (for ease of description, the time slot that the first network device is expected to reserve for the first service is referred to as the first expected time slot). If the first time slot meets the maximum tolerable delay and precedes the second time slot, the first network device determines whether the first time slot is a first desired time slot. If the first time slot is the first desired time slot, the first network device reserves the first time slot for the first service. If the first time slot is not the first desired time slot, the first network device determines whether the first desired time slot is available. If the first desired time slot is not available, the first network device reserves the first time slot for the first service. If the first desired time slot is available, the first network device does not reserve the first time slot for the first service. If the first time slot does not meet the maximum tolerable delay and / or does not precede the second time slot, the first network device does not reserve the first time slot for the first service. That is, if the first time slot meets the maximum tolerable delay for the first service, precedes the second time slot, and is the first desired time slot, or if the first time slot meets the maximum tolerable delay, precedes the second time slot, is not the first desired time slot, and is unavailable, the first network device reserves the first time slot for the first service. In the case where the first time slot does not meet the maximum tolerable delay and / or the first time slot is not before the second time slot, the first network device does not reserve the first time slot for the first service. In the case where the first time slot meets the maximum tolerable delay, the first time slot is before the second time slot, the first time slot is not the first expected time slot and the first expected time slot is available, the first network device may not reserve the first time slot for the first service. In the embodiment of the present application, the example in which the first time slot meets the maximum tolerable delay of the first service, the first time slot is before the second time slot and the first time slot is the first expected time slot is explained, or the example in which the first time slot meets the maximum tolerable delay, the first time slot is before the second time slot, the first time slot is not the first expected time slot and the first expected time slot is unavailable is explained, so the first network device reserves the first time slot for the first service.
[0114] In an optional embodiment, the first gating list includes at least one available time slot, the first network device includes at least one time slot forwarding table entry corresponding to the at least one available time slot, and the first network device reserves a first time slot for the first service in the first gating list based on the maximum tolerated delay, the first accumulated delay, the first expected time slot information, and the at least one time slot forwarding table entry of the first service. For example, the time slot forwarding table entry corresponding to each available time slot in the at least one available time slot includes the end-to-end delay and next-hop time slot information corresponding to the available time slot, and the next-hop time slot information included in the at least one time slot forwarding table entry is used to indicate the second time slot in the available time slots of the second network device. In one embodiment, the first network device determines a first expected time slot based on the first expected time slot information, and the first network device determines whether the first expected time slot is available. When the first expected time slot is available, the at least one time slot forwarding table entry includes a time slot forwarding table entry corresponding to the first expected time slot. The first network device determines whether the first expected time slot meets the maximum tolerable delay of the first service based on the first accumulated delay and the end-to-end delay included in the time slot forwarding table entry corresponding to the first expected time slot (i.e., the end-to-end delay corresponding to the first expected time slot), and the first network device determines whether the first expected time slot is before the second time slot. If the first expected time slot meets the maximum tolerable delay and the first expected time slot is before the second time slot, the first network device reserves the first expected time slot for the first service; if the first expected time slot does not meet the maximum tolerable delay and / or the first expected time slot is not before the second time slot, the first network device does not reserve the first expected time slot for the first service. In the case that the first expected time slot is not available, or in the case that the first expected time slot is available and the first expected time slot does not meet the maximum tolerable delay and / or the first expected time slot is not before the second time slot, the first network device determines whether there is an available time slot in the first gating list that is before the second time slot and meets the maximum tolerable delay. In the case that there is an available time slot in the first gating list that is before the second time slot and meets the maximum tolerable delay, the first network device reserves the available time slot in the first gating list that is before the second time slot and meets the maximum tolerable delay for the first service. Otherwise, the first network device determines that the first network device has failed to reserve a time slot for the first service.Optionally, the first expected time slot is located before the second time slot and the first expected time slot is not available, or the first expected time slot is located before the second time slot and the first expected time slot does not meet the maximum tolerable delay of the first service. The first network device determines whether there is an available time slot in the first gating list that is between the first expected time slot and the second time slot (that is, after the first expected time slot and before the second time slot) and meets the maximum tolerable delay. If there is an available time slot in the first gating list that is between the first expected time slot and the second time slot and meets the maximum tolerable delay, the first network device reserves an available time slot between the first expected time slot and the second time slot and meets the maximum tolerable delay for the first service. Otherwise, the first network device determines that the first network device has failed to reserve a time slot for the first service. Optionally, the first gating list contains multiple available time slots that are between the first desired time slot and the second time slot and that meet the maximum tolerable delay. The first network device reserves time slots for the first service from the multiple available time slots in order from closest to the second time slot to furthest from the second time slot. That is, the first network device preferentially reserves time slots close to the second time slot for the first service, thereby reserving relatively earlier time slots for more urgent services. In this embodiment, the time slot reserved by the first network device for the first service is the first time slot.
[0115] In an optional embodiment, the first network device determines whether the first expected time slot meets the maximum tolerable delay of the first service based on the first cumulative delay and the end-to-end delay corresponding to the first expected time slot, including: the first network device determines whether the sum of the first cumulative delay and the end-to-end delay corresponding to the first expected time slot is greater than the maximum tolerable delay; when the sum of the first cumulative delay and the end-to-end delay corresponding to the first expected time slot is not greater than the maximum tolerable delay, the first network device determines that the first expected time slot meets the maximum tolerable delay; when the sum of the first cumulative delay and the end-to-end delay corresponding to the first expected time slot is greater than the maximum tolerable delay, the first network device determines that the first expected time slot does not meet the maximum tolerable delay. In an embodiment of the present application, the first expected time slot being available includes the first expected time slot being in an idle state, and the first expected time slot being unavailable includes the first expected time slot being in an unavailable state, and the unavailable state includes a reserved state or a busy state. Optionally, before the first service goes online, the first network device reserves the first expected time slot for other services and updates the status of the first expected time slot to an unavailable state (for example, a reserved state), causing the first expected time slot to be unavailable for the first service. The first network device determines that the first expected time slot is unavailable based on the status of the first expected time slot. This embodiment of the present application does not limit this.
[0116] In an optional embodiment, the first network device determines whether there is an available time slot in the first gating list that is between the first expected time slot and the second time slot and that meets the maximum tolerable delay, including: the first network device determines whether there is an available time slot in the first gating list that is between the first expected time slot and the second time slot based on the first expected time slot and the second time slot; if there is no available time slot in the first gating list that is between the first expected time slot and the second time slot, the first network device determines whether there is an available time slot in the first gating list that is between the first expected time slot and the second time slot and that meets the maximum tolerable delay; if there is an available time slot in the first gating list that is between the first expected time slot and the second time slot In the case of at least one available time slot between the first desired time slot and the second time slot, the first network device determines whether there is an available time slot that meets the maximum tolerance delay of the first service in the at least one available time slot; if there is no available time slot that meets the maximum tolerance delay in the at least one available time slot, the first network device determines that there is no available time slot that is between the first desired time slot and the second time slot and meets the maximum tolerance delay in the first gating list; if there is an available time slot that meets the maximum tolerance delay in the at least one available time slot, the first network device determines that there is an available time slot that is between the first desired time slot and the second time slot and meets the maximum tolerance delay in the first gating list. Optionally, for each available time slot of the at least one available time slot, the first network device determines whether the sum of the first cumulative delay and the end-to-end delay corresponding to the available time slot is greater than the maximum tolerable delay of the first service; when the sum of the first cumulative delay and the end-to-end delay corresponding to the available time slot is not greater than the maximum tolerable delay, the first network device determines that the available time slot meets the maximum tolerable delay; when the sum of the first cumulative delay and the end-to-end delay corresponding to the available time slot is greater than the maximum tolerable delay, the first network device determines that the available time slot does not meet the maximum tolerable delay.
[0117] The following describes the implementation process of the first network device obtaining the first expected time slot information. As described above, the first network device is an ingress device, an intermediate device, or an egress device on the forwarding path of the first service. When the first network device is an ingress device on the forwarding path of the first service, the first expected time slot information is initial expected time slot information, and the first expected time slot information is used to indicate the initial expected time slot. When the first network device is an intermediate device or an egress device on the forwarding path of the first service, the first expected time slot information is used to indicate the time slot that the previous hop device of the first network device expects the first network device to reserve for the first service. In an embodiment of the present application, the first expected time slot information can be configured in the first network device, or it can be carried in a resource reservation message received by the first network device for reserving a time slot for the first service, the resource reservation message coming from the sender of the first service or from an ingress device on the forwarding path of the first service. In one embodiment, the first network device is an ingress device on the forwarding path of the first service, the user configures the first expected time slot information (i.e., the initial expected time slot information) in the first network device, and the first network device obtains the user-configured first expected time slot information. In another embodiment, the first network device is an entry device, an intermediate device or an exit device on a forwarding path of the first service, and a user configures initial expected time slot information in a sending end of the first service. The sending end generates a resource reservation message for reserving time slots for the first service, and the resource reservation message carries the initial expected time slot information. The sending end sends the resource reservation message through the forwarding path, and each network device on the forwarding path obtains the expected time slot information corresponding to the network device based on the time slot reserved for the first service by the resource reservation message received by the network device, and based on the time slot reserved by the network device for the first service, and uses the expected time slot information corresponding to the network device to update the expected time slot information carried by the resource reservation message, and the first network device obtains the first expected time slot information from the resource reservation message received by the first network device.In another embodiment, the first network device is an intermediate device or an egress device on a forwarding path of the first service, and the user configures initial expected time slot information in an ingress device on the forwarding path. The ingress device generates a resource reservation message for reserving a time slot for the first service, and the resource reservation message carries the initial expected time slot information. The ingress device reserves a time slot for the first service according to the resource reservation message. The ingress device obtains the expected time slot information corresponding to the ingress device according to the time slot reserved by the ingress device for the first service, and uses the expected time slot information corresponding to the ingress device to update the resource reservation message. The ingress device sends the updated resource reservation message through the forwarding path. Each network device among the intermediate devices and the egress devices on the forwarding path obtains the expected time slot information corresponding to the network device based on the time slot reserved for the first service by the resource reservation message received by the network device, and based on the time slot reserved by the network device for the first service, and updates the expected time slot information carried by the resource reservation message using the expected time slot information corresponding to the network device. The first network device obtains the first expected time slot information from the resource reservation message received by the first network device. It can be understood that in the above-mentioned another embodiment, when the first network device is the ingress device on the forwarding path of the first service, the first expected time slot information obtained by the first network device from the resource reservation message is the initial expected time slot information; when the first network device is the intermediate device or the egress device on the forwarding path of the first service, the first expected time slot information obtained by the first network device from the resource reservation message is used to indicate the time slot that the previous hop device of the first network device expects the first network device to reserve for the first service. In another embodiment of the above, the first expected time slot information obtained by the first network device from the resource reservation message is used to indicate the time slot that the previous hop device of the first network device expects the first network device to reserve for the first service. Optionally, each network device obtains the expected time slot information corresponding to the network device based on the time slot reserved by the network device for the first service, including: the network device determines that the time slot that the network device expects the next hop device to reserve for the first service is adjacent to the time slot reserved by the network device for the first service and is located after the time slot reserved by the network device for the first service. The expected time slot information corresponding to each network device can be the starting time of the time slot that the network device expects the next hop device to reserve for the first service, the ending time of the time slot that the network device expects the next hop device to reserve for the first service, any one of the time slots that the network device expects the next hop device to reserve for the first service, or the time slot that the network device expects the next hop device to reserve for the first service. Optionally, the expected time slot information corresponding to each network device is the start time of the time slot that the network device expects the next hop device to reserve for the first service. The expected time slot information is also called expected next hop slot start time (ENHSST).
[0118] In an optional embodiment, the first expected time slot information, the first accumulated delay and the maximum tolerable delay of the first service are carried in the same resource reservation message, and the resource reservation message also carries characteristic information of the first service, which includes the service cycle, the number of messages per cycle, the maximum message length, etc. The first network device determines the target number of time slots that the first service needs to occupy in each service cycle based on the characteristic information of the first service, the rate of the port in the first network device used to forward the first service (for example, the port in the first network device used to forward the first service is called the first port) and the length of the time slot in the first gating list of the first network device. The first network device reserves the target number of time slots for the first service in the first gating list based on the first accumulated delay, the maximum tolerable delay of the first service and the time slot forwarding entry of the first network device. The reservation process of each time slot can refer to the above description in S303 and will not be repeated here. Optionally, the first network device determines the amount of data of the first service that needs to be forwarded by the first port in each service cycle based on the maximum message length of the first service and the number of messages per cycle of the first service; the first network device determines the duration of occupancy of the first port by the first service in each service cycle based on the amount of data of the first service that needs to be forwarded by the first port in each service cycle and the rate of the first port; the first network device determines the target number of time slots that need to be occupied by the first service in each service cycle based on the duration of occupancy of the first port by the first service in each service cycle and the length of the time slots in the first gating list.
[0119] It should be noted that both S301 and S302 are executed before S303. The embodiments of the present application do not limit the execution order of S301 and S302. In actual applications, S302 may be executed before S301, and the execution frequency of S302 may be lower than the execution frequency of S301. Optionally, the first network device executes S301 each time it reserves a time slot for the first service, and the first network device executes S302 when specific conditions are met, for example, when the service goes online or when the network topology changes.
[0120] In summary, the technical solution provided by the embodiment of the present application is that the network device on the forwarding path of the first service reserves time slots for the first service based on the accumulated delay, the maximum tolerable delay of the first service and the time slot forwarding table entry of the network device. In this way, after the first service goes online, the network device on the forwarding path of the first service forwards the first service through the time slot reserved for the first service, thereby ensuring the transmission quality of the first service, especially when the first service is a deterministic service, ensuring the deterministic transmission quality of the first service, such as ensuring the deterministic delay of the first service. The resource reservation scheme provided by the embodiment of the present application is a distributed resource reservation scheme. Time slots can be reserved for services without the need for a controller to schedule time slots for network devices. It has high flexibility and is suitable for network scenarios without a controller.
[0121] In an optional embodiment, the first network device is an ingress device or an intermediate device on the forwarding path of the first service. After S303, the first network device sends a resource reservation message to the next-hop device of the first network device, so that the next-hop device of the first network device reserves a time slot for the first service based on the resource reservation message. As an example, please refer to Figure 4, which shows a flowchart of another resource reservation method provided in an embodiment of the present application. As shown in Figure 4, after S303, the resource reservation method also includes the following step S304.
[0122] S304. The first network device sends a first message to the second network device. The first message includes the maximum tolerable delay and the second cumulative delay of the first service. The second cumulative delay is the cumulative delay from the sender of the first service to the first network device. The second network device is the next-hop device of the first network device. The first message is used by the second network device to reserve a time slot for the first service based on the maximum tolerable delay, the second cumulative delay and the time slot forwarding table entry of the second network device.
[0123] The first message is a resource reservation message used to reserve a time slot for the first service. For example, the first message is a RAP message.
[0124] In an optional embodiment, the first message includes the maximum tolerable delay, the second accumulated delay, and the second expected time slot information of the first service. The second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service. The first message is used for the second network device to reserve a time slot for the first service based on the maximum tolerable delay, the second accumulated delay, the second expected time slot information, and the time slot forwarding entry of the second network device. For ease of description, the time slot that the first network device expects the second network device to reserve for the first service is referred to as the second expected time slot. The second expected time slot information is the start time of the second expected time slot, the end time of the second expected time slot, any one of the second expected time slot, or the second expected time slot. The second expected time slot is located after the first time slot reserved by the first network device for the first service. Optionally, the second expected time slot is adjacent to the first time slot, and the start time of the second expected time slot is the end time of the first time slot.
[0125] In an optional embodiment, the first network device determines a second cumulative delay based on the first cumulative delay and the first time slot reserved by the first network device for the first service, determines second expected time slot information based on the first time slot reserved by the first network device for the first service, and obtains the first message based on the second cumulative delay and the second expected time slot information. Optionally, the first network device determines the sum of the first cumulative delay and the length of the first time slot as the second cumulative delay; the first network device determines the second expected time slot based on the first time slot, and determines second expected time slot information used to indicate the second expected time slot. In one embodiment, the first network device is an ingress device on the forwarding path of the first service. In S301, the first network device obtains the user-configured first cumulative delay and the user-configured maximum tolerable delay of the first service. In this step, the first network device generates the first message based on the maximum tolerable delay, the second cumulative delay, and the second expected time slot information. In another embodiment, the first network device is an ingress device, an intermediate device, or an egress device on a forwarding path of a first service. In S301, the first network device obtains a first cumulative delay and a maximum tolerable delay of the first service from a resource reservation message used to reserve a time slot for the first service. Before S303, the first network device obtains the first expected time slot information from the resource reservation message. In this step, the first network device uses the second cumulative delay to update the cumulative delay (i.e., the first cumulative delay) carried by the resource reservation message, and the first network device uses the second expected time slot information to update the expected time slot information (i.e., the first expected time slot information) carried by the resource reservation message. The updated resource reservation message obtained by the first network device updating the resource reservation message is the first message. For example, the first network device uses the second cumulative delay to replace the first cumulative delay carried by the resource reservation message, and the first network device uses the second expected time slot information to replace the first expected time slot information carried by the resource reservation message. Optionally, the first message also includes a service identifier of the first service, characteristic information of the first service, etc.
[0126] After the second network device receives the first message sent by the first network device, the second network device reserves a time slot for the first service based on the first message and the time slot forwarding table entry of the second network device. In one embodiment, the first message includes the maximum tolerable delay and the second cumulative delay of the first service, and the second network device reserves a time slot for the first service based on the maximum tolerable delay, the second cumulative delay and the time slot forwarding table entry of the second network device. In another embodiment, the first message includes the maximum tolerable delay, the second cumulative delay and the second expected time slot information of the first service, and the second network device reserves a time slot for the first service based on the maximum tolerable delay, the second cumulative delay, the second expected time slot information and the time slot forwarding table entry of the second network device. The implementation process of the second network device obtaining the time slot forwarding entry of the second network device can refer to S302, and the implementation process of the second network device reserving a time slot for the first service can refer to S303, which will not be repeated in detail in the embodiments of the present application.
[0127] To sum up, the technical solution provided by the embodiment of the present application is that after the first network device on the forwarding path of the first service reserves a time slot for the first service, the first network device sends a first message including the maximum tolerated delay and the second accumulated delay of the first service to the next-hop device of the first network device, so that the next-hop device reserves a time slot for the first service according to the maximum tolerated delay, the second accumulated delay and the time slot forwarding entry of the next-hop device. After the first service goes online, the next-hop device forwards the first service through the time slot reserved for the first service, thereby ensuring the transmission quality of the first service, especially when the first service is a deterministic service, ensuring the deterministic transmission quality of the first service.
[0128] In an embodiment of the present application, each network device on the forwarding path of the first service may reserve a time slot for the first service. The implementation process of each network device on the forwarding path reserving a time slot for the first service may refer to the implementation process of the first network device reserving a time slot for the first service. The time slot reserved by each network device on the forwarding path for the first service meets the maximum tolerable delay of the first service. In an optional embodiment, in the process of any network device on the forwarding path reserving a time slot for the first service, if the network device determines that there is no available time slot that meets the maximum tolerable delay of the first service in the gating list of the port in the network device used to forward the first service, the network device determines that the network device has failed to reserve a time slot for the first service. The network device sends a notification message (or cancellation message) to the sender of the first service or to the ingress device on the forwarding path via the reverse path of the forwarding path to inform the sender or the ingress device of the failure to reserve a time slot for the first service. The network device on the forwarding path that has reserved a time slot for the first service releases the time slot reserved for the first service based on the notification message. For example, the network device on the forwarding path that has reserved a time slot for the first service updates the status of the time slot reserved for the first service to an idle state based on the notification message, thereby releasing the time slot reserved for the first service. In one embodiment, if the egress device on the forwarding path fails to reserve a time slot for the first service, the egress device sends a notification message via the reverse path of the forwarding path, and both the intermediate device and the ingress device on the forwarding path update the status of the time slot reserved for the first service to an idle state based on the notification message, thereby releasing the time slot reserved for the first service.
[0129] In an optional embodiment, a resource reservation message for reserving a time slot for a first service is transmitted along a forwarding path of the first service. Each network device on the forwarding path reserves a time slot for the first service from an available time slot in a gating list of a port in the network device for forwarding the first service, based on the accumulated delay, maximum tolerable delay, expected time slot information carried in the resource reservation message received by the network device and the time slot forwarding entry of the network device. After reserving a time slot for the first service, each network device on the forwarding path updates the accumulated delay and expected time slot information carried in the resource reservation message, and sends the updated resource reservation message to the next-hop device of the network device. The state of an available time slot is an available state, where an available time slot is an unoccupied time slot in the gating list. An available time slot is also called an idle time slot, and an available state is also called an idle state. After each network device in the ingress device and intermediate devices on the forwarding path of the first service reserves a time slot for the first service, the network device updates the status of the time slot reserved by the network device for the first service to a reserved state. After the egress device on the forwarding path reserves a time slot for the first service, the egress device updates the status of the time slot reserved by the network device for the first service to a busy state, and the egress device sends a confirmation message via the reverse path of the forwarding path. The ingress device and intermediate devices on the forwarding path update the status of the time slot reserved for the first service to a busy state based on the confirmation message. Optionally, after the network device on the forwarding path reserves a time slot for the first service, the network device also updates the queue status information corresponding to the first queue in the multiple queue status information corresponding to the time slot reserved for the first service in the gating list to open state information, indicating that the first queue is in an open state during the time slot reserved for the first service, and the first queue is a message queue used to buffer the first service. That is, after each network device on the forwarding path reserves a time slot for the first service, the network device updates the gating list of the network device. In one embodiment, after reserving a time slot for the first service, the egress device on the forwarding path updates the queue status information corresponding to the first queue in the multiple queue status information corresponding to the time slot reserved for the first service in the gating list to open state information. In response to a confirmation message sent by the egress device, each network device in the ingress device and intermediate devices on the forwarding path updates the queue status information corresponding to the first queue in the multiple queue status information corresponding to the time slot reserved for the first service in the gating list to open state information. In one embodiment, the network devices on the forwarding path include a control plane and a forwarding plane (or a control chip and a forwarding chip). The control plane reserves a time slot for the first service, updates the gating list after reserving the time slot for the first service, and sends the updated gating list to the forwarding plane. The forwarding plane subsequently forwards the first service's messages according to the updated gating list, thereby forwarding the first service's messages through the time slot reserved for the first service.
[0130] After all network devices on the forwarding path of the first service have successfully reserved time slots for the first service, for example, after all network devices on the forwarding path have updated the status of the time slots reserved for the first service to a busy state, the process of reserving time slots for the first service is completed. After the first service comes online, the network devices on the forwarding path forward the messages of the first service through the time slots reserved for the first service to ensure the transmission quality of the first service. In an optional embodiment, after the first service goes offline, the network devices on the forwarding path of the first service release the time slots reserved for the first service, for example, the network devices on the forwarding path update the status of the time slots reserved for the first service to an idle state to release the time slots reserved for the first service. In one example, after the first service goes offline, the sending end of the first service or the ingress device on the forwarding path of the first service sends a resource release message through the forwarding path, and the network devices on the forwarding path update the status of the time slots reserved for the first service to an idle state according to the resource release message to release the time slots reserved for the first service. In another example, after the first service goes offline, the receiving end of the first service or the egress device on the forwarding path of the first service sends a resource release message through the reverse path of the forwarding path. The network device on the forwarding path updates the state of the time slot reserved for the first service to an idle state according to the resource release message to release the time slot reserved for the first service. The resource release message may be a RAP message. In one embodiment, the resource release message includes an identifier of the first service. The network device on the forwarding path of the first service determines that the resource release message is used to release the time slot reserved for the first service according to the identifier of the first service, thereby releasing the time slot reserved for the first service. In another embodiment, the resource release message includes relevant information of a resource reservation message for reserving time slots for the first service, such as a sequence number of the resource reservation message. The network device on the forwarding path of the first service determines that the resource release message is used to release the time slot reserved for the first service according to the relevant information of the resource reservation message for reserving time slots for the first service included in the resource release message, thereby releasing the time slot reserved for the first service. After the network device releases the time slot reserved for the first service, the time slot forwarding table entry of the network device and the gating list of the network device can be updated. For example, the network device deletes the relevant time slot forwarding table entry of the network device or deletes the end-to-end delay and next-hop time slot information in the relevant time slot forwarding table entry of the network device. The network device updates the queue status information corresponding to the first queue (the message queue for caching the first service) among the multiple queue status information corresponding to the time slot reserved for the first service in the gating list to closed status information to indicate that the first queue is in a closed state within the time slot.
[0131] Based on the foregoing description, it can be understood that in embodiments of the present application, the state of a time slot can transition between an idle state, a reserved state, and a busy state. For example, Figure 5 is a state transition diagram of a time slot provided in an embodiment of the present application. Referring to Figure 5 and combining it with the foregoing description, it can be seen that as a time slot is reserved, confirmed, and released, the state of the time slot transitions between the idle state, the reserved state, and the busy state.
[0132] In an embodiment of the present application, the network device on the forwarding path of the first service reserves a time slot for the first service and updates the status of the time slot reserved for the first service to a reserved state. This can avoid the situation where the network devices on the forwarding path allocate the time slot reserved for the first service to other services before all the network devices on the forwarding path successfully reserve the time slot for the first service. For example, it can avoid the situation where the network devices on the forwarding path update the status of the time slot reserved for the first service to a busy state before the network devices on the forwarding path update the status of the time slot reserved for the first service to a busy state, thereby avoiding conflicts in the time slots reserved for different services.
[0133] In an embodiment of the present application, the network device can initialize the gating list of the network device before reserving a time slot for the first service in the gating list of the port for forwarding the first service, for example, the gating list of the network device is initialized after the network device accesses the network. The network device can initialize the gating list of the network device according to user configuration information, or initialize the gating list to a default gating list. Among them, the length of the gating list of any port of any network device (that is, the number of time slots in the gating list), the length of each time slot in the gating list, etc. can be set according to the rate of the port, the length of the message that the port needs to forward, etc. By default, the gating lists of each port of each network device are the same, for example, the length of the gating list of each port is equal, and the length of the time slots in the gating list of each port is equal. In one embodiment, the length of the time slot in the gating list of the port is set according to the length of the message that the port needs to forward. In a small message scenario, the length of the time slot in the gating list is set to be smaller, and in a large message scenario, the length of the time slot in the gating list is set to be larger. That is, if the message that the port needs to forward is a small message (for example, the message length is less than the preset length), the length of the time slot in the gating list of the port is set to be smaller; if the message that the port needs to forward is a large message (for example, the message length is greater than the preset length), the length of the time slot in the gating list of the port is set to be larger. In another embodiment, the length of the time slot in the gating list of the port is set according to the rate of the port. If the rate of the port is higher, the length of the time slot in the gating list of the port is set to be smaller; if the rate of the port is lower, the length of the time slot in the gating list of the port is set to be larger. Optionally, after the network device accesses the network, it also initializes the forwarding table, routing table, flow table, etc. of the network device, which is not limited in the embodiments of the present application.
[0134] In an embodiment of the present application, the second network device synchronizes the available time slot information of the second network device to the first network device periodically or based on an event trigger. For example, the second network device synchronizes the available time slot information of the second network device to the first network device when a service is online, a service is offline, or the network topology changes. In S302, the first network device receives the available time slot information synchronized by the second network device. In one embodiment, the second network device sends a second message to the first network device, and the second message includes the available time slot information. The first network device receives the second message sent by the second network device. Since the available time slot information of the second network device is used to indicate the available time slot of the second network device, the second message is used to indicate the available time slot of the second network device. For example, the available time slot information is used to indicate the available time slots in the second gating list of the second network device, and therefore the second message is used to indicate the available time slots in the second gating list. Optionally, the available time slot information is used to indicate that the available time slots of the second network device include the second time slot, so the second message is used to indicate that the available time slots of the second network device include the second time slot, and the second time slot can be an available time slot in the second gating list, for example, the second time slot is the earliest available time slot in the second gating list.
[0135] In an optional embodiment, the second message is an ISIS message or an LRP message. In one embodiment, the second message is an ISIS message, and the second message includes a routing capability TLV field, which is used to carry available time slot information of the second network device. For example, the routing capability TLV field is a 242 routing capability TLV field. Optionally, the routing capability TLV field includes a sub-TLV field, which is used to carry the available time slot information. For example, the sub-TLV field is shown in Figure 6. The sub-TLV field can be called a control list state sub-TLV field. The sub-TLV field includes a type space, a length space, and n control list state spaces. The type space is used to indicate the type of the sub-TLV field, and the length space is used to indicate the length of the data space of the sub-TLV field (i.e., the remaining space in the sub-TLV field excluding the type space and the length space). Each of the n control list state spaces is used to carry information related to a time slot, where n is a positive integer. In one embodiment, the available time slot information of the second network device includes a time slot bit map, which includes n bits corresponding one to one to the n time slots in the second gating list, the n time slots include available time slots and unavailable time slots, each of the n bits is used to indicate the status of the corresponding time slot, the available time slot information also includes the end-to-end delay corresponding to each of the n time slots, the n control list state spaces correspond one to the n time slots, each control list state space in the n control list state spaces includes a time slot subspace, a state subspace and a delay subspace, the time slot subspace is used to carry the indication information of the corresponding time slot, the state subspace is used to carry the status of the corresponding time slot, and the delay subspace is used to carry the end-to-end delay corresponding to the corresponding time slot. For example, the control list state space 1 is used to carry relevant information of the second time slot, the time slot subspace in the control list state space 1 is used to carry indication information of the second time slot, the state subspace in the control list state space 1 is used to carry the state of the second time slot, and the delay subspace in the control list state space 1 is used to carry the end-to-end delay corresponding to the second time slot.This embodiment is described by taking the available time slot information synchronized by the second network device to the first network device as an example to indicate the available time slots and unavailable time slots of the second network device. In another embodiment, the available time slot information synchronized by the second network device to the first network device is used to indicate the available time slots of the second network device and is not used to indicate the unavailable time slots of the second network device. That is, the second network device synchronizes the relevant information of the available time slots of the second network device to the first network device and does not synchronize the relevant information of the unavailable time slots of the second network device to the first network device. In this embodiment, the n time slots in the second gating list are all available time slots, and the available time slot information also includes the end-to-end delay corresponding to each of the n time slots. The n control list state spaces correspond one-to-one to the n time slots. Each control list state space in the n control list state spaces includes a time slot subspace and a delay subspace. The time slot subspace is used to carry the indication information of the corresponding time slot, and the delay subspace is used to carry the end-to-end delay corresponding to the corresponding time slot. For example, the time slot subspace in the control list state space 1 is used to carry indication information of the second time slot, and the delay subspace in the control list state space 1 is used to carry the end-to-end delay corresponding to the second time slot. When n is equal to 1, the control list state sub-TLV field is used to carry relevant information of a time slot of the second network device, for example, the control list state sub-TLV field is used to carry indication information of the earliest available time slot in the second gating list (for example, the second time slot is the earliest available time slot) and the end-to-end delay corresponding to the earliest available time slot. In addition, the embodiment of the present application takes the example of carrying the available time slot information of the second network device in the ISIS message, and the field shown in Figure 6 can also be expanded in the LRP message to carry the available time slot information of the second network device.
[0136] In an optional embodiment, the second network device obtains the available time slot information of the second network device, generates a second message based on the available time slot information, and sends the first message to the first network device. Optionally, the available time slot information includes a time slot bitmap, which includes n bits corresponding to n time slots in the second gating list, each of the n bits is used to indicate the status of the corresponding time slot, and the second network device generates the time slot bitmap based on the n time slots in the second gating list and the corresponding queue status information corresponding to the n time slots. In one embodiment, the message queues of the ports used to forward the first service in the second network device (that is, the ports corresponding to the second gating list) are all message queues used to cache critical services. For each of the n time slots, the second network device takes the sum of all queue status information corresponding to the time slot and then inverts it to obtain the status of the time slot, and the second network device generates the time slot bitmap based on the status of the n time slots. For example, for each of the n time slots, the queue status information corresponding to the time slot includes on status information and off status information. The second network device uses a binary number "1" to represent the on status information corresponding to the time slot and a binary number "0" to represent the off status information corresponding to the time slot. The second network device can obtain the queue status information corresponding to the time slot represented by the binary number. The second network device takes the OR and then inverts all the queue status information corresponding to the time slot to obtain the status of the time slot. In another embodiment, the message queue of the port used to forward the first service in the second network device includes a message queue for caching non-critical services and a message queue for caching critical services (for example, the message queue for caching critical services is referred to as a critical message queue, and the message queue for caching non-critical services is referred to as a non-critical message queue). For each of the n time slots, the second network device determines the status of the time slot based on the queue status information of the non-critical message queue corresponding to the time slot, and the second network device generates the time slot bitmap based on the status of the n time slots. For example, for each of the n time slots, the queue status information of the non-critical message queue corresponding to the time slot is open status information or closed status information. The second network device uses a binary number "1" to represent the open status information and a binary number "0" to represent the closed status information. The second network device can obtain the n queue status information represented by binary numbers corresponding to the n time slots, and the second network device determines the binary sequence composed of the n queue status information represented by binary numbers as the time slot bitmap. For example, the critical message queue is a Qbv queue, and the non-critical message queue is a best effort (BE) queue.
[0137] As an example, the second gating list is shown in Table 4 below.
[0138] Table 4 (Second Gating List)
[0139] As shown in Table 4, the second gating list includes 6 time slots T1 to T6 and 8 queue status information corresponding to each time slot. The 8 queue status information correspond one-to-one to the 8 message queues Q1 to Q8. The "O" and "C" in the second gating list are both queue status information. The queue status information "O" is used to indicate that the corresponding message queue is in the open state. The queue status information "O" is also called the open state information. The queue status information "C" is used to indicate that the corresponding message queue is in the closed state. The queue status information "C" is also called the closed state information. In an example, message queues Q1 to Q8 are all Qbv queues. The second network device takes the OR of the 8 queue status information corresponding to time slot T1 and obtains a result of 0, so the state of time slot T1 is determined to be unavailable. The second network device takes the OR of the 8 queue status information corresponding to time slot T2 and obtains a result of 0, so the state of time slot T2 is determined to be unavailable. Similarly, the second network device takes the OR of the 8 queue status information corresponding to time slot T6 and obtains a result of 0, so the state of time slot T6 is determined to be unavailable. The time slot bit map generated by the second network device based on the status of these 6 time slots is 000000. In another example, message queues Q1 to Q7 are all Qbv queues, message queue Q8 is a BE queue, and the second network device determines that the status of time slot T1 is available based on the queue status information of message queue Q8 corresponding to time slot T1. The second network device determines that the status of time slot T2 is unavailable based on the queue status information of message queue Q8 corresponding to time slot T2. Similarly, the second network device determines that the status of time slot T6 is available based on the queue status information of message queue Q8 corresponding to time slot T6. The time slot bit map generated by the second network device based on the status of these 6 time slots is 100011.
[0140] In an optional embodiment, the available time slot information of the second network device includes the end-to-end delay corresponding to each available time slot in the second gating list of the second network device. When the second network device is an egress device in the forwarding path of the first service, the end-to-end delay corresponding to each available time slot in the second gating list is equal to the length of the available time slot. When the second network device is an intermediate device in the forwarding path of the first service, for each available time slot in the second gating list, the second network device determines the end-to-end delay corresponding to the available time slot based on the length of the available time slot and the available time slot information synchronized from the second network device's next hop device to the second network device. For example, the available time slots in the second gating list include the second time slot, the next hop device of the second network device is a third network device, and the available time slot information synchronized by the third network device to the second network device includes the end-to-end delay corresponding to the third time slot in the available time slots of the third network device. The third time slot is an available time slot in the third gating list of the third network device, for example, the earliest available time slot in the third gating list. The third gating list is a gating list of ports in the third network device used to forward the first service. The second network device determines the end-to-end delay corresponding to the second time slot based on the length of the second time slot and the end-to-end delay corresponding to the third time slot. For example, the second network device determines the end-to-end delay corresponding to the second time slot as the sum of the length of the second time slot and the end-to-end delay corresponding to the third time slot. The third time slot is the third time slot in the available time slots of the third network device. The process for the second network device to determine the end-to-end delay corresponding to each available time slot in the second gating list can refer to the process for the second network device to determine the end-to-end delay corresponding to the second time slot, and will not be further described in this embodiment of the present application.
[0141] The embodiments of the present application illustrate the example of a second network device synchronizing its available time slot information to a first network device. In other embodiments, the second network device synchronizes its gating list to the first network device, and the first network device generates a time slot forwarding entry for the first network device based on the first network device's available time slots and the second network device's gating list. Compared to synchronizing a gating list, available time slot information has a smaller data size. Therefore, synchronizing available time slot information has a lower overhead, which helps reduce synchronization overhead.
[0142] Please refer to Figure 7, which shows a flowchart of another resource reservation method provided by an embodiment of the present application. The resource reservation method is applied to a resource reservation system including a first network device, a second network device, and a third network device. The first network device, the second network device, and the third network device are three network devices on the forwarding path of the first service. The second network device is the next hop device of the first network device, and the third network device is the next hop device of the second network device. The following is an example in which the first network device is the ingress device on the forwarding path of the first service, the second network device is the intermediate device on the forwarding path, and the third network device is the egress device on the forwarding path. For example, as shown in Figure 1 or Figure 2, the forwarding path W1 is the forwarding path of the first service, the first network device is network device 101, the second network device is network device 102, and the third network device is network device 103. Referring to Figure 7, the resource reservation method includes the following steps S701 to S712.
[0143] S701. A first network device obtains a resource reservation message B1, where the resource reservation message B1 includes a first accumulated delay and a maximum tolerable delay of a first service. The first accumulated delay is an initial accumulated delay.
[0144] Optionally, the resource reservation message B1 further includes first expected time slot information, where the first expected time slot information is initial expected time slot information and is used to indicate a time slot that the first network device is expected to reserve for the first service.
[0145] In one embodiment, a first network device receives a resource reservation message B1 from a sender of a first service. In another embodiment, the first network device obtains a first cumulative delay, first desired time slot information, and a maximum tolerable delay of the first service configured by a user, and generates the resource reservation message B1 based on the first cumulative delay, the first desired time slot information, and the maximum tolerable delay.
[0146] S702. The first network device reserves a first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, and the time slot forwarding entry of the first network device. The first time slot is an available time slot that meets the maximum tolerable delay.
[0147] Optionally, the first network device obtains a time slot forwarding table entry of the first network device, and the first network device reserves a first time slot for the first service in a gating list of a port in the first network device for forwarding the first service based on the first cumulative delay and the maximum tolerated delay of the first service included in the resource reservation message B1, and the time slot forwarding table entry of the first network device obtained by the first network device.
[0148] Optionally, the resource reservation message B1 also includes first expected time slot information. The first network device reserves the first time slot for the first service in the gating list of the port used to forward the first service in the first network device based on the first cumulative delay, the first expected time slot information, the maximum tolerable delay of the first service included in the resource reservation message B1, and the time slot forwarding entry of the first network device.
[0149] After the first network device reserves the first time slot for the first service, the first network device updates the state of the first time slot to a reserved state.
[0150] The process of the first network device obtaining the time slot forwarding entry of the first network device can refer to the relevant description in S302. The process of the first network device reserving the first time slot for the first service can refer to the relevant description in S303.
[0151] S703. The first network device obtains a resource reservation message B2 based on the resource reservation message B1. The resource reservation message B2 includes a second accumulated delay and a maximum tolerable delay of the first service. The second accumulated delay is the accumulated delay from the sender of the first service to the first network device.
[0152] Optionally, the first network device determines the sum of the first cumulative delay and the length of the first time slot reserved by the first network device for the first service as the second cumulative delay, and the first network device uses the second cumulative delay to update the first cumulative delay carried in the resource reservation message B1 to obtain the resource reservation message B2. In one embodiment, the resource reservation message B1 also includes first expected time slot information, the first network device determines the second expected time slot information based on the first time slot, and the first network device also uses the second expected time slot information to update the first expected time slot information carried in the resource reservation message B1. The resource reservation message B2 includes the second cumulative delay, the second expected time slot information, and the maximum tolerable delay of the first service, and the second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service.
[0153] S704. The first network device sends a resource reservation message B2 to the second network device.
[0154] S705. The second network device reserves a second time slot for the first service according to the maximum tolerable delay of the first service, the second accumulated delay, and the time slot forwarding entry of the second network device. The second time slot is an available time slot that meets the maximum tolerable delay.
[0155] Optionally, the second network device obtains a time slot forwarding table entry of the second network device, and the second network device reserves a second time slot for the first service in a gating list of a port in the second network device for forwarding the first service based on the second accumulated delay and the maximum tolerated delay of the first service included in the resource reservation message B2, and the time slot forwarding table entry of the second network device obtained by the second network device.
[0156] Optionally, the resource reservation message B2 also includes second expected time slot information. The second network device reserves a second time slot for the first service in the gating list of the port used to forward the first service in the second network device based on the second cumulative delay, the second expected time slot information, the maximum tolerable delay of the first service, and the time slot forwarding entry of the second network device included in the resource reservation message B2.
[0157] After the second network device reserves the second time slot for the first service, the second network device updates the state of the second time slot to a reserved state.
[0158] The second network device may obtain the time slot forwarding entry of the second network device by referring to the description in S302. The second network device may reserve the second time slot for the first service by referring to the description in S303.
[0159] S706. The second network device obtains a resource reservation message B3 based on the resource reservation message B2. The resource reservation message B3 includes a third accumulated delay and a maximum tolerable delay of the first service. The third accumulated delay is the accumulated delay from the sender of the first service to the second network device.
[0160] Optionally, the second network device determines the sum of the second accumulated delay and the length of the second time slot reserved by the second network device for the first service as a third accumulated delay, and the second network device uses the third accumulated delay to update the second accumulated delay carried in the resource reservation message B2 to obtain the resource reservation message B3. In one embodiment, the resource reservation message B2 also includes second expected time slot information, and the second network device determines the third expected time slot information based on the second time slot. The second network device also uses the third expected time slot information to update the second expected time slot information carried in the resource reservation message B2. The resource reservation message B3 includes the third accumulated delay, the third expected time slot information, and the maximum tolerable delay of the first service. The third expected time slot information is used to indicate the time slot that the second network device expects the third network device to reserve for the first service.
[0161] S707. The second network device sends a resource reservation message B3 to the third network device.
[0162] S708. The third network device reserves a third time slot for the first service according to the maximum tolerable delay of the first service, the third accumulated delay, and the time slot forwarding entry of the third network device. The third time slot is an available time slot that meets the maximum tolerable delay.
[0163] Optionally, the third network device obtains a time slot forwarding table entry of the third network device, and the third network device reserves a third time slot for the first service in a gating list of a port in the third network device for forwarding the first service based on the third cumulative delay included in the resource reservation message B3 and the maximum tolerated delay of the first service, and the time slot forwarding table entry of the third network device obtained by the third network device.
[0164] Optionally, the resource reservation message B3 also includes third expected time slot information. The third network device reserves a third time slot for the first service in the gating list of the port used to forward the first service in the third network device based on the third cumulative delay, the third expected time slot information, the maximum tolerable delay of the first service, and the time slot forwarding entry of the third network device included in the resource reservation message B3.
[0165] The process of the third network device obtaining the time slot forwarding entry of the third network device can refer to the relevant description in S302 above. The process of the third network device reserving the third time slot for the first service can refer to the relevant description in S303 above, which will not be repeated here.
[0166] S709. The third network device updates the status of the third time slot reserved for the first service to a busy status.
[0167] S710. The third network device sends a confirmation message to the first network device through the second network device.
[0168] In one embodiment, the confirmation message includes an identifier of the first service to indicate confirmation of the time slot reserved for the first service.
[0169] In another embodiment, the confirmation message includes relevant information of resource reservation messages B1-B3 used to reserve time slots for the first service, indicating the time slots confirmed to be reserved for the first service. For example, if the sequence numbers of resource reservation messages B1-B3 are the same, the confirmation message includes the sequence numbers.
[0170] S711. The second network device updates the status of the second time slot reserved for the first service to a busy status according to the confirmation message.
[0171] S712. The first network device updates the state of the first time slot reserved for the first service to a busy state according to the confirmation message.
[0172] In an embodiment of the present application, an egress device of a forwarding path generates a timestamp forwarding entry for the egress device based on its available timestamps. Each network device in the ingress device and intermediate devices of the forwarding path generates a timestamp forwarding entry for the network device based on its available timestamps and available timestamp information synchronized to it by its next-hop device. The following describes the process of a first network device acquiring a timestamp forwarding entry for the first network device, using the example of the first network device being an ingress device or an intermediate device.
[0173] Please refer to Figure 8, which shows a flow chart of a method for obtaining a time slot forwarding table entry provided by an embodiment of the present application. The acquisition method is applied to a system including a first network device and a second network device. The first network device and the second network device are two network devices on a forwarding path of a first service, and the second network device is a next-hop device of the first network device. For example, as shown in Figure 1 or Figure 2, the forwarding path W1 is the forwarding path of the first service, the first network device is network device 101, and the second network device is network device 102, or the first network device is network device 102, and the second network device is network device 103. As shown in Figure 8, the acquisition method includes the following steps S801 to S804.
[0174] S801. The second network device obtains message X, where message X is used to indicate an available time slot of the second network device.
[0175] Optionally, the second network device generates a message X, where the message X includes available time slot information of the second network device. The available time slot information is used to indicate the available time slot of the second network device. Therefore, the message X is used to indicate the available time slot of the second network device.
[0176] In one embodiment, the available time slot information is used to indicate that the available time slots of the second network device include the second time slot, and the available time slot information includes the end-to-end delay corresponding to the second time slot. Therefore, message X is used to indicate that the available time slots of the second network device include the second time slot, and message X includes the end-to-end delay corresponding to the second time slot. In another embodiment, the available time slot information includes a time slot bitmap, and the time slot bitmap includes a plurality of bits corresponding one-to-one to multiple time slots in the gating list of the second network device. For example, the time slot bitmap includes a plurality of bits corresponding one-to-one to multiple time slots in the second gating list of the second network device. Each bit of the plurality of bits is used to indicate the status of the corresponding time slot, and the status of any time slot includes an available state or an unavailable state, and the unavailable state includes a reserved state and a busy state. Since message X includes the available time slot information, and the available time slot information includes the time slot bitmap, message X includes the time slot bitmap.
[0177] In an optional embodiment, message X is the second message described in the above embodiment. The implementation process of the second network device obtaining message X can refer to the implementation process of the second network device obtaining the second message in the above embodiment, and the embodiment of this application will not be repeated here.
[0178] S802. The second network device sends message X to the first network device.
[0179] S803. The first network device receives message X.
[0180] S804. The first network device generates a time slot forwarding entry of the first network device according to the message X and the available time slots of the first network device.
[0181] In an optional embodiment, the first network device generates a time slot forwarding entry for the first network device based on the available time slot information of the second network device and the available time slot of the first network device included in the message X. The implementation process of the first network device generating a time slot forwarding entry for the first network device based on the available time slot information of the second network device and the available time slot of the first network device can refer to the above S302 and will not be repeated here.
[0182] The above is an introduction to the method embodiments of the present application. The following describes the device embodiments of the present application. The device of the present application can be used to perform the method of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments.
[0183] Please refer to Figure 9, which shows a schematic diagram of a resource reservation device 900 provided in an embodiment of the present application. The resource reservation device 900 is applied to the first network device in the above-mentioned embodiment. For example, the resource reservation device 900 is the first network device or a functional component in the first network device. The resource reservation device 900 can implement the resource reservation method provided in the embodiment shown in Figure 3 or Figure 4, or implement the relevant steps performed by the first network device in the embodiment shown in Figure 7. As shown in Figure 9, the resource reservation device 900 includes: an acquisition module 910 and a reservation module 920.
[0184] Acquisition module 910 is configured to acquire a first cumulative delay and a maximum tolerable delay for a first service, where the first cumulative delay is the initial cumulative delay or the cumulative delay from the sender of the first service to the previous hop of the first network device; and to acquire a timeslot forwarding entry for the first network device. For the functional implementation of acquisition module 910, please refer to the description of S301 and S302 above.
[0185] Reservation module 920 is configured to reserve a first time slot for the first service based on the maximum tolerable delay, the first accumulated delay, and the time slot forwarding entry of the first network device, where the first time slot is an available time slot that meets the maximum tolerable delay. For the implementation of the function of reservation module 920, please refer to the relevant descriptions in S303 and S302 above.
[0186] Optionally, the time slot forwarding table entry of the first network device includes the end-to-end delay corresponding to the first time slot, and the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end of the first service; the reservation module 920 is used to reserve the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay and the end-to-end delay corresponding to the first time slot.
[0187] Optionally, the time slot forwarding table entry of the first network device also includes next hop time slot information, which is used to indicate the second time slot in the available time slots of the next hop device of the first network device; the reservation module 920 is used to reserve the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, the end-to-end delay corresponding to the first time slot and the next hop time slot information.
[0188] Optionally, the acquisition module 910 is also used to obtain first expected time slot information, and the first expected time slot information is used to indicate the time slot expected to be reserved by the first network device for the first service; correspondingly, the reservation module 920 is used to reserve the first time slot for the first service based on the maximum tolerable delay of the first service, the first accumulated delay, the first expected time slot information and the time slot forwarding table item of the first network device.
[0189] Optionally, please continue to refer to Figure 9. The resource reservation device 900 also includes: a sending module 930, used to send a first message to the second network device, the first message including the maximum tolerable delay and the second cumulative delay of the first service, the second cumulative delay is the cumulative delay from the sending end of the first service to the first network device, the second network device is the next hop device of the first network device, and the first message is used for the second network device to reserve a time slot for the first service according to the maximum tolerable delay, the second cumulative delay and the time slot forwarding entry of the second network device.
[0190] Optionally, the first message also includes second expected time slot information, and the second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service. The first message is used for the second network device to reserve a time slot for the first service based on the maximum tolerable delay of the first service, the second accumulated delay, the second expected time slot information and the time slot forwarding entry of the second network device.
[0191] Optionally, the acquisition module 910 is used to: receive a second message sent by a second network device, the second message is used to indicate the available time slot of the second network device, and the second network device is the next hop device of the first network device; generate a time slot forwarding table entry of the first network device according to the second message and the first time slot.
[0192] Optionally, the second message is used to indicate that the available time slots of the second network device include the second time slot, and the second message includes the end-to-end delay corresponding to the second time slot. The end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service. The acquisition module 910 is used to: determine the end-to-end delay corresponding to the first time slot based on the end-to-end delay corresponding to the second time slot; and generate a time slot forwarding table entry for the first network device based on the end-to-end delay corresponding to the first time slot.
[0193] Optionally, please continue to refer to Figure 9. The resource reservation device 900 also includes: a determination module 940, used to determine the next hop time slot information based on the second time slot, and the next hop time slot information is used to indicate the second time slot; correspondingly, an acquisition module 910, used to generate a time slot forwarding table entry of the first network device based on the end-to-end delay corresponding to the first time slot and the next hop time slot information.
[0194] Optionally, the second message includes a time slot bit map, which includes multiple bits corresponding to multiple time slots in the gating list used to forward the first service in the second network device, and each bit is used to indicate the status of the corresponding time slot, which includes an available state or an unavailable state.
[0195] Optionally, the first message is a RAP message, and the second message is an ISIS message or an LRP message.
[0196] Optionally, the time slot forwarding table entry is a route forwarding table entry or a flow forwarding table entry.
[0197] In summary, the technical solution provided by the embodiment of the present application is that the network device on the forwarding path of the first service reserves time slots for the first service based on the accumulated delay, the maximum tolerable delay of the first service and the time slot forwarding table entry of the network device. In this way, after the first service goes online, the network device on the forwarding path of the first service forwards the first service through the time slot reserved for the first service, thereby ensuring the transmission quality of the first service, especially when the first service is a deterministic service, ensuring the deterministic transmission quality of the first service, such as ensuring the deterministic delay of the first service. The resource reservation scheme provided by the embodiment of the present application is a distributed resource reservation scheme. Time slots can be reserved for services without the need for a controller to schedule time slots for network devices. It has high flexibility and is suitable for network scenarios without a controller.
[0198] Please refer to Figure 10, which shows a schematic diagram of a time slot forwarding table entry acquisition device 1000 provided in an embodiment of the present application. The time slot forwarding table entry acquisition device 1000 is applied to a first network device. For example, the time slot forwarding table entry acquisition device 1000 is the first network device or a functional component in the first network device. The time slot forwarding table entry acquisition device 1000 can implement the time slot forwarding table entry acquisition method provided in the embodiment shown in Figure 8. As shown in Figure 10, the time slot forwarding table entry acquisition device 1000 includes: a receiving module 1010 and a processing module 1020.
[0199] The receiving module 1010 is configured to receive a message sent by the second network device, where the message is used to indicate an available time slot of the second network device;
[0200] The processing module 1020 is configured to generate a time slot forwarding entry according to the message and the available time slots of the first network device.
[0201] Optionally, the message is used to indicate that the available time slots of the second network device include the second time slot, the message includes the end-to-end delay corresponding to the second time slot, the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end, and the available time slots of the first network device include the first time slot; the processing module 1020 is used to: determine the end-to-end delay corresponding to the first time slot based on the end-to-end delay corresponding to the second time slot, the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end; generate a time slot forwarding table entry based on the end-to-end delay corresponding to the first time slot.
[0202] Optionally, the processing module 1020 is used to: determine next hop time slot information based on the second time slot, where the next hop time slot information is used to indicate the second time slot; and generate a time slot forwarding item based on the end-to-end delay corresponding to the first time slot and the next hop time slot information.
[0203] Optionally, the message includes a time slot bit map, which includes multiple bits corresponding to multiple time slots in the gating list of the second network device, and each bit is used to indicate the status of the corresponding time slot, which includes an available state or an unavailable state.
[0204] Optionally, the message is an ISIS message or an LRP message.
[0205] Optionally, the time slot forwarding entry is a routing forwarding entry or a flow forwarding entry.
[0206] To sum up, the technical solution provided by the embodiment of the present application is that the first network device generates a time slot forwarding table entry based on the message sent by the second network device to indicate the available time slot of the second network device and the available time slot of the first network device, so that the first network device reserves time slots for the service according to the time slot forwarding table entry, thereby forwarding the service through the time slot reserved for the service, thereby ensuring the transmission quality of the service.
[0207] It should be understood that the resource reservation device that the embodiment of the present application provides can also be realized by application-specific integrated circuit (ASIC) or programmable logic device (PLD), and the acquisition device of the time slot forwarding table item that the embodiment of the present application provides can also be realized by ASIC or PLD, and above-mentioned PLD can be complex programmable logical device (CPLD), field programmable gate array (FPGA), generic array logic (GAL) or its arbitrary combination. The resource reservation method that can also be provided by software realization said method embodiment, when the resource reservation method that can be provided by software realization said method embodiment, each module in this resource reservation device can also be software module. And, the acquisition method of the time slot forwarding table item that can also be provided by software realization said method embodiment, when the acquisition method of the time slot forwarding table item that can be provided by software realization said method embodiment, each module in the acquisition device of this time slot forwarding table item can also be software module.
[0208] An embodiment of the present application provides a resource reservation device, comprising a memory and a processor; the memory is configured to store a computer program; the processor is configured to execute the computer program stored in the memory so that the resource reservation device performs the resource reservation method provided in the embodiment shown in FIG3 , FIG4 , or FIG7 . Furthermore, an embodiment of the present application provides a time slot forwarding table entry acquisition device, comprising a memory and a processor; the memory is configured to store a computer program; the processor is configured to execute the computer program stored in the memory so that the resource reservation device performs the time slot forwarding table entry acquisition method provided in the embodiment shown in FIG8 .
[0209] For the convenience of description, the resource reservation device and the time slot forwarding table entry acquisition device are collectively referred to as a processing device hereinafter.
[0210] As an example, please refer to Figure 11, which shows a schematic diagram of a processing device 1100 provided in an embodiment of the present application. The processing device 1100 is a resource reservation device or a time slot forwarding table entry acquisition device. The processing device 1100 is applied to a first network device. For example, the processing device 1100 is a first network device or a partial component in the first network device. The processing device 1100 is used to execute the above-mentioned resource reservation method embodiment or the above-mentioned time slot forwarding table entry acquisition method embodiment. As shown in Figure 11, the processing device 1100 includes: a main control board 1110, an interface board 1130 and an interface board 1140. In the case of multiple interface boards, a switching network board (not shown in Figure 11) may be included, and the switching network board is used to complete data exchange between each interface board (the interface board is also called a line card or service board).
[0211] The main control board 1110 is used to perform functions such as system management, device maintenance, and protocol processing. The interface boards 1130 and 1140 provide various service interfaces (e.g., POS, GE, and ATM interfaces) and implement message forwarding. The main control board 1110 primarily includes three functional units: a system management and control unit, a system clock unit, and a system maintenance unit. The main control board 1110, interface boards 1130, and interface boards 1140 are interconnected via a system bus and the system backplane. The interface board 1130 includes one or more processors 1131. Processors 1131 control and manage the interface boards 1130 and communicate with the central processing unit 1112 on the main control board 1110. The memory 1132 on the interface board 1130 is used to store time slot forwarding entries, gating lists, and other information described in the above-described embodiments. The main control board 1110 may also include a memory 1114, which can also be used to store time slot forwarding entries, gating lists, and other information.
[0212] The interface board 1130 includes one or more network interfaces 1133 for receiving and sending messages, and the processor 1131 processes the messages received by the network interface 1133. The specific implementation process is not repeated here. The specific functions of the processor 1131 are not repeated here.
[0213] It will be appreciated that, as shown in FIG11 , this embodiment includes multiple interface boards and employs a distributed forwarding mechanism. Under this mechanism, the operations on interface board 1140 are substantially similar to those on interface board 1130 (the function of memory 1142 is similar to that of memory 1132, and the function of network interface 1143 is similar to that of network interface 1133). For the sake of brevity, these details will not be described in detail. Furthermore, the processor 1131 in interface board 1130 and / or the processor 1141 in interface board 1140 in FIG11 may be dedicated hardware or chips, such as network processors or application-specific integrated circuits, to implement the aforementioned functions. This implementation is commonly referred to as employing dedicated hardware or chips for processing on the forwarding plane. In other embodiments, the processor 1131 in interface board 1130 and / or the processor 941 in interface board 1140 may also be a general-purpose processor, such as a general-purpose central processing unit (CPU), to implement the aforementioned functions.
[0214] It should be noted that there may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capabilities of the processing device, the more interface boards are provided. In the case of multiple interface boards, these multiple interface boards can communicate with each other through one or more switching network boards. When there are multiple boards, they can jointly achieve load sharing and redundant backup. In a centralized forwarding architecture, the processing device may not require a switching network board, and the interface board is responsible for processing the service data of the entire system. In a distributed forwarding architecture, the processing device includes multiple interface boards, and data exchange between the multiple interface boards can be achieved through the switching network board, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the processing device with a distributed architecture are greater than those of the device with a centralized architecture. The specific architecture to be adopted depends on the specific network deployment scenario and is not limited here.
[0215] In an optional embodiment, the memory 1132 is a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory 1132 can exist independently and be connected to the processor 1131 via a communication bus. The memory 1132 can also be integrated with the processor 1131.
[0216] The memory 1132 is used to store program code and is controlled by the processor 1131 to execute part or all of the steps of the resource reservation method provided in the above embodiment, or part or all of the steps of the method for obtaining the time slot forwarding table entries provided in the above embodiment. The processor 1131 is used to execute the program code stored in the memory 1132. The program code may include one or more software modules. These one or more software modules may be the functional modules provided in the embodiments shown in Figures 9 or 10 above. The memory 1114 may also be used to store program code and is controlled by the central processing unit 1112 to execute part or all of the steps of the resource reservation method provided in the above embodiment, or part or all of the steps of the method for obtaining the time slot forwarding table entries provided in the above embodiment.
[0217] In some embodiments, the network interface 1133 is a device such as any transceiver for communicating with other devices or communication networks, such as Ethernet, radio access networks (RAN), wireless local area networks (WLAN), etc.
[0218] As another example, please refer to Figure 12, which shows a schematic diagram of a processing device 1200 provided in an embodiment of the present application. The processing device 1200 is a resource reservation device or a time slot forwarding table entry acquisition device. The processing device 1200 is applied to a first network device, for example, the processing device 1200 is a first network device or a partial component in the first network device. The processing device 1200 is used to execute the above-mentioned resource reservation method embodiment or the above-mentioned time slot forwarding table entry acquisition method embodiment. As shown in Figure 12, the processing device 1200 includes a processor 1202, a memory 1204, a communication interface 1206 and a bus 1208. The processor 1202, the memory 1204 and the communication interface 1206 are communicatively connected to each other via the bus 1208. The connection method between the processor 1202, the memory 1204 and the communication interface 1206 shown in Figure 12 is merely exemplary. The processor 1202, the memory 1204 and the communication interface 1206 can also be communicatively connected to each other using other connection methods other than the bus 1208.
[0219] Memory 1204 is used to store computer program 12042, which may include instructions and data. Memory 1204 may be various types of storage media, such as RAM, ROM, non-volatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, optical storage, and registers.
[0220] Processor 1202 may be a general-purpose processor. A general-purpose processor is a processor that performs specific steps and / or operations by reading and executing a computer program (e.g., computer program 12042) stored in a memory (e.g., memory 1204). The general-purpose processor may use data stored in the memory (e.g., memory 1204) during the execution of the aforementioned steps and / or operations. The stored computer program can be executed to implement the related functions of the aforementioned acquisition module 910, reservation module 920, determination module 940, processing module 1020, etc. A general-purpose processor is, for example, but not limited to, a CPU. Processor 1202 may also be a dedicated processor. A dedicated processor is a processor specially designed to perform specific steps and / or operations. Dedicated processors include, but are not limited to, digital signal processors (DSPs), ASICs, and FPGAs. In addition, processor 1202 may also be a combination of multiple processors, such as a multi-core processor. Processor 1202 may include at least one circuit to execute all or part of the steps of the resource reservation method provided in the above-mentioned embodiment, or to implement all or part of the steps of the method for obtaining time slot forwarding table entries provided in the above-mentioned embodiment.
[0221] The communication interface 1206 includes input / output (I / O) interfaces, physical interfaces, and logical interfaces, which are used to interconnect components within the processing device 1200, as well as interfaces for interconnecting the processing device 1200 with other devices (e.g., network devices). The physical interface can be a Gigabit Ethernet (GE) interface, which is used to interconnect the processing device 1200 with other devices. The logical interface is an interface within the processing device 1200, which is used to interconnect components within the processing device 1200. It will be readily understood that the communication interface 1206 is used for communication between the processing device 1200 and other devices. For example, the communication interface 1206 is used to send and receive messages between the processing device 1200 and other devices. The communication interface 1206 can implement the related functions of the aforementioned sending module 930, receiving module 1110, etc. Furthermore, the communication interface 1206 can also include a transceiver for sending and receiving messages. The transceiver can also implement the related functions of the aforementioned sending module 930, receiving module 1110, etc.
[0222] The bus 1208 may be any type of communication bus for interconnecting the processor 1202 , the memory 1204 , and the communication interface 1206 , such as a system bus.
[0223] The above-mentioned devices can be provided on separate chips, or at least partially or entirely on the same chip. Whether to provide each device independently on different chips or to integrate them on one or more chips often depends on the product design requirements. The embodiments of this application do not limit the specific implementation of the above-mentioned devices.
[0224] The processing device 1200 shown in FIG12 is merely exemplary. The processing device 1200 may also include other components, which are not listed here. The processing device 1200 reserves a time slot for a service by executing all or part of the steps of the resource reservation method provided in the above embodiment, or obtains a time slot forwarding table entry by executing all or part of the steps of the time slot forwarding table entry acquisition method provided in the above embodiment.
[0225] An embodiment of the present application provides a resource reservation system, comprising a first network device and a second network device, wherein the second network device is a next-hop device of the first network device, and the first network device comprises a resource reservation apparatus 900 as shown in FIG. 9 , or the first network device comprises a processing apparatus as shown in FIG. 11 or FIG. 12 . For example, the resource reservation system is the communication system as shown in FIG. 1 or FIG. 2 , wherein the first network device is network device 101 and the second network device is network device 102; alternatively, the first network device is network device 102 and the second network device is network device 103.
[0226] An embodiment of the present application provides a system for acquiring time slot forwarding table entries, including a first network device and a second network device, wherein the second network device is a next-hop device of the first network device, and the first network device includes an acquisition device 1000 as shown in FIG10 or includes a processing device as shown in FIG11 or FIG12. For example, the acquisition system is a communication system as shown in FIG1 or FIG2, wherein the first network device is network device 101 and the second network device is network device 102; alternatively, the first network device is network device 102 and the second network device is network device 103.
[0227] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed (for example, by a network device, a processor, etc.), it implements all or part of the steps of the resource reservation method provided in the above method embodiment, or implements all or part of the steps of the method for obtaining time slot forwarding table entries provided in the above method embodiment.
[0228] An embodiment of the present application provides a computer program product, which includes a program or code. When the program or code is executed (for example, by a network device, a processor, etc.), it implements all or part of the steps of the resource reservation method provided in the above method embodiment, or implements all or part of the steps of the method for obtaining time slot forwarding table entries provided in the above method embodiment.
[0229] An embodiment of the present application provides a chip, which includes a programmable logic circuit and / or program instructions. When the chip is running, it is used to implement all or part of the steps of the resource reservation method provided in the above method embodiment, or implement all or part of the steps of the method for obtaining time slot forwarding table entries provided in the above method embodiment.
[0230] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium, or a semiconductor medium (e.g., a solid-state hard disk).
[0231] In the embodiments of the present application, the term "at least one" refers to one or more, and "a plurality of" refers to two or more. In the embodiments of the present application, unless otherwise specified, the symbol " / " generally means or, for example, A / B means A or B. The term "and / or" in the present application is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, for the sake of clarity of description, in the present application, words such as "first", "second", and "third" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first", "second", and "third" do not limit the quantity and order of execution.
[0232] The different types of embodiments, such as the method embodiments and device embodiments provided in the embodiments of this application, can refer to each other, and the embodiments of this application are not limited thereto. The order of the operations of the method embodiments provided in the embodiments of this application can be appropriately adjusted, and the operations can be increased or decreased in response to the circumstances. Any person skilled in the art who can easily think of a method of variation within the technical scope disclosed in this application should be included in the scope of protection of this application, and therefore will not be described in detail.
[0233] In the corresponding embodiments provided in this application, it should be understood that the disclosed devices, etc. can be implemented through other structural methods. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.
[0234] The units described as separate components may or may not be physically separate, and the components described as units may or may not be physical units, and may be located in one place or distributed across multiple network nodes. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0235] The above description is merely an exemplary embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included within the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A resource reservation method, characterized in that: The method comprises: The first network device acquires a first accumulated delay and a maximum tolerable delay of a first service, where the first accumulated delay is an initial accumulated delay or the first accumulated delay is an accumulated delay from a sender of the first service to a previous hop device of the first network device; The first network device obtains a time slot forwarding table entry of the first network device; The first network device reserves a first time slot for the first service according to the maximum tolerable delay, the first accumulated delay, and the time slot forwarding entry of the first network device, where the first time slot is an available time slot that meets the maximum tolerable delay.
2. The method according to claim 1, characterized in that The time slot forwarding entry of the first network device includes an end-to-end delay corresponding to the first time slot, where the end-to-end delay is a delay from the first network device to a receiving end of the first service; The first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the time slot forwarding entry of the first network device, including: the first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the end-to-end delay corresponding to the first time slot.
3. The method according to claim 2, characterized in that The time slot forwarding entry of the first network device further includes next hop time slot information, where the next hop time slot information is used to indicate a second time slot in the available time slots of the next hop device of the first network device; The first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the end-to-end delay corresponding to the first time slot, including: the first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay, the end-to-end delay corresponding to the first time slot and the next hop time slot information.
4. The method according to any one of claims 1 to 3, characterized in that: The method further includes: the first network device acquiring first expected time slot information, where the first expected time slot information is used to indicate a time slot that the first network device is expected to reserve for the first service; The first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the time slot forwarding entry of the first network device, including: the first network device reserves the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay, the first expected time slot information and the time slot forwarding entry of the first network device.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: The first network device sends a first message to the second network device, the first message including the maximum tolerable delay and the second cumulative delay of the first service, the second cumulative delay is the cumulative delay from the sender to the first network device, the second network device is the next hop device of the first network device, and the first message is used by the second network device to reserve a time slot for the first service according to the maximum tolerable delay, the second cumulative delay and the time slot forwarding table entry of the second network device.
6. The method according to claim 5, characterized in that The first message also includes second expected time slot information, and the second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service. The first message is used for the second network device to reserve a time slot for the first service based on the maximum tolerable delay, the second accumulated delay, the second expected time slot information and the time slot forwarding table entry of the second network device.
7. The method according to any one of claims 1 to 6, characterized in that: The first network device obtains a time slot forwarding entry of the first network device, including: The first network device receives a second message sent by a second network device, where the second message is used to indicate an available time slot of the second network device, and the second network device is a next-hop device of the first network device; The first network device generates the time slot forwarding entry of the first network device according to the second message and the first time slot.
8. The method according to claim 7, characterized in that The second message is used to indicate that the available time slots of the second network device include the second time slot, the second message includes the end-to-end delay corresponding to the second time slot, the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service, and the first network device generates the time slot forwarding entry of the first network device according to the second message and the first time slot, including: The first network device determines the end-to-end delay corresponding to the first time slot according to the end-to-end delay corresponding to the second time slot; The first network device generates the time slot forwarding table entry of the first network device according to the end-to-end delay corresponding to the first time slot.
9. The method according to claim 8, characterized in that The method further includes: the first network device determines next hop time slot information according to the second time slot, the next hop time slot information is used to indicate the second time slot; The first network device generates the time slot forwarding entry of the first network device according to the end-to-end delay corresponding to the first time slot, including: the first network device generates the time slot forwarding entry of the first network device according to the end-to-end delay corresponding to the first time slot and the next hop time slot information.
10. The method according to any one of claims 7 to 9, characterized in that: The second message includes a time slot bit map, which includes multiple bits corresponding to multiple time slots in a gating list used to forward the first service in the second network device, each of which is used to indicate the status of the corresponding time slot, and the status includes an available status or an unavailable status.
11. A method for obtaining a time slot forwarding table entry, characterized in that: The method comprises: The first network device receives a message sent by the second network device, where the message is used to indicate an available time slot of the second network device; The first network device generates a time slot forwarding table entry according to the message and the available time slots of the first network device.
12. The method according to claim 11, characterized in that The available time slots of the first network device include the first time slot, the message is used to indicate that the available time slots of the second network device include the second time slot, the message includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end; The first network device generates a time slot forwarding entry according to the message and the available time slot of the first network device, including: The first network device determines the end-to-end delay corresponding to the first time slot according to the end-to-end delay corresponding to the second time slot, where the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end; The first network device generates a time slot forwarding table entry according to the end-to-end delay corresponding to the first time slot.
13. The method according to claim 12, characterized in that The method further includes: the first network device determines next hop time slot information according to the second time slot, the next hop time slot information is used to indicate the second time slot; The first network device generates a time slot forwarding entry according to the end-to-end delay corresponding to the first time slot, including: the first network device generates a time slot forwarding entry according to the end-to-end delay corresponding to the first time slot and the next hop time slot information.
14. The method according to any one of claims 11 to 13, characterized in that: The message includes a time slot bit map, which includes a plurality of bits corresponding to a plurality of time slots in a gating list of the second network device, each of which is used to indicate a state of the corresponding time slot, and the state includes an available state or an unavailable state.
15. A resource reservation device, characterized in that: Applied to a first network device, the apparatus comprises: an acquisition module, configured to acquire a first accumulated delay and a maximum tolerable delay of a first service, wherein the first accumulated delay is an initial accumulated delay or the first accumulated delay is an accumulated delay from a sender of the first service to a previous hop device of the first network device; and to acquire a time slot forwarding entry of the first network device; A reservation module is used to reserve a first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the time slot forwarding entry of the first network device, wherein the first time slot is an available time slot that meets the maximum tolerable delay.
16. The device according to claim 15, characterized in that The time slot forwarding entry of the first network device includes an end-to-end delay corresponding to the first time slot, where the end-to-end delay is a delay from the first network device to a receiving end of the first service; The reservation module is used to reserve the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay and the end-to-end delay corresponding to the first time slot.
17. The device according to claim 16, characterized in that The time slot forwarding entry of the first network device further includes next hop time slot information, where the next hop time slot information is used to indicate a second time slot in the available time slots of the next hop device of the first network device; The reservation module is used to reserve the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay, the end-to-end delay corresponding to the first time slot and the next hop time slot information.
18. The device according to any one of claims 15 to 17, characterized in that The acquisition module is further used to acquire first expected time slot information, where the first expected time slot information is used to indicate a time slot that the first network device is expected to reserve for the first service; The reservation module is used to reserve the first time slot for the first service according to the maximum tolerable delay, the first accumulated delay, the first expected time slot information and the time slot forwarding entry of the first network device.
19. The device according to any one of claims 15 to 18, characterized in that The device also includes: A sending module is used to send a first message to a second network device, wherein the first message includes the maximum tolerable delay and the second cumulative delay of the first service, the second cumulative delay is the cumulative delay from the sending end to the first network device, the second network device is the next hop device of the first network device, and the first message is used by the second network device to reserve a time slot for the first service according to the maximum tolerable delay, the second cumulative delay and the time slot forwarding table entry of the second network device.
20. The device according to claim 19, characterized in that The first message also includes second expected time slot information, and the second expected time slot information is used to indicate the time slot that the first network device expects the second network device to reserve for the first service. The first message is used for the second network device to reserve a time slot for the first service based on the maximum tolerable delay, the second accumulated delay, the second expected time slot information and the time slot forwarding table entry of the second network device.
21. The device according to any one of claims 15 to 20, characterized in that The acquisition module is used to: receiving a second message sent by a second network device, where the second message is used to indicate an available time slot of the second network device, and the second network device is a next-hop device of the first network device; The time slot forwarding entry of the first network device is generated according to the second message and the first time slot.
22. The device according to claim 21, characterized in that The second message is used to indicate that the available time slots of the second network device include the second time slot, the second message includes the end-to-end delay corresponding to the second time slot, the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end of the first service, and the acquisition module is used to: Determine the end-to-end delay corresponding to the first time slot according to the end-to-end delay corresponding to the second time slot; The time slot forwarding entry of the first network device is generated according to the end-to-end delay corresponding to the first time slot.
23. The device according to claim 22, characterized in that The device further includes: a determination module, configured to determine next hop time slot information according to the second time slot, wherein the next hop time slot information is used to indicate the second time slot; The acquisition module is used to generate the time slot forwarding entry of the first network device according to the end-to-end delay corresponding to the first time slot and the next hop time slot information.
24. The device according to any one of claims 21 to 23, characterized in that The second message includes a time slot bit map, which includes multiple bits corresponding to multiple time slots in a gating list used to forward the first service in the second network device, each of which is used to indicate the status of the corresponding time slot, and the status includes an available status or an unavailable status.
25. A device for acquiring a time slot forwarding table entry, characterized in that: Applied to a first network device, the apparatus comprises: A receiving module, used to receive a message sent by a second network device, where the message is used to indicate an available time slot of the second network device; A processing module is used to generate a time slot forwarding table entry according to the message and the available time slot of the first network device.
26. The device according to claim 25, characterized in that The available time slots of the first network device include the first time slot, the message is used to indicate that the available time slots of the second network device include the second time slot, the message includes the end-to-end delay corresponding to the second time slot, and the end-to-end delay corresponding to the second time slot is the delay from the second network device to the receiving end; the processing module is used to: Determine the end-to-end delay corresponding to the first time slot according to the end-to-end delay corresponding to the second time slot, where the end-to-end delay corresponding to the first time slot is the delay from the first network device to the receiving end; A time slot forwarding table entry is generated according to the end-to-end delay corresponding to the first time slot.
27. The device according to claim 26, characterized in that The processing module is used for: Determine next hop time slot information according to the second time slot, where the next hop time slot information is used to indicate the second time slot; A time slot forwarding table entry is generated according to the end-to-end delay corresponding to the first time slot and the next hop time slot information.
28. The device according to any one of claims 25 to 27, characterized in that The message includes a time slot bit map, which includes a plurality of bits corresponding to a plurality of time slots in a gating list of the second network device, each of which is used to indicate a state of the corresponding time slot, and the state includes an available state or an unavailable state.
29. A resource reservation device, characterized in that: including memory and processor; The memory is used to store computer programs; The processor is configured to execute the computer program stored in the memory so that the resource reservation device performs the method according to any one of claims 1 to 10.
30. A device for acquiring a time slot forwarding table entry, characterized in that: including memory and processor; The memory is used to store computer programs; The processor is configured to execute the computer program stored in the memory so that the device for acquiring the time slot forwarding table entry executes the method according to any one of claims 11 to 14.
31. A resource reservation system, characterized in that: It comprises a first network device and a second network device, wherein the second network device is a next-hop device of the first network device, and the first network device comprises the resource reservation device as claimed in any one of claims 15 to 24 and 29.
32. A system for acquiring time slot forwarding table entries, characterized in that: It comprises a first network device and a second network device, wherein the first network device comprises an acquisition device for time slot forwarding table entries as claimed in any one of claims 25 to 28 and 30.
33. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 14 is implemented.
34. A computer program product, characterized in that The computer program product comprises a program or a code, and when the program or the code is executed, the method according to any one of claims 1 to 14 is implemented.
Citation Information
Patent Citations
Resource reservation method, device and system
CN119450599A
Flexible ethernet path establishment method and network equipment
CN107612825A
Message forwarding method and apparatus
CN108270674A
Packet forwarding method, forwarding device, and network device
CN110024339A
Method for generating forwarding table and forwarding equipment
CN112073283A