WO2022089169A1 - 计算路由信息发送方法、装置、设备及存储介质 - Google Patents
计算路由信息发送方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- WO2022089169A1 WO2022089169A1 PCT/CN2021/122688 CN2021122688W WO2022089169A1 WO 2022089169 A1 WO2022089169 A1 WO 2022089169A1 CN 2021122688 W CN2021122688 W CN 2021122688W WO 2022089169 A1 WO2022089169 A1 WO 2022089169A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computing
- router
- calculation
- message
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 176
- 230000006870 function Effects 0.000 claims description 195
- 230000004044 response Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 238000002716 delivery method Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Definitions
- the present application relates to the field of communications, and in particular, to a method, apparatus, device and storage medium for sending calculation routing information.
- the server-side application constitutes "functional components” and is deployed on the cloud platform, which is uniformly scheduled by the application programming interface gateway (API), which can realize the time departure function. Components are dynamically instantiated on demand.
- the business logic in the server can be transferred to the client side through the container technology, and the client side only needs to care about the "computing function" itself, and does not need to perceive the computing location and computing resources such as servers/virtual machines/containers.
- Embodiments of the present application provide a method, device, device, and storage medium for sending computing routing information, which can improve data exchange efficiency between computing node devices.
- the technical solution is as follows:
- a method for sending calculation routing information is provided, the method is executed by a router, and the method includes:
- the computing routing information includes business capability information or computing capability information of the computing container; the computing capability information is used to indicate the computing capability corresponding to the computing container; the business capability information is used to indicate the computing The business processing capability of the container;
- the shortest path tree including the shortest paths of the router to other routers in the network
- the calculated route information is sent to each other router in the network.
- the calculated route information further includes a service or function identifier.
- the calculated route information further includes a hotspot attribute value, and the hotspot attribute value is used to indicate whether the service or application corresponding to the calculated route information is a hotspot service;
- the sending the calculated route information to other routers in the network according to the shortest path tree including:
- the calculated route information is sent to other routers in the network according to the shortest path tree.
- the method further includes:
- the RIB routing table or the FIB forwarding table corresponding to the router is generated or updated.
- the generating or updating the RIB routing table or the FIB forwarding table corresponding to the router according to the calculated routing information includes:
- route calculation is performed on the network, and a RIB or FIB table corresponding to the router is generated or updated.
- the method further includes:
- the calculation request message is used to obtain a calculation program or a calculation result;
- the calculation request message contains a service or function identifier;
- the calculation request message is sent according to the first type of egress port or the first type of next hop address corresponding to the service or function identifier.
- the method further includes:
- the address information contained in the response message determine the first type of egress port or the first type of next hop address corresponding to the response message;
- the response message is sent according to the first type of egress port or the first type of next hop address corresponding to the response message.
- the method further includes:
- the subscription message is used to obtain a calculation program or a calculation result
- the subscription message is sent to each other router in the network through the second type of egress port or the second type of next hop address corresponding to the shortest path tree.
- the obtaining the subscription message includes:
- the obtaining the shortest path tree includes:
- the subscription message includes a service or function identifier
- the method further includes:
- the receiving and calculating routing information includes:
- a device for sending calculation routing information is provided, the device is used in a router, and the device includes a data plane unit and a control plane unit; the control plane unit includes a basic routing layer module and a function routing layer module;
- the function routing layer module is configured to receive calculation routing information, where the calculation routing information includes business capability information or computing capability information of the computing container; the computing capability information is used to indicate the computing capability corresponding to the computing container; the The service capability information is used to indicate the service processing capability of the computing container;
- the basic routing layer module is used to obtain a shortest path tree, where the shortest path tree includes the shortest paths from the router to other routers in the network;
- the function routing layer module is configured to send the calculated routing information to other routers in the network according to the shortest path tree.
- a routing device in yet another aspect, includes a processor, a memory, and a transceiver;
- the transceiver is configured to receive computing routing information, where the computing routing information includes business capability information or computing capability information of the computing container; the computing capability information is used to indicate the computing capability corresponding to the computing container; the business capability The information is used to indicate the service processing capability of the computing container;
- the processor configured to obtain a shortest path tree, where the shortest path tree includes the shortest paths from the router to other routers in the network;
- the transceiver is configured to send the calculated route information to other routers in the network according to the shortest path tree.
- a computer device in yet another aspect, includes a processor and a memory, the memory stores at least one instruction, at least a piece of program, a code set or an instruction set, the at least one instruction, the at least one A piece of program, the code set or the instruction set is loaded and executed by the processor to implement the above method for sending calculation routing information.
- a computer-readable storage medium stores at least one instruction, at least one piece of program, code set or instruction set, the at least one instruction, the at least one piece of program, the code
- the set or instruction set is loaded and executed by the processor to implement the above-mentioned method for sending calculation route information.
- a computer program product or computer program comprising computer instructions stored in a computer-readable storage medium.
- the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above method for sending calculation routing information.
- the technical solution provided by the present application may include the following beneficial effects: when the router receives the calculation routing information containing the calculation capability for indicating the calculation container, it obtains the shortest path tree of other routers in the routing domain corresponding to the router, and according to the corresponding routing information of the router The shortest path tree sends the calculated route information to each other router in the network corresponding to the router, so that each router performs route calculation according to the calculated route information.
- the above solution enables the router to perform routing calculation according to the calculated routing information distributed through the shortest path tree. While the routing path selection takes the computing capability of the computing container into consideration, the traffic consumed for sending the calculated routing information is reduced.
- FIG. 1 is a schematic diagram of a network including computing containers according to an exemplary embodiment
- FIG. 2 is a schematic flowchart of a method for sending calculation routing information according to an exemplary embodiment
- Fig. 3 is a method flow chart of a method for sending calculation routing information provided according to an exemplary embodiment
- Fig. 4 shows the router involved in the embodiment shown in Fig. 3 and the FIB table entry setting diagram
- Fig. 5 shows a network architecture diagram involved in the embodiment shown in Fig. 3;
- Fig. 6 shows a network architecture diagram of a function routing layer involved in the embodiment shown in Fig. 3;
- Fig. 7 shows a network architecture diagram of a function routing layer involved in the embodiment shown in Fig. 3;
- FIG. 8 is a schematic flowchart of a routing method involved in the embodiment shown in FIG. 3;
- FIG. 9 is a schematic flowchart of a routing method involved in the embodiment shown in FIG. 3;
- FIG. 10 is a block diagram showing the structure of an apparatus for sending calculation route information according to an exemplary embodiment
- FIG. 11 is a schematic block diagram of an electronic device provided by an exemplary embodiment of the present application.
- FIG. 12 is a schematic structural diagram of an electronic device provided by an exemplary embodiment of the present application.
- Container technology refers to effectively dividing the resources of a single operating system into isolated groups in order to better balance conflicting resource usage requirements among the isolated groups.
- a container is a lightweight, operating system-level virtualization technology that allows us to run applications and their dependencies in the process of resource isolation. All necessary components required to run an application are packaged into a single image, the image is reusable. When the image runs, it runs in a separate environment and does not share the host operating system's memory, central processing unit (CPU) or disk with other applications. This ensures that processes inside the container will not affect any processes outside the container.
- CPU central processing unit
- a router is a hardware device that connects two or more networks. It acts as a gateway between the networks. It is a special intelligent network device that reads the address in each data packet and then decides how to transmit. It can understand different protocols, such as the Ethernet protocol used by a local area network, and the transmission control protocol/internet protocol (TCP/IP) used by the Internet. In this way, the router can analyze the destination addresses of data packets from various types of networks, convert the addresses of non-TCP/IP networks into TCP/IP addresses, or vice versa; The best route is sent to the designated location.
- the network layer relay and the third layer relay task completed by the router in the open system interconnect reference model (OSI/RM), the data packets between different networks are stored and packet forwarded.
- OSI/RM open system interconnect reference model
- the main thing is to separate the networks in different logics.
- the data is transmitted from one subnet to another and can be processed by the router's routing function.
- routers In network communication, routers have the function of judging network addresses and selecting IP paths. They can build flexible link systems in multiple network environments and link each subnet through different data packets and media access methods. In operation, the router only accepts the information transmitted by the source station or other related routers. It is an interconnection device based on the network layer.
- the router of the present application can also be replaced by a switch.
- Routing domain Routing domain
- the routing domain generally refers to an autonomous system.
- an autonomous system is a small unit that has the right to autonomously decide which routing protocol should be used in the system.
- This network unit can be a simple network or a network group controlled by one or more general network administrators, it is a single manageable network unit (such as a university, a business or a company individual).
- Network topology refers to the physical layout of various devices interconnected by transmission media. Refers to the specific physical or real or logical or virtual arrangement among members of the network. If the connection structures of the two networks are the same, the network topology of the two networks can be said to be the same, although the physical wiring and the distance between the nodes of the two networks may be different.
- FIG. 1 is a schematic diagram of a network including computing containers according to an exemplary embodiment.
- the network may be a routing domain, and the routing domain may include computing containers and routers, wherein the number of computing containers and the routers is not limited herein.
- Each node in Figure 1 can be a router or a network routing node, an edge is a link between adjacent nodes, and the weighted value can also be called a link state, and a link between adjacent nodes can be It is a directly connected physical link or a logical link reachable through a network.
- the computing container and the router can be connected through a virtual link. As shown in FIG.
- the computing container (computing node) 104 corresponding to function X and the computing container (computing node) 105 corresponding to function Y are added to the routing domain as leaf routers, thereby
- the computing power of the computing container can be injected into the network through routing protocols, such as through interior gateway protocols (IGP) or border gateway protocols (BGP), into adjacent ingress routers in the routing domain topology , and then the ingress router spreads the computing power of the computing container as a kind of computing routing information to each router in the routing domain, so that each router in the routing domain will get the information of the computing container with computing power in the routing domain, and finally
- the router calculates an appropriate route based on the computing capability to forward client service requests and terminal data to multiple edge sites or computing containers to achieve load balancing.
- the computing container in the embodiment of the present application may be a server, a virtual machine or a container, or a smaller unit providing computing resources
- the above computing container may also be a user terminal, and the user terminal may be a mobile phone or a tablet computer.
- the above computing container can also be a computing server
- the computing server can be a server, or include Several servers, or a virtualization platform, or a cloud computing service center, etc.
- the above router may be a wired router, a wireless router, or a switch with a routing function.
- the above router performs data transmission through a communication network.
- the communication network is a wired network or a wireless network.
- the above-mentioned wireless network or wired network uses standard communication technologies and/or protocols.
- the network is usually the Internet, but can be any network, including but not limited to Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), mobile, wired or wireless network, private network, or any combination of virtual private networks).
- data exchanged over a network is represented using technologies and/or formats including Hyper Text Mark-up Language (HTML), Extensible Markup Language (XML), and the like.
- HTML Hyper Text Mark-up Language
- XML Extensible Markup Language
- you can also use services such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Network (VPN), Internet Protocol Security (IPsec) and other conventional encryption techniques to encrypt all or some of the links.
- custom and/or dedicated data communication techniques may also be used in place of or in addition to the data communication techniques described above. This application is not limited.
- FIG. 2 is a schematic flowchart of a method for sending calculation routing information according to an exemplary embodiment.
- the method is used in the network containing computing containers in the embodiment shown in FIG. 1 , and the method is executed by a router, which is an ingress router corresponding to the computing containers in the network containing computing containers.
- the flow of the method for sending calculation routing information may include the following steps:
- Step 201 Obtain computing routing information, where the computing routing information includes computing capability information of the computing container; the computing capability information is used to indicate the computing capability corresponding to the computing container; the service capability information is used to indicate the service processing capability of the computing container.
- the computing container is a computing container connected to the router through a virtual link, and the computing container sends the computing routing information including computing capability information to the router through the virtual link.
- Step 202 Obtain a shortest path tree, where the shortest path tree includes the shortest paths of the router to other routers in the network.
- the shortest path tree may be obtained according to the shortest path first (shortest path first, SPF) algorithm in the IGP type routing protocol, and according to the shortest path tree, it can be obtained that the router reaches the network the shortest path to each of the other routers.
- SPF shortest path first
- the shortest path tree further includes the shortest paths of the router to each computing container in the network.
- Step 203 according to the shortest path tree, send the calculated route information to each other router in the network.
- the other routers are target routers corresponding to the shortest paths in the shortest path tree.
- the computing container is sent to the network through the shortest path tree each of the other routers.
- the computing container included in the network can be used as a leaf router in the network, that is, according to the shortest path tree, the computing routing information can be sent to the computing container other than the computing container corresponding to the computing routing information. other computing containers.
- the router when the router receives the calculation routing information that contains the calculation capability for indicating the calculation container, it obtains the shortest path tree of other routers in the routing domain corresponding to the router, and according to the calculation The shortest path tree corresponding to the router sends the calculated route information to each other router in the network corresponding to the router, so that each router performs route calculation according to the calculated route information.
- the above solution enables the router to perform routing calculation according to the calculated routing information distributed through the shortest path tree. While the routing path selection takes the computing capability of the computing container into consideration, the traffic consumed for sending the calculated routing information is reduced.
- FIG. 3 is a flow chart of a method for sending calculation routing information according to an exemplary embodiment.
- the method is used in the network including computing nodes in the embodiment shown in FIG. 1 , and the method consists of Executed by a router, which is any router in the network containing compute nodes.
- the flow of the method for sending calculation routing information may include the following steps:
- Step 301 Obtain the calculation route information.
- the calculated route information further includes a hotspot attribute value, and the hotspot attribute value is used to determine whether the business or application corresponding to the calculated route information is a hotspot service.
- the calculated route information further includes a service or function identifier.
- the service or function identifier is used to indicate the service or function type corresponding to the calculated routing information.
- the protocol packet of the computing container is received through the function routing layer; the protocol packet is sent to the router after the computing container runs the routing protocol; through the function routing layer, the protocol packet is reported according to the protocol. text to obtain the computing routing information of the computing container.
- the protocol packet of the computing container may be a packet corresponding to the IGP or BGP protocol. After the computing container runs the IGP or BGP protocol, it sends a protocol packet to the router, and the packet contains the computing container's calculation. routing information.
- Step 302 obtaining the shortest path tree.
- network topology discovery is performed on the network to obtain the shortest path tree.
- Step 303 when the hotspot attribute value is greater than the hotspot threshold, send the calculated route information to other routers in the network according to the shortest path tree.
- the next-hop device is the next-hop device in the shortest path tree that reaches the routing paths of other routers in the network.
- the router receives The calculated route information sent by the previous hop device is sent to the next hop device in each routing path corresponding to the shortest path tree through the shortest path tree.
- next-hop device may be a router device, or the next-hop device may be a computing container.
- the type of business, application or function corresponding to the calculation routing information is a hotspot service.
- the calculation routing information corresponding to the calculation container can be actively sent to the network through the shortest path tree. of each router.
- the computing routing information corresponding to the computing container may also be sent to each computing container in the network through the shortest path tree.
- the calculated routing information is written into a routing information table (route information base, RIB) routing table or a forwarding information base (forwarding information base, FIB) forwarding table of the router.
- a routing information table route information base, RIB
- a forwarding information base forwarding information base, FIB
- the RIB or FIB table of the router writes calculation routing information of multiple computing containers in the network.
- Step 304 Generate or update the RIB or FIB table corresponding to the router according to the calculated route information.
- route calculation is performed according to the calculated route information, according to the RIB table or FIB table corresponding to the router.
- route calculation is performed according to the calculated route information, and a RIB routing table or FIB forwarding table corresponding to the router is generated or updated.
- the routing table is used to indicate the selection of routing paths when the router performs data transmission.
- the computing routing information includes computing capability information used to indicate the computing capability of the computing container, or includes business capability information used to indicate the business capability of the computing container. According to the computing capability information or the business capability information, the routing calculation is performed, and you can The parameters of the computing container are considered in the routing calculation, so the calculated routing path can more efficiently execute the data transmission corresponding to the computing container.
- route calculation is performed according to the calculated route information, a RIB routing table corresponding to the router can be generated, and then the FIB forwarding table is updated according to the RIB routing table.
- network capability information of the network is obtained; according to the calculated route information and the network capability information, route calculation is performed on the network, and the RIB or FIB table corresponding to the router is updated.
- the network capability information includes a network metric value or a network parameter
- the network parameter includes at least one of a network bandwidth and a network delay.
- the calculation route information includes calculation capability information used to indicate the calculation capability of the calculation container, and the network capability information is used to indicate the network condition of the network.
- the computing routing information corresponding to the computing container is sent to each router in the network according to the shortest path tree, and each network sends
- the calculation route information corresponding to the calculation container is written in the FIB table, and route calculation is performed according to the calculation route information.
- the function routing layer in the router performs route calculation according to the calculated route information, and updates the FIB table corresponding to the router.
- the router receives a calculation request message (request message), and the calculation request message is used to obtain a calculation program or calculation result; the calculation request message includes a service or function identifier; the router according to the service or function identifier Query the RIB or FIB table of the router.
- the service or function identifier exists in the RIB or FIB table of the router, obtain the first-type outbound port or the first-type next-level port corresponding to the service or function identifier according to the router's FIB table. Hop address; send the request message according to the first type of egress port or the first type of next hop address corresponding to the service or function identifier.
- the first type of outgoing port and the first type of next hop address may be Req-resp (ie request message and response message) outgoing port and Req-resp next hop address.
- the router queries the RIB table FIB table of the router according to the service or function identifier, and the service and function identifier exist in the RIB table FIB table of the router, it means that the calculated route information including the service and function identifier is delivered according to the shortest path tree.
- the service and function identifiers correspond to hotspot services.
- the calculation routing information corresponding to the calculation container is entered into the RIB or FIB table of the router, and the router performs routing calculation according to the calculation routing information, and updates the RIB or FIB table; at this time, the router receives the packet, and the packet is related to the
- the request message is sent directly according to the Req-resp egress port or the Req-resp next-hop address corresponding to the service function identifier in the updated RIB or FIB table.
- the router receives the calculation request message (request message) through the data plane of the router.
- the request message is a computation request message (request message) sent by the computation/function consumer.
- the router receives a response message; the response message is used to deliver the calculation program or the calculation result; according to the address information contained in the response message, determine the first type of egress port or port corresponding to the response message The first type of next hop address; the response message is sent according to the first type of egress port or the first type of next hop address corresponding to the response message.
- the response message may be a computing/function provider, that is, a message message sent by the computing container in the embodiment of the present application after receiving the request message.
- the router receives the response message, it directly forwards the response message according to the address information corresponding to the response message.
- the calculation request message includes an Internet Protocol (Internet Protocol, IP) address corresponding to the calculation/function consumer, or includes the adjacent neighbors connected to the calculation/function consumer through a virtual link.
- IP Internet Protocol
- the response packet may be received through the data plane of the router.
- the calculated route information is discarded.
- the adjacent router when the attribute value of the hotspot is not greater than the hotspot threshold, that is, the adjacent routers connected to the computing container through the virtual link, and the service or function corresponding to the service or function identifier is judged to be a non-hotspot service, the adjacent router will The service or function identifier, hotspot attribute value and computing capability information corresponding to the calculation routing information are discarded. That is, when the hotspot attribute value is not greater than the hotspot threshold, the adjacent router discards the calculated routing information, and does not actively send the calculated routing information to each router.
- the router obtains a subscription message; the subscription message is used to obtain the calculation program or calculation result of the computing container; obtain the second type of egress port or the second type of next hop address corresponding to the shortest path tree; The subscription message is sent to other routers in the network through the second type of egress port or the second type of next hop address corresponding to the shortest path tree.
- the subscription message includes a service or function identifier
- the second type of egress port or the second type of next hop address may be a Pub-sub (publish message and subscribe message) egress port and Pub-sub next hop address.
- the router can also accept the subscription message (ie, the subscribe message).
- the router receives the subscription message, it directly sends the subscription message to all routers in the network according to the shortest path tree.
- the service or function identifier and the (Pub-sub) second type of ingress port information corresponding to the subscription message are written into the RIB or FIB table of the router.
- the service or function identifier and the input port information corresponding to the subscription message are written into the service or function ID (identity document) and Pub in the RIB or FIB table of the router. -sub outgoing port information.
- a release message is received; the release message is used to send the calculation program or the calculation result; the release message contains the service or function identifier of the subscription message corresponding to the release message; according to the service or function Identify, query the RIB or FIB table of the router, and obtain the input port corresponding to the subscription message as the second-type outbound port or the second-type next-hop address corresponding to the subscription message; through the second-type outbound port corresponding to the subscription message The port or the second-class next-hop address to send the send message.
- the calculation program or calculation result of the calculation container corresponding to the service or function identifier is issued according to the calculation container through a release message.
- a calculation request message is received; the calculation request message is used to obtain the calculation program or calculation result; the request message is sent to the function routing layer of the router through the data plane; the calculation request The message is obtained as the subscription message.
- a router when a router receives a request message from the data plane, it finds that there is no service or function identifier in the RIB or FIB table of the router, and the data plane of the router sends the request message to the router
- the function routing layer of the function routing layer converts the request message into a subscribe message.
- FIG. 4 shows a configuration diagram of routers and FIB entries involved in an embodiment of the present application.
- four communication primitives for the router design need to be defined.
- the request message is for a service, function or computing request, initiated by a service, function or computing consumer;
- the response message is used for service, function or computing response, usually in response to the request message, initiated by the service, function or computing provider;
- the subscribe message is used to subscribe to a service, function or computing request, initiated by the router;
- the publish message is used for service, function or computing responses, usually in response to subscribe messages, initiated by the service, function or computing provider.
- the four kinds of messages can carry "service or function identifier".
- the router involved in the embodiment of the present application includes two units, a control plane and a data plane.
- the data plane is used to receive packets. If the packet is a data packet or a request message, the FIB is searched according to the service or function identifier carried in the packet to obtain the Req-resp outgoing port or the Req-resp next hop address, and then the Req-resp outgoing port or Req-resp next hop address is obtained. -resp outgoing port forwarding or forwarding the packet to the device where the next hop address of Req-resp is located; when no corresponding item is found in the FIB according to the service or function identifier carried in the packet, the packet is sent to the control plane .
- the packet is forwarded by ordinary IP routing.
- the packet is delivered to the control plane.
- the FIB is searched according to the service or function identifier carried in the packet to obtain the Pub-sub egress port, which is then forwarded by the Pub-sub egress port.
- the data plane is also used to receive the BGP/IGP message, and when the BGP/IGP message is received, the BGP/IGP message is handed over to the control plane.
- the control plane is divided into two routing layers, the basic routing layer and the function routing layer.
- the basic routing layer is used to discover the network topology and calculate the shortest path tree from the router to other routers.
- the function routing layer is used to receive BGP/IGP packets, select or calculate routes according to the computing capability information of the computing container corresponding to the service or function identifiers in the BGP/IGP packets, and select the ingress port or BGP that receives the packets.
- the router address carried in the /IGP packet is written into the FIB. For example, it can be written into the corresponding Req-resp outgoing port or the Req-resp next-hop address in the FIB.
- the function routing layer can also be used to receive BGP/IGP packets from the computing container, and publish the computing routing information according to the computing capability information of the computing container corresponding to the service or function identifier in the packet.
- the computing routing information includes the service or function identifier, The computing capability information of the computing container corresponding to the service or function identifier and the router ID to which the routing information belongs.
- the calculated route information may further include a hotspot attribute value.
- the function routing layer does not perform flooding (flooding method) on the entire network, but sends the calculated routing information to other routers according to the shortest path tree obtained by the basic routing layer.
- the functional routing layer can also judge whether to send the calculated routing information to other routers according to the shortest path tree obtained by the basic routing layer according to the hotspot attribute value and the hotspot threshold in the calculated routing information. That is, only the hotspot service will actively publish the calculated routing information to the network, which reduces the traffic (traffic) and the scale of the FIB forwarding table.
- the function routing layer is also used for packets from the data plane. If the packet is a subscribe message, it receives the ingress port of the packet and the service or function identifier carried in the subscribe message according to the data plane corresponding to the subscribe message, and converts the service or function. The ID and its corresponding ingress port information are written into the service or function ID and Pub-sub egress port of the FIB forwarding table.
- the function routing layer is also used to receive packets on the data plane. If the packet is a request message, the request message is converted into a subscribe message.
- the function routing layer is also used to receive the subscribe message generated by itself, that is, the subscribe message converted from the request message.
- the subscribe message generated by itself When receiving the subscribe message generated by itself, according to the data plane corresponding to the subscribe message (that is, the data plane corresponding to the request message before conversion), the ingress port of the message and the service or function identifier carried in the subscribe message are received, and the service or function The ID and its corresponding ingress port information are written into the service or function ID and Pub-sub egress port of the FIB forwarding table.
- the function routing layer module is also used to receive the packet generated by itself or the packet from the data plane. If the packet is a subscribe message, the subscribe message is distributed to other routers according to the shortest path tree obtained by the basic routing layer module.
- FIG. 5 shows a network architecture diagram involved in an embodiment of the present application.
- the network can be composed of routers.
- the computing/function consumer 500 and the computing/function provider 501 are interconnected through the network, wherein the computing/function provider uses the physical properties of the computing container.
- the form appears, running the routing protocol as a leaf router in the network, and injecting the computing capability information of the computing container into the routers or switches in the network through the routing protocol (IGP or BGP) protocol.
- IGP IGP or BGP
- the computing capability information of the computing container can be distributed to each router in the network through the ingress router 502 adjacent to the computing container, that is, the computing container injects the computing capability information corresponding to the computing container into the ingress adjacent to the computing container Router 502, the ingress router performs topology discovery on the network, calculates the shortest path tree from the ingress router to each router in the network, the ingress router passes the shortest path tree, and sends the computing capability information corresponding to the computing container to the router 502. individual routers in the network.
- FIG. 6 shows a network architecture diagram of a function routing layer involved in an embodiment of the present application.
- the router introduces a hierarchical routing mechanism, that is, the control plane of the router includes a basic routing layer module and a functional routing layer module. Among them, the router can discover the network topology through the basic routing layer, and calculate the shortest path tree from the router to other routers.
- the network data transmission situation corresponding to the hotspot service is described from the perspective of the function routing layer.
- the router does not perform flooding processing on the entire network for the computing capability information of the hotspot service from the computing container, but through the basic
- the shortest path tree obtained by the routing layer is distributed to each router, thereby reducing the traffic and the size of the FIB table.
- the router publishes the computing capability information corresponding to the computing container of the hotspot service to each router through the shortest path tree, and injects the information into the FIB forwarding table of the router.
- the router When a computing/function consumer initiates a computing or service request request, the router performs routing calculation according to the computing capability information written in the FIB table, and forwards the computing or service request request to the corresponding computing/ function provider.
- the computing/function provider performs the corresponding computing, function or service according to the computing or service request, and then replies/functions the response to the computing function consumer.
- FIG. 7 shows a network architecture diagram of a function routing layer involved in an embodiment of the present application.
- the router requests the calculation or service request of the non-hotspot service from the computing/function consumers.
- the request instead of flooding the entire network, converts the calculation or service request request into a subscribe message, and distributes the shortest path tree obtained through the basic routing layer to each router as a calculation demand path indication.
- the calculation/function provides When the subscriber publishes the corresponding service, application or function, the transmission path of the service, application or function can be determined according to the subscribe message, thereby reducing the traffic and the scale of the FIB forwarding table.
- the router converts the calculation or service request request into a subscribe message, and sends it to each router through the shortest path tree, and each router injects the subscribe message into the FIB forwarding table of the router.
- the router forwards the calculation, function or service program to the corresponding calculation/function consumer according to the subscribe message written in the FIB table.
- FIG. 8 is a schematic flowchart of a routing method involved in an embodiment of the present application. As shown in Figure 8, the routing method includes the following steps:
- the computing container where each function or service instance is located will run a routing protocol (such as IGP or BGP) as the initiator of the route, that is, the computing container will join the routing domain as a leaf router to initiate the routing protocol.
- a routing protocol such as IGP or BGP
- the computing container injects the "service identifier or function identifier and the computing capability of the computing container where it is located", that is, computing capability information, into the routing network through routing protocol (IGP or BGP) packets; for example, the computing container can be injected with the route.
- the ingress router corresponding to the domain is injected into the router to which it belongs.
- the router of the entry adds the computing capability information carried in the received BGP/IGP packet, and then adds the router address of the entry, and distributes the IGP or BGP packet to other routers through the shortest path tree to spread to each router in the routing domain. On the router, compared with the way of flooding, the traffic is reduced.
- Each router in the routing domain obtains the information of the computing container with the computing capability in the routing domain through the shortest path tree.
- the router writes the service or function ID and its corresponding egress port or next-hop address according to the computing capability information. FIB.
- Hotspot attribute can be introduced to the service or function.
- Each hotspot attribute will have a hotspot attribute value, so a hotspot threshold can be set on the router. Hotspot threshold, which distinguishes a business or function as a hotspot service or a non-hotspot service.
- the computing container where each function or service instance is located will run a routing protocol (such as IGP or BGP) as the initiator of the route, that is, the computing container joins the routing domain as a leaf router and initiates the routing protocol.
- a routing protocol such as IGP or BGP
- the computing container injects the "service identifier or function identifier and the computing capability of the computing container where it is located", that is, computing capability information, into the routing network through routing protocol (IGP or BGP) packets; for example, the computing container can be injected into the routing domain.
- IGP routing protocol
- BGP BGP protocol
- the ingress router determines whether the service or function corresponding to the service or function identification is a hotspot service according to the hotspot threshold and the hotspot attribute value corresponding to the service or function identification. If the service or function is identified as a hotspot service, the computing container and the corresponding ingress router in the routing domain, that is, the router adjacent to the computing container, will receive the service identifier carried in the BGP/IGP packet , function identifier, hotspot attribute value, the computing capability information corresponding to the computing container, and the address of the ingress router are distributed to other routers according to the shortest path tree through communication protocols such as IGP/BGP, so as to spread to each router in the routing domain , that is, the information corresponding to the computing container is actively published; if the business or function is identified as a non-hot service, the above-mentioned service identifier, function identifier, hotspot attribute value and the computing capability information of the computing container are discarded, that is, no corresponding computing container is performed. Proactive
- the router When a service or function changes from a hotspot service to a non-hotspot service, for example, when the hotspot threshold on the router changes, the router deletes the item corresponding to the corresponding service ID or function ID, for example, the corresponding service ID or function ID Information such as hotspot attribute values and computing capabilities of computing containers is deleted.
- FIG. 9 is a schematic flowchart of a routing method involved in an embodiment of the present application.
- the traditional hand shaking mechanism if the interacting entities are to be online at the same time, one party needs to block itself until the other end responds; this kind of strong coupling makes it easy to cause calculation failure as long as one of the computing consumers and providers is temporarily offline. It is necessary to decouple computing consumers in time or synchronization, so it is possible to combine the (Req/Resp) mechanism with the publish/subcribe mechanism in the communication model through hierarchical routing.
- the router converts the calculation pull into the calculation demand path indication, that is, the routing node converts the calculation or service request request into a subscribe message (that is, the calculation demand path indication), and publishes it to each router through the shortest path tree.
- the information is injected into the FIB of the router, so that when the calculation/function provider publishes the corresponding calculation information, the returned path information can be determined according to the subscribe message; for example, the ingress port of the packet can be received according to the data plane corresponding to the subscribe message and the service identifier or function identifier carried in the subscribe message, and write the service or function ID and its corresponding ingress port information into the service or function ID and Pub-sub egress port in the FIB.
- Pushing is carried out according to the path indication of the computing demand.
- the computing/function provider publishes the corresponding computing, function or service program (for example, the message is a publish message)
- the router sends the message to the router according to the service or function ID carried in the message.
- the FIB searches for the corresponding Pub-sub egress port, and then the Pub-sub egress port forwards the calculation, function or service program to the corresponding computing/function consumer.
- the router when the router receives the calculation routing information that contains the calculation capability for indicating the calculation container, it obtains the shortest path tree of other routers in the routing domain corresponding to the router, and according to the calculation The shortest path tree corresponding to the router sends the calculated route information to each other router in the network corresponding to the router, so that each router performs route calculation according to the calculated route information.
- the above solution enables the router to perform routing calculation according to the calculated routing information distributed through the shortest path tree. While the routing path selection takes the computing capability of the computing container into consideration, the traffic consumed for sending the calculated routing information is reduced.
- Fig. 10 is a block diagram showing the structure of an apparatus for sending calculated route information according to an exemplary embodiment.
- the apparatus may implement all or part of the steps in the method provided by the embodiment shown in FIG. 2 or FIG. 3 .
- the apparatus includes a data plane unit 1000 and a control plane unit 1010; the control plane unit includes a basic routing layer module 1011 and a function routing layer module 1012;
- the function routing layer module 1012 is configured to receive computing routing information, where the computing routing information includes business capability information or computing capability information of the computing container; the computing capability information is used to indicate the computing capability corresponding to the computing container; The service capability information is used to indicate the service processing capability of the computing container;
- the basic routing layer module 1011 is configured to obtain a shortest path tree, where the shortest path tree includes the shortest paths from the router to other routers in the network;
- the function routing layer module 1012 is configured to send the calculated routing information to other routers in the network according to the shortest path tree.
- the calculated route information further includes a service or function identifier.
- the calculation route information further includes a hotspot attribute value, and the hotspot attribute value is used to indicate whether the service or application corresponding to the calculation route information is a hotspot service;
- the function routing layer module 1012 is also used for:
- the calculated route information is sent to other routers in the network according to the shortest path tree.
- the function routing layer module 1012 is further used for:
- the RIB routing table or the FIB forwarding table corresponding to the router is generated or updated.
- the function routing layer unit is further used for:
- route calculation is performed on the network, and a RIB or FIB table corresponding to the router is generated or updated.
- the data plane unit 1000 is used for:
- the calculation request message is used to obtain a calculation program or a calculation result;
- the calculation request message contains a service or function identifier;
- the calculation request message is sent according to the first type of egress port or the first type of next hop address corresponding to the service or function identifier.
- the data plane unit 1000 is further configured to:
- the address information contained in the response message determine the first type of egress port or the first type of next hop address corresponding to the response message;
- the response message is sent according to the first type of egress port or the first type of next hop address corresponding to the response message.
- the function routing layer module 1012 is further used for:
- the subscription message is used to obtain a calculation program or a calculation result
- the subscription message is sent to each other router in the network through the second type of egress port or the second type of next hop address corresponding to the shortest path tree.
- the data plane unit 1000 is further configured to:
- the function routing layer module 1012 is also used for:
- the basic routing layer module 1011 is further configured to:
- the function routing layer module 1012 is further used for:
- the data plane unit 1000 is further configured to:
- Described issue message is used for sending described calculation program or calculation result; Described issue message contains the service or function identifier of the subscription message corresponding to described issue message;
- the service or function identifier query the RIB or FIB table of the router, and obtain the input port corresponding to the subscription message as the second-type egress port or the second-type next-hop address corresponding to the subscription message;
- the publishing message is sent through the second-type outbound port or the second-type next-hop address corresponding to the subscription message.
- the function routing layer module 1012 is further used for:
- the router when the router receives the calculation routing information that is used to indicate the computing capability of the computing container, it obtains the shortest path tree of other routers in the routing domain corresponding to the router, and according to this The shortest path tree corresponding to the router sends the calculated route information to each other router in the network corresponding to the router, so that each router performs route calculation according to the calculated route information.
- the above solution enables the router to perform routing calculation according to the calculated routing information distributed through the shortest path tree. While the routing path selection takes the computing capability of the computing container into consideration, the traffic consumed for sending the calculated routing information is reduced.
- an electronic device eg, a routing device
- the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of the technical solutions of the embodiments of the present application.
- functional units may be divided into electronic devices (eg, routing devices) according to the foregoing method examples.
- each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. middle.
- the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units. It should be noted that the division of units in the embodiments of the present application is schematic, and is only a logical function division, and other division methods may be used in actual implementation.
- FIG. 11 shows a possible schematic structural diagram of the electronic device involved in the above embodiment.
- the electronic device 1100 includes: a processing unit 1102 and a communication unit 1103 .
- the processing unit 1102 is used to control and manage the actions of the electronic device 1100 .
- the processing unit 1102 is configured to support the electronic device 1100 to perform steps 201 and 202 in the embodiment shown in FIG. 2 , and steps 301 , 302 , 304 and/or Other steps for performing the techniques described herein;
- the communication unit 1103 is used to support the electronic device 1100 to perform step 203 in the embodiment shown in FIG. 2, step 303 in the embodiment shown in FIG.
- the electronic device 1100 may further include a storage unit 1101 for storing program codes and data of the electronic device 1100 .
- the storage unit 1101 stores the RIB or FIB table described above.
- the processing unit 1102 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit) Integrated Circuit, ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute the various exemplary logical blocks, modules and circuits described in connection with this disclosure.
- the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
- the communication unit 1103 may be a communication interface, a transceiver, a transceiver circuit, etc., where the communication interface is a general term and may include one or more interfaces, such as an interface between a routing device and a computing container.
- the storage unit 1101 may be a memory.
- the processing unit 1102 is a processor
- the communication unit 1103 is a communication interface
- the storage unit 1101 is a memory
- the electronic device involved in this embodiment of the present application may be the electronic device shown in FIG. 12 .
- the electronic device 1210 includes: a processor 1212 , a communication interface 1213 , and a memory 1211 .
- electronic device 1210 may also include bus 1214 .
- the communication interface 1213, the processor 1212 and the memory 1211 can be connected to each other through the bus 1214;
- the bus 1214 can be a Peripheral Component Interconnect (PCI for short) bus or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, for short) EISA) bus, etc.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- the bus 1214 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 12, but it does not mean that there is only one bus or one type of bus.
- the above-mentioned electronic device shown in FIG. 11 or FIG. 12 may be a router.
- the steps of the method or algorithm described in conjunction with the disclosure of the embodiments of this application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
- the software instructions can be composed of corresponding software modules (or units), and the software modules (or units) can be stored in random access memory (Random Access Memory, RAM), flash memory, read only memory (Read Only Memory, ROM), or Erasable Programmable Read-Only Memory (Erasable Programmable ROM, EPROM), Electrically Erasable Programmable Read-Only Memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), Registers, Hard Disks, Mobile Hard Disks, Compact Disc Read-Only Memory (CD- ROM) or any other form of storage medium known in the art.
- RAM Random Access Memory
- ROM read only memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- CD- ROM Compact Disc Read-Only Memory
- An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
- the storage medium can also be an integral part of the processor.
- the processor and storage medium may reside in an ASIC.
- the ASIC may be located in an electronic device.
- the processor and storage medium may also exist in the electronic device as discrete components.
- the application also provides a computer program product or computer program, the computer program product or computer program comprising computer instructions stored in a computer-readable storage medium.
- the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above method for sending calculation routing information.
- Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种计算路由信息发送方法、装置、设备及存储介质。所述方法涉及通信技术领域。所述方法包括:接收计算路由信息,所述计算路由信息包含计算容器的计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力大小;获取最短路径树,所述最短路径树包含所述路由器到达所述路由域中的其他各个路由器的最短路径;根据所述最短路径树,将所述计算路由信息发送至网络中的其他各个路由器。上述方案通过最短路径树,将计算路由信息根据最短路径树发送至网络中的各个路由器,以便各个路由器根据该计算路由信息进行路由计算,在路由路径选择考虑到计算容器的计算能力的同时,减小了计算路由信息发送消耗的流量。
Description
本申请要求于2020年10月26日提交的申请号为202011158233.6、发明名称为“计算路由信息发送方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,特别涉及一种计算路由信息发送方法、装置、设备及存储介质。
目前互联网计算存在两个发展趋势,一种是泛在计算能力,即在用户的不同距离里遍布不同规模算例的计算容器。另一种是微服务化或者无服务器化的趋势。
在相关技术中传统的用户-服务器模式被解构,服务器侧的应用构成“功能组件”布放在云平台上,由应用编程接口网关(application interface gateway,API)统一调度,可以做到时间出发函数组件按需动态实例化。服务器中的业务逻辑可以通过容器技术转移到客户端侧,客户端侧只需要关心“计算功能”本身,而无需感知计算地点和服务器/虚拟机/容器等计算资源。
然而,相关技术中,在将计算容器对应的计算能力发布至网络中进行路由计算时,通常需要将计算容器的计算路由信息泛洪扩散至路由域内的所有路由器,当业务或功能数量庞大时,相应的会产生大量的路由信息,容易造成流量暴增导致的网络堵塞。
发明内容
本申请实施例提供了一种计算路由信息发送方法、装置、设备及存储介质,可以提高计算节点设备之间的数据交换效率,该技术方案如下:
一方面,提供了一种计算路由信息发送方法,所述方法由路由器执行,所述方法包括:
接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;
获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;
根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述计算路由信息还包括业务或功能标识。
在一种可能的实现方式中,所述计算路由信息还包括热点属性值,所述热点属性值用于指示所述计算路由信息对应业务或应用是否为热点服务;
所述根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器,包括:
当所述热点属性值大于热点阈值,根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述方法还包括:
根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表。
在一种可能的实现方式中,所述根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表,包括:
获取所述网络的网络能力信息;
根据所述计算路由信息与所述网络能力信息,对所述网络进行路由计算,生成或更新所述路由器对应的RIB或FIB表。
在一种可能的实现方式中,所述方法还包括:
接收计算请求消息;所述计算请求消息用于获取计算程序或计算结果;所述计算请求消息包含业务或功能标识;
根据所述业务或功能标识查询所述路由器的RIB或FIB表;
当所述路由器的RIB或FIB表中存在所述业务或功能标识,根据所述路由器的RIB或FIB表,获取所述业务或功能标识对应的第一类出端口或第一类下一跳地址;
根据所述业务或功能标识对应的第一类出端口或第一类下一跳地址,发送所述计算请求消息。
在一种可能的实现方式中,所述方法还包括:
接收回应消息;所述回应消息用于下发所述计算程序或计算结果;
根据所述回应消息中包含的地址信息,确定所述回应消息对应的第一类出端口或第一类下一跳地址;
根据所述回应消息对应的第一类出端口或第一类下一跳地址,发送所述回应消息。
在一种可能的实现方式中,所述方法还包括:
获取订阅消息;所述订阅消息用于获取计算程序或计算结果;
获取所述最短路径树对应的第二类出端口或第二类下一跳地址;
将所述订阅消息,通过所述最短路径树对应的第二类出端口或第二类下一跳地址,发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述获取订阅消息,包括:
接收计算请求消息;所述计算请求消息用于获取所述计算程序或计算结果;
将所述计算请求消息获取为所述订阅消息。
在一种可能的实现方式中,所述获取最短路径树,包括:
对所述网络进行网络拓扑发现,获取所述最短路径树。
在一种可能的实现方式中,所述订阅消息中包含业务或功能标识,所述方法还包括:
将所述业务或功能标识,以及所述订阅消息对应的输入端口信息,写入至所述路由器的RIB或FIB转发表。
在一种可能的实现方式中,所述接收计算路由信息,包括:
接收所述计算容器的协议报文;所述协议报文是所述计算容器运行路由协议后向所述路由器下发的;
根据所述协议报文,获取所述计算容器的所述计算路由信息。
又一方面,提供了一种计算路由信息发送装置,所述装置用于路由器中,所述装置包括 数据面单元和控制面单元;所述控制面单元包括基础路由层模块和函数路由层模块;
所述函数路由层模块,用于接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;
所述基础路由层模块,用于获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;
所述函数路由层模块,用于根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
又一方面,提供了一种路由设备,所述路由设备包括处理器、存储器和收发器;
所述收发器,用于接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;
所述处理器,用于获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;
所述收发器,用于根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的计算路由信息发送方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述计算路由信息发送方法。
再一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述计算路由信息发送方法。
本申请提供的技术方案可以包括以下有益效果:路由器接收到包含有用于指示计算容器的计算能力的计算路由信息时,获取该路由器对应路由域中其他路由器的最短路径树,并根据该路由器对应的最短路径树,将该计算路由信息发送至路由器对应的网络中的各个其他路由器,以便各个路由器根据该计算路由信息进行路由计算。通过上述方案使得路由器根据通过最短路径树分发的计算路由信息进行路由计算,在路由路径选择考虑到计算容器的计算能力的同时,减小了计算路由信息发送消耗的流量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制 本申请。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种包含计算容器的网络示意图;
图2是根据一示例性实施例示出的一种计算路由信息发送方法的流程示意图;
图3是根据一示例性实施例提供的一种计算路由信息发送方法的方法流程图;
图4示出了图3所示实施例涉及的路由器以及FIB表项设置图;
图5示出了图3所示实施例涉及的一种网络架构图;
图6示出了图3所示实施例涉及的一种函数路由层的网络架构图;
图7示出了图3所示实施例涉及的一种函数路由层的网络架构图;
图8是图3所示实施例涉及的一种路由方法的流程示意图;
图9是图3所示实施例涉及的一种路由方法的流程示意图;
图10根据一示例性实施例示出的一种计算路由信息发送装置的结构方框图;
图11是本申请一示例性实施例提供的电子设备的示意性框图;
图12是本申请一示例性实施例提供的电子设备的结构示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:
1)容器技术(Container)
容器技术指有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的、轻量的、操作系统级别的虚拟化技术,运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他的应用共享主机操作系统的内存,中央处理器(Central Processing Unit,CPU)或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。
2)路由器(router)
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。路由器在开放系统互连参考模型(open system interconnect reference model,OSI/RM)中完成的网络层中继以及第三层中继任务,对不同的网络之间的数据包进行存储、分组转发处理,其主要就是在不同的逻辑分开网络。而数据在一个子网中传输到另一个子网中,可以通过路由器的路由功能进行处理。在网络通信中,路由器具有判断网络地址以及选择IP路径的作用,可以在多个网络环境中,构建灵活的链接系统,通过不同的数据分组以及介质访问方式对各个子网进行链接。路由器在操作中仅接受源站或者其他相关路由器传递的信息,是一种基于网络层的互联设备。本申请的路由器也可以为交换机所替代。
3)路由域(routing domain)
路由域一般指自治系统(autonomous system),在互联网中,一个自治系统是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。
4)网络拓扑(NT,network topology)
网络拓扑是指用传输介质互联各种设备的物理布局。指构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式。如果两个网络的连接结构相同,就可以称该两个网络的网络拓扑相同,尽管该两个网路的物理接线、节点间距离可能不同。
在边缘计算场景中,单边缘计算站点的算力受限,算力可靠性低于数据中心,通常需要跨多个边缘站点提供服务的多副本,以保证更好的性能和准确性。请参考图1,其是根据一示例性实施例示出的一种包含计算容器的网络示意图。该网络可以是路由域,该路由域可以包括计算容器和路由器,其中计算容器与该路由器的数目在此不做限定。图1中的各个节点可以为路由器或网络路由节点,边为相邻节点间的链路(link),加权值又可以称为链路状态(link state),相邻节点之间的链路可以是直连的物理链路,也可以是经过一个网络可达的逻辑链路,计算容器与路由器可以通过虚拟链路相连。如图1所示,其中包含路由器101、路由器102与路由器103;功能X对应的计算容器(计算节点)104与功能Y对应的计算容器(计算节点)105作为叶子路由器加入到路由域中,从而可以把计算容器的计算能力通过路由协议注入网络中,例如通过内部网关协议(interior gateway protocols,IGP)或边界网关协议(border gateway protocol,BGP),注入到路由域拓扑结构中相邻的入口路由器,然后再由入口路由器将该计算容器的计算能力作为一种计算路由信息扩散到路由域内的各个路由器上,从而路由域内的每个路由器都将得到路由域内拥有计算能力的计算容器的信息,最终路由器基于所述计算能力计算合适的路由将客户端服务请求和终端数据转发到多个边缘站点或计算容器、实现负载均衡。
可以理解的是本申请实施例中的计算容器可以是服务器、虚拟机或者容器,或者是更小的提供计算资源的单元,上述计算容器还可以是用户终端,该用户终端可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、智能电视、MP3播放器(moving picture experts group audio layer III,mp3);上述计算容器也可以是计算服务器,该计算服务器可以是一台服务器,或者包括若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心等。上述路由器可以是有线路由器,也可以是无线路由器,还可以是具有路由功能的交换机。
上述路由器通过通信网络进行数据传输,可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。本申请不做限制。
请参考图2,其是根据一示例性实施例示出的一种计算路由信息发送方法的流程示意图。该方法用于图1所示实施例中的包含计算容器的网络中,该方法由路由器执行,该路由器是该包含计算容器的网络中与计算容器对应的入口路由器。如图2所示,该计算路由信息发送方法的流程可以包括如下步骤:
步骤201,获取计算路由信息,该计算路由信息包含计算容器的计算能力信息;该计算能力信息用于指示该计算容器对应的计算能力;该业务能力信息用于指示该计算容器的业务处理能力。
在一种可能的实现方式中,该计算容器是与该路由器通过虚拟链路相连的计算容器,该计算容器通过虚拟链路,向该路由器发送该包含计算能力信息的计算路由信息。
步骤202,获取最短路径树,该最短路径树包含该路由器到达该网络中的其他各个路由器的最短路径。
在一种可能的实现方式中,该最短路径树可以是根据IGP类型路由协议中的最短路径优先(shortest path first,SPF)算法得出的,根据该最短路径树,可以获取该路由器到达该网络的其他各个路由器的最短路径。
在一种可能的实现方式中,该最短路径树还包括该路由器到达该网络中的各个计算容器的最短路径。
步骤203,根据该最短路径树,将该计算路由信息发送至该网络中的其他各个路由器。
其中,其他各个路由器是最短路径树中的各个最短路径对应的目标路由器。
在一种可能的实现方式中,当该路由器是与该计算容器通过虚拟链路相连的相邻的路由器时,根据该最短路径树,将该计算容器通过该最短路径树,发送至该网络中的各个其他路由器。
在一种可能的实现方式中,可以将网络中包含的计算容器作为网络中的叶子路由器,即可以根据该最短路径树,可以将计算路由信息发送至除该计算路由信息对应的计算容器外的其他计算容器。
综上所述,在本申请实施例所示方案中,路由器接收到包含有用于指示计算容器的计算能力的计算路由信息时,获取该路由器对应路由域中其他路由器的最短路径树,并根据该路由器对应的最短路径树,将该计算路由信息发送至路由器对应的网络中的各个其他路由器,以便各个路由器根据该计算路由信息进行路由计算。通过上述方案使得路由器根据通过最短 路径树分发的计算路由信息进行路由计算,在路由路径选择考虑到计算容器的计算能力的同时,减小了计算路由信息发送消耗的流量。
请参考图3,其是根据一示例性实施例提供的一种计算路由信息发送方法的方法流程图,该方法用于如图1所示实施例中的包含计算节点的网络中,该方法由路由器执行,该路由器是该包含计算节点的网络中的任意一个路由器。如图3所示,该计算路由信息发送方法的流程可以包括如下步骤:
步骤301,获取计算路由信息。
其中,该计算路由信息还包括热点属性值,该热点属性值用于确定该计算路由信息对应的业务或应用是否为热点服务。
在一种可能的实现方式中,该计算路由信息还包括业务或功能标识。
该业务或功能标识用于指示该计算路由信息对应的业务或功能类型。
在一种可能的实现方式中,通过函数路由层接收该计算容器的协议报文;该协议报文是该计算容器运行路由协议后向该路由器下发的;通过函数路由层,根据该协议报文,获取该计算容器的该计算路由信息。
其中,该计算容器的协议报文,可以是IGP或BGP协议对应的报文,当该计算容器运行IGP或BGP协议后,向路由器发送协议报文,且该报文中包含该计算容器的计算路由信息。
步骤302,获取最短路径树。
在一种可能的实现方式中,对该网络进行网络拓扑发现,获取该最短路径树。
步骤303,当该热点属性值大于热点阈值,根据该最短路径树,将该计算路由信息发送至该网络中的其他各个路由器。
在一种可能的实现方式中,该下一跳设备是最短路径树中,到达该网络中各个其他路由器的路由路径中的下一跳设备,当热点属性值大于热点阈值时,该路由器接收到上一跳设备发送的计算路由信息,通过最短路径树,将该计算路由信息发送至该最短路径树对应的各个路由路径中的下一跳设备。
在一种可能的实现方式中,该下一跳设备可以是路由器设备,或者该下一跳设备可以是计算容器。
即当该热点属性值大于热点阈值时,该计算路由信息对应的业务、应用或功能的类型为热点服务,此时可以将该计算容器对应的计算路由信息通过最短路径树,主动发送至网络中的各个路由器。
在一种可能的实现方式中,该计算容器对应的计算路由信息,还可以通过最短路径树发送至网络中的各个计算容器。
在一种可能的实现方式中,将该计算路由信息写入至该路由器的路由信息表(route information base,RIB)路由表或转发信息表(forwarding information base,FIB)转发表。
在一种可能的实现方式中,该路由器的RIB或FIB表中写入了网络中的多个计算容器的计算路由信息。
步骤304,根据该计算路由信息,生成或更新该路由器对应的RIB或FIB表。
在一种可能的实现方式中,根据该计算路由信息,进行路由计算,根据该路由器对应的RIB表或FIB表。
在一种可能的实现方式中,根据该计算路由信息,进行路由计算,生成或更新该路由器对应的RIB路由表或FIB转发表。
其中,该路由表用于指示该路由器进行数据传输时的路由路径的选择。其中,该计算路由信息包含用于指示计算容器的计算能力的计算能力信息,或包含用于指示计算容器的业务能力的业务能力信息,根据该计算能力信息或业务能力信息,进行路由计算,可以在路由计算时考虑到计算容器的参数,因此计算出的路由路径可以更高效的执行计算容器对应的数据传输。
在一种可能的实现方式中,根据该计算路由信息,进行路由计算,可以生成该路由器对应的RIB路由表,再根据该RIB路由表,对该FIB转发表进行更新。
在一种可能的实现方式中,获取该网络的网络能力信息;根据该计算路由信息与网络能力信息,对该网络进行路由计算,更新该路由器对应的RIB或FIB表。
在一种可能的实现方式中,该网络能力信息包括网络度量值或网络参数,该网络参数包括网络带宽和网络时延中的至少一者。
其中,该计算路由信息包含用于指示计算容器的计算能力的计算能力信息,而网络能力信息用于指示该网络的网络情况,根据计算路由信息与网络能力信息对该网络进行路由计算时,可以同时考虑到各个计算容器的计算能力以及该网络的网络情况,从而可以在路由正常运行的同时,实现负载的均衡。
当热点属性值大于热点阈值,也就是该计算容器对应的业务、服务或功能是热点服务时,该计算容器对应的计算路由信息根据最短路径树发送至网络中的各个路由器,并且该各个网络将该计算容器对应的计算路由信息写入在FIB表中,并根据该计算路由信息进行路由计算。
在一种可能的实现方式中,通过路由器中的函数路由层,根据该计算路由信息,进行路由计算,更新该路由器对应的FIB表。
在一种可能的实现方式中,路由器接收到计算请求消息(request消息),该计算请求消息用于获取计算程序或计算结果;该计算请求消息包含业务或功能标识;路由器根据该业务或功能标识查询该路由器的RIB或FIB表,当该路由器的RIB或FIB表存在该业务或功能标识,根据该路由器的FIB表,获取该业务或功能标识对应的第一类出端口或第一类下一跳地址;根据该业务或功能标识对应的第一类出端口或第一类下一跳地址,发送该请求报文。
其中,该第一类出端口与该第一类下一跳地址,可以是Req-resp(即request消息与response消息)出端口与Req-resp下一跳地址。
当路由器根据该业务或功能标识查询路由器的RIB表FIB表,并且该路由器的RIB表FIB表中存在该业务和功能标识时,说明包含该业务和功能标识的计算路由信息根据最短路径树下发到了各个路由器,即该业务和功能标识对应为热点服务。计算容器对应的计算路由信息输入路由器的RIB或FIB表中,且该路由器根据该计算路由信息进行路由计算,更新RIB或FIB表后;此时路由器接收到报文,且该报文是与该计算路由信息的业务或功能标识对应的计算请求消息时,直接根据更新后的RIB或FIB表中业务功能标识对应的Req-resp出端口或Req-resp下一跳地址,发送该请求报文。
在一种可能的实现方式中,该路由器通过路由器的数据面接收该计算请求消息(request消息)。
在一种可能的实现方式中,该请求报文是计算/功能消费者发送的计算请求消息(request 消息)。
在一种可能的实现方式中,该路由器接收回应消息;该回应消息用于下发该计算程序或计算结果;根据回应消息中包含的地址信息,确定该回应消息对应的第一类出端口或第一类下一跳地址;根据该回应消息对应的第一类出端口或第一类下一跳地址,发送该回应消息。
其中,该回应消息(response消息),可以是计算/功能提供者,即本申请实施例中的计算容器接收到request消息后发出的报文消息。当该路由器接收到该response消息时,直接根据该response消息对应的地址信息,转发该回应报文。
在一种可能的实现方式中,计算请求消息中包含该计算/功能消费者对应的网际互联协议(Internet Protocol,IP)地址,或者包含该计算/功能消费者通过虚拟链路相连的相邻的路由器对应的IP地址时,路由器根据该IP地址,直接通过IP路由转发该回应消息。
在一种可能的实现方式中,可以通过路由器的数据面接收该回应报文。
在一种可能的实现方式中,且该热点属性值不大于热点阈值时,丢弃该计算路由信息。
即当该热点属性值不大于热点阈值时,即计算容器通过虚拟链路相连的相邻的路由器,判断该业务或功能标识对应的业务或功能为非热点服务时,该相邻的路由器将该计算路由信息对应的业务或功能标识、热点属性值以及计算能力信息抛弃。也就是当该热点属性值不大于热点阈值时,该相邻的路由器将计算路由信息抛弃,不主动将计算路由信息发送至各个路由器。
在一种可能的实现方式中,路由器获取订阅消息;该订阅消息用于获取计算容器的计算程序或计算结果;获取该最短路径树对应的第二类出端口或第二类下一跳地址;将该订阅消息,通过该最短路径树对应的第二类出端口或第二类下一跳地址,发送至该网络中的其他各个路由器。
其中,该订阅消息中包含业务或功能标识,该第二类出端口或第二类下一跳地址可以是Pub-sub(publish消息与subscribe消息)出端口与Pub-sub下一跳地址。
即路由器还可以接受订阅消息(即subscribe消息),当路由器接收到该订阅消息时,直接根据该最短路径树,将该订阅消息,根据最短路径树,发送至该网络中的所有路由器。
在一种可能的实现方式中,将该业务或功能标识,以及该订阅消息对应的(Pub-sub)第二类入端口信息,写入至该路由器的RIB或FIB表。
在一种可能的实现方式中,将该业务或功能标识,以及该订阅消息对应的输入端口信息,写入该路由器的RIB或FIB表中的业务或功能ID(identity document,身份标识)和Pub-sub出端口信息。
在一种可能的实现方式中,接收发行消息;该发行消息用于发送该计算程序或计算结果;该发行消息中包含与该发行消息对应的订阅消息的业务或功能标识;根据该业务或功能标识,查询该路由器的RIB或FIB表,将该订阅消息对应的输入端口获取为该订阅消息对应的第二类出端口或第二类下一跳地址;通过该订阅消息对应的第二类出端口或第二类下一跳地址,发送该发送消息。
在一种可能的实现方式中,该对应与业务或功能标识的计算容器的计算程序或计算结果,是根据计算容器通过发行消息下发的。
在一种可能的实现方式中,接收计算请求消息;该计算请求消息用于获取该计算程序或计算结果;通过该数据面将该请求报文发送至该路由器的函数路由层;将该计算请求消息获 取为该订阅消息。
在一种可能的实现方式中,当路由器从数据面接收到请求报文时,查询到该路由器的RIB或FIB表中不存在业务或功能标识,路由器的数据面将该request消息发送至该路由器的函数路由层,函数路由层将该request消息转换为subscribe消息。
请参考图4,其示出了本申请实施例涉及的路由器以及FIB表项设置图。首先,需要对该路由器设计的四种通信原语进行定义。
request消息用于服务、功能或计算请求,由服务、功能或计算消费者发起;
response消息用于服务、功能或计算回应,通常回应request消息,由服务、功能或计算提供者发起;
subscribe消息用于订阅服务、功能或计算请求,由路由器发起;
publish消息用于服务、功能或计算回应,通常回应subscribe消息,由服务、功能或计算提供者发起。
其中,该四种消息都可以携带“业务或功能标识”。
如图4所示,本申请实施例涉及的路由器中包含控制面和数据面两个单元。
其中数据面用于接收报文,若报文为数据报文为request消息,根据报文中携带的业务或功能标识查FIB得到Req-resp出端口或Req-resp下一跳地址,然后由Req-resp出端口转发或将报文转发给Req-resp下一跳地址所在的设备;当根据报文中携带的业务或功能标识没有在FIB查到相应项目,则将该报文交给控制面。
当报文为response消息,则将该报文按普通的IP路由进行的转发。
当报文为subscribe消息,则将该报文交给控制面。
当报文为publish消息,根据报文中携带的业务或功能标识查FIB得到Pub-sub出端口,然后由Pub-sub出端口转发。
其中数据面还用于接收BGP/IGP报文,当接收到BGP/IGP报文时,将该BGP/IGP报文交给控制面。
控制面分为两个路由层,基础路由层和函数路由层。
其中,基础路由层用于网络拓扑的发现,计算本路由器到其他路由器的最短路径树。
函数路由层用于接收BGP/IGP报文,根据BGP/IGP报文中的业务或功能标识对应的计算容器的计算能力信息,进行路由的选择或计算,将接收该报文的入端口或BGP/IGP报文携带的路由器地址写入FIB,例如,可写入FIB中相应的Req-resp出端口或Req-resp下一跳地址。
函数路由层还可以用来接收来自计算容器的BGP/IGP报文,根据报文中的业务或功能标识对应的计算容器的计算能力信息,发布计算路由信息,计算路由信息包含业务或功能标识、业务或功能标识对应的计算容器的计算能力信息以及该路由信息所属的路由器ID。其中,该计算路由信息还可以包括热点属性值。该函数路由层将该计算路由信息不做全网Flooding(洪泛法),而是根据基础路由层得到的最短路径树发送至其他路由器。其中该函数路由层还可以根据计算路由信息中的热点属性值以及热点阈值,判断是否根据基础路由层得到的最短路径树将该计算路由信息发送给其他路由器。即只有热点服务才会将计算路由信息主动发布至网络中,降低了Traffic(流量)以及降低FIB转发表的规模。
函数路由层还用于来自数据面的报文,若该报文为subscribe消息,则根据subscribe消息 对应的数据面接收该报文的入端口和subscribe消息携带的业务或功能标识、将业务或功能ID及其相应的入端口信息,写入FIB转发表的业务或功能ID和Pub-sub出端口。
函数路由层还用于接收数据面的报文,若该报文为request消息,将该request消息转换为subscribe消息。
函数路由层还用于接收自身产生的subscribe消息,即根据request消息转换而成的subscribe消息。当接收到自身产生的subscribe消息,则根据subscribe消息对应的数据面(即转换前的request消息对应的数据面)接收该报文的入端口和subscribe消息携带的业务或功能标识、将业务或功能ID及其相应的入端口信息,写入FIB转发表的业务或功能ID和Pub-sub出端口。
函数路由层模块还用于接收自身产生的报文或来自数据面的报文,若该报文为subscribe消息,则将subscribe消息根据基础路由层模块得到的最短路径树分发给其它路由器。
请参考图5,其示出了本申请实施例涉及的一种网络架构图。如图5所示,以路由设备为路由器为例,该网络可以由路由器构成,计算/功能消费者500和计算/功能提供者501通过网络互连,其中计算/功能提供者以计算容器的物理形态出现,在网络中作为一个叶子路由器运行路由协议,将计算容器的计算能力信息通过路由协议(IGP或BGP)协议,注入到网络中的路由器或交换机。例如,该计算容器的计算能力信息可以通过与该计算容器相邻的入口路由器502分发至网络中各个路由器,即该计算容器将计算容器对应的计算能力信息,注入与该计算容器相邻的入口路由器502,该入口路由器对该网络进行拓扑发现,计算该入口路由器到该网络中的各个路由器的最短路径树,该入口路由器再通过该最短路径树,将该计算容器对应的计算能力信息发送至网络中的各个路由器。
请参考图6,其示出了本申请实施例涉及的一种函数路由层的网络架构图。以路由设备为路由器为例,路由器引入分层路由机制,即路由器控制面上都包含有基础路由层模块和函数路由层模块。其中,路由器可以通过基础路由层做网络拓扑的发现,计算本路由器到其他路由器的最短路径树。如图6所示,从函数路由层的角度来描述热点服务对应的网络数据传输情况,路由器对来自于计算容器的热点服务的计算能力信息,不做全网Flooding泛洪处理,而是通过基础路由层得到的最短路径树分发到各个路由器,从而降低Traffic和降低FIB表规模。
首先,路由器通过最短路径树发布热点服务的计算容器对应的计算能力信息到各个路由器,并将该信息注入路由器的FIB转发表中。
当计算/功能消费者发起计算或服务请求request,路由器根据该FIB表中写入的该计算能力信息,进行路由计算,并根据计算出的路由路径转发该计算或服务请求request给相应的计算/功能提供者。
计算/功能提供者根据计算或服务请求执行相应的计算、功能或服务,然后向计算功能消费者回复/功能响应response。
请参考图7,其示出了本申请实施例涉及的一种函数路由层的网络架构图。以路由设备为路由器为例,如图7所示,从函数路由层的角度来描述非热点服务对应的网络数据传输情况,路由器对来自计算/功能消费者的非热点服务的计算或服务请求request请求,不做全网Flooding泛洪处理,而是将该计算或服务请求request转换成subscribe消息,通过基础路由层 得到的最短路径树分发到各个路由器,作为计算需求路径指示,当计算/功能提供者发布对应的业务、应用或功能时,可以根据该subscribe消息确定该业务、应用或功能的传输路径,从而降低Traffic和降低FIB转发表的规模。
路由器将计算或服务请求request转换成subscribe消息,通过最短路径树发送到各个路由器,该各个路由器将该subscribe消息注入路由器的FIB转发表中。当计算/功能提供者发布(publish)相应的计算、功能或服务程序时,路由器根据FIB表中写入的subscribe消息,向相应的计算/功能消费者转发计算、功能或服务程序。
请参考图8,其是本申请实施例涉及的一种路由方法的流程示意图。如图8所示,该路由方法包括以下步骤:
1、每个功能或业务实例所在的计算容器会运行路由协议(例如IGP或BGP),作为路由的发起者,即计算容器作为叶子路由器加入路由域,进行路由协议的发起。
2、计算容器把“业务标识或功能标识以及所在计算容器的计算能力”,即计算能力信息,通过路由协议(IGP或BGP)报文注入到路由网络中;例如可以通过注入计算容器与该路由域对应的入口路由器,即注入所属的路由器中。
3、该入口的路由器将接收到的BGP/IGP报文中携带的计算能力信息,再添加上入口的路由器地址,通过IGP或BGP报文经过最短路径树分发给其他路由器扩散到路由域内的各个路由器上,对比泛洪扩散的方式,降低了Traffic。
4、路由域内的每个路由器都通过最短路径树获取路由域内拥有的计算能力的计算容器的信息,路由器根据计算能力信息,将业务或功能ID及其相应的出端口或下一跳地址写入FIB。
由于业务或功能的数量庞大,为了降低Traffic和降低FIB表规模,可以对业务或功能引入一个热点属性,每个热点属性都会有一个热点属性值,因此可以在路由器设置一个热点阈值,路由器根据该热点阈值,将业务或功能区分为热点服务或非热点服务。每个功能或业务实例所在的计算容器会运行路由协议(例如IGP或BGP),作为路由的发起者,即计算容器作为叶子路由器加入路由域,发起路由协议。计算容器把“业务标识或功能标识以及所在计算容器的计算能力”,即计算能力信息,通过路由协议(IGP或BGP)报文注入到路由网络中;例如可以通过注入计算容器与该路由域对应的入口路由器,即注入所属的路由器中。
入口路由器根据热点阈值和业务或功能标识对应的热点属性值,判断业务或功能标识对应的业务或功能是否为热点服务。若为业务或功能被识别为热点服务,则由该计算容器与该路由域中对应的入口路由器,即与该计算容器相邻的路由器,将接收到的BGP/IGP报文中携带的业务标识、功能标识、热点属性值以及该计算容器对应的计算能力信息,以及该入口路由器地址,通过IGP/BGP等通信协议,根据最短路径树分发给其他路由器,以扩散至该路由域内的各个路由器上,即进行计算容器对应信息的主动发布;若业务或功能被识别为非热点服务,则将上述业务标识、功能标识、热点属性值以及该计算容器的计算能力信息丢弃,即不进行计算容器对应信息的主动发布。
当业务或功能由热点服务变成非热点服务时,例如当路由器上的热点阈值发生变化,此时路由器将相应的业务标识或功能标识对应的项目删除,例如将该业务标识或功能标识对应的热点属性值、计算容器的计算能力等信息删除。
请参考图9,其是本申请实施例涉及的一种路由方法的流程示意图。传统hand shaking(握 手)机制交互实体要同时在线,一方需阻塞自己直到对端做出响应;这种强耦合使得计算消费者和提供者只要有一方暂时性不在线,很容易导致计算失败,因此需要把计算消费者在时间或同步上进行解耦,因此可以通过分层路由,在通信模型上,将如(Req/Resp)机制与publish/subcribe机制结合。
如图9所示,1、当计算拉取不成功。如果计算消费者和提供者都在线,计算消费者发起计算request路由到计算提供者,计算提供者回复计算response以向计算消费者提供计算;当计算request在FIB查不到函数ID,即对计算提供者的计算拉取不成功时,说明计算提供者不在线,相应的函数ID未被发布在路由器的FIB中。
2、再将拉取计算转换成计算需求路径指示。当计算拉取不成功后,路由器将计算拉取转换成计算需求路径指示,即路由节点将计算或服务请求request转换为subscribe消息(即计算需求路径指示),通过最短路径树发布到各个路由器,并将该信息注入路由器的FIB,以便计算/功能提供者发布相应的计算信息时,可以根据该subscribe消息对应确定返回的路径信息;例如,可以根据subscribe消息对应的数据面接收报文的入端口和subscribe消息携带的业务标识或功能标识,将业务或功能ID及其相应的入端口信息,写入FIB中的业务或功能ID和Pub-sub出端口。
3、根据计算需求路径指示进行推送,当计算/功能提供者发布(publish)相应的计算、功能或服务程序(例如,报文为publish消息),路由器根据报文中携带的业务或功能ID在FIB查找相应的Pub-sub出端口,然后由Pub-sub出端口向相应的计算/功能消费者转发计算、功能或服务程序。
综上所述,在本申请实施例所示方案中,路由器接收到包含有用于指示计算容器的计算能力的计算路由信息时,获取该路由器对应路由域中其他路由器的最短路径树,并根据该路由器对应的最短路径树,将该计算路由信息发送至路由器对应的网络中的各个其他路由器,以便各个路由器根据该计算路由信息进行路由计算。通过上述方案使得路由器根据通过最短路径树分发的计算路由信息进行路由计算,在路由路径选择考虑到计算容器的计算能力的同时,减小了计算路由信息发送消耗的流量。
图10是根据一示例性实施例示出的一种计算路由信息发送装置的结构方框图。所述装置可以实现图2或图3所示实施例提供的方法中的全部或者部分步骤。所述装置包括数据面单元1000和控制面单元1010;所述控制面单元包括基础路由层模块1011和函数路由层模块1012;
所述函数路由层模块1012,用于接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;
所述基础路由层模块1011,用于获取最短路径树,所述最短路径树包含所述路由器到达所述网络中的其他各个路由器的最短路径;
所述函数路由层模块1012,用于根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述计算路由信息还包括业务或功能标识。
在一种可能的实现方式中,所述计算路由信息还包括热点属性值,所述热点属性值用于 指示所述计算路由信息对应业务或应用是否为热点服务;
所述函数路由层模块1012,还用于:
当所述热点属性值大于热点阈值,根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述函数路由层模块1012,还用于:
根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表。
在一种可能的实现方式中,所述函数路由层单元,还用于:
获取所述网络的网络能力信息;
根据所述计算路由信息与所述网络能力信息,对所述网络进行路由计算,生成或更新所述路由器对应的RIB或FIB表。
在一种可能的实现方式中,所述数据面单元1000,用于:
接收计算请求消息;所述计算请求消息用于获取计算程序或计算结果;所述计算请求消息包含业务或功能标识;
根据所述业务或功能标识查询所述路由器的RIB或FIB表;
当所述路由器的RIB或FIB表中存在所述业务或功能标识,根据所述路由器的RIB或FIB表,获取所述业务或功能标识对应的第一类出端口或第一类下一跳地址;
根据所述业务或功能标识对应的第一类出端口或第一类下一跳地址,发送所述计算请求消息。
在一种可能的实现方式中,所述数据面单元1000,还用于:
接收回应消息;所述回应消息用于下发所述计算程序或计算结果;
根据所述回应消息中包含的地址信息,确定所述回应消息对应的第一类出端口或第一类下一跳地址;
根据所述回应消息对应的第一类出端口或第一类下一跳地址,发送所述回应消息。
在一种可能的实现方式中,所述函数路由层模块1012,还用于:
获取订阅消息;所述订阅消息用于获取计算程序或计算结果;
获取所述最短路径树对应的第二类出端口或第二类下一跳地址;
将所述订阅消息,通过所述最短路径树对应的第二类出端口或第二类下一跳地址,发送至所述网络中的其他各个路由器。
在一种可能的实现方式中,所述数据面单元1000,还用于:
接收计算请求消息;所述计算请求消息用于获取所述计算程序或计算结果;
所述函数路由层模块1012,还用于:
将所述计算请求消息获取为所述订阅消息。
在一种可能的实现方式中,所述基础路由层模块1011,还用于:
对所述网络进行网络拓扑发现,获取所述最短路径树。
在一种可能的实现方式中,所述函数路由层模块1012,还用于:
将所述业务或功能标识,以及所述订阅消息对应的输入端口信息,写入至所述路由器的RIB或FIB转发表。
在一种可能的实现方式中,所述数据面单元1000,还用于:
接收发行消息;所述发行消息用于发送所述计算程序或计算结果;所述发行消息中包含 与所述发行消息对应的订阅消息的业务或功能标识;
根据所述业务或功能标识,查询所述路由器的RIB或FIB表,将所述订阅消息对应的输入端口获取为所述订阅消息对应的第二类出端口或第二类下一跳地址;
通过所述订阅消息对应的第二类出端口或第二类下一跳地址,发送所述发行消息。
在一种可能的实现方式中,所述函数路由层模块1012,还用于:
接收所述计算容器的协议报文;所述协议报文是所述计算容器运行路由协议后向所述路由器下发的;
根据所述协议报文,获取所述计算容器的所述计算路由信息。
综上所述,在本申请实施例所示方案中,路由器接收到包含有用于指示计算容器的计算能力的计算路由信息时,获取该路由器对应路由域中其他路由器的最短路径树,并根据该路由器对应的最短路径树,将该计算路由信息发送至路由器对应的网络中的各个其他路由器,以便各个路由器根据该计算路由信息进行路由计算。通过上述方案使得路由器根据通过最短路径树分发的计算路由信息进行路由计算,在路由路径选择考虑到计算容器的计算能力的同时,减小了计算路由信息发送消耗的流量。
可以理解的是,电子设备(例如路由设备)为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块(或单元)。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对电子设备(例如路由设备)进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图11示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。电子设备1100包括:处理单元1102和通信单元1103。处理单元1102用于对电子设备1100的动作进行控制管理。例如,当电子设备1100为路由设备时,处理单元1102用于支持电子设备1100执行图2所示实施例中的步骤201、步骤202,图3中的步骤301、步骤302、步骤304和/或用于执行本文所描述的技术的其它步骤;通信单元1103用于支持电子设备1100执行图2所示实施例中的步骤203,图8所示实施例的步骤303和/或用于执行本文所描述的技术的其他步骤。电子设备1100还可以包括存储单元1101,用于存储电子设备1100的程序代码和数据。例如,当电子设备1100为路由设备时,存储单元1101中存储有上文介绍的RIB或FIB表。
其中,处理单元1102可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可 以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1103可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如路由设备与计算容器之间的接口。存储单元1101可以是存储器。
当处理单元1102为处理器,通信单元1103为通信接口,存储单元1101为存储器时,本申请实施例所涉及的电子设备可以为图12所示的电子设备。
参阅图12所示,该电子设备1210包括:处理器1212、通信接口1213、存储器1211。可选地,电子设备1210还可以包括总线1214。其中,通信接口1213、处理器1212以及存储器1211可以通过总线1214相互连接;总线1214可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。所述总线1214可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述图11或图12所示的电子设备可以是路由器。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块(或单元)组成,软件模块(或单元)可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于电子设备中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述计算路由信息发送方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (29)
- 一种计算路由信息发送方法,其特征在于,所述方法由路由器执行,所述方法包括:接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
- 根据权利要求1所述的方法,其特征在于,所述计算路由信息还包括业务或功能标识。
- 根据权利要求1所述的方法,其特征在于,所述计算路由信息还包括热点属性值,所述热点属性值用于指示所述计算路由信息对应业务或应用是否为热点服务;所述根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器,包括:当所述热点属性值大于热点阈值,根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表。
- 根据权利要求4所述的方法,其特征在于,所述根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表,包括:获取所述网络的网络能力信息;根据所述计算路由信息与所述网络能力信息,对所述网络进行路由计算,生成或更新所述路由器对应的RIB或FIB表。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:接收计算请求消息;所述计算请求消息用于获取计算程序或计算结果;所述计算请求消息包含业务或功能标识;根据所述业务或功能标识查询所述路由器的RIB或FIB表;当所述路由器的RIB或FIB表中存在所述业务或功能标识,根据所述路由器的RIB或FIB表,获取所述业务或功能标识对应的第一类出端口或第一类下一跳地址;根据所述业务或功能标识对应的第一类出端口或第一类下一跳地址,发送所述计算请求消息。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:接收回应消息;所述回应消息用于下发所述计算程序或计算结果;根据所述回应消息中包含的地址信息,确定所述回应消息对应的第一类出端口或第一类下一跳地址;根据所述回应消息对应的第一类出端口或第一类下一跳地址,发送所述回应消息。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:获取订阅消息;所述订阅消息用于获取计算程序或计算结果;获取所述最短路径树对应的第二类出端口或第二类下一跳地址;将所述订阅消息,通过所述最短路径树对应的第二类出端口或第二类下一跳地址,发送至所述网络中的其他各个路由器。
- 根据权利要求8所述的方法,其特征在于,所述获取订阅消息,包括:接收计算请求消息;所述计算请求消息用于获取所述计算程序或计算结果;将所述计算请求消息获取为所述订阅消息。
- 根据权利要求1所述的方法,其特征在于,所述获取最短路径树,包括:对所述网络进行网络拓扑发现,获取所述最短路径树。
- 根据权利要求8所述的方法,其特征在于,所述订阅消息中包含业务或功能标识,所述方法还包括:将所述业务或功能标识,以及所述订阅消息对应的输入端口信息,写入至所述路由器的RIB或FIB转发表。
- 根据权利要求11所述的方法,其特征在于,所述方法还包括:接收发行消息;所述发行消息用于发送所述计算程序或计算结果;所述发行消息中包含与所述发行消息对应的订阅消息的业务或功能标识;根据所述业务或功能标识,查询所述路由器的RIB或FIB表,将所述订阅消息对应的输入端口获取为所述订阅消息对应的第二类出端口或第二类下一跳地址;通过所述订阅消息对应的第二类出端口或第二类下一跳地址,发送所述发行消息。
- 根据权利要求1所述的方法,其特征在于,所述接收计算路由信息,包括:接收所述计算容器的协议报文;所述协议报文是所述计算容器运行路由协议后向所述路由器下发的;根据所述协议报文,获取所述计算容器的所述计算路由信息。
- 一种计算路由信息发送装置,其特征在于,所述装置用于路由器中,所述装置包括数据面单元和控制面单元;所述控制面单元包括基础路由层模块和函数路由层模块;所述函数路由层模块,用于接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述 业务能力信息用于指示所述计算容器的业务处理能力;所述基础路由层模块,用于获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;所述函数路由层模块,用于根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
- 根据权利要求14所述的装置,其特征在于,所述计算路由信息还包括业务或功能标识。
- 根据权利要求14所述的装置,其特征在于,所述计算路由信息还包括热点属性值,所述热点属性值用于指示所述计算路由信息对应业务或应用是否为热点服务;所述函数路由层模块,还用于:当所述热点属性值大于热点阈值,根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
- 根据权利要求16所述的装置,其特征在于,所述函数路由层模块,还用于:根据所述计算路由信息,生成或更新所述路由器对应的RIB路由表或FIB转发表。
- 根据权利要求17所述的装置,其特征在于,所述函数路由层单元,还用于:获取所述网络的网络能力信息;根据所述计算路由信息与所述网络能力信息,对所述网络进行路由计算,生成或更新所述路由器对应的RIB或FIB表。
- 根据权利要求14所述的装置,其特征在于,所述数据面单元,用于:接收计算请求消息;所述计算请求消息用于获取计算程序或计算结果;所述计算请求消息包含业务或功能标识;根据所述业务或功能标识查询所述路由器的RIB或FIB表;当所述路由器的RIB或FIB表中存在所述业务或功能标识,根据所述路由器的RIB或FIB表,获取所述业务或功能标识对应的第一类出端口或第一类下一跳地址;根据所述业务或功能标识对应的第一类出端口或第一类下一跳地址,发送所述计算请求消息。
- 根据权利要求19所述的装置,其特征在于,所述数据面单元,还用于:接收回应消息;所述回应消息用于下发所述计算程序或计算结果;根据所述回应消息中包含的地址信息,确定所述回应消息对应的第一类出端口或第一类下一跳地址;根据所述回应消息对应的第一类出端口或第一类下一跳地址,发送所述回应消息。
- 根据权利要求14所述的装置,其特征在于,所述函数路由层模块,还用于:获取订阅消息;所述订阅消息用于获取计算程序或计算结果;获取所述最短路径树对应的第二类出端口或第二类下一跳地址;将所述订阅消息,通过所述最短路径树对应的第二类出端口或第二类下一跳地址,发送至所述网络中的其他各个路由器。
- 根据权利要求21所述的装置,其特征在于,所述数据面单元,还用于:接收计算请求消息;所述计算请求消息用于获取所述计算程序或计算结果;所述函数路由层模块,还用于:将所述计算请求消息获取为所述订阅消息。
- 根据权利要求14所述的装置,其特征在于,所述基础路由层模块,还用于:对所述网络进行网络拓扑发现,获取所述最短路径树。
- 根据权利要求21所述的装置,其特征在于,所述函数路由层模块,还用于:将所述业务或功能标识,以及所述订阅消息对应的输入端口信息,写入至所述路由器的RIB或FIB转发表。
- 根据权利要求24所述的装置,其特征在于,所述数据面单元,还用于:接收发行消息;所述发行消息用于发送所述计算程序或计算结果;所述发行消息中包含与所述发行消息对应的订阅消息的业务或功能标识;根据所述业务或功能标识,查询所述路由器的RIB或FIB表,将所述订阅消息对应的输入端口获取为所述订阅消息对应的第二类出端口或第二类下一跳地址;通过所述订阅消息对应的第二类出端口或第二类下一跳地址,发送所述发行消息。
- 根据权利要求14所述的装置,其特征在于,所述函数路由层模块,还用于:接收所述计算容器的协议报文;所述协议报文是所述计算容器运行路由协议后向所述路由器下发的;根据所述协议报文,获取所述计算容器的所述计算路由信息。
- 一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器和收发器;所述收发器,用于接收计算路由信息,所述计算路由信息包含计算容器的业务能力信息或计算能力信息;所述计算能力信息用于指示所述计算容器对应的计算能力;所述业务能力信息用于指示所述计算容器的业务处理能力;所述处理器,用于获取最短路径树,所述最短路径树包含所述路由器到达网络中的其他各个路由器的最短路径;所述收发器,用于根据所述最短路径树,将所述计算路由信息发送至所述网络中的其他各个路由器。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述 计算机程序用于被处理器执行,以实现如权利要求1至13任一项所述的计算路由信息发送方法。
- 一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行所述权利要求1至13任一项所述的计算路由信息发送方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21884898.4A EP4224750A4 (en) | 2020-10-26 | 2021-10-08 | METHOD AND DEVICE FOR SENDING COMPUTER ROUTING INFORMATION, DEVICE AND STORAGE MEDIUM |
US18/306,350 US20230269164A1 (en) | 2020-10-26 | 2023-04-25 | Method and apparatus for sending route calculation information, device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011158233.6 | 2020-10-26 | ||
CN202011158233.6A CN114513450A (zh) | 2020-10-26 | 2020-10-26 | 计算路由信息发送方法、装置、设备及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/306,350 Continuation US20230269164A1 (en) | 2020-10-26 | 2023-04-25 | Method and apparatus for sending route calculation information, device, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022089169A1 true WO2022089169A1 (zh) | 2022-05-05 |
Family
ID=81381868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/122688 WO2022089169A1 (zh) | 2020-10-26 | 2021-10-08 | 计算路由信息发送方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230269164A1 (zh) |
EP (1) | EP4224750A4 (zh) |
CN (1) | CN114513450A (zh) |
WO (1) | WO2022089169A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208812A (zh) * | 2022-07-08 | 2022-10-18 | 中国电信股份有限公司 | 业务处理方法及装置、设备、计算机可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412482B (zh) * | 2022-11-01 | 2023-01-10 | 北京邮电大学 | 算力路由方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236990A (zh) * | 2013-05-13 | 2013-08-07 | 杭州华三通信技术有限公司 | 一种路由信息同步的方法和设备 |
US20170171055A1 (en) * | 2015-12-15 | 2017-06-15 | Nicira, Inc. | Method and tool for diagnosing logical networks |
CN111510383A (zh) * | 2019-01-31 | 2020-08-07 | 华为技术有限公司 | 一种路由计算方法以及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892773B2 (en) * | 2008-12-26 | 2014-11-18 | Nec Corporation | Path control apparatus, path control method, path control program, and network system |
-
2020
- 2020-10-26 CN CN202011158233.6A patent/CN114513450A/zh active Pending
-
2021
- 2021-10-08 WO PCT/CN2021/122688 patent/WO2022089169A1/zh unknown
- 2021-10-08 EP EP21884898.4A patent/EP4224750A4/en active Pending
-
2023
- 2023-04-25 US US18/306,350 patent/US20230269164A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236990A (zh) * | 2013-05-13 | 2013-08-07 | 杭州华三通信技术有限公司 | 一种路由信息同步的方法和设备 |
US20170171055A1 (en) * | 2015-12-15 | 2017-06-15 | Nicira, Inc. | Method and tool for diagnosing logical networks |
CN111510383A (zh) * | 2019-01-31 | 2020-08-07 | 华为技术有限公司 | 一种路由计算方法以及相关设备 |
Non-Patent Citations (2)
Title |
---|
KONG LINGJING, ZENG HUASHEN,LI YAO: "Secure protection scheme for hierarchical OSPF network", JOURNAL OF COMPUTER APPLICATIONS, JISUANJI YINGYONG, CN, vol. 33, no. 8, 1 August 2013 (2013-08-01), CN , pages 2212 - 2217, XP055925719, ISSN: 1001-9081, DOI: 10.11772/j.issn.1001-9081.2013.08.2212 * |
See also references of EP4224750A4 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208812A (zh) * | 2022-07-08 | 2022-10-18 | 中国电信股份有限公司 | 业务处理方法及装置、设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230269164A1 (en) | 2023-08-24 |
EP4224750A1 (en) | 2023-08-09 |
CN114513450A (zh) | 2022-05-17 |
EP4224750A4 (en) | 2024-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US8830998B2 (en) | Separation of edge and routing/control information for multicast over shortest path bridging | |
CN103905315B (zh) | 传送网络中所用的路由信息的虚拟化和分发的方法、设备和系统 | |
US10375193B2 (en) | Source IP address transparency systems and methods | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
US9743367B2 (en) | Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric | |
US10848432B2 (en) | Switch fabric based load balancing | |
WO2022007503A1 (zh) | 一种业务流量处理方法及装置 | |
JP6395867B2 (ja) | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ | |
US11863454B2 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
US9219616B2 (en) | Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN114422415B (zh) | 在分段路由中的出口节点处理流 | |
CN109756412A (zh) | 一种数据报文转发方法以及设备 | |
CN112769698B (zh) | 一种路由实现方法和装置 | |
WO2023169364A1 (zh) | 路由生成方法、数据报文的转发方法及装置 | |
US20240214292A1 (en) | Multicast tracing in hybrid networks | |
CN116938666A (zh) | 一种数据处理方法和相关设备 | |
CN117255046A (zh) | 一种通信方法及相关设备 | |
JP2017158103A (ja) | 通信管理装置、通信システム、通信管理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2021884898 Country of ref document: EP Effective date: 20230505 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21884898 Country of ref document: EP Kind code of ref document: A1 |