Communication method, related device, and storage medium

By extending the IS-IS protocol, defining a new TLV type to transmit service routing-related information, solving the problem of major changes in operator networks in the existing technology, and achieving efficient service routing information transmission and performance improvements between microservices.

WO2025107820A1PCT designated stage expired Publication Date: 2025-05-30CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/117211
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-24
Filing Date
2024-09-05
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In the prior art, the relevant information of service routing is transmitted in the autonomous domain using the NLSR protocol. However, NLSR is a protocol designed specifically for service routing. It has greatly changed the existing operator network, making it difficult to effectively solve the performance, scalability and reliability bottlenecks of large-scale and complex microservice communications.

Method used

By extending the IS-IS protocol, new TLV types such as Service Routing TLV, Prefix Sub-TLV, Name Prefix sub-sub-TLV, and Service Router capability Sub-TLV are defined to announce service routing-related information, realize service routing information transmission, and reduce changes to existing operator networks.

Benefits of technology

It realizes the effective transmission of service routing-related information in the existing operator network, reduces network changes, expands the application scenarios of service routing, and improves the performance, scalability and reliability of communication between microservices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024117211_30052025_PF_FP_ABST
    Figure CN2024117211_30052025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of networks and security, and provides a communication method, a related device, and a storage medium. The method comprises: a service gateway or a service router sends a data packet to a neighbor network device thereof, wherein the data packet comprises a service routing type length value (TLV) based on an intermediate system-to-intermediate system routing protocol, so as to notify the neighbor network device of service identification information under the service gateway or the service router by means of the service routing TLV.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method, related equipment and storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This disclosure claims priority to Chinese patent application number 202311586799.2, filed on November 24, 2023, entitled “Communication Methods, Related Equipment and Storage Medium,” and the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present disclosure relates to the field of network and security technology, and in particular to a communication method, a service gateway or a service router, a neighbor network device, an electronic device, and a computer-readable storage medium. Background Art

[0004] In related technologies, service routing information can be transmitted within an autonomous domain using the Name-data Link State Routing Protocol (NLSR). However, NLSR is a protocol designed specifically for service routing and requires significant changes to existing operator networks.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field.

[0006] Summary of the Invention

[0007] An embodiment of the present disclosure provides a communication method, including: a service gateway or a service router sends a data packet to its neighboring network device, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to notify the neighboring network device of service identification information under the service gateway or service router through the service route TLV.

[0008] An embodiment of the present disclosure also provides a communication method, including: a neighboring network device receives a data packet from a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or service router through the service route TLV.

[0009] An embodiment of the present disclosure also provides a service gateway or service router, including: a first sending unit, used to send a data packet to a neighboring network device of the service gateway or service router, wherein the data packet includes a service routing type length value TLV based on an intermediate system to intermediate system routing protocol, so as to notify the neighboring network device of the service identification information under the service gateway or service router through the service routing TLV.

[0010] An embodiment of the present disclosure also provides a neighbor network device, including: a second receiving unit, used to receive a data packet from a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or service router through the service route TLV.

[0011] An embodiment of the present disclosure further provides an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-mentioned communication method by executing the executable instructions.

[0012] The embodiment of the present disclosure further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned communication method is implemented.

[0013] An embodiment of the present disclosure also provides a computer program product, including executable instructions, which are stored in a computer-readable storage medium. A processor of an electronic device reads the executable instructions from the computer-readable storage medium, and the processor executes the executable instructions, so that the electronic device executes the above-mentioned communication method.

[0014] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0016] FIG1 shows a schematic diagram of a distributed microservice communication architecture based on service routing according to an embodiment of the present disclosure.

[0017] FIG2 shows a flow chart of a communication method provided by an embodiment of the present disclosure.

[0018] FIG3 shows a flow chart of another communication method provided by an embodiment of the present disclosure.

[0019] FIG4 shows a flowchart of another communication method provided by an embodiment of the present disclosure.

[0020] FIG5 shows a flow chart of another communication method provided by an embodiment of the present disclosure.

[0021] FIG6 shows a schematic structural diagram of a service gateway or service router provided by an embodiment of the present disclosure.

[0022] FIG7 shows a schematic structural diagram of a neighbor network device provided in an embodiment of the present disclosure.

[0023] FIG8 shows a structural block diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0024] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0025] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0026] For ease of understanding, before introducing the embodiments of the present disclosure, some of the terms involved in the embodiments of the present disclosure are first explained as follows:

[0027] A service is a component or microservice within an application. Microservices is a cloud-native architectural approach that combines many small, loosely coupled, independently deployable components or services to enable code updates and feature additions, thereby reducing the costs associated with the entire application.

[0028] Pod, in a Kubernetes cluster, is the basis of all business types. It is a collection of one or more containers that share storage, network, and namespace, as well as specifications for how to run. In a Pod, all containers are uniformly arranged and scheduled and run in a shared context.

[0029] Service Gateway, abbreviated as SG, is a component used to manage and protect the service network. It is responsible for processing service requests and responses and providing security, authentication, filtering, and rate limiting. Located at the edge of the service network, the service gateway has the ability to convert IP (Internet Protocol) packets into packets carrying service routes, forward packets, and process service routes. After receiving an IP packet, the service gateway determines how to forward the request to the correct microservice based on the packet's various fields and routing policies, thereby converting the IP packet into a packet carrying the service route.

[0030] Service Prefix Authentication (SPA) authenticates the service prefix (the prefix of the service name, referred to below) owned by a pod. SPA stores registered, valid service prefixes. A service prefix is ​​an identifier used to locate a service, typically preceding the service name. It can be used to categorize services and help clients select the appropriate service based on their needs.

[0031] Service Router, abbreviated as SR.

