Communication method, related equipment and storage medium
By defining a new TLV type in the IS-IS protocol, the IS-IS protocol is extended to support the delivery of service routing-related information, solving the problem of major changes to the operator network in the existing technology, and achieving the effect of efficiently transmitting service routing information in the existing network.
Patent Information
- Application Number
- CN202311586799.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2025-05-27
AI Technical Summary
In the prior art, the information transmission of service routing depends on a special NLSR protocol, resulting in large changes to the existing operator network, making it difficult to effectively expand the delivery of service routing information in the existing IGP protocol.
The IS-IS protocol is extended to support the delivery of service routing-related information by defining new TLV types in the IS-IS protocol, such as Service Routing TLV, Prefix Sub-TLV, and Name Prefix sub-sub-TLV.
It realizes the need for network changes in existing operator networks, and supports the transmission of service routing information through the IS-IS protocol, improving the application scenarios and compatibility of service routing.
Smart Images

Figure CN120050228A_ABST
Abstract
Description
Background Art
[0002] In the related art, the relevant information of service routing can be transmitted within an autonomous domain by using the NLSR (Name-data Link State Routing Protocol) protocol. However, NLSR is a protocol specifically designed for service routing, which causes relatively large changes to the existing carrier network.
[0003] It should be noted that the information disclosed in the above background art section is only used to enhance the understanding of the background of the present disclosure. Therefore, it may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention
[0004] An embodiment of the present disclosure provides a communication method, including: a service gateway or a service router sends a data packet to its neighbor network device, where the data packet includes a service routing type length value TLV based on the Intermediate System to Intermediate System Routing Protocol, so as to announce service identification information under the service gateway or the service router to the neighbor network device through the service routing TLV.
[0005] An embodiment of the present disclosure further provides a communication method, including: a neighbor network device receives a data packet from a service gateway or a service router, where the data packet includes a service routing type length value TLV based on the 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.
[0006] An embodiment of the present disclosure further provides a service gateway or a service router, including: a first sending unit, configured to send a data packet to a neighbor network device of the service gateway or the service router, where the data packet includes a service routing type length value TLV based on the Intermediate System to Intermediate System Routing Protocol, so as to announce service identification information under the service gateway or the service router to the neighbor network device through the service routing TLV.
[0007] An embodiment of the present disclosure further provides a neighbor network device, including: a second receiving unit, configured to receive a data packet from a service gateway or a service router, where the data packet includes a service routing type length value TLV based on the 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.
[0008] An embodiment of the present disclosure further provides an electronic device, including: a processor; and a memory, configured to store executable instructions of the processor; wherein, the processor is configured to execute the above communication method by executing the executable instructions.
[0009] Embodiments of the present disclosure also provide 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.
[0010] Embodiments of the present disclosure also provide a computer program product, including executable instructions. The executable instructions 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.
[0011] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure. Obviously, the drawings in the following description are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0013] Figure 1 A schematic diagram showing a distributed microservice communication architecture based on service routing according to an embodiment of the present disclosure.
[0014] Figure 2 A flowchart showing a communication method provided by an embodiment of the present disclosure.
[0015] Figure 3 A flowchart showing another communication method provided by an embodiment of the present disclosure.
[0016] Figure 4 A flowchart showing yet another communication method provided by an embodiment of the present disclosure.
[0017] Figure 5 A flowchart showing yet another communication method provided by an embodiment of the present disclosure.
[0018] Figure 6 A schematic diagram showing the structure of a service gateway or a service router provided by an embodiment of the present disclosure.
[0019] Figure 7 A schematic diagram showing the structure of a neighbor network device provided in an embodiment of the present disclosure.
[0020] Figure 8 A block diagram showing the structure of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0021] Example embodiments will now be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various 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 concept of the example embodiments to those skilled in the art. The features, structures, or characteristics described may be combined in any suitable manner in one or more embodiments.
[0022] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus repeated descriptions thereof will be omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0023] For ease of understanding, before introducing the embodiments of the present disclosure, some terms involved in the embodiments of the present disclosure are explained as follows:
[0024] Service refers to a component or microservice in an application. A microservice is a cloud-native architecture approach that combines numerous loosely coupled and individually deployable small components or services to enable code updates and function additions, thereby reducing the costs associated with the entire application.
[0025] Pod, in a Kubernetes cluster, is the basis for all business types and 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.
[0026] Service Gateway, abbreviated as SG, is a service gateway. A service gateway is a component used to manage and protect a service network. It is responsible for processing service requests and responses and provides functions such as security, authentication, filtering, and rate limiting. The service gateway is located at the edge of the service network and 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 various field information of the packet and the routing policy, thereby implementing the function of converting the IP packet into a packet carrying the service route.
[0027] Service Prefix Authentication, abbreviated as SPA, is used to authenticate the service prefix owned by a Pod (i.e., the prefix information of the service name in the following text). SPA is used to store the registered legitimate service prefixes. The service prefix is an identifier used to locate a service and is usually located in front of the service name. It can be used to classify services and help clients select appropriate services according to their needs.
[0028] Service Router, abbreviated as SR.
[0029] In the related art, the service-oriented network architecture is usually implemented in a centralized control manner. The proxy Proxy co-located with the microservices in the Pod completes the common functions required for communication between microservices, such as service registration, service discovery, service scheduling, and service measurement. All communication at the forwarding layer between microservices is implemented through the Proxy. The complex links between Proxies form a new basic communication infrastructure, namely the Service Mesh. The implementation process of the key functions of the service-oriented network architecture in the centralized control manner is as follows: Service registration: The microservice registers with the Proxy to which it belongs, and then the Proxy registers with the centralized control center; Service discovery: The centralized control center sends the relevant service registration information to each Proxy to synchronize the microservice information; Service measurement: The Proxy actively performs quality detection on each target microservice and reports the relevant information to the centralized control center; Service scheduling: The centralized control center sends the relevant service scheduling policies to each Proxy. Each Proxy analyzes the received microservice communication requirements and performs scheduling based on the scheduling policy and the microservice communication requirements.
[0030] In summary, the centralized service-oriented network architecture is difficult to meet the communication requirements of large-scale complex microservice communication, and there are bottlenecks in performance, scalability, and reliability. To solve the problems existing in the centralized service-oriented network architecture, the embodiments of the present disclosure provide a distributed microservice communication architecture based on service routing to better meet the complex communication requirements between microservices.
[0031] The following will describe in detail the specific implementation manners of the embodiments of the present disclosure with reference to the accompanying drawings.
[0032] The distributed microservice communication architecture based on service routing is as Figure 1 shown. By using service routing technology, the network can select the optimal path using the service name, thus shielding the underlying IP addresses.
[0033] As Figure 1As shown in the figure, the system architecture includes microservice 101, multiple service gateways 102, multiple service routers 103, SPA entity 104, and service mesh centralized scheduling center 105. For example, Figure 1 The system is set with 4 service gateways 102, namely service gateways 1 to 4; the system is set with three service routers 103, namely service routers 1 to 3.
[0034] The microservice 101 is a logical set of multiple Pods of a service and the policy for accessing the Pods, and can be regarded as the access interface of a group of Pods providing the same service to the outside. With the help of microservices, applications can easily implement service discovery and load balancing.
[0035] In one embodiment, the Pod where the microservice 101 is located can announce the service identification information of the above-mentioned Pod to the service gateway linked to the Pod.
[0036] One Pod links to one service gateway 102, and one service gateway 102 can link to at least one Pod. For example, in Figure 1 Service gateway 1 links to two Pods. The microservice under one Pod is defined as microservice A / 1, which is included in the service identification information of this one Pod; the microservice under the other Pod is defined as microservice B / 1, which is included in the service identification information of the other Pod. Service gateway 2 links to three Pods. The microservice under one Pod is defined as microservice A / 2, which is included in the service identification information of this one Pod; the microservice under the other Pod is defined as microservice B / 2, which is included in the service identification information of the other Pod; the microservice under another Pod is defined as microservice C / 2, which is included in the service identification information of this another Pod. Service gateway 3 links to two Pods. The microservice under one Pod is defined as microservice A / 3, which is included in the service identification information of this one Pod; the microservice under the other Pod is defined as microservice B / 3, which is included in the service identification information of the other Pod. Service gateway 4 links to two Pods. The microservice under one Pod is defined as microservice A / 4, which is included in the service identification information of this 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.
[0037] The service gateway 102 can also be called an inter-network connector and 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.
[0038] In one embodiment, the service gateway 102 can perform information interaction between the service identification information of each Pod and the corresponding service router 103 through different interfaces of the service gateway 102, and can select the corresponding gateway interface according to service needs.
[0039] The service router 104 may include, but is not limited to, a provider edge router, a hub router, a spoke router, an autonomous system boundary router, a regional border router, etc.
[0040] In addition, the system architecture may further include other suitable network devices such as switches, hubs, modems, bridges, repeaters, multiplexers, network adapters, network interfaces, network racks, chassis, servers, computing devices, one or more combinations or variations of one or more virtual machines, etc., which are shown in the drawings.
[0041] The SPA entity 104 is used to authenticate the service identification information owned by the Pod sent by the service gateway 102. The service gateway 102 implements proxy registration in the SPA manner. After the service gateway 102 passes the authentication to the SPA entity, the service gateway 102 and the service router 103 distribute through a distributed protocol to realize the synchronization of microservice information. One service gateway 102 can be linked to one SPA entity 104.
[0042] The service mesh centralized scheduling center 105 deployed centrally by domain can initiate regular automatic detection to each target microservice according to the service requirements of the service gateway, record and report the detection results, specify the forwarding policy, and send the above forwarding policy to each service gateway and service router in the path, so as to select a service node with superior performance among multiple microservices that can provide the same function.
[0043] The microservice 101 in the embodiments of the present disclosure can be initiated by the client of the application installed in the terminal device. Based on the differences in the terminal platforms, the specific forms of the client of the application can also be different. For example, the client of the application can be a mobile phone client, a PC client, etc.
[0044] Those skilled in the art can know that Figure 1 the numbers of the microservice 101, service gateway 102, service router 103, and SPA entity 104 in [[ ]] are only illustrative. According to actual needs, there can be any number of microservice 101, service gateway 102, service router 103, and SPA entity 104. The embodiments of the present disclosure do not limit this.
[0045] The present disclosure provides a novel fully distributed service mesh implementation architecture, which is suitable for large-scale, single-domain or cross-domain deployment, improves the robustness of the service mesh, can independently deploy the infrastructure, can provide services for multiple organizations at the same time, and has strong practicability. The specific description is as follows through the following embodiments:
[0046] First, an embodiment of the present disclosure provides a communication method, which can be executed by any system with computing and processing capabilities.
[0047] Figure 2 The flowchart of a communication method provided by an embodiment of the present disclosure is shown. As Figure 2 shown, the communication method provided by the embodiment of the present disclosure includes the following steps:
[0048] In S210, the service gateway or service router sends a data packet to its neighbor network device. The data packet includes a service routing type-length-value (TLV) based on the Intermediate System to Intermediate System (IS-IS) routing protocol, to notify the neighbor network device of service identification information under the sending device through the service routing TLV.
[0049] In an exemplary embodiment, the neighbor network device can be a service router or a service gateway.
[0050] In an embodiment of the present disclosure, the service gateway can be any service gateway, such as Figure 1 any one of service gateways 1 to 4. The service router can be any service router, such as any one of service routers 1 to 3. The neighbor network device of the service gateway or service router refers to a network node directly connected to the service gateway or service router, that is, a network device on the same link or an adjacent link as the service gateway or service router. For example Figure 1Among them, the neighbor network devices of service gateway 1 include service router 1 and service router 2, the neighbor network devices of service gateway 2 include service router 1 and service router 2, the neighbor network devices of service gateway 3 include service router 1 and service router 3, and the neighbor network devices of service gateway 4 include service router 2 and service router 3. The neighbor network device of the service gateway or the service router refers to any neighbor network device to which the service gateway or the service router sends the data packet.
[0051] 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 the service gateway or the service router can reach, the namespace, etc. In the following embodiments, it is exemplified that the service identification information includes the name of the service gateway or the service router, and the name prefix of the service that the service gateway or the service router can reach.
[0052] In some embodiments, the neighbor network device of the service gateway is assumed to be a service router directly connected to the service gateway. 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 neighbor service router, and the neighbor service router can forward the message according to the name and name prefix carried in the data packet.
[0053] In the embodiments 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 the service gateway / service router can reach. For example Figure 1 A / 1 of microservice A / 1 and B / 1 of microservice B / 1 in
[0054] The method provided by the embodiments of the present disclosure is a method for announcing service route-related capabilities based on IS-IS (Intermediate System-Intermediate System routing protocol). IS-IS is a routing protocol used to implement routing selection and information exchange in a computer network. It can achieve efficient, reliable and flexible routing selection, providing important support and guarantee for network communication.
[0055] In IS-IS, TLV is a data structure used to describe information, and the description of each element / field is as follows:
[0056] 1. Type: It identifies the type of this TLV. Different TLV types are used to carry different information.
[0057] 2. Length: The data it stores is used to indicate the length of the subsequent third element (value). Since the information described by different TLV types is different, the length of the information may also vary. This field indicates the length of the value in this TLV.
[0058] 3. Value: The length of this field is variable, and the number of bytes it occupies is described in the length field. It is used to store specific service data.
[0059] The embodiments of the present disclosure are used to promote an IGP (Interior Gateway Protocol) protocol extension solution for service routing technology. In related technologies, relevant information of service routing can be transmitted within an autonomous domain using the NLSR protocol. However, NLSR is a protocol specifically designed for service routing, which requires significant changes to existing operator networks. Since the IGP protocol mainly used by large operators is IS-IS, it is necessary to propose a method for transmitting service routing-related information based on the IS-IS protocol extension.
[0060] Service routing is an important part when a distributed service architecture is launched. It refers to the situation where service consumers select service nodes according to specific rules when initiating service calls, so as to meet certain specific requirements. The application scenarios of service routing are very extensive. For example, load balancing in a cloud computing environment: In a cloud computing environment, services usually run on multiple nodes. Service routing can intelligently allocate requests to the most suitable nodes based on the load status of the nodes and the availability of the services, effectively avoiding resource waste and overload problems. Another example is service calls in a distributed application architecture: In a distributed application architecture, different services may exist on different nodes. Service routing can help consumers find the most suitable service nodes, improving the overall service quality and efficiency. Another example is grouped calls: To ensure the high availability of services and meet the requirements of multi-site active-active operation, a service is often deployed in multiple data centers. And for cost-saving and other considerations, some services may be deployed not only in private computer rooms but also in public clouds, or even in multiple public clouds. During this process, service nodes are also divided into different groups according to different data centers. For service consumers, there are corresponding routing rules for selecting which group to call. Another example is gray release: During the process of service launch and release, generally, the service needs to be first released on a small number of service nodes, and then the functionality is verified. If it is normal, the release scope is further expanded; if it is not normal, problems need to be investigated and solved before continuing the release. This process can greatly improve the release efficiency and reduce the release risk. Another example is traffic switching: During the operation of a business line, some force majeure factors often cause business failures, such as the optical cable in a computer room being dug up, or a fire occurring in the computer room, resulting in the unavailability of all services in the computer room. In this case, service routing can help consumers quickly switch to other available nodes to ensure the availability and stability of the services.
[0061] 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 within the same domain, including a primary domain controller and multiple agents, where all computers use the same network ID (identity), that is, a network within the same workgroup. In a single-domain network, all computers use the same network drive and network path in the same file and printer sharing environment. Therefore, a single-domain network can achieve a relatively simple architecture, facilitating central control and management.
[0062] The communication method provided by the embodiments of the present disclosure, when a serving gateway or a serving router sends a data packet to its neighboring network device, carries a service routing TLV based on the IS-IS protocol in the data packet, thereby enabling the serving gateway or the serving router to announce the service identification information under the serving gateway or the serving router to its neighboring network device, such as the name and name prefix under the serving gateway or the serving router. Since the IGP protocol used by large operators is mainly IS-IS, the embodiments of the present disclosure propose a method for transmitting service routing related information based on the IS-IS protocol extension, which can reduce the modification to the existing operator network and reduce costs.
[0063] 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; the value field of the service routing TLV is used to identify the service data that the service routing TLV includes.
[0064] In an exemplary embodiment, the value field of the service routing TLV includes a Length of Sub-TLVs field and a sub-TLVs field; the Length of Sub-TLVs field is used to identify the length of sub-TLVs.
[0065] In the embodiments of the present disclosure, in the IS-IS protocol, by allowing the service route TLV to carry sub-TLVs (sub-TLV), these sub-TLVs can be used to provide more detailed or specific information.
[0066] In an exemplary embodiment, the value field of the service route TLV further includes a system identifier and a pseudonode number field, and the system identifier and the pseudonode number field are used to enable the neighboring network device to recognize the service gateway or service router (The value field includes a system ID and pseudonode number field,which isused to enable the neighboring network device to recognize the service routeror service gateway.).
[0067] In an exemplary embodiment, the sub-TLV field includes a prefix sub-TLV for notifying the neighboring network device of the prefix-related information of the service route or service router (The sub-TLVs field includes a Prefixsub-TLV for notifying the service gateway or service router of the prefixrelated information.). The service identification information includes the prefix-related information.
[0068] 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 lengthfield,and a value field,where:the type field is used to identify the typevalue of the Prefix sub-TLV;the length field is used to identify the lengthof 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.
[0069] 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.
[0070] 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; the signature field is used to identify the signature of the data packet.
[0071] In an exemplary embodiment, the value field of the prefix sub-TLV further includes a name prefix number field and a set of optional sub-sub-TLV fields. The name prefix number 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 fields include at least one name prefix sub-sub-TLV for advertising the prefix information of the service gateway or service router to the neighboring network device.
[0072] For example, the value field of the prefix sub-TLV can be expressed in English as:
[0073] The value field includes a length of name field,a name field,a lengthof signature field,a signature field,a number of name prefixes field and aset of optional sub-sub-TLVs field,where:
[0074] The length of name field is used to identify the length of the namefield.
[0075] The name field is used to identify the name of the service gateway orservice router.
[0076] The length of signature field is used to identify the length of thesignature.
[0077] The signature field is used to identify the signature of the datapacket.
[0078] The number of name prefixes field is used to identify the number ofname prefixes contained in the set of optional sub-sub-TLVs field.
[0079] The optional sub-sub-TLVs field includes at least one service nameprefix sub-sub-TLV for notifying the neighbor devices of the prefixinformation of the service gateway or service router.
[0080] In the embodiments of the present disclosure, by having the sub-TLVcarry other types of sub-TLVs, these sub-TLVs are referred to as sub-sub-TLVs (sub-sub TLVs) and are used to provide more detailed or morespecific information.
[0081] In an exemplary embodiment, the name prefix sub-sub-TLV includes atype field, a length field, and a value field. The type field of the nameprefix sub-sub-TLV is used to identify the type value of the name prefixsub-sub-TLV; the length field of the name prefix sub-sub-TLV is used toidentify the length of the service name prefix sub-sub-TLV; the valuefield of the name prefix sub-sub-TLV includes a prefix name field, andthe prefix name field is used to identify the name prefix of the serviceable to be reached by the service gateway or service router.
[0082] In an exemplary embodiment, the third value field further includes a firstreserved field. For example, the name prefix sub-sub-TLV can beexpressed as:
[0083] 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. The length field is used to identify the length of the name prefix sub-sub-TLV. The value field includes a reserved field and a name prefix field. The name prefix field is used to identify the name prefix of the service which the service gateway or service router can reach.
[0084] Embodiments of the present disclosure provide a method for IS-IS advertisement of service routing related capabilities. This method defines 1 new IS-IS TLV type (i.e., Service Routing TLV, denoted as "Service Routing TLV"), 2 IS-IS sub-TLV types (i.e., Prefix sub-TLV, denoted as "Prefix sub-TLV"; and, Service Router capability Sub-TLV, denoted as "Service Router capability Sub-TLV"), and 1 sub-sub-TLV type (i.e., Name Prefix sub-sub-TLV, denoted as "Name Prefix sub-sub-TLV"), enabling network devices supporting service routing functions to advertise the name and name prefix of service routing through "Service Routing TLV", and enabling neighbor network devices supporting service routing functions to advertise information about their own service routing support capabilities through "Service Router capability Sub-TLV". It can be understood that in the embodiments of the present disclosure, the service gateway or service router sending the data packet and its neighbor network device are neighbors to each other. Therefore, in some embodiments, the neighbor 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 neighbor network device.
[0085] In an embodiment of the present disclosure, a new IS-IS TOP TLV: Service Routing TLV is defined, and "Prefix sub-TLV" and "Name Prefix sub-sub-TLV" are defined in this TLV to announce the name and name prefix to neighboring network devices. The TOP TLV is the top-level TLV in IS-IS. Since service routing is a relatively new technology and there is no ready-made TOP TLV available for reuse, and there may be more technologies to be extended in the future for service routing, a TOP TLV is directly defined in an embodiment of the present disclosure.
[0086] In an embodiment of the present disclosure, a new "Service Router capability Sub-TLV" is defined in the IS-IS Router Capability TLV (routing capability TLV), so that neighboring network devices can use this "Service Router capability Sub-TLV" to announce to its service gateway or service router the ability of the neighboring network device to support service routing processing, so that the service gateway or service router can know that when sending data packets to the neighboring network device, it can carry the Service Routing TLV.
[0087] The message format of the Service Routing TLV provided by an embodiment of the present disclosure can be as shown in Table 1 below.
[0088] Table 1
[0089]
[0090] In Table 1 above, Type (type field): (which can occupy 1 byte, but the present disclosure is not limited thereto) identifies the type value of this Service Routing TLV, that is, this Type value can uniquely determine that this TLV is a Service Routing TLV, so as to distinguish it from other TLVs in the IS-IS protocol. This value can be allocated after the standard is successfully established. The present disclosure does not limit its specific value, as long as it can uniquely identify this Service Routing TLV. Length (length field): (which can occupy 2 bytes, but the present disclosure is not limited thereto) identifies the length of the Service Routing TLV. The system ID (system identifier), the pseudonode number, the Length of Sub-TLVs, and the Sub-TLVs constitute the "value (value field)" of the Service Routing TLV.
[0091] Among them, system ID and pseudo node count: (which can occupy 7 bytes, but the present disclosure is not limited thereto) are used to enable neighbor network devices of a service gateway or a service router to identify the service gateway or the service router, and the neighbor network device refers to an 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 NodeCount) refers to the number of pseudo nodes in the IS-IS network. A pseudo node is a special node used to simulate the network topology in the IS-IS protocol. It does not have an actual physical existence, but is represented as a real node in routing calculations and the routing table. The purpose of the pseudo node count is mainly to help the router better understand the network topology structure and make correct forwarding path selections in routing calculations. The system ID and pseudo node count are not specific fields in the TLV, but are concepts related to the IS-IS protocol. In a specific TLV, there may be other information related to the system ID and pseudo node count to support specific routing policies or network topology structures.
[0092] Length of Sub-TLVs: The length of the Sub-TLVs carried in the Service Routing TLV (which can occupy 1 byte, but the present disclosure is not limited thereto).
[0093] Sub-TLVs: At least one sub-TLV carried in the Service Routing TLV, and its length is variable.
[0094] In the embodiments of the present disclosure, a Service Routing TLV is introduced into the IS-IS protocol. The Service Routing TLV is a type of TLV used to support service routing. It allows the SG / SR to learn and publish service routing information in the IS-IS network so as to direct data flows to specific services.
[0095] The Value field of the Service Routing TLV contains one or more sub-TLVs for providing specific information about service routing. For example, it may contain a service name, a next-hop address, a port number, etc. By using the Service Routing TLV, the SR can learn the routing information of the target service and add it to the routing table so as to correctly forward the data flow 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.
[0096] In the embodiments of the present disclosure, in order to be able to carry a name, a new sub-TLV type is defined: Prefix Sub-TLV, and its message format is shown in Table 2 below.
[0097] Table 2
[0098]
[0099] In Table 2 above, Type (type field): (which can occupy 1 byte, but the present disclosure is not limited thereto) identifies the type of the PrefixSub-TLV; this Type value is used to uniquely determine that this sub-TLV is a Prefix Sub-TLV. When the Prefix sub-TLV is the first Sub-TLV defined under the Service Routing TLV, it is recommended to take the value 1, but the present disclosure is not limited thereto, and this value can be assigned according to actual needs as long as it can uniquely distinguish that this sub-TLV is a Prefix Sub-TLV. Length (length field): (which can occupy 2 bytes, but the present disclosure is not limited thereto) identifies the total length of this Prefix Sub-TLV. The 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 Setof optional sub-sub-TLVs (a set of optional sub-sub TLVs) constitute the value (value field) of the Prefix Sub-TLV.
[0100] Among them, Length of S-Name: (which can occupy 2 bytes, but the present disclosure is not limited thereto) identifies the length of the Name 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 (which can occupy 1 byte, but the present disclosure is not limited thereto): the length of the signature. Signature (signature, variable length): contains the signature for the data packet. The role of the signature is to verify the data packet to prevent receiving maliciously attacked or erroneously sent data packets. Here, the data packet refers to the data packet carrying the Service Routing TLV. Number of name prefixes (which can occupy 1 byte, but the present disclosure is not limited thereto): 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 values 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 the routing calculation and routing table, helping the router better understand the network topology and make the correct forwarding path selection in the routing calculation. In addition, name prefixes can also be used to indicate specific types of network devices or services. For example, during the configuration of network devices, the administrator can classify and identify different devices or services by specifying name prefixes. The specific name prefixes and their usage methods may vary depending on the network protocol and application scenario. In the actual application of computer networks, it is necessary to determine which name prefixes to use and how to interpret and process the information they identify according to specific network protocols and requirements.
[0101] The role of the Prefix Sub-TLV is to provide additional information about a specific prefix in the routing table. It can be used to describe a specific part of the network, helping the SR better understand the network topology and make the correct forwarding path selection in the routing calculation. By using the Prefix Sub-TLV and other related TLVs, the SR can collect information about the network topology and routing and correctly represent this information in the routing table so as to correctly forward the data stream to the target address.
[0102] Since a Prefix Sub-TLV may contain multiple name prefixes, to facilitate network devices (including the serving gateway or serving router that sends the data packet and its neighboring network devices) in distinguishing each name prefix, a sub-sub-TLV type is defined for the Prefix Sub-TLV: Name Prefix sub-sub-TLV, and its message format is shown in Table 3 below:
[0103] Table 3
[0104]
[0105] In Table 3 above, Type (type field, which can occupy 1 byte, but this disclosure does not limit it to this): identifies the type of the Name Prefix sub-sub-TLV. It is recommended that the value can be 1, but this disclosure does not limit it to this. As long as it can uniquely determine that this sub-sub-TLV is the Name Prefix sub-sub-TLV. Length (length field, which can occupy 2 bytes, but this disclosure does not limit it to this): identifies the total length of this Name Prefix sub-sub-TLV. Reserved (which can occupy 1 byte, but this disclosure does not limit it to this): reserved field. Name prefix (variable length): contains the specific value of the Name Prefix. The value field can include Reserved and Name prefix in Table 3.
[0106] The Name Prefix sub-sub-TLV is used to announce the name prefix to neighboring network devices. The Name Prefix sub-sub-TLV provides more information for a specific prefix in the routing table. It can be used to describe a specific part of the network, helping the SR better understand the network topology and make the correct forwarding path selection in routing calculations. By using the Name Prefix sub-sub-TLV and other related TLVs, the SR can collect information about the network topology and routing and correctly represent this information in the routing table so as to correctly forward the data stream to the target address.
[0107] The function of the IS-IS Router Capability TLV is to enable a network device (such as a neighboring network device) to announce its capabilities to other devices within the autonomous domain (such as the service gateway or service router that sends the data packet mentioned above). To enable a network device to announce its ability to handle service routing to other network devices within its autonomous domain, a new sub-TLV type is defined: Service Router capability Sub-TLV, and its message format is shown in Table 4 below:
[0108] Table 4
[0109]
[0110] In Table 4 above, Type (type field, which can occupy 1 byte, but the present disclosure is not limited thereto): identifies that the type of this sub-TLV is 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 this sub-TLV is Service Router capability Sub-TLV. Length (length field, which can occupy 2 bytes, but the present disclosure is not limited thereto): identifies the total length of this Service Router capability Sub-TLV. Reserved (which can occupy 1 byte, but the present disclosure is not limited thereto): reserved field. Name (variable length): identifies the name of the device that sends this Service Router capability Sub-TLV. That is, as long as the Router Capability TLV sent by this device carries a Service Router capability Sub-TLV, it means that this device has the ability to process 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:
[0111] The type field is used to identify the type value of the service router capability sub-TLV.
[0112] The length field is used to identify the length of the service router capability sub-TLV.
[0113] 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 refers to the neighboring network device that sends the "routing capability TLV").
[0114] Router Capability TLV is used to transfer specific capability information between routers, such as supported protocol versions, routing protocol parameters, etc. By using Router Capability TLV, routers can exchange capability information with each other in the network so as to perform appropriate configuration and routing calculations according to the capabilities of each other. In the embodiments of the present disclosure, in the IS-IS protocol, Service Router capability Sub-TLV is a sub-TLV used to describe the capabilities of a router, and it is a sub-field in Router Capability TLV.
[0115] Next, in combination with Figure 1 an example will be given to illustrate the method provided by the embodiments of the present disclosure. In Figure 1 the distributed microservice communication architecture based on service routing shown, Service Router is a network device (service router) capable of processing service routing, and Service Gateway is the service gateway of the service-oriented network.
[0116] During the network initialization process, both Service Router and Service Gateway send packets carrying Service Router capability Sub-TLV to other devices in their respective autonomous domains. The Name in Service Router capability Sub-TLV = the name of the device that sends the packet. For example Figure 1 in, Service Gateways 1 to 4 and Service Routers 1 to 3 are in the same autonomous domain. The names of each SG and SR can be named according to their locations, but the present disclosure is not limited thereto.
[0117] The service gateway 1 can learn the name prefixes of microservice A / 1 and microservice B / 1, assumed to be A / 1 and B / 1. The service gateway 1 (as a network device) sends a data packet carrying a Service Routing TLV to the service router 1 and / or service router 2 (as neighbor network devices) directly connected to it, and its format is shown in Table 5 below.
[0118] Table 5
[0119]
[0120] In the embodiments of the present disclosure, it is assumed that there are service router 1 and service router 2 directly connected to the service gateway 1, that is, the neighbor network devices of the 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 a Service RouterCapability sub-TLV to service gateway 1, while service router 2 does not send a Service Router Capability sub-TLV to service gateway 1. Then service gateway 1 only sends a Service Routing TLV to service router 1. At this time, service router 1 can also be called the target neighbor network device of service gateway 1.
[0121] After the SR receives the data packet carrying the Service Routing TLV, it continues to send a data packet carrying a new Service Routing TLV to other SRs or SGs directly connected to it, and the name in the new data packet is changed to the name of this SR.
[0122] The embodiments of the present disclosure expand the IS-IS protocol so that it can carry service routing related information, and carry the service routing related information based on the TLV format, which can ensure that the modification to the IS-IS protocol is minimized. It enables service routing to be transmitted not only based on NLSR, but also based on IS-IS, expanding the application scenarios of service routing.
[0123] The method provided by the embodiments of the present disclosure, on the one hand, newly defines an IS-IS TOP TLV: ServiceRouting TLV, and defines a "Prefix Sub-TLV" and a "Name Prefix sub-sub-TLV" in this TLV to announce the name and name prefix to neighbors, 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 "Service Router capability Sub-TLV" is newly defined in the IS-IS Router Capability TLV to announce the capability of the network device to support service routing processing. The embodiments of the present disclosure carry service routing related information by extending the IS-IS protocol, which is achieved by defining new TLV types, and at the same time minimize the changes to the IS-IS protocol, so as to ensure compatibility with the original protocol while extending the protocol. The method provided by the embodiments of the present disclosure can be applied to both single autonomous domain scenarios that support service routing and scenarios where service routing coexists with the IP network. The coexistence of service routing and the IP network means that both service routing and IP routing are deployed and used in the IP network.
[0124] The method for transmitting service routing related information based on the extension of the IS-IS protocol proposed by the embodiments of the present disclosure enables autonomous domains deploying IS-IS to also transmit service routing related information. On the one hand, it expands the usage scenarios of service routing, and on the other hand, it also enables the local network deploying the IS-IS protocol to expand more network services based on service routing.
[0125] Figure 3 The flowchart of another communication method provided by the embodiments of the present disclosure is shown. As Figure 3 shown, the communication method provided by the embodiments of the present disclosure includes the following steps:
[0126] In S310, a service gateway or a service router receives a routing capability TLV based on the Intermediate System to Intermediate System routing protocol sent by its neighbor network device. 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.
[0127] In an exemplary embodiment, the service routing capability sub-TLV includes a type field, a length field, and a value field;
[0128] The type field of the service routing capability sub-TLV is used to identify the type value of the service routing capability sub-TLV;
[0129] The length field of the service routing capability sub-TLV is used to identify the length of the service routing capability sub-TLV;
[0130] 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.
[0131] In an exemplary embodiment, the value field of the service routing capability sub-TLV further includes a reserved field.
[0132] In S210, a service gateway or a service router sends a data packet to its neighbor network device, and the data packet includes a service routing type length value TLV based on the intermediate system to intermediate system routing protocol, so as to announce service identification information under the service gateway or the service router to the neighbor network device through the service routing TLV.
[0133] Figure 4 The flowchart showing yet another communication method provided by an embodiment of the present disclosure. As Figure 4 shown, the communication method provided by an embodiment of the present disclosure includes the following steps:
[0134] In S410, a neighbor network device receives a data packet from a service gateway or a service router, and the data packet includes a service routing type length value TLV based on the intermediate system to intermediate system routing protocol, so as to learn service identification information under the service gateway or the service router through the service routing TLV.
[0135] Figure 5 The flowchart showing yet another communication method provided by an embodiment of the present disclosure. As Figure 5 shown, the communication method provided by an embodiment of the present disclosure includes the following steps:
[0136] In S510, a neighbor 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, and 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 capabilities.
[0137] In S410, a neighbor network device receives a data packet from a service gateway or a service router, and the data packet includes a service routing type length value TLV based on the intermediate system to intermediate system routing protocol, so as to learn service identification information under the service gateway or the service router through the service routing TLV.
[0138] Figure 6 The schematic structural diagram showing a service gateway or a service router provided by an embodiment of the present disclosure. As Figure 6As shown, the service gateway or service router 600 provided by the embodiments of the present disclosure includes a first sending unit 610. The first sending unit 610 is configured to send data packets to neighbor network devices of the service gateway or service router. The data packets include service route type length value (TLV) based on the Intermediate System to Intermediate System (IS-IS) routing protocol, so as to announce service identification information under the service gateway or service router to the neighbor network devices through the service route TLV.
[0139] In an exemplary embodiment, the service gateway or service router 600 further includes a first receiving unit 620, configured to receive the routing capability TLV based on the Intermediate System to Intermediate System (IS-IS) routing protocol sent by the neighbor network device. 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 capabilities.
[0140] Figure 7 The structure diagram of a neighbor network device provided by the embodiments of the present disclosure is shown. As Figure 7 As shown, the neighbor network device 700 provided by the embodiments of the present disclosure may include a second receiving unit 710, configured to receive data packets from the service gateway or service router. The data packets include service route type length value (TLV) based on the Intermediate System to Intermediate System (IS-IS) routing protocol, so as to obtain service identification information under the service gateway or service router through the service route TLV.
[0141] In an exemplary embodiment, the neighbor network device 700 further includes a second sending unit 720, configured to send the routing capability TLV based on the Intermediate System to Intermediate System (IS-IS) routing protocol to the service gateway or service router. 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 capabilities.
[0142] Those skilled in the art can understand that various aspects of the present invention can be implemented as a system, a method, or a program product. Therefore, various aspects of the present invention can be specifically implemented in the following forms, namely: a complete hardware implementation manner, a complete software implementation manner (including firmware, microcode, etc.), or an implementation manner combining hardware and software aspects, which can be collectively referred to as "circuit", "module", or "system" here.
[0143] Next, refer to Figure 8 to describe the electronic device 800 according to this embodiment of the present invention. Figure 8 The electronic device 800 shown is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present invention.
[0144] As Figure 8As shown, the electronic device 800 is presented in the form of a general-purpose computing device. The components of the electronic device 800 may include, but are not limited to: at least one of the above-mentioned processing units 810, at least one of the above-mentioned storage units 820, and a bus 830 that connects different system components (including the storage unit 820 and the processing unit 810).
[0145] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 810, so that the processing unit 810 executes the steps according to various exemplary embodiments of the present invention described in the "Exemplary Method" section of the present specification.
[0146] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 8201 and / or a cache storage unit 8202, and may further include a read-only storage unit (ROM) 8203.
[0147] 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 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment.
[0148] The bus 830 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0149] The electronic device 800 can also communicate with one or more external devices 840 (such as a keyboard, a pointing device, a Bluetooth device, etc.), can also communicate with one or more devices that enable a user to interact with the system, and / or can communicate with any device that enables the electronic device 800 to communicate with one or more other computing devices (such as a router, a modem, etc.). Such communication can be carried out through an input / output (I / O) interface 850. And, the system can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 860. As Figure 8 shown, the network adapter 860 communicates with other modules of the electronic device 800 through the bus 830. It should be understood that although not shown in the figure, other hardware and / or software modules can be used in combination 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, etc.
[0150] Through the description of the above embodiments, those skilled in the art can easily understand that the exemplary embodiments described herein can be implemented by software or by a combination of software and necessary hardware. Therefore, the technical solutions 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 (such as a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (such as 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.
[0151] In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium, on which a program product capable of implementing the above method of this specification is stored. In some possible implementation manners, various aspects of the present invention can also be implemented in the form of a program product, which includes program code. When the program product runs on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of this specification.
[0152] A program product for implementing the above method according to an embodiment of the present invention is described, which can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can 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, the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device.
[0153] The program product can adopt any combination of one or more readable media. The readable media can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive list) of the readable storage medium include: an electrical connection having 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0154] A computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which readable program code is carried. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. The readable signal medium may also be any readable medium other than a readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device.
[0155] The program code contained 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.
[0156] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages. The programming languages include object-oriented programming languages such as Java, C++, etc., and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user computing device, partly on the user device, as a stand-alone software package, partly on the user computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through 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., through the Internet using an Internet service provider).
[0157] It should be noted that although several modules or units of the devices for action execution are mentioned in the foregoing detailed description, such a division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more of the above-described modules or units may be embodied in one module or unit. Conversely, the features and functions of one module or unit described above may be further divided and embodied by a plurality of modules or units.
[0158] In addition, although the steps of the methods in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in that specific order, or that all of the shown steps must be performed to achieve the desired result. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step for execution, and / or one step may be decomposed into multiple steps for execution, etc.
[0159] Those skilled in the art can easily understand from the description of the above embodiments that the exemplary embodiments described herein can be implemented by software or by a combination of software and necessary hardware. Therefore, the technical solutions 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 (such as a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (such as 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.
[0160] After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily conceive of other embodiments of the present disclosure. This application is intended to cover any variations, uses, or adaptations of the present disclosure, which follow the general principles of the present disclosure and include known common knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and examples are only illustrative, and the true scope and spirit of the present disclosure are pointed out by the appended claims.
Claims
1. A communication method, characterized in that, it includes: A serving gateway or a serving router sends a data packet to its neighboring network device, and the data packet includes a service route type length value TLV based on the Intermediate System to Intermediate System Routing Protocol, so as to announce service identification information under the serving gateway or the serving router to the neighboring network device through the service route TLV.
2. The method according to claim 1, characterized in that, 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 included in the service route TLV.
3. The method according to claim 2, characterized in that, 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 represent the length of the sub-TLV.
4. The method according to claim 3, characterized in that, the value field of the service route TLV further includes a system identification and a pseudo-node number field, and the system identification and the pseudo-node number field are used to enable the neighboring network device to identify the serving gateway or the serving router.
5. The method according to claim 3, characterized in that, the sub-TLV field includes a prefix sub-TLV, so as to announce prefix-related information of the serving gateway or the serving router to the neighboring network device.
6. The method according to claim 5, characterized in that, 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, characterized in that, 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 serving gateway or the serving router.
8. The method according to claim 7, characterized in that, 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; the signature field is used to identify the signature of the data packet.
9. The method according to claim 7 or 8, characterized in that, the value field of the prefix sub-TLV further includes a name prefix quantity field and a group of optional sub-sub-TLV fields; the name prefix quantity field is used to identify the number of name prefixes included in the group of optional sub-sub-TLV fields; the optional sub-sub-TLV fields include at least one name prefix sub-sub-TLV, so as to announce the prefix information of the serving gateway or the serving router to the neighboring network device.
10. The method according to claim 9, characterized in that, 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 the name prefix of the service that the service gateway or service router can reach.
11. The method according to claim 10, wherein, the value field of the name prefix sub-sub TLV further includes a reserved field.
12. The method according to claim 1, wherein, further comprising: The service gateway or service router receives a routing capability TLV based on the Intermediate System to Intermediate System Routing Protocol sent by the neighbor network device, and 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 capabilities.
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 further includes a reserved field.
15. A communication method, wherein, comprising: The neighbor network device receives a data packet from the service gateway or service router, and the data packet includes a service routing type length value TLV based on the Intermediate System to Intermediate System Routing Protocol, so as to obtain service identification information under the service gateway or service router through the service routing TLV.
16. The method according to claim 15, wherein, further comprising: 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, and 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 capabilities.
17. A service gateway or service router, wherein, comprising: A first sending unit, configured to send a data packet to a neighbor network device of the service gateway or service router, and the data packet includes a service routing type length value TLV based on the Intermediate System to Intermediate System Routing Protocol, so as to announce service identification information under the service gateway or service router to the neighbor network device through the service routing TLV.
18. A neighbor network device, wherein, comprising: A second receiving unit, configured to receive data packets from a serving gateway or a serving router, where the data packets include service route type length value (TLV) based on an Intermediate System to Intermediate System (IS-IS) routing protocol, so as to obtain service identification information under the serving gateway or the serving router through the service route TLV.
19. An electronic device, characterized in that it comprises: a processor; and a memory, configured to store executable instructions of the processor; wherein the processor is configured to execute the method according to any one of claims 1-16 by executing the executable instructions.
20. A computer-readable storage medium, having stored thereon a computer program, characterized in that when the computer program is executed by a processor, the method according to any one of claims 1-16 is implemented.