[0032] In related technologies, service-oriented network architectures are typically implemented through centralized control. Proxies, deployed in pods co-located with microservices, perform common functions required for inter-microservice communication, such as service registration, service discovery, service scheduling, and service measurement. All forwarding-level communication between microservices is implemented through proxies. The complex connections between proxies form a new communication infrastructure, namely the service mesh. The implementation process of key functions of a service-oriented network architecture using centralized control is as follows: Service registration: Microservices register with their respective proxies, which then register with a centralized control center; Service discovery: The centralized control center distributes relevant service registration information to each proxy, synchronizing microservice information; Service measurement: Proxies proactively perform quality checks on target microservices and report relevant information to the centralized control center; Service scheduling: The centralized control center distributes relevant service scheduling policies to each proxy. Each proxy analyzes the received microservice communication requirements and schedules them based on the scheduling policy and microservice communication requirements.

[0033] In summary, centralized service-oriented network architectures struggle to meet the communication needs of large-scale, complex microservices, and face performance, scalability, and reliability bottlenecks. To address these issues, the present disclosure provides a distributed microservices communication architecture based on service routing to better address the complex communication needs of microservices.

[0034] The specific implementation of the embodiment of the present disclosure is described in detail below with reference to the accompanying drawings.

[0035] The distributed microservice communication architecture based on service routing is shown in Figure 1. By utilizing service routing technology, the network can use the service name to select the optimal path, thereby shielding the underlying IP address.

[0036] As shown in Figure 1, the system architecture includes microservices 101, multiple service gateways 102, multiple service routers 103, a SPA entity 104, and a service grid centralized dispatch center 105. For example, in Figure 1, the system has four service gateways 102, namely service gateways 1 to 4, and three service routers 103, namely service routers 1 to 3.

[0037] Microservice 101 is a logical collection of multiple pods for a service and a policy for accessing them. It can be thought of as the external access interface for a group of pods that provide the same service. With microservices, applications can easily implement service discovery and load balancing.

[0038] In one embodiment, the Pod where the microservice 101 is located can declare the service identification information of the above Pod to the service gateway linked to the Pod.

[0039] One Pod is linked to one service gateway 102, and one service gateway 102 can be linked to at least one Pod. For example, in Figure 1, service gateway 1 links two Pods, and the microservice under one Pod is defined as microservice A / 1, which is included in the service identification information of the one Pod; the microservice under another Pod is defined as microservice B / 1, which is included in the service identification information of the other Pod. Service gateway 2 links three Pods, and the microservice under one Pod is defined as microservice A / 2, which is included in the service identification information of the one Pod; the microservice under another Pod is defined as microservice B / 2, which is included in the service identification information of the other Pod; and the microservice under another Pod is defined as microservice C / 2, which is included in the service identification information of the yet another Pod. Service gateway 3 links two Pods, and the microservice under one Pod is defined as microservice A / 3, which is included in the service identification information of the one Pod; the microservice under another Pod is defined as microservice B / 3, which is included in the service identification information of the yet another Pod. Service gateway 4 links two Pods. The microservice under one Pod is defined as microservice A / 4, which is included in the service identification information of the one Pod; the microservice under the other Pod is defined as microservice B / 4, which is included in the service identification information of the other Pod.

[0040] The service gateway 102 can also be called an internetwork connector or a protocol converter. The service gateway 102 realizes network interconnection above the network layer and can be used for both wide area network interconnection and local area network interconnection.

[0041] In one embodiment, the service gateway 102 can exchange information between the service identification information of each Pod and the corresponding service router 103 through different interfaces of the service gateway 102, and the corresponding gateway interface can be selected according to service requirements.

[0042] The service routers 104 may include, but are not limited to, provider edge routers, hub routers, spoke routers, autonomous system border routers, regional edge routers, and the like.

[0043] In addition, the system architecture may also include other suitable network devices such as one or more combinations or variations of switches, hubs, modems, bridges, repeaters, multiplexers, network adapters, network interfaces, network racks, chassis, servers, computing devices, one or more virtual machines shown in the accompanying drawings.

[0044] SPA entity 104 authenticates the service identification information of the Pods sent by service gateway 102. Service gateway 102 implements proxy registration using SPA. After service gateway 102 successfully authenticates the SPA entity, service gateway 102 and service router 103 distribute information via a distributed protocol, synchronizing microservice information. One service gateway 102 can be connected to one SPA entity 104.

[0045] The service grid centralized dispatch center 105 is centrally deployed by domain and can initiate regular automatic detection to each target microservice based on the service gateway according to service requirements, record and report the detection results, specify forwarding strategies, and issue the above forwarding strategies to each service gateway and service router in the path, so as to select service nodes with superior performance from multiple microservices that can provide the same functions.

[0046] The microservice 101 in the embodiment of the present disclosure can be initiated by a client of an application installed on a terminal device. Based on different terminal platforms, the specific form of the client of the application can also be different. For example, the application client can be a mobile client, a PC client, etc.

[0047] Those skilled in the art will appreciate that the number of microservices 101, service gateways 102, service routers 103, and SPA entities 104 in FIG1 is merely illustrative, and any number of microservices 101, service gateways 102, service routers 103, and SPA entities 104 may be provided as needed. This is not limited in the present disclosure.

[0048] This disclosure provides a novel fully distributed service grid implementation architecture suitable for large-scale, single-domain or cross-domain deployments, improving the robustness of the service grid, enabling independent infrastructure deployment, and providing services to multiple organizations simultaneously, with strong practicality. This is specifically illustrated by the following examples:

[0049] First, an embodiment of the present disclosure provides a communication method, which can be executed by any system with computing processing capabilities.

[0050] FIG2 is a flow chart of a communication method provided by an embodiment of the present disclosure. As shown in FIG2 , the communication method provided by an embodiment of the present disclosure includes the following steps:

[0051] In S210, the service gateway or service router sends a data packet to its neighbor network device, where the data packet includes a service routing type length value TLV (Type-Length-Value) based on the intermediate system to intermediate system routing protocol, so as to notify the neighbor network device of the service identification information under the service gateway or service router through the service routing TLV. (The service router or service gateway sends a data packet to its neighbor network device, which includes a service routing TLV based on the IS-IS routing protocol, to notify the neighbor network device of service identification information under the sending device through the service routing TLV.).

[0052] In an exemplary embodiment, the neighbor network device may be a service router or a service gateway.

[0053] In the embodiment of the present disclosure, the service gateway may be any service gateway, such as any one of service gateway 1 to service gateway 4 in Figure 1. The service router may be any service router, such as any one of service router 1 to service router 3. The neighboring network device of a service gateway or a service router refers to a network node directly connected to the service gateway or the service router, that is, a network device located on the same link or an adjacent link as the service gateway or the service router. For example, in Figure 1, the neighboring network devices of service gateway 1 include service router 1 and service router 2, the neighboring network devices of service gateway 2 include service router 1 and service router 2, the neighboring network devices of service gateway 3 include service router 1 and service router 3, and the neighboring network devices of service gateway 4 include service router 2 and service router 3. The neighboring network device of a service gateway or the service router refers to any neighboring network device to which the service gateway or the service router sends the data packet.

[0054] In the embodiments of the present disclosure, the service identification information under the service gateway or the service router may include at least one of the name of the service gateway or the service router, the name prefix of the service that can be reached by the service gateway or the service router, and a namespace. In the following embodiments, the service identification information includes the name of the service gateway or the service router, and the name prefix of the service that can be reached by the service gateway or the service router.

[0055] In some embodiments, the neighboring network device of the service gateway is assumed to be a service router directly connected to the service gateway, and the service router receives the data packet from the service gateway, that is, the service gateway can announce the name and name prefix of the service route to its neighboring service router, and the neighboring service router can pass the message according to the name and name prefix carried in the data packet.

[0056] In the embodiment of the present disclosure, the name of the service route refers to the name of the service gateway / service router that sends the data packet, and the name prefix refers to the name prefix of the service that can be reached by the service gateway / service router, such as A / 1 of microservice A / 1 and B / 1 of microservice B / 1 in Figure 1.

[0057] The method provided in the embodiments of the present disclosure is based on the IS-IS (Intermediate System-Intermediate System) routing protocol, which advertises service routing capabilities. IS-IS is a routing protocol used to implement routing and information exchange in computer networks. It enables efficient, reliable, and flexible routing, providing important support and assurance for network communications.

[0058] In IS-IS, TLV is a data structure used to describe information. The description of each element / field is as follows:

[0059] 1. Type: It identifies the type of this TLV. Different TLV types are used to carry different information.

[0060] 2. Length: This field stores the length of the third element (value) that follows. Because different TLV types describe different information, the length of the information may also vary. This field indicates the length of the value in the TLV.

[0061] 3. Value: The length of this field is variable. The number of bytes it occupies is described in the length field and is used to store specific business data.

[0062] The disclosed embodiments are used to promote an IGP (Interior Gateway Protocol) protocol extension solution for service routing technology. In related technologies, service routing information can be transmitted within an autonomous domain using the NLSR protocol. However, NLSR is a protocol designed specifically for service routing and significantly alters existing operator networks. Since the IGP protocol primarily used by large operators is IS-IS, it is necessary to propose a method for transmitting service routing information based on an IS-IS protocol extension.

[0063] Service routing is a crucial step in the rollout of distributed service architectures. It involves selecting a service node based on specific rules when a service consumer initiates a service call, thereby satisfying specific requirements. Service routing has a wide range of applications, including load balancing in cloud computing environments. In cloud computing, services typically run on multiple nodes. Service routing intelligently distributes requests to the most appropriate node based on node load and service availability, effectively avoiding resource waste and overload. Another example is service calls in distributed application architectures. In distributed application architectures, different services may reside on different nodes. Service routing helps consumers find the most appropriate service node, improving overall service quality and efficiency. Another example is grouped calls. To ensure high service availability and achieve active-active geo-location, a service is often deployed across multiple data centers. Furthermore, for cost-saving reasons, some businesses may deploy not only in private data centers but also in public clouds, or even across multiple public clouds. During this process, service nodes are grouped according to the data center. For service consumers, the group they choose to call is determined by the corresponding routing rules. Another example is a grayscale release: During the service rollout process, it's typically necessary to first release the service to a small number of service nodes to verify functionality. If so, the release can be expanded; if not, the issue needs to be troubleshooted and resolved before continuing. This process can significantly improve release efficiency and reduce release risks. Another example is traffic switching: During the operation of a service line, force majeure factors often cause service failures, such as a fiber optic cable being dug up in a data center or a fire causing service unavailability across the entire data center. In such cases, service routing can help consumers quickly switch to other available nodes, ensuring service availability and stability.

[0064] The method provided by the embodiments of the present disclosure can be applied to a single-domain network that supports service routing. A single-domain network refers to a network in which all computers within the same domain, including a primary domain controller and multiple agents, use the same network ID (identity), that is, are in the same workgroup. In a single-domain network, all computers use the same network drives and network paths in the same file and printer sharing environment. Therefore, a single-domain network can achieve a relatively simple architecture, facilitating central control and management.

[0065] The communication method provided by the embodiments of the present disclosure enables the service gateway or service router to notify its neighboring network devices of service identification information, such as the name and name prefix of the service gateway or service router, by carrying a service route TLV based on the IS-IS protocol in a data packet sent by the service gateway or service router to its neighboring network devices. Since IS-IS is the primary IGP protocol used by large operators, the embodiments of the present disclosure propose a method for transmitting service route-related information based on an IS-IS protocol extension, which can reduce modifications to existing operator networks and reduce costs.

[0066] In an exemplary embodiment, the service routing TLV includes a type field, a length field, and a value field. The type field of the service routing TLV is used to identify the type value of the service routing TLV; the length field of the service routing TLV is used to identify the length of the service routing TLV; and the value field of the service routing TLV is used to identify the service data that the service routing TLV has.

[0067] In an exemplary embodiment, the value field of the service route TLV includes a sub-TLV length field and a sub-TLV field; the sub-TLV length field is used to indicate the length of the sub-TLV.

[0068] In the embodiment of the present disclosure, in the IS-IS protocol, by allowing the service route TLV to carry sub-TLVs, these sub-TLVs can be used to provide more detailed or more specific information.

[0069] In an exemplary embodiment, the value field of the service route TLV also includes a system ID and pseudonode number field, which is used to enable the neighboring network device to recognize the service router or service gateway.

[0070] In an exemplary embodiment, the sub-TLV field includes a Prefix sub-TLV for notifying the service gateway or service router of the prefix related information to the neighboring network device. The service identification information includes the prefix related information.

[0071] In an exemplary embodiment, the prefix sub-TLV includes a type field, a length field, and a value field. The type field of the prefix sub-TLV is used to identify the type value of the prefix sub-TLV; the length field of the prefix sub-TLV is used to identify the length of the prefix sub-TLV. (The Prefix sub-TLV includes a type field, a length field, and a value field, where: the type field is used to identify the type value of the Prefix sub-TLV; the length field is used to identify the length of the Prefix sub-TLV.). The value field of the prefix sub-TLV is used to identify the prefix related information carried by the prefix sub-TLV.

[0072] In an exemplary embodiment, the value field of the prefix sub-TLV includes a name length field and a name field. The name length field is used to identify the length of the name field; the name field is used to identify the name of the service gateway or service router. The prefix-related information includes the name of the service gateway or service router.

[0073] In an exemplary embodiment, the value field of the prefix sub-TLV further includes a signature length field and a signature field. The signature length field is used to identify the length of the signature; and the signature field is used to identify the signature of the data packet.

[0074] In an exemplary embodiment, the value field of the prefix sub-TLV further includes a name prefix quantity field and a set of optional sub-sub-TLV fields. The name prefix quantity field is used to identify the number of name prefixes included in the set of optional sub-sub-TLV fields; the optional sub-sub-TLV field includes at least one name prefix sub-sub-TLV for notifying the neighboring network device of the prefix information of the serving gateway or serving router.

[0075] For example, the value field of the prefix sub-TLV can be expressed in English as:

[0076] The value field includes a length of name field,a name field,a length of signature field,a signature field,a number of name prefixes field and a set of optional sub-sub-TLVs field,where:

[0077] The length of name field is used to identify the length of the name field.

[0078] The name field is used to identify the name of the service gateway or service router.

[0079] The length of signature field is used to identify the length of the signature.

[0080] The signature field is used to identify the signature of the data packet.

[0081] The number of name prefixes field is used to identify the number of name prefixes contained in the set of optional sub-sub-TLVs field.

[0082] The optional sub-sub-TLVs field includes at least one service name prefix sub-sub-TLV for notifying the neighbor devices of the prefix information of the service gateway or service router.

[0083] In the embodiment of the present disclosure, by allowing the sub-TLV to carry other types of sub-TLVs, these sub-TLVs are called sub-sub-TLVs (sub-sub-TLVs) and are used to provide more detailed or more specific information.

[0084] In an exemplary embodiment, the name prefix sub-sub-TLV includes a type field, a length field, and a value field. The type field of the name prefix sub-sub-TLV is used to identify the type value of the name prefix sub-sub-TLV; the length field of the name prefix sub-sub-TLV is used to identify the length of the service name prefix sub-sub-TLV; and the value field of the name prefix sub-sub-TLV includes a prefix name field, which is used to identify the name prefix of the service that can be reached by the service gateway or service router.

[0085] In an exemplary embodiment, the third value field also includes a first reserved field. For example, the name prefix sub-sub TLV can be expressed as:

[0086] The Name Prefix sub-sub-TLV includes a type field, a length field, and a value field; the type field is used to identify the type value of the Name Prefix sub-sub-TLV.

[0087] The embodiment of the present disclosure provides a method for announcing service routing-related capabilities based on IS-IS. This method newly defines one IS-IS TLV type (i.e., service routing TLV, denoted as "Service Routing TLV"), two IS-IS sub-TLV types (i.e., prefix sub-TLV, denoted as "Prefix sub-TLV"; and, service routing capability sub-TLV, denoted as "Service Router capability Sub-TLV"), and one sub-sub-TLV type (i.e., name prefix sub-sub-TLV, denoted as "Name Prefix sub-sub-TLV"), so that network devices supporting the service routing function can use the "Service Routing TLV" to announce the name and name prefix of the service routing, and enables neighboring network devices supporting the service routing function to use the "Service Router capability Sub-TLV" to announce information about their own support for service routing capabilities. It can be understood that in the embodiment of the present disclosure, the service gateway or service router that sends the data packet and its neighboring network devices are neighbors to each other. Therefore, in some embodiments, the neighboring network device can also be referred to as the service gateway or service router, and the service gateway or service router can be referred to as the neighboring network device.

[0088] This disclosed embodiment defines a new IS-IS TOP TLV: the Service Routing TLV. It also defines a "Prefix sub-TLV" and a "Name Prefix sub-sub-TLV" within this TLV to advertise names and name prefixes to neighboring network devices. The TOP TLV is the top-level TLV in IS-IS. Because service routing is a relatively new technology, there are no existing TOP TLVs available. Furthermore, service routing may evolve into other technologies requiring expansion. Therefore, this disclosed embodiment defines a single TOP TLV.

[0089] The disclosed embodiments newly define a "Service Router capability Sub-TLV" in the IS-IS Router Capability TLV (Routing Capability TLV) so that a neighboring network device can use the "Service Router capability Sub-TLV" to notify its serving gateway or serving router of the neighboring network device's ability to support service routing processing, thereby informing the serving gateway or serving router that it can carry the Service Routing TLV when sending data packets to the neighboring network device.

[0090] The message format of the Service Routing TLV provided in the embodiment of the present disclosure may be as shown in Table 1 below.

[0091] Table 1

[0092] In Table 1 above, Type (type field): (can occupy 1 byte, but the present disclosure is not limited to this) identifies the type value of the Service Routing TLV, that is, the Type value can uniquely determine that the TLV is a Service Routing TLV, so as to distinguish it from other TLVs in the IS-IS protocol. This value can be assigned after the standard is successfully established. The present disclosure does not limit its specific value, as long as it can uniquely identify the Service Routing TLV. Length (length field): (can occupy 2 bytes, but the present disclosure is not limited to this) identifies the length of the Service Routing TLV. The system ID (system identifier) ​​and the number of pseudo nodes, the Length of Sub-TLVs and the Sub-TLVs constitute the "value (value field)" of the Service Routing TLV.

[0093] Among them, the system ID and pseudo node count: (can occupy 7 bytes, but the present disclosure is not limited to this) are used to allow the neighboring network devices of the service gateway or service router to identify the service gateway or service router. The neighboring network device refers to the SG / SR directly connected to the SG / SR. The system ID refers to the unique ID of the SR / SG that sends the data packet. The pseudo node count (Pseudo Node Count) refers to the number of pseudo nodes (Pseudonode) in the IS-IS network. Pseudo nodes are special nodes used to simulate network topology in the IS-IS protocol. They do not have actual physical existence, but are represented as real nodes in routing calculations and routing tables. The purpose of the pseudo node count is mainly to help routers better understand the network topology and make correct forwarding path selections in routing calculations. The system ID and pseudo node count are not specific fields in the TLV, but concepts related to the IS-IS protocol. In a specific TLV, other information related to the system ID and pseudo node count may be included to support specific routing strategies or network topologies.

[0094] Length of Sub-TLVs: the length of the Sub-TLVs carried in the Service Routing TLV (which may occupy 1 byte, but the present disclosure is not limited to this).

[0095] Sub-TLVs: At least one sub-TLV carried in the Service Routing TLV, whose length is variable.

[0096] In the embodiments of the present disclosure, the Service Routing TLV is introduced into the IS-IS protocol. The Service Routing TLV is a TLV type used to support service routing. It allows the SG / SR to learn and publish service routing information in the IS-IS network to direct data flows to specific services.

[0097] The Value field of the Service Routing TLV contains one or more sub-TLVs that provide specific information about the service route. For example, it can include the service name, next-hop address, port number, and so on. Using the Service Routing TLV, the SR can learn the routing information of the target service and add it to the routing table to correctly forward data traffic to the target service. This enables the IS-IS protocol to support more flexible and dynamic service routing to meet the needs of specific applications.

[0098] In the embodiment of the present disclosure, in order to carry a name, a new sub-TLV type is defined: Prefix Sub-TLV, the message format of which is shown in Table 2 below.

[0099] Table 2

[0100] In Table 2 above, Type (type field): (can occupy 1 byte, but the present disclosure is not limited to this) identifies the type of Prefix Sub-TLV; the Type value is used to uniquely determine that the sub-TLV is a Prefix Sub-TLV. When the Prefix sub-TLV is the first Sub-TLV defined under the Service Routing TLV, the recommended value is 1, but the present disclosure is not limited to this. The value can be assigned according to actual needs, as long as it can uniquely distinguish that the sub-TLV is a Prefix Sub-TLV. Length (length field): (can occupy 2 bytes, but the present disclosure is not limited to this) identifies the total length of the Prefix Sub-TLV. Length of S-Name (name length field), Name (name field), Length of signature (signature length field), Signature (signature field), Number of name prefixes (name prefix number field) and Set of optional sub-sub-TLVs (a set of optional sub-sub-TLVs) constitute the value (value field) of the Prefix Sub-TLV.

[0101] Among them, Length of S-Name: (can occupy 2 bytes, but the present disclosure is not limited to this) identifies the Name length of the service gateway or service router. Name: (variable) carries the Name of the service gateway or service router. Prefix Sub-TLV is used to announce the name of the service route, and each prefix is ​​a name. Length of signature (can occupy 1 byte, but the present disclosure is not limited to this): the length of the signature. Signature (signature, variable length): contains the signature used for the data packet. The function of the signature is to verify the data packet to prevent the reception of malicious attacks or erroneous data packets. The data packet here refers to the data packet carrying the Service Routing TLV. Number of name prefixes (can occupy 1 byte, but the present disclosure is not limited to this): identifies the number of name prefixes. The number of name prefixes can be one or more. Set of optional sub-sub-TLVs (variable length): contains the specific value of the prefix. In the IS-IS protocol, name prefixes may be used to identify different network devices or nodes. These name prefixes can be represented as specific identifiers in route calculations and routing tables to help routers better understand the network topology and make correct forwarding path selections in route calculations. Additionally, name prefixes can be used to identify specific types of network devices or services. For example, during network device configuration, administrators can specify name prefixes to categorize and identify different devices or services. The specific name prefixes used and how they are used vary depending on the network protocol and application scenario. In actual computer network applications, specific network protocols and requirements determine which name prefixes to use and how to interpret and process the information they identify.

[0102] The Prefix Sub-TLV provides additional information about a specific prefix in the routing table. It can be used to describe a specific portion of the network, helping the SR better understand the network topology and select the correct forwarding path during routing calculations. By using the Prefix Sub-TLV and other related TLVs, the SR can gather information about the network topology and routes and correctly represent this information in the routing table, allowing data traffic to be correctly forwarded to its destination.

[0103] Because a Prefix Sub-TLV may contain multiple name prefixes, a sub-sub-TLV type, Name Prefix sub-sub-TLV, is defined for the Prefix Sub-TLV to help network devices (including the service gateway or service router that sends the data packet and its neighboring network devices) distinguish between the name prefixes. The message format is shown in Table 3 below:

[0104] Table 3

[0105] In the above Table 3, Type (type field, can occupy 1 byte, but the present disclosure is not limited to this): identifies the type of Name Prefix sub-sub-TLV, and it is recommended that the value can be 1, but the present disclosure is not limited to this, as long as the sub-sub-TLV can be uniquely determined to be the Name Prefix sub-sub-TLV. Length (length field, can occupy 2 bytes, but the present disclosure is not limited to this): identifies the total length of the Name Prefix sub-sub-TLV. Reserved (can occupy 1 byte, but the present disclosure is not limited to this): reserved field. Name prefix (variable length): contains the specific value of Name Prefix. The value field can include Reserved and Name prefix in Table 3.

[0106] The Name Prefix sub-sub-TLV is used to advertise name prefixes to neighboring network devices. It provides more information about a specific prefix in the routing table. It can be used to describe a specific portion of the network, helping the SR better understand the network topology and select the correct forwarding path during routing calculations. By using the Name Prefix sub-sub-TLV and other related TLVs, the SR can gather information about the network topology and routes and correctly represent this information in the routing table, enabling data traffic to be correctly forwarded to its destination.

[0107] The IS-IS Router Capability TLV allows a network device (such as a neighboring network device) to advertise its capabilities to other devices within the autonomous domain (such as the service gateway or service router sending the data packet). To enable a network device to advertise its service routing capabilities to other network devices within its autonomous domain, a new sub-TLV type is defined: Service Router Capability Sub-TLV. Its message format is shown in Table 4 below:

[0108] Table 4

[0109] In the above Table 4, Type (type field, which can occupy 1 byte, but the present disclosure is not limited to this): identifies the type of the sub-TLV as Service Router capability Sub-TLV. This value can be determined after the standard project is established. The present disclosure does not limit its specific value, as long as it can be used to uniquely determine that the type of the sub-TLV is Service Router capability Sub-TLV. Length (length field, which can occupy 2 bytes, but the present disclosure is not limited to this): identifies the total length of the Service Router capability Sub-TLV. Reserved (which can occupy 1 byte, but the present disclosure is not limited to this): reserved field. Name (variable length): identifies the name of the device that sends the Service Router capability Sub-TLV. That is, as long as the Router Capability TLV sent by the device carries the Service Router capability Sub-TLV, it means that the device has the ability to handle service routing. The value field includes Reserved and Name in Table 4. It can be expressed in English as: The service gateway or service router should receive a routing capability TLV based on the IS-IS routing protocol sent by a service gateway or service router, which includes a service router capability sub-TLV indicating that the sending device supports service routing processing capability. The service router capability sub-TLV includes a type field, a length field, and a value field, where:

[0110] The type field is used to identify the type value of the service router capability sub-TLV.

[0111] The length field is used to identify the length of the service router capability sub-TLV.

[0112] The value field includes a reserved field and a name field. The name field is used to identify the name of the sending device (the sending device here is the neighboring network device that sends the "routing capability TLV").

[0113] The Router Capability TLV is used to communicate specific capability information between routers, such as supported protocol versions and routing protocol parameters. By using the Router Capability TLV, routers can exchange capability information within the network, enabling appropriate configuration and route calculation based on each other's capabilities. In the disclosed embodiments, in the IS-IS protocol, the Service Router Capability Sub-TLV is a sub-TLV used to describe router capabilities. It is a subfield within the Router Capability TLV.

[0114] The method provided by the embodiment of the present disclosure is illustrated below with reference to Figure 1. In the distributed microservice communication architecture based on service routing shown in Figure 1, Service Router is a network device (service router) capable of processing service routing, and Service Gateway is a service gateway of the service-oriented network.

[0115] During network initialization, each Service Router and Service Gateway sends a packet carrying the Service Router capability Sub-TLV to other devices in their respective autonomous domains. The Name in the Service Router capability Sub-TLV represents the name of the device sending the packet. For example, in Figure 1, Service Gateways 1 through 4 and Service Routers 1 through 3 are in the same autonomous domain. Each SG and SR can be named according to its location, but this disclosure is not limited to this.

[0116] Service Gateway 1 is able to learn the name prefixes of microservices A / 1 and B / 1, assuming they are A / 1 and B / 1. Service Gateway 1 (as a network device) sends a packet carrying the Service Routing TLV to its directly connected Service Router 1 and / or Service Router 2 (as neighboring network devices). The format of the packet is shown in Table 5 below.

[0117] Table 5

[0118] In the embodiment of the present disclosure, it is assumed that service router 1 and service router 2 are directly connected to service gateway 1, that is, the neighboring network devices of service gateway 1 include service router 1 and service router 2, service router 1 can process service routing, and service router 2 cannot process service routing, then service router 1 sends Service Router Capability sub-TLV to service gateway 1, and service router 2 does not send Service Router Capability sub-TLV to service gateway 1, then service gateway 1 only sends Service Routing TLV to service router 1, and at this time, service router 1 can also be called the target neighboring network device of service gateway 1.

[0119] After receiving the data packet carrying the Service Routing TLV, the SR continues to send data packets carrying the new Service Routing TLV to other SRs or SGs directly connected to it. The name in the new data packet is changed to the name of the SR.

[0120] The disclosed embodiments extend the IS-IS protocol to enable it to carry service routing information, and do so in TLV format, minimizing changes to the IS-IS protocol. This allows service routing to be delivered not only via NLSR but also via IS-IS, expanding the application scenarios of service routing.

[0121] The method provided by the embodiment of the present disclosure, on the one hand, newly defines an IS-IS TOP TLV: Service Routing TLV, and defines "Prefix Sub-TLV" and "Name Prefix sub-sub-TLV" in this TLV to notify neighbors of the name and name prefix, which are used to represent service routing related information. This new TLV type has a unique type value, so that it can be identified in the IS-IS protocol. On the other hand, a new "Service Router capability Sub-TLV" is defined in the IS-IS Router Capability TLV to notify the network device of the ability to support service routing processing. The embodiment of the present disclosure extends the IS-IS protocol to carry service routing related information, and is achieved by defining a new TLV type, while minimizing changes to the IS-IS protocol. This ensures that while extending the protocol, compatibility with the original protocol is maintained. The method provided by the embodiment of the present disclosure can be applied to both single autonomous domain scenarios that support service routing and scenarios where service routing coexists with IP networks. Coexistence of service routing and IP networks refers to the simultaneous deployment and use of both service routing and IP routing in an IP network.

[0122] The method for transmitting service routing related information based on the IS-IS protocol extension proposed in the embodiment of the present disclosure enables the autonomous domain deployed with IS-IS to also transmit service routing related information. On the one hand, it expands the use scenarios of service routing, and on the other hand, it also enables the local network deployed with the IS-IS protocol to expand more network services based on service routing.

[0123] FIG3 is a flow chart of another communication method provided by an embodiment of the present disclosure. As shown in FIG3 , the communication method provided by an embodiment of the present disclosure includes the following steps:

[0124] In S310, the service gateway or service router receives a routing capability TLV based on the intermediate system to intermediate system routing protocol sent by its neighboring network device, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighboring network device supports service routing processing capability.

[0125] In an exemplary embodiment, the service routing capability sub-TLV includes a type field, a length field, and a value field;

[0126] The type field of the service routing capability sub-TLV is used to identify the type value of the service routing capability sub-TLV;

[0127] The length field of the service routing capability sub-TLV is used to identify the length of the service routing capability sub-TLV;

[0128] The value field of the service routing capability sub-TLV includes a name field, and the name field is used to identify the name of the neighbor network device.

[0129] In an exemplary embodiment, the value field of the service routing capability sub-TLV further includes a reserved field.

[0130] In S210, the service gateway or service router sends a data packet to its neighbor network device, where the data packet includes a service route type length value TLV based on the intermediate system to intermediate system routing protocol, so as to notify the neighbor network device of the service identification information under the service gateway or service router through the service route TLV.

[0131] FIG4 shows a flow chart of another communication method provided by an embodiment of the present disclosure. As shown in FIG4 , the communication method provided by an embodiment of the present disclosure includes the following steps:

[0132] In S410, the neighboring network device receives a data packet from a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or the service router through the service route TLV.

[0133] FIG5 shows a flow chart of another communication method provided by an embodiment of the present disclosure. As shown in FIG5 , the communication method provided by an embodiment of the present disclosure includes the following steps:

[0134] In S510, the neighboring network device sends a routing capability TLV based on the intermediate system to intermediate system routing protocol to a service gateway or a service router, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighboring network device supports service routing processing capability.

[0135] In S410, the neighboring network device receives a data packet from a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or the service router through the service route TLV.

[0136] Figure 6 illustrates a schematic diagram of the structure of a service gateway or service router provided in an embodiment of the present disclosure. As shown in Figure 6, the service gateway or service router 600 provided in an embodiment of the present disclosure includes a first sending unit 610. The first sending unit 610 is configured to send a data packet to a neighboring network device of the service gateway or service router. The data packet includes a service route type length value (TLV) based on the intermediate system to intermediate system routing protocol, thereby notifying the neighboring network device of the service identification information of the service gateway or service router via the service route TLV.

[0137] In an exemplary embodiment, the service gateway or service router 600 also includes a first receiving unit 620, which is used to receive a routing capability TLV based on the intermediate system to intermediate system routing protocol sent by the neighboring network device, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighboring network device supports service routing processing capabilities.

[0138] FIG7 is a schematic diagram illustrating the structure of a neighbor network device provided in an embodiment of the present disclosure. As shown in FIG7 , the neighbor network device 700 provided in an embodiment of the present disclosure may include a second receiving unit 710 configured to receive a data packet from a service gateway or a service router, the data packet including a service route type-length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information of the service gateway or the service router through the service route TLV.

[0139] In an exemplary embodiment, the neighboring network device 700 also includes a second sending unit 720, which is used to send a routing capability TLV based on the intermediate system to intermediate system routing protocol to the service gateway or service router, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighboring network device supports service routing processing capabilities.

[0140] Those skilled in the art will appreciate that various aspects of the present invention may be implemented as systems, methods, or program products. Therefore, various aspects of the present invention may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."

[0141] The electronic device 800 according to this embodiment of the present invention is described below with reference to Figure 8. The electronic device 800 shown in Figure 8 is only an example and should not limit the functions and scope of use of the embodiment of the present invention.

[0142] As shown in Figure 8, electronic device 800 is implemented as a general-purpose computing device. Components of electronic device 800 may include, but are not limited to, the aforementioned at least one processing unit 810, the aforementioned at least one storage unit 820, and a bus 830 connecting various system components (including storage unit 820 and processing unit 810).

[0143] The storage unit stores program codes, which can be executed by the processing unit 810, so that the processing unit 810 performs the steps according to various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification.

[0144] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 8201 and / or a cache memory unit 8202 , and may further include a read-only memory unit (ROM) 8203 .

[0145] The storage unit 820 may also include a program / utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0146] Bus 830 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0147] The electronic device 800 can also communicate with one or more external devices 840 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the system, and / or any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 850. Furthermore, the system can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 860. As shown in FIG8 , the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown, other hardware and / or software modules can be used in conjunction with the electronic device 800, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0148] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0149] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, on which is stored a program product capable of implementing the methods described above. In some possible implementations, various aspects of the present invention may also be implemented in the form of a program product comprising program code that, when executed on a terminal device, causes the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the "Exemplary Methods" section above.

[0150] A program product for implementing the above-described method according to an embodiment of the present invention is described. The program product may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0151] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0152] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0153] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0154] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0155] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0156] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0157] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0158] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims. Industrial Applicability

[0159] The present disclosure is applicable to the field of communication technology and is used to solve the technical problem that relevant information of service routing in the related technology is transmitted within an autonomous domain using the NLSR protocol. However, NLSR is a protocol designed specifically for service routing and causes significant changes to existing operator networks. A solution is provided for announcing service routing-related capabilities based on IS-IS (Intermediate System to Intermediate System Routing Protocol).

Claims

1. A communication method, comprising: The service gateway or service router sends a data packet to its neighbor network device, wherein the data packet includes a service route type length value TLV based on the intermediate system to intermediate system routing protocol, so as to notify the neighbor network device of the service identification information under the service gateway or service router through the service route TLV.

2. The method according to claim 1, wherein: The service route TLV includes a type field, a length field and a value field; The type field of the service route TLV is used to identify the type value of the service route TLV; The length field of the service route TLV is used to identify the length of the service route TLV; The value field of the service route TLV is used to identify the service data of the service route TLV.

3. The method according to claim 2, wherein: The value field of the service route TLV includes a sub-TLV length field and a sub-TLV field; The sub-TLV length field is used to indicate the length of the sub-TLV.

4. The method according to claim 3, wherein: The value field of the service route TLV also includes a system identifier and a pseudo node number field, and the system identifier and pseudo node number field are used to allow the neighbor network device to identify a service gateway or a service router.

5. The method according to claim 3, wherein: The sub-TLV field includes a prefix sub-TLV, which is used to notify the neighbor network device of prefix related information of the serving gateway or serving router.

6. The method according to claim 5, wherein: The prefix sub-TLV includes a type field, a length field and a value field; The type field of the prefix sub-TLV is used to identify the type value of the prefix sub-TLV; The length field of the prefix sub-TLV is used to identify the length of the prefix sub-TLV; The value field of the prefix sub-TLV is used to identify the prefix related information carried by the prefix sub-TLV.

7. The method according to claim 6, wherein: The value field of the prefix sub-TLV includes a name length field and a name field; The name length field is used to identify the length of the name field; The name field is used to identify the name of the service gateway or service router.

8. The method according to claim 7, wherein: The value field of the prefix sub-TLV also includes a signature length field and a signature field; The signature length field is used to identify the length of the signature; The signature field is used to identify the signature of the data packet.

9. The method according to claim 7 or 8, wherein: The value field of the prefix sub-TLV also includes a name prefix quantity field and a set of optional sub-sub-TLV fields; The name prefix quantity field is used to identify the number of name prefixes included in the set of optional sub-sub-TLV fields; The optional sub-sub-TLV field includes at least one name prefix sub-sub-TLV, which is used to notify the neighbor network device of the prefix information of the service gateway or the service router.

10. The method according to claim 9, wherein: The name prefix sub-sub-TLV includes a type field, a length field, and a value field; The type field of the name prefix sub-sub-TLV is used to identify the type value of the name prefix sub-sub-TLV; The length field of the name prefix sub-sub-TLV is used to identify the length of the name prefix sub-sub-TLV; The value field of the name prefix sub-sub-TLV includes a name prefix field, and the name prefix field is used to identify a name prefix of a service that can be reached by a service gateway or a service router.

11. The method according to claim 10, wherein: The name prefix sub-sub-TLV value field also includes a reserved field.

12. The method according to claim 1, wherein: Also includes: The service gateway or service router receives the routing capability TLV based on the intermediate system to intermediate system routing protocol sent by the neighboring network device, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighboring network device supports service routing processing capability.

13. The method according to claim 12, wherein: The service routing capability sub-TLV includes a type field, a length field, and a value field; The type field of the service routing capability sub-TLV is used to identify the type value of the service routing capability sub-TLV; The length field of the service routing capability sub-TLV is used to identify the length of the service routing capability sub-TLV; The value field of the service routing capability sub-TLV includes a name field, and the name field is used to identify the name of the neighbor network device.

14. The method according to claim 13, wherein: The value field of the service routing capability sub-TLV also includes a reserved field.

15. A communication method, comprising: The neighbor network device receives a data packet from a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or the service router through the service route TLV.

16. The method according to claim 15, wherein: Also includes: The neighbor network device sends a routing capability TLV based on the intermediate system to intermediate system routing protocol to the service gateway or service router, wherein the routing capability TLV includes a service routing capability sub-TLV, and the service routing capability sub-TLV indicates that the neighbor network device supports service routing processing capability.

17. A service gateway or service router, comprising: The first sending unit is used to send a data packet to a neighbor network device of a service gateway or a service router, wherein the data packet includes a service route type length value TLV based on an intermediate system to intermediate system routing protocol, so as to The TLV notifies the neighbor network device of the service identification information of the service gateway or the service router.

18. A neighbor network device, comprising: The second receiving unit is used to receive a data packet from a service gateway or a service router, wherein the data packet includes a service routing type length value TLV based on an intermediate system to intermediate system routing protocol, so as to obtain service identification information under the service gateway or the service router through the service routing TLV.

19. An electronic device comprising: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1-16 by executing the executable instructions.

20. A computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the method according to any one of claims 1 to 16 when executed by a processor.

21. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.

Citation Information

Patent Citations

  • Method, device and system for determining mapping relationship between routing prefix and segment identifier

    CN112565077A

  • Method and equipment for generating route

    CN114124806A

  • Edge computing data and service discovery using internal gateway protocol (IGP)

    CN116530067A

  • Targeted neighbor discovery for border gateway protocol

    US20220094601A1