Routing information processing method in virtual network, system, and electronic device
By acquiring and learning the changed routing information through the central forwarding device and distributing the target routing information to the auxiliary forwarding devices, the problem of low routing information processing efficiency in virtual networks is solved, and more efficient routing information updates are achieved.
Patent Information
- Application Number
- PCT/CN2025/103220
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-05
- Filing Date
- 2025-06-24
- Publication Date
- 2026-01-08
AI Technical Summary
In virtual networks, when a tenant's routing information changes, existing technologies need to calculate and distribute the changes to all forwarding devices, resulting in low processing efficiency.
The central forwarding device obtains the changed initial routing information and responds to the learning instructions of the auxiliary forwarding devices. It then learns and sends the target routing information to the auxiliary forwarding devices, thus avoiding the calculation and sending to all forwarding devices. The routing information is only updated on the central forwarding device.
It improves the efficiency of routing information processing in virtual networks, avoids excessively long controller output times, and enhances the speed and efficiency of routing information processing.
Smart Images

Figure CN2025103220_08012026_PF_FP_ABST
Abstract
Description
Method, system and electronic device for processing routing information in virtual network
[0001] Cross-reference to related applications
[0002] The present disclosure claims priority from a Chinese patent application No. 2024109063550 filed on July 5, 2024, and entitled "Method, system and electronic device for processing routing information in virtual network", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] The present disclosure relates to the field of computer networks, in particular to the technical field of data transmission, data communication and the like, and more particularly to a method, system and electronic device for processing routing information in a virtual network. BACKGROUND
[0004] At present, in a virtual network, when the routing information of a tenant changes, all forwarding devices carrying the routing information of the tenant need to be calculated, and the changed routing information needs to be distributed to all the forwarding devices carrying the routing information of the tenant. However, when the scale of the tenant is too large, the scale of the forwarding devices carrying the routing information of the tenant is also larger, thereby causing the time required for distributing the changed routing information to the above-mentioned forwarding devices to be longer, thus resulting in the technical problem of low processing efficiency of routing information in the virtual network.
[0005] At present, there is no effective solution to the above-mentioned technical problem of low processing efficiency of routing information in the virtual network. SUMMARY
[0006] Embodiments of the present disclosure provide a method, system and electronic device for processing routing information in a virtual network to at least solve the technical problem of low processing efficiency of routing information in the virtual network.
[0007] According to an aspect of an embodiment of the present disclosure, a method for processing routing information in a virtual network is provided, the virtual network comprising a controller, a center forwarding device and an auxiliary forwarding device, the controller being configured to send routing change information to the center forwarding device. The method can be applied to the center forwarding device, and the method can comprise: in response to initial routing information of a client in the virtual network changing, obtaining changed initial routing information from a controller corresponding to the client; in response to a first routing learning instruction triggered by the auxiliary forwarding device, learning the changed initial routing information to obtain target routing information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device in the virtual network other than the center forwarding device; and distributing the target routing information to the auxiliary forwarding device, wherein the target routing information is used to make the auxiliary forwarding device forward a packet from the client.
[0008] According to another aspect of the embodiments of the present disclosure, another method for processing routing information in a virtual network is provided. The virtual network includes a controller, a central forwarding device, and an auxiliary forwarding device. The controller is configured to send routing change information to the central forwarding device. The auxiliary forwarding device can be a forwarding device in the virtual network other than the central forwarding device. The method can be applied to the auxiliary forwarding device. The method can include sending a first route learning instruction to the central forwarding device in response to initial routing information in the virtual network changing. Target routing information matching the auxiliary forwarding device is obtained by learning the changed initial routing information by the central forwarding device in response to the first route learning instruction. The changed initial routing information is obtained by the central forwarding device from a controller corresponding to the client. The target routing information is used to make the auxiliary forwarding device forward a packet from the client.
[0009] According to another aspect of the embodiments of the present disclosure, a system for processing routing information in a virtual network is provided. The system can include a client, a controller, a central forwarding device, and an auxiliary forwarding device. The controller is configured to send routing change information to the central forwarding device. The auxiliary forwarding device is a forwarding device in the virtual network other than the central forwarding device. The client is configured to adjust initial routing information in the virtual network to obtain changed initial routing information. The controller is configured to send the changed initial routing information to the central forwarding device in response to the initial routing information changing. The central forwarding device is configured to receive the changed initial routing information. The auxiliary forwarding device is configured to send a first route learning instruction to the central forwarding device. The central forwarding device is configured to learn the changed initial routing information in response to the first route learning instruction to obtain target routing information matching the auxiliary forwarding device. The target routing information is sent to the auxiliary forwarding device. The target routing information is used to make the auxiliary forwarding device forward a packet from the client.
[0010] According to another aspect of the embodiments of the present disclosure, an electronic device is also provided. The electronic device can include a memory and a processor. The memory stores an executable program. The processor is configured to execute the executable program. When the executable program is executed by the processor, any of the above-mentioned methods for processing routing information in a virtual network is implemented.
[0011] According to another aspect of the embodiments of the present disclosure, a computer-readable storage medium is also provided. The computer-readable storage medium includes a stored executable program. When the executable program is executed, the computer-readable storage medium controls a device in which the computer-readable storage medium is located to execute the method for processing routing information in a virtual network according to the present disclosure.
[0012] According to another aspect of the embodiments of the present disclosure, a computer program product is also provided, which comprises a computer program. The computer program, when executed by a processor, implements the method for processing routing information in a virtual network of the present disclosure.
[0013] According to another aspect of the embodiments of the present disclosure, a computer program product is also provided, which comprises a non-volatile computer readable storage medium. The non-volatile computer readable storage medium stores a computer program. The computer program, when executed by a processor, implements the method for processing routing information in a virtual network of the present disclosure.
[0014] According to another aspect of the embodiments of the present disclosure, a computer program is also provided. The computer program, when executed by a processor, implements the method for processing routing information in a virtual network of the present disclosure.
[0015] In the embodiments of the present disclosure, when processing the routing information in the virtual network, if the initial routing information of the client in the virtual network changes, the changed initial routing information is acquired from the controller corresponding to the client. The center forwarding device learns the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device, and can obtain the target routing information matched with the auxiliary forwarding device, and the obtained target routing information is issued from the center forwarding device to the auxiliary forwarding device. Since in the embodiments of the present disclosure, the controller only needs to issue the changed initial routing information to the center forwarding device, and the rest of the forwarding devices all learn the changed initial routing information from the center forwarding device, the target routing information matched with the auxiliary forwarding device can be obtained, thereby making the auxiliary forwarding device forward the packet from the client, avoiding the need to calculate all the forwarding devices carrying the tenant's routing information when the tenant's routing information changes, and issuing the changed routing information to all the forwarding devices carrying the tenant's routing information, thereby achieving the purpose of avoiding the long time of the controller's issuance, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0016] It is easy to note that the above general description and the following detailed description are only for exemplifying and explaining the present disclosure, and do not constitute a limitation on the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0017] The drawings described herein are used to provide further understanding of the present disclosure, and form a part of the present disclosure. The illustrative embodiments of the present disclosure and their descriptions serve to explain the present disclosure, and do not constitute an improper limitation on the present disclosure. In the drawings:
[0018] FIG. 1 is a schematic diagram of an application scenario of a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0019] FIG. 2 is a flow chart of a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0020] FIG. 3 is a flow chart of another method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0021] FIG. 4 is a schematic diagram of a system for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0022] FIG. 5 is a hardware structure block diagram of a computer terminal (or mobile device) for implementing a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0023] FIG. 6 is a structure block diagram of a computing environment for a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0024] FIG. 7 is a structure block diagram of a service mesh for a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0025] FIG. 8(a) is a schematic diagram of a routing information transmission system in a virtual network according to an embodiment of the present disclosure;
[0026] FIG. 8(b) is a schematic diagram of a routing information self-learning system in a virtual network according to an embodiment of the present disclosure;
[0027] FIG. 8(c) is a schematic diagram of a routing information timing self-learning system in a virtual network according to an embodiment of the present disclosure;
[0028] FIG. 9 is a schematic diagram of a routing information processing apparatus in a virtual network according to an embodiment of the present disclosure;
[0029] FIG. 10 is a schematic diagram of another routing information processing apparatus in a virtual network according to an embodiment of the present disclosure;
[0030] FIG. 11 is a block diagram of an electronic device for a method for processing routing information in a virtual network according to an embodiment of the present disclosure;
[0031] FIG. 12 is a structure block diagram of a computer terminal according to an embodiment of the present disclosure;
[0032] FIG. 13 is a structure schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] In order to enable personnel in the technical field to better understand the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative labor should fall within the scope of protection of the present disclosure.
[0034] It should be noted that the terms "first", "second", and the like in the specification and claims of the present disclosure and the above-described drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0035] First, some nouns or terms appearing in the description of the embodiments of the present disclosure are applicable to the following explanations:
[0036] Virtual Private Cloud (VPC) is a service for creating a private network in a public cloud, which can create a set of virtual network resources in the cloud, such as virtual machines and storage, and can provide flexible network configuration and security control. VPC can be carried on various forwarding devices, such as Open Virtual Switch (OVS), Virtual Private Cloud Gateway (VPCGW), and Load Balancer (LB). Here, only examples are given, and no specific limitations are made.
[0037] The forwarding device can be used to carry the traffic of the virtual private network, and to forward the packets of the virtual private network according to the routing information of the virtual private network.
[0038] Elastic Capacity Management and Planning (ECMP) can be used to represent that the capacity of a forwarding device is dynamically adjusted according to the change of the load of a virtual private network, so as to achieve the purpose of stable transmission of routing information.
[0039] According to the embodiments of the present disclosure, a routing information processing method in a virtual network is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that here.
[0040] Considering that the model parameter quantity of a large model is large, and the operation resource of a mobile terminal is limited, the routing information processing method in a virtual network provided by the embodiments of the present disclosure can be applied to the application scenario as shown in FIG. 1, but is not limited thereto. In the application scenario as shown in FIG. 1, the routing information processing method in a virtual network is deployed in a server 10, which can be a cloud. The server 10 can be connected to one or more client devices 20 through a local area network connection, a wide area network connection, an Internet connection, or other types of data networks. The client devices 20 can include, but are not limited to, smartphones, tablet computers, notebook computers, palm computers, personal computers, smart home devices, vehicle-mounted devices, etc., and the client devices 20 collectively constitute a client opposite to the server 10. On the graphical user interface of the client device 20, an operation interface for displaying a target image can be deployed, and the operation interface can be an operation interface of an e-commerce platform. The client device 20 can interact with a user through the graphical user interface to call the routing information processing method in a virtual network, and thus implement the routing information processing method in a virtual network provided by the embodiments of the present disclosure.
[0041] In the embodiments of the present disclosure, the system composed of the client device and the server can perform the following steps: when processing the routing information in the virtual network, the user uses a client device such as a mobile phone, a desktop computer, or a notebook computer to communicate data with the server through the network. After the server receives the processing instruction sent by the user through the client device, the server can perform step S102, in response to the change of the initial routing information in the virtual network of the client, obtaining the changed initial routing information from the controller corresponding to the client, and can also perform step S104, in response to the first routing learning instruction triggered by the auxiliary forwarding device, learning the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device, and can also perform step S106, issuing the target routing information to the auxiliary forwarding device. In the above process, after the server receives the processing instruction sent by the user through the client device, the server can send the target routing information to the client device. It should be noted that in the case that the running resources of the client device can meet the deployment and running conditions of the routing information processing method in the virtual network, the embodiments of the present disclosure can be performed in the client device.
[0042] In the above running environment, the present disclosure provides a routing information processing method in a virtual network as shown in FIG. 2. FIG. 2 is a flowchart of a routing information processing method in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 2, the method can be applied to the center forwarding device in the virtual network, and can include the following steps:
[0043] Step S202, in response to the change of the initial routing information in the virtual network of the client, obtaining the changed initial routing information from the controller corresponding to the client.
[0044] In the technical solution provided by the above step S202 of the present disclosure, the above initial routing information can be used to represent the connection relationship and communication path between each node in the virtual network, and the above changed initial routing information can be used to represent the connection relationship and communication path between each node in the changed virtual network. For example, the above virtual network can be a VPC network, the above client can be a VPC tenant, the change of the above initial routing information can be a change of the route, and the above controller corresponding to the client can be a controller corresponding to the attributes of the tenant. The controller can be a software-defined network controller (Software-Defined Networking Controller, SDN for short). This is only an example for illustration and is not limited.
[0045] The initial routing information can be applicable to any routing change in the virtual network. For example, the initial routing information in each virtual network is different if the number of nodes in each virtual network is different, or the initial routing information in each virtual network is different if the connection mode between nodes in each virtual network is different. This is only an example and is not limited.
[0046] The central forwarding device of this embodiment can obtain the changed initial routing information from the controller corresponding to the client in response to a change in the initial routing information of the client in the virtual network. That is, if the initial routing information of the client in the virtual network changes, the central forwarding device can obtain the changed initial routing information from the controller through the communication connection between the central forwarding device and the controller. For example, if the initial routing information of the VPC tenant changes, such as a change in the connection relationship or communication path between any two nodes in the VPC network of the VPC tenant, the central forwarding device can obtain the changed connection relationship or communication path between any two nodes in the VPC network from the SDN controller through the communication connection between the central forwarding device in the VPC network and the SDN controller. This is only an example and is not limited.
[0047] It should be noted that the attributes of the tenant can include at least a quota of the tenant for allocating resources in the virtual network, a topology of the virtual network required by the tenant, and an access policy of the virtual network required by the tenant. For example, the quota of the tenant for allocating resources in the virtual network can be the number of virtual machine instances and the storage capacity, and the topology of the virtual network required by the tenant can be the configuration of network devices such as subnets and routes. This is only an example and is not limited.
[0048] In step S204, the changed initial routing information is learned in response to the first route learning instruction triggered by the auxiliary forwarding device to obtain target routing information matched with the auxiliary forwarding device.
[0049] In the technical solution provided in step S204 of the present disclosure, after the changed initial routing information is obtained from the controller corresponding to the client in response to a change in the initial routing information of the client in the virtual network, the changed initial routing information is learned in response to the first route learning instruction triggered by the auxiliary forwarding device to obtain target routing information matched with the auxiliary forwarding device.
[0050] In this embodiment, there are multiple forwarding devices in the virtual network, and the auxiliary forwarding device can be other forwarding devices in the multiple forwarding devices of the virtual network except the central forwarding device. For example, the auxiliary forwarding device can be a VPC forwarding device. This is only an example and is not limited.
[0051] In this embodiment, the first route learning instruction described above can be represented by a packet of self-learning of the auxiliary forwarding device. The target route information described above can be a result of route self-learning. The learning can include exchanging route information, forwarding route information, updating a route table, etc., whereby by learning the changed initial route information, the purpose of adapting to changes in the network environment can be achieved.
[0052] In this embodiment, after the central forwarding device obtains the changed initial route information from the controller corresponding to the client in response to the change in the initial route information of the client in the virtual network, the central forwarding device learns the changed initial route information in response to the first route learning instruction triggered by the auxiliary forwarding device, and obtains the target route information matched with the auxiliary forwarding device. That is, if the central forwarding device receives the first route learning instruction sent by the auxiliary forwarding device and responds to the first route learning instruction, the central forwarding device finds the route table therein and compares the changed initial route information according to the route information in the route table, and a comparison result can be obtained. The obtained comparison result is judged, and if it is judged that the comparison result is that the changed initial route information is included in the route information, the corresponding route information of the changed initial route information in the route table is determined as the target route information, thereby obtaining the target route information matched with the auxiliary forwarding device. The comparison result can be used to represent the relationship between the changed initial route information and the route information in the route table, for example, the comparison result can be that the changed initial route information is included in the route information, or the changed initial route information is not included in the route information, which is only used for illustration and is not limited specifically.
[0053] Optionally, if it is judged that any route information in the route table is the same as the changed initial route information, the changed initial route information is learned, thereby obtaining the target route information matched with the auxiliary forwarding device, for example, the route information in the route table that is the same as the changed initial route information is determined as the target route information, thereby obtaining the target route information matched with the auxiliary forwarding device.
[0054] Optionally, if it is judged that any route information in the route table is different from the changed initial route information, the route information with a similarity to the changed initial route information reaching a target similarity is found from the route table, and the route information with a similarity to the changed initial route information reaching the target similarity is determined as the target route information, thereby obtaining the target route information matched with the auxiliary forwarding device, wherein the target similarity can be but is not limited to 99%, which is only used for illustration and is not limited specifically.
[0055] It should be noted that the above method of obtaining the target routing information matched with the auxiliary forwarding device is merely an example, and is not limited specifically herein. As long as the process and method of learning the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device are within the protection scope of the embodiments of the present disclosure, they will not be illustrated one by one herein.
[0056] In step S206, the target routing information is sent to the auxiliary forwarding device.
[0057] In the technical solution provided in the above step S206 of the present disclosure, after the target routing information matched with the auxiliary forwarding device is obtained by learning the changed initial routing information in response to the first routing learning instruction triggered by the auxiliary forwarding device, the target routing information can be sent to the auxiliary forwarding device.
[0058] In this embodiment, the target routing information can be used to make the auxiliary forwarding device forward the packet from the client. For example, the target routing information can be used to make the VPC forwarding device forward the data packet from the tenant, which is merely an example and is not limited specifically herein.
[0059] The central forwarding device of this embodiment sends the target routing information to the auxiliary forwarding device. That is, the central forwarding device can send the target routing information to the auxiliary forwarding device through the communication connection between the central forwarding device and the auxiliary forwarding device. For example, the central forwarding device can send the result of the routing self-learning to the VPC forwarding device through the communication connection between the central forwarding device and the VPC forwarding device, thereby achieving the technical effect of improving the routing information processing efficiency in the virtual network.
[0060] Through the above steps S202 to S206 of the disclosure, when processing the routing information in the virtual network, if the initial routing information of the client in the virtual network changes, the changed initial routing information is acquired from the controller corresponding to the client. The center forwarding device learns the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device in the virtual network, and can obtain the target routing information matched with the auxiliary forwarding device, and the obtained target routing information is distributed from the center forwarding device to the auxiliary forwarding device. Since the controller of the embodiment of the disclosure only needs to distribute the changed initial routing information to the center forwarding device, the rest of the forwarding devices learn the changed initial routing information from the center forwarding device, and the target routing information matched with the auxiliary forwarding device can be obtained, so as to make the auxiliary forwarding device forward the packet from the client, thereby avoiding the need to calculate all the forwarding devices carrying the tenant's routing information when the tenant's routing information changes, and distributing the changed routing information to all the forwarding devices carrying the tenant's routing information, thereby achieving the purpose of avoiding the long distribution time of the controller, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0061] The above method of the embodiment will be further introduced below.
[0062] As an optional implementation, in step S204, learning the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device to obtain the target routing information matched with the auxiliary forwarding device, comprising: in response to the first route learning instruction triggered by the auxiliary forwarding device, searching the routing information in the routing table in the center forwarding device; and in response to the routing information including the changed initial routing information, learning the changed initial routing information to obtain the target routing information.
[0063] In the embodiment, the above routing table can include the routing information of the client allowed to be forwarded by the center forwarding device. The above routing information can be the full routing information of the client, and the above routing information can include any connection relationship and any communication path between each node in each virtual network.
[0064] In this embodiment, after the central forwarding device obtains the changed initial routing information from the controller corresponding to the client in response to the initial routing information of the client in the virtual network changing, the central forwarding device, in response to the first route learning instruction triggered by the auxiliary forwarding device, looks up the routing information in the routing table in the central forwarding device; in response to the initial routing information in the routing information including the changed initial routing information, the central forwarding device learns the changed initial routing information to obtain target routing information. That is, if the central forwarding device receives the first route learning instruction sent by the auxiliary forwarding device and responds to the first route learning instruction, the central forwarding device looks up the routing table therein, and by judging whether the routing table includes the changed initial routing information, the central forwarding device learns the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device. For example, by judging the relationship between the routing information in the routing table and the changed initial routing information, the central forwarding device learns the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device.
[0065] In this embodiment, in response to the central forwarding device judging that the routing table includes the changed initial routing information, the central forwarding device learns the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device. For example, in response to the central forwarding device judging that any routing information in the routing table is the same as the changed initial routing information, the central forwarding device learns the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device.
[0066] Optionally, in response to the central forwarding device judging that the routing table does not include the changed initial routing information, the central forwarding device looks up the routing information with a similarity to the changed initial routing information reaching a target similarity from the routing table, and learns the changed initial routing information by using the routing information with the similarity to the changed initial routing information reaching the target similarity to obtain the target routing information matched with the auxiliary forwarding device, where the target similarity can be, but is not limited to, 97%, which is only an example and is not limited.
[0067] It should be noted that the above method of obtaining the target routing information matched with the auxiliary forwarding device is only an example and is not limited herein. Any process and method that can learn the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device are within the protection scope of the embodiments of the present disclosure, which will not be illustrated one by one herein.
[0068] As an optional implementation, the searching of the route information in the route table in the center forwarding device in response to the first route learning instruction triggered by the auxiliary forwarding device comprises: in the case that the session information of the auxiliary forwarding device does not include the changed initial route information, searching the route information in the route table in response to the first route learning instruction triggered on the auxiliary forwarding device.
[0069] In this embodiment, the session information can be represented by a session table, and the session information can be used to record the traffic direction and encapsulation format corresponding to the changed initial route information, which is only an example and is not limited in particular.
[0070] In this embodiment, after the center forwarding device acquires the changed initial route information from the controller corresponding to the client in response to the change of the initial route information of the client in the virtual network, in the case that the session information of the auxiliary forwarding device does not include the changed initial route information, the center forwarding device searches the route information in the route table in the center forwarding device in response to the first route learning instruction triggered on the auxiliary forwarding device. That is, by judging the relationship between the session information of the auxiliary forwarding device and the changed initial route information, the center forwarding device can search the route information in the route table in the center forwarding device in response to the first route learning instruction triggered on the auxiliary forwarding device. If it is judged that the session information of the auxiliary forwarding device does not include the changed initial route information, in the case that the center forwarding device receives the first route learning instruction sent by the auxiliary forwarding device, the center forwarding device searches the route information in the route table in the center forwarding device in response to the first route learning instruction.
[0071] As another optional example, the session information of the auxiliary forwarding device is searched, and the searching is timed. If the searching time has exceeded the preset time, and the changed initial route information is not found in the session information, in the case that the center forwarding device receives the first route learning instruction sent by the auxiliary forwarding device, the center forwarding device searches the route information in the route table in the center forwarding device in response to the first route learning instruction.
[0072] It should be noted that the auxiliary forwarding device can trigger the first route learning instruction in the following cases: case one, the auxiliary forwarding device triggers the first route learning instruction in a case where the session information of the auxiliary forwarding device does not include the changed initial route information; case two, the auxiliary forwarding device triggers the first route learning instruction in a case where the search duration of the search on the session information of the auxiliary forwarding device exceeds the preset time, and the changed initial route information is not found in the session information; and case three, the auxiliary forwarding device triggers the first route learning instruction in a case where the session information of the auxiliary forwarding device is lost. This is only an example and is not limited.
[0073] As an optional implementation, the target route information is added to the session information of the auxiliary forwarding device.
[0074] In this embodiment, after the central forwarding device learns the target route information matched with the auxiliary forwarding device in response to the first route learning instruction of the auxiliary forwarding device in the virtual network, the target route information is added to the session information of the auxiliary forwarding device. That is, on the basis of the target route information matched with the auxiliary forwarding device obtained by the central forwarding device, the target route information is added to the session information of the auxiliary forwarding device, and the updated session information is stored in the auxiliary forwarding device as the session information of the auxiliary forwarding device. For example, the central forwarding device adds the result of route self-learning to the session table of the VPC forwarding device, and stores the session table after adding the result of route self-learning in the VPC forwarding device as the session table of the VPC forwarding device.
[0075] As an optional implementation, the target route information is obtained by learning the changed initial route information in response to the fact that the route information includes the changed initial route information. The learning of the changed initial route information to obtain the target route information includes: in response to the fact that the route information includes the changed initial route information, determining the corresponding route information of the changed initial route information in the route table as the target route information.
[0076] In this embodiment, after the central forwarding device performs a lookup on the routing information in the routing table in response to the first route learning instruction of the auxiliary forwarding device, the central forwarding device determines the corresponding routing information of the changed initial routing information in the routing table as the target routing information in response to the changed initial routing information included in the routing information. That is, the changed initial routing information is learned by judging whether the routing information includes the changed initial routing information, and the target routing information matching the auxiliary forwarding device is obtained. Alternatively, the corresponding routing information of the changed initial routing information in the routing table is determined as the target routing information in response to the changed initial routing information included in the routing information, and the target routing information is updated to the session information of the auxiliary forwarding device.
[0077] As an optional implementation, the method further includes: in response to a second route learning instruction triggered by the auxiliary forwarding device, obtaining next-hop initial routing information of the changed initial routing information; in response to the next-hop initial routing information being the changed routing information, learning the next-hop initial routing information to obtain next-hop target routing information matching the auxiliary forwarding device; and delivering the next-hop target routing information to the auxiliary forwarding device.
[0078] In this embodiment, the second route learning instruction can be represented by a packet of the auxiliary forwarding device for timing self-learning, and the next-hop target routing information can be used to make the auxiliary forwarding device forward a packet from a client. For example, the trigger time of the second route learning instruction can be separated from the trigger time of the first route learning instruction by a target time length, which can be, but is not limited to, 1S. The next-hop target routing information can be the latest routing next-hop information of the initial routing information. The next-hop target routing information can be the same as the target routing information obtained by learning the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device. Alternatively, the next-hop target routing information can be different from the target routing information. This is only an example and is not limited in particular.
[0079] In this embodiment, the center forwarding device acquires the next-hop initial route information of the changed initial route information in response to the second route learning instruction triggered by the auxiliary forwarding device, learns the next-hop initial route information to obtain the next-hop target route information matched with the auxiliary forwarding device in response to the next-hop initial route information being the changed route information, and delivers the next-hop target route information to the auxiliary forwarding device. That is, if the center forwarding device receives the second route learning instruction triggered by the auxiliary forwarding device, the center forwarding device acquires the next-hop initial route information of the changed initial route information, judges the relationship between the acquired next-hop initial route information and the changed initial route information to learn the changed next-hop initial route information, obtains the next-hop target route information matched with the auxiliary forwarding device, and delivers the next-hop target route information matched with the auxiliary forwarding device to the auxiliary forwarding device.
[0080] In this embodiment, if it is judged that the acquired next-hop initial route information is different from the changed initial route information, it can be determined that the next-hop initial route information acquired by the center forwarding device is the changed route information, the center forwarding device learns the changed next-hop initial route information to obtain the next-hop target route information matched with the auxiliary forwarding device, and the center forwarding device can deliver the next-hop target route information to the auxiliary forwarding device through the communication connection between the center forwarding device and the auxiliary forwarding device.
[0081] Optionally, if it is judged that the acquired next-hop initial route information is the same as the changed initial route information, it can be determined that the next-hop initial route information acquired by the center forwarding device is the unchanged route information, the center forwarding device directly delivers the changed initial route information as the next-hop target route information matched with the auxiliary forwarding device, and the center forwarding device can deliver the next-hop target route information to the auxiliary forwarding device through the communication connection between the center forwarding device and the auxiliary forwarding device.
[0082] Optionally, if the time shown by the timer in the auxiliary forwarding device is 1S and the target duration is 1S, the central forwarding device can receive the second route learning instruction triggered by the auxiliary forwarding device at the trigger time 1S apart from the first route learning instruction, acquire the next hop initial route information of the changed initial route information, judge the relationship between the acquired next hop initial route information and the changed initial route information, if it is judged that the acquired next hop initial route information is different from the changed initial route information, it can be determined that the acquired next hop initial route information is the changed route information, the changed next hop initial route information is learned, the next hop target route information matched with the auxiliary forwarding device can be obtained, and the central forwarding device can download the next hop target route information to the auxiliary forwarding device through the communication connection between the central forwarding device and the auxiliary forwarding device. Here, only an example is used for illustration, and no specific limitation is made.
[0083] Optionally, if the time shown by the timer in the auxiliary forwarding device is 1S and the target duration is 0.5S, the central forwarding device cannot receive the second route learning instruction triggered by the auxiliary forwarding device at the trigger time 1S apart from the first route learning instruction. Here, only an example is used for illustration, and no specific limitation is made.
[0084] As an optional implementation, the method further includes: acquiring the session information of the auxiliary forwarding device from the second route learning instruction; comparing the session information of the auxiliary forwarding device and the next hop initial route information to obtain a comparison result; and determining whether the next hop initial route information is the changed route information based on the comparison result.
[0085] In this embodiment, the session information can be the information of the full session table, and the comparison result can be used to represent the relationship between the session information of the auxiliary forwarding device and the next hop initial route information. For example, the comparison result can be that the session information of the auxiliary forwarding device includes the next hop initial route information, or that the session information of the auxiliary forwarding device does not include the next hop initial route information. Here, only an example is used for illustration, and no specific limitation is made.
[0086] In this embodiment, the central forwarding device obtains the session information of the auxiliary forwarding device from the second route learning instruction; compares the session information of the auxiliary forwarding device with the next-hop initial route information to obtain a comparison result; and determines whether the next-hop initial route information is changed route information based on the comparison result. That is, the central forwarding device can obtain the session information of the auxiliary forwarding device from the second route learning instruction, compare the route information included in the session information of the auxiliary forwarding device with the next-hop initial route information to obtain a comparison result, analyze the comparison result, and determine whether the next-hop initial route information is changed route information.
[0087] As an optional implementation, the determining whether the next-hop initial route information is changed route information based on the comparison result includes: in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next-hop initial route information, determining that the next-hop initial route information is changed route information.
[0088] In this embodiment, after the central forwarding device compares the session information of the auxiliary forwarding device with the next-hop initial route information to obtain a comparison result, in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next-hop initial route information, the central forwarding device determines that the next-hop initial route information is changed route information. That is, the central forwarding device analyzes the comparison result, and if the analysis result is that the session information of the auxiliary forwarding device does not include the next-hop initial route information, the central forwarding device determines that the next-hop initial route information is changed route information, thereby achieving the purpose of updating route information.
[0089] Optionally, if the analysis result is that the session information of the auxiliary forwarding device includes the next-hop initial route information, the central forwarding device determines that the next-hop initial route information is unchanged route information, and does not need to update the route information.
[0090] As an optional implementation, before the learning of the changed initial route information to obtain the target route information matched with the auxiliary forwarding device in response to the first route learning instruction triggered by the auxiliary forwarding device, the method further includes: obtaining a packet from a client of the auxiliary forwarding device; and forwarding the packet of the client according to the changed initial route information.
[0091] In this embodiment, the center forwarding device acquires the packet of the client from the auxiliary forwarding device, and forwards the packet of the client according to the changed initial routing information. That is, in the case that the client sends the packet to the auxiliary forwarding device, the center forwarding device can receive the packet sent by the auxiliary forwarding device through the communication connection between the auxiliary forwarding device and the center forwarding device, thereby acquiring the packet of the client from the auxiliary forwarding device, and forwarding the acquired packet of the client according to the changed initial routing information. For example, in the case that the tenant sends the packet to the VPC forwarding device, the center forwarding device can receive the packet sent by the VPC forwarding device through the communication connection between the VPC forwarding device and the center forwarding device, thereby acquiring the packet of the tenant from the VPC forwarding device, and forwarding the acquired packet of the tenant according to the routing table issued.
[0092] As an optional implementation, the target routing information is issued into the auxiliary forwarding device, including: determining a communication protocol between the center forwarding device and the auxiliary forwarding device; and issuing the target routing information into the auxiliary forwarding device according to the communication protocol.
[0093] In this embodiment, the communication protocol can be used for routing information transmission between the center forwarding device and the auxiliary forwarding device, and the communication protocol can be determined according to the attribute of the tenant.
[0094] In this embodiment, after the center forwarding device learns the changed initial routing information in response to the first routing learning instruction of the auxiliary forwarding device in the virtual network, and obtains the target routing information matched with the auxiliary forwarding device, the communication protocol between the center forwarding device and the auxiliary forwarding device is determined, and the target routing information is issued into the auxiliary forwarding device according to the communication protocol. That is, according to the attribute of the tenant, the communication protocol between the center forwarding device and the auxiliary forwarding device can be determined, and the target routing information can be issued from the center forwarding device into the auxiliary forwarding device according to the determined communication protocol. For example, according to the quota of the tenant for allocating resources in the virtual network, the topology of the virtual network required by the tenant, and the access policy of the virtual network required by the tenant, the communication protocol between the center forwarding device and the VPC forwarding device can be determined, and the result of the routing self-learning can be issued from the center forwarding device into the VPC forwarding device according to the determined communication protocol, thereby achieving the technical effect of improving the routing information processing efficiency in the virtual network.
[0095] The embodiment of the present disclosure further provides a method for processing routing information in a virtual network, the virtual network comprising a controller, a center forwarding device and an auxiliary forwarding device, the controller being configured to send routing change information to the center forwarding device, and Fig. 3 is a flowchart of another method for processing routing information in a virtual network according to the embodiment of the present disclosure, as shown in Fig. 3, the method can be applied to the auxiliary forwarding device, which can be a forwarding device in the virtual network other than the center forwarding device, and the method can comprise the following steps:
[0096] In step S302, a first route learning instruction is sent to the center forwarding device in response to a change in initial routing information of the client in the virtual network.
[0097] In the technical solution provided by the above step S302 of the present disclosure, the auxiliary forwarding device sends a first route learning instruction to the center forwarding device in the case where the initial routing information of the client in the virtual network changes. That is, if the initial routing information of the client in the virtual network changes, the auxiliary forwarding device can send a first route learning instruction to the center forwarding device through the communication connection between the center forwarding device and the auxiliary forwarding device. For example, if the initial routing information of the tenant in the VPC network changes, the VPC forwarding device can send a self-learned packet to the center forwarding device through the communication connection between the center forwarding device and the VPC forwarding device, which is only an example and is not limited in particular.
[0098] In step S304, target routing information matched with the auxiliary forwarding device is obtained by learning the changed initial routing information by the center forwarding device in response to the first route learning instruction.
[0099] In the technical solution provided by the above step S304 of the present disclosure, after the auxiliary forwarding device sends a first route learning instruction to the center forwarding device in the case where the initial routing information of the client in the virtual network changes, the auxiliary forwarding device can obtain target routing information matched with the auxiliary forwarding device by learning the changed initial routing information by the center forwarding device in response to the first route learning instruction.
[0100] In this embodiment, the changed initial routing information can be obtained by the center forwarding device from the controller corresponding to the client, the target routing information can be used to make the auxiliary forwarding device forward packets from the client, and the target routing information can be the result of route self-learning.
[0101] The embodiment can assist the secondary forwarding device to obtain the target routing information matched with the secondary forwarding device from the center forwarding device in response to the first routing learning instruction sent by the secondary forwarding device to the center forwarding device after the initial routing information of the client in the virtual network changes. That is, if the center forwarding device receives the first routing learning instruction sent by the secondary forwarding device and responds to the first routing learning instruction, the center forwarding device can find the routing table in the first routing learning instruction, compare the changed initial routing information with the routing information in the routing table, and obtain a comparison result. The comparison result is judged. If it is judged that the comparison result is the changed initial routing information included in the routing information, the corresponding routing information of the changed initial routing information in the routing table is determined as the target routing information, so as to obtain the target routing information matched with the secondary forwarding device.
[0102] Optionally, if it is judged that any routing information in the routing table is the same as the changed initial routing information, the changed initial routing information is learned, so as to obtain the target routing information matched with the secondary forwarding device. For example, the routing information in the routing table which is the same as the changed initial routing information is determined as the target routing information, so as to obtain the target routing information matched with the secondary forwarding device.
[0103] Optionally, if it is judged that any routing information in the routing table is different from the changed initial routing information, the routing information with a similarity to the changed initial routing information reaching a target similarity is found from the routing table, and the routing information with a similarity to the changed initial routing information reaching the target similarity is determined as the target routing information, where the target similarity can be but is not limited to 99%, which is only used as an example and is not limited specifically.
[0104] It should be noted that the learning by using the routing table is only a preferred implementation manner, and other manners for obtaining the target routing information matched with the secondary forwarding device can also be used.
[0105] Through the above steps S302 and S304 of the present disclosure, when processing the routing information in the virtual network, in the case that the initial routing information of the client in the virtual network changes, the auxiliary forwarding device sends a first route learning instruction to the center forwarding device, and obtains the target routing information matched with the auxiliary forwarding device, which is obtained by the center forwarding device learning the changed initial routing information in response to the first route learning instruction. Since the controller of the embodiment of the present disclosure only needs to issue the changed initial routing information to the center forwarding device, and the rest of the forwarding devices learn the changed initial routing information from the center forwarding device, the target routing information matched with the auxiliary forwarding device can be obtained, thereby making the auxiliary forwarding device forward the packet from the client, avoiding the need to calculate all the forwarding devices carrying the tenant's routing information when the tenant's routing information changes, and issuing the changed routing information to all the forwarding devices carrying the tenant's routing information, thereby achieving the purpose of avoiding the long issuance time of the controller, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0106] As an optional implementation, in step S302, in response to the initial routing information of the client in the virtual network changing, the first route learning instruction is sent to the center forwarding device, including: in response to the session information of the auxiliary forwarding device not including the changed initial routing information, triggering the first route learning instruction; sending the triggered first route learning instruction to the center forwarding device.
[0107] In this embodiment, the above-mentioned session information can be represented by a session table, and the above-mentioned session information can be used to record the traffic direction and encapsulation format corresponding to the changed initial routing information, which is only an example and is not limited.
[0108] In this embodiment, the first route learning instruction is triggered in the case that the session information of the auxiliary forwarding device does not include the changed initial route information, and the triggered first route learning instruction is sent to the central forwarding device. That is, the auxiliary forwarding device can trigger the first route learning instruction by judging the relationship between the session information of the auxiliary forwarding device and the changed initial route information, and the auxiliary forwarding device can send the triggered first route learning instruction to the central forwarding device through the communication connection between the auxiliary forwarding device and the central forwarding device. If it is judged that the session information of the auxiliary forwarding device does not include the changed initial route information, the auxiliary forwarding device can trigger the first route learning instruction, and the auxiliary forwarding device can send the triggered first route learning instruction to the central forwarding device through the communication connection between the auxiliary forwarding device and the central forwarding device. For example, the VPC forwarding device can trigger the first route learning instruction, and the VPC forwarding device can send the triggered first route learning instruction to the central forwarding device through the communication connection between the VPC forwarding device and the central forwarding device.
[0109] As an optional implementation, the method further includes: adding the obtained target route information to the session information of the auxiliary forwarding device.
[0110] In this embodiment, the auxiliary forwarding device adds the obtained target route information to the session information of the auxiliary forwarding device. That is, on the basis of obtaining the target route information matched with the auxiliary forwarding device, the auxiliary forwarding device adds the target route information to the session information of the auxiliary forwarding device, and stores the session information after adding the target route information as the session information of the auxiliary forwarding device in the auxiliary forwarding device. For example, the VPC forwarding device adds the result of route self-learning to the session table of the VPC forwarding device, and stores the session table after adding the result of route self-learning as the session table of the VPC forwarding device in the VPC forwarding device.
[0111] As an optional implementation, the method further includes: triggering a second route learning instruction, and sending the second route learning instruction to the central forwarding device; and in response to a change in the next-hop initial route information of the changed initial route information, obtaining the next-hop target route information matched with the auxiliary forwarding device, which is obtained by the central forwarding device in response to the second route learning instruction, and learned for the next-hop initial route information.
[0112] In the embodiment, the trigger time of the second route learning instruction and the trigger time of the first route learning instruction can be separated by a target time length, and the next hop target route information can be used to make the auxiliary forwarding device forward the packet from the client. For example, the target time length can be, but is not limited to, 65S, and the next hop target route information can be the latest route next hop information of the initial route information.
[0113] In the embodiment, the auxiliary forwarding device triggers the second route learning instruction according to the target time length, and sends the triggered second route learning instruction to the central forwarding device through the communication connection between the auxiliary forwarding device and the central forwarding device. The next hop initial route information obtained is judged to obtain the next hop target route information matched with the auxiliary forwarding device, which is obtained by the central forwarding device learning the changed next hop initial route information in response to the second route learning instruction. If it is judged that the next hop initial route information of the changed initial route information is changed, the auxiliary forwarding device can obtain the next hop target route information matched with the auxiliary forwarding device, which is obtained by the central forwarding device learning the changed next hop initial route information in response to the second route learning instruction.
[0114] Optionally, if the time displayed by the timer in the auxiliary forwarding device is 0.9s and the target time length is 0.9s, the auxiliary forwarding device triggers the second route learning instruction according to the target time length of 0.9s, and the auxiliary forwarding device can send the triggered second route learning instruction to the central forwarding device through the communication connection between the auxiliary forwarding device and the central forwarding device. The next hop initial route information obtained is judged, and if it is judged that the next hop initial route information of the changed initial route information is changed, the auxiliary forwarding device can obtain the next hop target route information matched with the auxiliary forwarding device, which is obtained by the central forwarding device learning the changed next hop initial route information in response to the second route learning instruction. This is only an example and is not limited.
[0115] Optionally, if the time displayed by the timer in the auxiliary forwarding device is 0.9s and the target time length is 1s, the auxiliary forwarding device cannot trigger the second route learning instruction according to the target time length of 1s, and the auxiliary forwarding device cannot send the triggered second route learning instruction to the central forwarding device through the communication connection between the auxiliary forwarding device and the central forwarding device. This is only an example and is not limited.
[0116] As an optional implementation, the method further comprises: adding the obtained next hop target route information to the session information of the auxiliary forwarding device.
[0117] In this embodiment, on the basis of judging that the next hop initial route information of the changed initial route information is changed, the auxiliary forwarding device adds the acquired target route information to the session information of the auxiliary forwarding device, and determines the session information after adding the target route information as the session information of the auxiliary forwarding device. For example, the VPC forwarding device adds the changed target route information to the session table of the VPC forwarding device, and determines the session table after adding the target route information as the session table of the VPC forwarding device.
[0118] The embodiment of the present disclosure further provides a routing information processing system in a virtual network. It should be noted that the routing information processing system in a virtual network of the embodiment can be used to execute the routing information processing method in a virtual network described above. FIG. 4 is a schematic diagram of a routing information processing system in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 4, the system can include a client 402, a controller 404, a center forwarding device 406 and an auxiliary forwarding device 408. The controller is configured to send route change information to the center forwarding device.
[0119] The client 402 is configured to adjust initial route information in a virtual network to obtain changed initial route information.
[0120] The controller 404 is configured to, in response to the initial route information being changed, issue the changed initial route information to the center forwarding device.
[0121] The center forwarding device 406 is configured to receive the changed initial route information.
[0122] The auxiliary forwarding device 408 in the virtual network is configured to send a first route learning instruction to the center forwarding device. The center forwarding device is configured to, in response to the first route learning instruction, learn the changed initial route information to obtain target route information matched with the auxiliary forwarding device, and issue the target route information to the auxiliary forwarding device.
[0123] In the technical solution provided by the routing information processing system in a virtual network of the present disclosure, the client 402 can be a tenant, the controller 404 can be an SDN controller, the center forwarding device 406 can be a center forwarding device in a VPC network, and the auxiliary forwarding device 408 can be a forwarding device in the VPC network except the center forwarding device.
[0124] In this embodiment, the initial routing information can be used to represent the connection relationship and communication path between the nodes in the virtual network, the changed initial routing information can be used to represent the connection relationship and communication path between the nodes in the changed virtual network, the first route learning instruction can be represented by a self-learning message of the auxiliary forwarding device, the target routing information can be used to make the auxiliary forwarding device forward the message from the client, and the target routing information can be the result of route self-learning.
[0125] In this embodiment, the initial routing information in the virtual network can be adjusted by the client in the routing information processing system in the virtual network to obtain changed initial routing information. The changed initial routing information obtained from the client can be sent to the central forwarding device in response to the change of the initial routing information through the controller in the routing information processing system in the virtual network and the communication connection between the controller and the central forwarding device. The changed initial routing information sent by the controller can be received by at least one central forwarding device in the routing information processing system in the virtual network. The first route learning instruction can be sent to the central forwarding device through at least one auxiliary forwarding device in the virtual network in the routing information processing system in the virtual network and the communication connection between the auxiliary forwarding device and the central forwarding device. The central forwarding device can also learn the changed initial routing information according to the routing information in the routing table in response to the first route learning instruction, thereby obtaining the target routing information matched with the auxiliary forwarding device, and the obtained target routing information can be sent to the auxiliary forwarding device through the communication connection between the central forwarding device and the auxiliary forwarding device.
[0126] Through the routing information processing system in the virtual network in the above disclosure, the initial routing information in the virtual network can be adjusted by the client in the routing information processing system in the virtual network to obtain changed initial routing information. The controller in the routing information processing system in the virtual network can issue the changed initial routing information to the central forwarding device in response to a change in the initial routing information, and the at least one central forwarding device in the routing information processing system in the virtual network can receive the changed initial routing information. The at least one auxiliary forwarding device in the virtual network in the routing information processing system can send a first route learning instruction to the central forwarding device. The central forwarding device can also learn the changed initial routing information in response to the first route learning instruction to obtain target routing information matched with the auxiliary forwarding device, and issue the target routing information to the auxiliary forwarding device. Since the controller of the embodiment of the disclosure only needs to issue the changed initial routing information to the central forwarding device, the rest of the forwarding devices learn the changed initial routing information from the central forwarding device, and the target routing information matched with the auxiliary forwarding device can be obtained, thereby making the auxiliary forwarding device forward the packet from the client, avoiding the need to calculate all the forwarding devices carrying the tenant's routing information when the tenant's routing information changes, and issuing the changed routing information to all the forwarding devices carrying the tenant's routing information, thereby achieving the purpose of avoiding the long issuance time of the controller, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0127] The above system of the embodiment will be further introduced below.
[0128] As an optional implementation, the system further includes a product console configured to determine the controller corresponding to the client based on the attribute of the client.
[0129] In the embodiment, the product console can be connected with the client in the routing information processing system in the virtual network, or can be connected with the controller in the routing information processing system in the virtual network. For example, the product console can be a VPC product console, which is only an example and is not limited.
[0130] In this embodiment, by setting a product console in the routing information processing system in the virtual network, the controller corresponding to the client can be determined according to the attribute of the client. For example, by setting a VPC product console in the routing information processing system in the VPC network, the controller corresponding to the tenant can be determined according to the attribute of the tenant. If the attribute of the tenant is at least one of the following attributes: the quota of the tenant for allocating resources in the virtual network, the topology of the virtual network required by the tenant, and the access policy of the virtual network required by the tenant, etc., the SDN controller can be determined as the controller corresponding to the client.
[0131] As an optional implementation, the center forwarding device comprises: a first self-learning end configured to, in response to the first route learning instruction of the auxiliary forwarding device, search the routing table in the center forwarding device; and in response to the changed initial route information included in the routing table, learn the changed initial route information to obtain the target route information.
[0132] In this embodiment, the first self-learning end described above can be deployed in the center forwarding device, and the routing table described above can include the route information of the client allowed to be forwarded by the center forwarding device. For example, the first self-learning end described above can be a self-learning server (server) end, which is merely an example and is not limited in particular.
[0133] In this embodiment, by setting the first self-learning end in the center forwarding device in the system described above, in the case where it is judged that the session information of the auxiliary forwarding device does not include the changed initial route information, the routing table in the center forwarding device can be searched in response to the first route learning instruction sent by the auxiliary forwarding device to the first self-learning end. If the changed initial route information is included in the routing table, the changed initial route information is determined as the target route information.
[0134] As an optional implementation, the auxiliary forwarding device comprises: a second self-learning end configured to, in response to the session information of the auxiliary forwarding device not including the changed initial route information, trigger the first route learning instruction, and send the triggered first route learning instruction to the center forwarding device.
[0135] In this embodiment, the second self-learning end described above can be deployed in the auxiliary forwarding device. For example, the second self-learning end described above can be a self-learning client (client) end, which is merely an example and is not limited in particular.
[0136] In this embodiment, by setting a second self-learning end in the auxiliary forwarding device in the above system, the first route learning instruction can be triggered in response to the session information of the auxiliary forwarding device not including the changed initial route information, and through the communication connection between the auxiliary forwarding device and the central forwarding device, the triggered first route learning instruction can be sent from the second self-learning end to the first self-learning end in the central forwarding device.
[0137] As an optional implementation, the central forwarding device is configured to perform the expansion or contraction operation based on the traffic data corresponding to the first route learning instruction.
[0138] In this embodiment, by setting the central forwarding device in the above system, the expansion or contraction operation can be performed according to the traffic data corresponding to the first route learning instruction. For example, by setting the central forwarding device in the route information processing system of the VPC network, the expansion or contraction operation can be performed according to the traffic data corresponding to the first route learning instruction. If the traffic data corresponding to the first route learning instruction is greater than the target traffic data, the expansion operation is performed, and if the traffic data corresponding to the first route learning instruction is less than the target traffic data, the contraction operation is performed. The target traffic data can be determined according to the attributes of the tenant.
[0139] Optionally, if the traffic data corresponding to the first route learning instruction is 10 5 G, and the target traffic data is 10 4 G, that is, the traffic data corresponding to the first route learning instruction is greater than the target traffic data, the expansion operation is performed. If the traffic data corresponding to the first route learning instruction is 10 4 G, and the target traffic data is 10 5 G, that is, the traffic data corresponding to the first route learning instruction is less than the target traffic data, the contraction operation is performed. This is only an example and is not limited.
[0140] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present disclosure, such as data for verification, are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation portal for user to choose authorization or refusal.
[0141] It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are all described as a combination of a series of actions, but those skilled in the art should know that the disclosure is not limited by the order of the actions described, because according to the disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the disclosure.
[0142] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and a necessary general hardware platform, and of course, it can also be realized by hardware. Based on such understanding, the technical solutions of the disclosure can be embodied in the form of a software product in essence or the part that contributes to the prior art, and the computer software product is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk), and includes a plurality of instructions to make a terminal device (which can be a mobile phone, a computer, a server, or a network device) execute the routing information processing method in a virtual network according to various embodiments of the disclosure.
[0143] The method embodiments provided by the embodiments of the disclosure can be executed in a mobile terminal, a computer terminal, or a similar computing device. FIG. 5 shows a hardware structure block diagram of a computer terminal (or a mobile device) for implementing a routing information processing method in a virtual network. As shown in FIG. 5, the computer terminal 50 (or the mobile device) can include one or more processors 502 (the processor 502 can include but is not limited to a processing device such as a microcontroller unit (MCU) or a field-programmable gate array (FPGA)), a memory 504 for storing data, and a transmission module 506 for communication functions. In addition, it can also include a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which can be included as one of the ports of the BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art can understand that the structure shown in FIG. 5 is only schematic, and does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 50 can include more or fewer components than those shown in FIG. 5, or have a different configuration from that shown in FIG. 5.
[0144] It should be noted that the one or more processors 502 and / or other data processing circuitry described above can be referred to herein generically as "data processing circuitry". The data processing circuitry can be embodied as software, hardware, firmware, or any combination thereof, in whole or in part. Moreover, the data processing circuitry can be a single standalone processing module, or incorporated in whole or in part within any one of the other elements of the computer terminal 50 (or mobile device). As referred to in the embodiments of the present disclosure, the data processing circuitry functions as a processor to control, for example, the selection of the variable resistance terminal path connected to the interface.
[0145] The memory 504 can be used to store software programs and modules of application software, and program instructions / data storage means corresponding to the method of the embodiments of the present disclosure. The processor 502 can execute various functional applications and data processing by running the software programs and modules stored in the memory 504, i.e. implement the routing information processing method in the virtual network in the embodiments described above. The memory 504 can include a high-speed random access memory, and can also include a non-volatile memory such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 504 can further include a memory disposed remotely with respect to the processor 502, which can be connected to the computer terminal 50 through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0146] The transmission device 506 is used to receive or send data via a network. Specific examples of the network can include a wireless network provided by a communication provider of the computer terminal 50. In one example, the transmission device 506 includes a network adapter (NIC) which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 506 can be a radio frequency (RF) module which is used to communicate with the Internet in a wireless manner.
[0147] The display can be, for example, a touch screen type liquid crystal display (LCD) which can enable a user to interact with the user interface of the computer terminal 50 (or mobile device).
[0148] The hardware structure diagram shown in FIG. 5 can not only be used as an exemplary block diagram of the computer terminal 50 (or mobile device) described above, but also as an exemplary block diagram of the server. In an alternative embodiment, FIG. 5 shows an embodiment in which the computer terminal 50 (or mobile device) shown in FIG. 5 is used as a computing node in a computing environment 601.
[0149] Those skilled in the art can understand that the structure shown in FIG. 5 is only schematic, and the computer terminal 50 can also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a palm computer, a Mobile Internet Device (MID), a PAD, and the like. FIG. 5 does not limit the structure of the computer terminal 50 described above. For example, the computer terminal 50 can also include more or fewer components (such as a network interface, a display device, etc.) than those shown in FIG. 5, or have a different configuration from that shown in FIG. 5.
[0150] FIG. 6 shows a structural block diagram of a computing environment for a routing information processing method in a virtual network. As shown in FIG. 6, the computing environment 601 includes a plurality of (shown in the figure as 610-1, 610-2, …) computing nodes (such as servers) running on a distributed network. The computing nodes all contain local resources and memory resources, and an end user 602 can remotely run an application or store data in the computing environment 601. The application can be provided as a plurality of services 620-1, 620-2, 620-3, and 620-4 in the computing environment 601, representing services “A”, “D”, “E”, and “H”, respectively.
[0151] The end user 602 can provide and access the services through a web browser or other software applications on a client, and in some embodiments, the provision and / or request of the end user 602 can be provided to an entry gateway 630. The entry gateway 630 can include a corresponding agent to process the provision and / or request for the services (one or more services provided in the computing environment 601).
[0152] The services are provided or deployed according to various virtualization technologies supported by the computing environment 601. In some embodiments, the services can be provided according to virtual machine (VM) based virtualization, container-based virtualization, and / or the like. The virtual machine based virtualization can be to simulate a real computer by initializing a virtual machine, and execute programs and applications without directly accessing any actual hardware resources. While the virtual machine virtualization machine, according to the container-based virtualization, a container can be started to virtualize an entire operating system (OS) so that multiple workloads can run on a single operating system instance.
[0153] In one embodiment based on container virtualization, several containers of a service can be assembled into a Pod (e.g., a Kubernetes Pod). For example, as shown in FIG. 6, service 620-2 can be equipped with one or more Pods 640-1, 640-2, …, 640-N (collectively, Pods). A Pod can include a proxy 645 and one or more containers 642-1, 642-2, …, 642-M (collectively, containers). The one or more containers in a Pod handle requests related to one or more respective functions of the service, and the proxy 645 generally controls network functions related to the service, such as routing, load balancing, etc. Other services can also be equipped with similar Pods.
[0154] In operation, executing a user request from end user 602 can require invoking one or more services in computing environment 601, and executing one or more functions of a service can require invoking one or more functions of another service. As shown in FIG. 6, service “A” 620-1 receives a user request from end user 602 from ingress gateway 630, and service “A” 620-1 can invoke service “D” 620-2, which can request service “E” 620-3 to perform one or more functions.
[0155] The computing environment described above can be a cloud computing environment, in which allocation of resources is managed by a cloud service provider, allowing development of functions without considering implementation, tuning, or scaling of servers. The computing environment allows developers to execute code in response to events without building or maintaining complex infrastructure. Instead of scaling up a single hardware device to handle potential load, services can be partitioned to complete a set of functions that can automatically scale independently.
[0156] In another alternative embodiment, FIG. 7 illustrates, in a block diagram, an embodiment of a service mesh using the computer terminal 50 (or mobile device) shown in FIG. 5 described above. FIG. 7 illustrates a structural block diagram of a service mesh for a method of processing routing information in a virtual network, as shown in FIG. 7, the service mesh 700 is mainly used to facilitate secure and reliable communication between multiple microservices, which refers to breaking an application into multiple smaller services or instances and distributing them to run on different clusters / machines.
[0157] As shown in FIG. 7, the microservices can include application service instance 703A and application service instance 705B, which form a functional application layer of the service mesh 700. In one implementation, the application service instance 703A is running in the form of a container / process 708 on a machine / workload container group 714 (Pod), and the application service instance 705B is running in the form of a container / process 710 on a machine / workload container group 716 (Pod).
[0158] In an implementation, the application service instance 703A can be a commodity query service, and the application service instance 703B can be a commodity ordering service.
[0159] As shown in FIG. 7, the application service instance 703A and the mesh proxy (sidecar) 703 coexist in the machine workload container group 714, and the application service instance 705B and the mesh proxy 705 coexist in the machine workload container 716. The mesh proxy 703 and the mesh proxy 705 form a data plane layer of the service mesh 700. Among them, the mesh proxy 703 and the mesh proxy 705 run in the form of containers / processes 704, 706 respectively, can receive the request 712 for commodity query service, and the mesh proxy 703 and the application service instance 703A can communicate bidirectionally, the mesh proxy 705 and the application service instance 705B can communicate bidirectionally. In addition, the mesh proxy 703 and the mesh proxy 705 can also communicate bidirectionally.
[0160] In an implementation, the network traffic of the application service instance 703A is all routed to the appropriate destination through the mesh proxy 703, and the network traffic of the application service instance 705B is all routed to the appropriate destination through the mesh proxy 705. It should be noted that the network traffic mentioned herein includes but is not limited to Hyper Text Transfer Protocol (HTTP), Representational State Transfer (REST), Google Remote Procedure Call (gRPC), and Redis.
[0161] In an implementation, the function of extending the data plane layer can be implemented by writing a custom filter for the proxy (Envoy) in the service mesh 700, and the service mesh proxy configuration can be to make the service mesh correctly proxy service traffic, implement service interconnection and service governance. The mesh proxy 703 and the mesh proxy 705 can be configured to perform at least one of the following functions: service discovery, health checking, routing, load balancing, authentication and authorization, and observability.
[0162] As shown in FIG. 7, the service mesh 700 also includes a control plane layer. Among others, the control plane layer can be a set of services running in a dedicated namespace, hosted by a hosting control plane component 701 in a machine / Pod 702. As shown in FIG. 7, the hosting control plane component 701 is in bidirectional communication with the mesh agent 703 and the mesh agent 705. The hosting control plane component 701 is configured to perform some control management functions. For example, the hosting control plane component 701 receives telemetry data transmitted by the mesh agent 703 and the mesh agent 705, which can further aggregate the telemetry data. The services, hosting control plane component 701 can also provide user-facing application programming interfaces (APIs) to more easily manipulate network behavior, as well as provide configuration data to the mesh agent 703 and the mesh agent 705, etc.
[0163] At present, in a virtual network, when the routing information of a tenant changes, all forwarding devices carrying the routing information of the tenant need to be calculated, and the changed routing information is issued to all forwarding devices carrying the routing information of the tenant. However, when the scale of the tenant is too large, the scale of the forwarding device carrying the routing information of the tenant is also larger, thereby causing the time required for issuing the changed routing information to the above-mentioned forwarding device to be longer, thereby causing the technical problem of low routing information processing efficiency in the virtual network.
[0164] The present disclosure provides a routing information processing method in a virtual network, which solves the technical problem of low routing information processing efficiency in the virtual network, and distinguishes from the long issuing time of the controller in the conventional solution, solves the technical problem of low routing information processing efficiency in the virtual network.
[0165] In the embodiment of the present disclosure, the controller only needs to issue the routing to the center forwarding device, and the remaining forwarding devices learn the routing from the center forwarding device, so that the long issuing time of the controller can be avoided, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0166] The above-mentioned method of the embodiment will be further introduced below.
[0167] In this embodiment, in order to solve the technical problem of low processing efficiency of routing information in a virtual network, a routing information transmission system in a virtual network can be provided. FIG. 8(a) is a schematic diagram of a routing information transmission system in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 8(a), the system can include: a tenant 801, a virtual private network console (for example, a VPC product console) 802, a software-defined network controller (for example, an SDN controller) 803, a central forwarding device 804, and a virtual private network forwarding device (for example, a VPC forwarding device) 805, wherein the virtual private network forwarding device 805 can include at least one of the following devices: an open source virtual switch 8051, a virtual private cloud gateway 8052, and a load balancer 8053.
[0168] In this embodiment, the tenant 801 can be used to operate the VPC product of the tenant on the VPC product console, and to change and configure the routing information. The virtual private network console 802 can be configured to find the SDN controller corresponding to the attribute of the tenant according to the attribute of the tenant, and to transmit the changed and configured routing information by calling the SDN controller through an application programming interface (API). The software-defined network controller 803 can be configured to distribute the routing information changed and configured by the tenant to the central forwarding device. The central forwarding device 804 can be used to send the result of self-learning of the routing to the VPC forwarding device. The virtual private network forwarding device 805 can be configured to send the packet to the central forwarding device. The scale of the central forwarding device can be determined according to the traffic pressure of self-learning, and the expansion or contraction of ECMP can be performed according to the actual traffic scale.
[0169] In this embodiment, the routing information transmission system in a virtual network can be implemented based on a routing information self-learning system in a virtual network. For example, FIG. 8(b) is a schematic diagram of a routing information self-learning system in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 8(b), the system can include: a central forwarding device 804 and a virtual private network forwarding device 805, wherein the central forwarding device 804 can include: a first storage module 8041 and a first self-learning module (for example, a server end) 8042, and the virtual private network forwarding device 805 can include: a second storage module 8051 and a second self-learning module (for example, a client end) 8052.
[0170] In this embodiment, the first storage module 8041 can store a routing table, the first self-learning module 8042 can be configured to receive a packet sent by a second self-learning module 8052 in a VPC forwarding device, and configured to send a result of routing self-learning to the second self-learning module 8052, the second storage module 8051 can store a session table, and the second self-learning module 8052 can be configured to receive the result of routing self-learning sent by the first self-learning module 8042, and configured to send a packet to the first self-learning module 8042.
[0171] In this embodiment, the routing information self-learning system in the virtual network can realize a routing information self-learning method in the virtual network, which can include the following steps:
[0172] Step one, when a data packet of a tenant enters the VPC forwarding device, the session table is searched, if the session table is not found, the VPC forwarding device forwards the packet to the central forwarding device.
[0173] After the packet is forwarded to the central forwarding device by the VPC forwarding device, step two is entered, the central forwarding device forwards the packet to the next hop device according to the routing table.
[0174] In the technical solution provided in step two of the present disclosure, since the flow direction and encapsulation format corresponding to the flow are not found in the session table, the VPC forwarding device is triggered to start a self-learning. That is, the self-learning client in the VPC forwarding device initiates a self-learning according to the protocol format.
[0175] In this embodiment, the central forwarding device receives the self-learning packet sent by the VPC forwarding device, after analyzing the packet, the routing table is searched to obtain the result of routing self-learning, and the result of routing self-learning can be sent to the VPC forwarding device through the protocol format negotiated by both parties. In the case that the self-learning client in the VPC forwarding device receives the result of routing self-learning, the result is updated to the session table in the VPC forwarding device. When the next packet comes, the packet can be directly forwarded according to the learned result, without starting the self-learning process again.
[0176] In this embodiment, the routing information transmission system in the virtual network can also be implemented based on a routing information timing self-learning system in the virtual network. For example, FIG. 8(c) is a schematic diagram of a routing information timing self-learning system in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 8(c), the system can include a center forwarding device 804 and a virtual private network forwarding device 805. The center forwarding device 804 can include a first storage module 8041 and a first self-learning module 8042. The virtual private network forwarding device 805 can include a second storage module 8051, a second self-learning module 8052, and a timer 8053.
[0177] In this embodiment, the timer 8053 can be configured to acquire information of the full session table according to a certain time frequency, and initiate a learning task to the second self-learning module 8052.
[0178] In this embodiment, the second self-learning module can send the learned task to the center forwarding device through a protocol between the two parties. The center forwarding device identifies the self-learning message, parses the self-learning task according to the protocol, and starts comparing whether the session routing next hop information has changed. If the session routing next hop information has not changed, it means that the routing has not been updated, and there is no need to update the routing next hop information stored in the session table of the VPC forwarding device. If the session routing next hop information has changed, the VPC forwarding device is notified. The second self-learning module in the VPC forwarding device parses the protocol and updates the latest routing next hop information to the session table.
[0179] It should be noted that the higher the frequency of the timer is set, the faster the routing convergence time is, and the greater the processing pressure of the center forwarding device is. By adjusting the frequency of the timer, the routing convergence time and the size of the center forwarding device can reach a balance point that meets the conditions. The frequency of the timer can depend on the capability of the system hardware device. For example, the frequency of the timer can be set to about 1 s to avoid excessive consumption of central processor resources. This is only an example and is not limited in particular.
[0180] In the embodiments of the present disclosure, the central forwarding device receives the self-learning message sent from the VPC forwarding device, and after analyzing the message, finds the routing table to obtain the result of the routing self-learning. The result of the routing self-learning can be sent to the VPC forwarding device in the format of the protocol negotiated by both parties. In the case that the self-learning client in the VPC forwarding device receives the result of the routing self-learning, the result is updated to the session table in the VPC forwarding device. When the next message comes, the result learned can be directly forwarded, avoiding the need to calculate the forwarding device carrying all the routing information of the tenant and issue the changed routing information to the forwarding device carrying all the routing information of the tenant when the routing information of the tenant changes, thereby achieving the purpose of avoiding the long time of the controller issuing, and realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0181] According to the embodiments of the present disclosure, a routing information processing apparatus in a virtual network for implementing the routing information processing method in the virtual network shown in FIG. 2 is further provided.
[0182] FIG. 9 is a schematic diagram of a routing information processing apparatus in a virtual network according to an embodiment of the present disclosure. The virtual network includes a controller, a central forwarding device and an auxiliary forwarding device. The controller is configured to send routing change information to the central forwarding device. As shown in FIG. 9, the routing information processing apparatus 900 in the virtual network can include a first acquisition unit 902, a learning unit 904 and an issuing unit 906.
[0183] The first acquisition unit 902 is configured to, in response to the initial routing information of the client in the virtual network changing, acquire the changed initial routing information from the controller corresponding to the client.
[0184] The learning unit 904 is configured to, in response to the first routing learning instruction triggered by the auxiliary forwarding device, learn the changed initial routing information to obtain target routing information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device in the virtual network except the central forwarding device.
[0185] The issuing unit 906 is configured to issue the target routing information to the auxiliary forwarding device, wherein the target routing information is used to make the auxiliary forwarding device forward the message from the client.
[0186] It should be noted that the first obtaining unit 902, the learning unit 904 and the issuing unit 906 correspond to steps S202 to S206 in Embodiment 2, and the three units have the same instances and application scenarios as the corresponding steps, but are not limited to the content disclosed in Embodiment 2. It should be noted that the above units can be hardware components or software components stored in a memory (for example, the memory 1204) and processed by one or more processors (for example, the processors 502a, 502b, …, 502n), or the above units can be run in the computer terminal 50 provided in Embodiment 2 as part of the device.
[0187] According to the embodiments of the present disclosure, a routing information processing apparatus in a virtual network for implementing the routing information processing method in the virtual network shown in FIG. 3 is also provided.
[0188] FIG. 10 is a schematic diagram of another routing information processing apparatus in a virtual network according to an embodiment of the present disclosure, the virtual network including a controller, a center forwarding device and an auxiliary forwarding device, the controller being configured to send route change information to the center forwarding device, as shown in FIG. 10, the routing information processing apparatus 1000 in the virtual network can include a sending unit 1002 and a second obtaining unit 1004.
[0189] The sending unit 1002 is configured to send a first route learning instruction to the center forwarding device in response to a change in initial route information of a client in the virtual network.
[0190] The second obtaining unit 1004 is configured to obtain target route information matched with the auxiliary forwarding device, which is obtained by the center forwarding device in response to the first route learning instruction, learning the changed initial route information, wherein the changed initial route information is obtained by the center forwarding device from the controller corresponding to the client, and the target route information is used to make the auxiliary forwarding device forward the packet from the client.
[0191] It should be noted that the sending unit 1002 and the second obtaining unit 1004 correspond to steps S302 and S304 in Embodiment 2, and the two units have the same instances and application scenarios as the corresponding steps, but are not limited to the content disclosed in Embodiment 2. It should be noted that the above units can be hardware components or software components stored in a memory (for example, the memory 1204) and processed by one or more processors (for example, the processors 502a, 502b, …, 502n), or the above units can be run in the computer terminal 50 provided in Embodiment 2 as part of the device.
[0192] In the embodiment of the present disclosure, when processing the routing information in the virtual network, if the initial routing information of the client in the virtual network changes, the changed initial routing information is acquired from the controller corresponding to the client. The center forwarding device learns the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device, and can obtain the target routing information matched with the auxiliary forwarding device, and the obtained target routing information is distributed from the center forwarding device to the auxiliary forwarding device. Since the controller of the embodiment of the present disclosure only needs to distribute the changed initial routing information to the center forwarding device, the rest of the forwarding devices learn the changed initial routing information from the center forwarding device, and the target routing information matched with the auxiliary forwarding device can be obtained, so that the auxiliary forwarding device forwards the message from the client, avoiding the need to calculate all the forwarding devices carrying the tenant's routing information when the tenant's routing information changes, and distribute the changed routing information to all the forwarding devices carrying the tenant's routing information, thereby achieving the purpose of avoiding the long distribution time of the controller, thereby realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0193] It should be noted that the preferred embodiments involved in the above embodiments of the present disclosure are the same as the schemes and application scenarios provided by the embodiments and the implementation process, but are not limited to the schemes provided by the embodiments.
[0194] The embodiments of the present disclosure can provide an electronic device, which can be any one of the electronic devices in the electronic device group. Alternatively, in the present embodiment, the above-mentioned electronic device can also be replaced by a terminal device such as a mobile terminal.
[0195] Alternatively, in the present embodiment, the above-mentioned electronic device can be located in at least one network device of a plurality of network devices of a computer network.
[0196] In the present embodiment, the above-mentioned computer terminal can execute the program code in the method.
[0197] Alternatively, FIG. 11 is a block diagram of an electronic device for a routing information processing method in a virtual network according to an embodiment of the present disclosure. As shown in FIG. 11, the electronic device 1100 can include one or more (only one is shown in the figure) processors 1102, a memory 1104, a storage controller, and a peripheral interface, wherein the peripheral interface is connected with a radio frequency module, an audio module, and a display.
[0198] The memory can be configured to store software programs and modules, such as program instructions / modules corresponding to the method and device in the embodiments of the present disclosure. The processor executes various functions and data processing by running the software programs and modules stored in the memory, that is, implements the method in the above embodiments. The memory can include a high-speed random access memory, and can further include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory can further include a memory remotely arranged with respect to the processor, which can be connected to the computer terminal 1200 through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0199] The processor can invoke information and application programs stored in the memory to perform the following steps: in response to a change in initial routing information of a client in a virtual network, obtaining the changed initial routing information from a controller corresponding to the client; in response to a first route learning instruction triggered by an auxiliary forwarding device, learning the changed initial routing information to obtain target routing information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device in the virtual network other than the center forwarding device; and issuing the target routing information to the auxiliary forwarding device, wherein the target routing information is used to enable the auxiliary forwarding device to forward a packet from the client.
[0200] Optionally, the above processor can further execute program codes of the following steps: in response to the first route learning instruction triggered by the auxiliary forwarding device, searching for routing information in a routing table in the center forwarding device, wherein the routing table includes routing information of the client allowed to be forwarded by the center forwarding device; and in response to the routing information including the changed initial routing information, learning the changed initial routing information to obtain the target routing information.
[0201] Optionally, the above processor can further execute program codes of the following steps: in the case that the session information of the auxiliary forwarding device does not include the changed initial routing information, searching for the routing information in the routing table in the center forwarding device in response to the first route learning instruction triggered on the auxiliary forwarding device.
[0202] Optionally, the above processor can further execute program codes of the following steps: adding the target routing information to the session information of the auxiliary forwarding device.
[0203] Optionally, the above processor can further execute program codes of the following steps: in response to the routing information including the changed initial routing information, determining corresponding routing information of the routing table as the target routing information.
[0204] Optionally, the processor can further execute program codes of the following steps: in response to the second route learning instruction triggered by the auxiliary forwarding device according to the time period, obtaining the next-hop initial route information of the changed initial route information, wherein the trigger time of the second route learning instruction is spaced apart from the trigger time of the first route learning instruction by a target time length; in response to the next-hop initial route information being the changed route information, learning the next-hop initial route information to obtain the next-hop target route information matched with the auxiliary forwarding device; and issuing the next-hop target route information to the auxiliary forwarding device, wherein the next-hop target route information is used for enabling the auxiliary forwarding device to forward the packet from the client.
[0205] Optionally, the processor can further execute program codes of the following steps: obtaining the session information of the auxiliary forwarding device from the second route learning instruction; comparing the session information of the auxiliary forwarding device with the next-hop initial route information to obtain a comparison result; and determining whether the next-hop initial route information is the changed route information based on the comparison result.
[0206] Optionally, the processor can further execute program codes of the following steps: in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next-hop initial route information, determining that the next-hop initial route information is the changed route information.
[0207] Optionally, the processor can further execute program codes of the following steps: obtaining the packet of the client from the auxiliary forwarding device; and forwarding the packet of the client according to the changed initial route information.
[0208] Optionally, the processor can further execute program codes of the following steps: determining a communication protocol between the center forwarding device and the auxiliary forwarding device; and issuing the target route information to the auxiliary forwarding device according to the communication protocol.
[0209] Optionally, the processor can call the information and the application program stored in the memory to execute the following steps: in response to the initial route information of the client in the virtual network being changed, sending the first route learning instruction to the center forwarding device; and obtaining the target route information matched with the auxiliary forwarding device, which is obtained by the center forwarding device in response to the first route learning instruction and the changed initial route information, wherein the changed initial route information is obtained by the center forwarding device from the controller corresponding to the client, and the target route information is used for enabling the auxiliary forwarding device to forward the packet from the client.
[0210] Optionally, the processor can further execute program codes of the following steps: in response to the session information of the auxiliary forwarding device not including the changed initial route information, triggering the first route learning instruction; and sending the triggered first route learning instruction to the center forwarding device.
[0211] Optionally, the processor can further execute program codes of the following steps: adding the obtained target routing information into the session information of the auxiliary forwarding device.
[0212] Optionally, the processor can further execute program codes of the following steps: triggering a second route learning instruction, and sending the second route learning instruction to the central forwarding device, wherein the triggering time of the second route learning instruction is separated from the triggering time of the first route learning instruction by a target time length; in response to a change of the next-hop initial routing information of the changed initial routing information, obtaining next-hop target routing information matched with the auxiliary forwarding device, which is obtained by the central forwarding device in response to the second route learning instruction and learning the next-hop initial routing information, wherein the next-hop target routing information is used for enabling the auxiliary forwarding device to forward the packet from the client.
[0213] Optionally, the processor can further execute program codes of the following steps: adding the obtained next-hop target routing information into the session information of the auxiliary forwarding device.
[0214] According to the embodiments of the present disclosure, a routing information processing method in a virtual network is provided. When processing routing information in the virtual network, if the initial routing information of a client in the virtual network changes, the changed initial routing information is obtained from a controller corresponding to the client. The central forwarding device learns the changed initial routing information in response to a first route learning instruction triggered by the auxiliary forwarding device, and can obtain target routing information matched with the auxiliary forwarding device, and the obtained target routing information is sent from the central forwarding device to the auxiliary forwarding device. Since the controller of the embodiments of the present disclosure only needs to send the changed initial routing information to the central forwarding device, the rest of the forwarding devices learn the changed initial routing information from the central forwarding device, and can obtain the target routing information matched with the auxiliary forwarding device, thereby enabling the auxiliary forwarding device to forward the packet from the client, avoiding the need to calculate all the forwarding devices carrying the routing information of the tenant when the routing information of the tenant changes, and send the changed routing information to all the forwarding devices carrying the routing information of the tenant, thereby achieving the purpose of avoiding the long sending time of the controller, and realizing the technical effect of improving the routing information processing efficiency in the virtual network, and further solving the technical problem of low routing information processing efficiency in the virtual network.
[0215] Optionally, FIG. 12 is a structural block diagram of a computer terminal according to an embodiment of the present disclosure. As shown in FIG. 12, the computer terminal 1200 can include one or more (only one is shown in the figure) processors 1202, a memory 1204, a coupler 1206, a display 1208, a user interface, and a network interface (for example, an IEEE 1202.11 network interface, an IEEE 1202.16 network interface, and a 3GPP network interface).
[0216] The memory can be used to store software programs and modules, such as program instructions / modules corresponding to the routing information processing method and device in a virtual network in the embodiments of the present disclosure. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, implements the routing information processing method in a virtual network described above. The memory can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory can further include a memory remotely arranged with respect to the processor, which can be connected to the computer terminal 1200 through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0217] The memory described above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disk.
[0218] The processor can call information and application programs stored in the memory through the transmission device to execute the following steps: in response to a change in initial routing information of a client in a virtual network, obtaining changed initial routing information from a controller corresponding to the client; in response to a first route learning instruction triggered by an auxiliary forwarding device, learning the changed initial routing information to obtain target routing information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device in the virtual network other than the central forwarding device; and issuing the target routing information to the auxiliary forwarding device, wherein the target routing information is used to enable the auxiliary forwarding device to forward a packet from the client.
[0219] Optionally, the processor can further execute program codes of the following steps: in response to the first route learning instruction triggered by the auxiliary forwarding device, searching for routing information in a routing table in the central forwarding device, wherein the routing table includes routing information of the client allowed to be forwarded by the central forwarding device; and in response to the routing information including the changed initial routing information, learning the changed initial routing information to obtain the target routing information.
[0220] Optionally, the processor can further execute program codes of the following steps: in the case that the session information of the auxiliary forwarding device does not include the changed initial routing information, in response to the first route learning instruction triggered on the auxiliary forwarding device, searching for routing information in a routing table in the central forwarding device.
[0221] Optionally, the processor can further execute program codes of the following steps: adding the target routing information to the session information of the auxiliary forwarding device.
[0222] Optionally, the processor can further execute program codes of the following steps: in response to the routing information including the changed initial routing information, determining corresponding routing information in the routing table as the target routing information.
[0223] Optionally, the processor can further execute program codes of the following steps: in response to a second route learning instruction triggered by the auxiliary forwarding device according to a time period, obtaining next-hop initial routing information of the changed initial routing information, wherein the triggering time of the second route learning instruction and the triggering time of the first route learning instruction are separated by a target time length; in response to the next-hop initial routing information being changed routing information, learning the next-hop initial routing information to obtain next-hop target routing information matched with the auxiliary forwarding device; and issuing the next-hop target routing information to the auxiliary forwarding device, wherein the next-hop target routing information is used to enable the auxiliary forwarding device to forward a packet from the client.
[0224] Optionally, the processor can further execute program codes of the following steps: obtaining session information of the auxiliary forwarding device from the second route learning instruction; comparing the session information of the auxiliary forwarding device with the next-hop initial route information to obtain a comparison result; and determining whether the next-hop initial route information is changed route information based on the comparison result.
[0225] Optionally, the processor can further execute program codes of the following steps: in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next-hop initial route information, determining that the next-hop initial route information is changed route information.
[0226] Optionally, the processor can further execute program codes of the following steps: obtaining a packet from a client of the auxiliary forwarding device; and forwarding the packet of the client according to the changed initial route information.
[0227] Optionally, the processor can further execute program codes of the following steps: determining a communication protocol between the central forwarding device and the auxiliary forwarding device; and issuing the target route information to the auxiliary forwarding device according to the communication protocol.
[0228] Optionally, the processor can execute program codes of the following steps by calling information and application programs stored in the memory through the transmission device: in response to initial route information of a client in a virtual network being changed, sending a first route learning instruction to a central forwarding device; obtaining target route information matched with an auxiliary forwarding device, which is obtained by the central forwarding device in response to the first route learning instruction and learning of changed initial route information, wherein the changed initial route information is obtained by the central forwarding device from a controller corresponding to the client, and the target route information is used for the auxiliary forwarding device to forward a packet from the client.
[0229] Optionally, the processor can further execute program codes of the following steps: in response to the session information of the auxiliary forwarding device not including the changed initial route information, triggering the first route learning instruction; and sending the triggered first route learning instruction to the central forwarding device.
[0230] Optionally, the processor can further execute program codes of the following steps: adding the obtained target route information to the session information of the auxiliary forwarding device.
[0231] Optionally, the processor can further execute program codes of the following steps: triggering the second route learning instruction according to a time period, and sending the second route learning instruction to the central forwarding device, wherein a triggering time of the second route learning instruction is separated from a triggering time of the first route learning instruction by a target time length; in response to a change of the next hop initial route information of the changed initial route information, obtaining next hop target route information matched with the auxiliary forwarding device, which is obtained by the central forwarding device in response to the second route learning instruction and learning of the next hop initial route information, wherein the next hop target route information is used for enabling the auxiliary forwarding device to forward the packet from the client.
[0232] Optionally, the processor can further execute program codes of the following steps: adding the obtained next hop target route information to the session information of the auxiliary forwarding device.
[0233] FIG. 13 is a structural schematic diagram of an electronic device according to an embodiment of the present disclosure. As shown in FIG. 13, the electronic device includes a memory 1301 and a processor 1302. The memory 1301 can be configured to store other various data to support operations on the electronic device. Examples of the data include instructions for operating any application or method on the electronic device. The memory 1301 can be implemented by any type of volatile or nonvolatile storage devices or a combination thereof, such as SRAM, EEPROM, EPROM, PROM, ROM, magnetic storage, flash memory, magnetic disc or optical disc.
[0234] The memory 1301 is configured to store programs.
[0235] The processor 1302 is coupled to the memory 1301 and is configured to execute the programs stored in the memory 1301 to implement the methods provided by the above method embodiments.
[0236] Optionally, the electronic device can further include a communication component 1303, a display 1304, a power component 1305, an audio component 1306 and other components. Only some components are shown in FIG. 12, which does not mean that the electronic device only includes the components shown in FIG. 12. The electronic device of the present embodiment can be implemented as a desktop computer, a notebook computer, a smart phone or an IOT device, etc. terminal device, or a conventional server, a cloud server or a server array, etc. service end device.
[0237] Those skilled in the art can understand that all or part of the steps of various methods in the above embodiments can be completed by instructing the terminal device related hardware through programs, and the programs can be stored in a computer readable storage medium, which can include a flash disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0238] The embodiments of the present disclosure further provide a computer readable storage medium. Optionally, in the present embodiment, the computer readable storage medium can be used to save the program codes executed by the method provided by the above embodiments.
[0239] Optionally, in the present embodiment, the storage medium can be located in any one of the electronic devices in the computer network or in any one of the mobile terminals in the mobile terminal group.
[0240] Optionally, in the present embodiment, the computer readable storage medium is configured to store program codes for performing the following steps: in response to the change of the initial routing information of the client in the virtual network, obtaining the changed initial routing information from the controller corresponding to the client; in response to the first route learning instruction triggered by the auxiliary forwarding device, learning the changed initial routing information to obtain the target routing information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device in the virtual network except the center forwarding device; and delivering the target routing information to the auxiliary forwarding device, wherein the target routing information is used to make the auxiliary forwarding device forward the packet from the client.
[0241] Optionally, the computer readable storage medium can further execute program codes for performing the following steps: in response to the first route learning instruction triggered by the auxiliary forwarding device, searching the routing information in the routing table in the center forwarding device, wherein the routing table includes the routing information of the client allowed to be forwarded by the center forwarding device; and in response to the changed initial routing information included in the routing information, learning the changed initial routing information to obtain the target routing information.
[0242] Optionally, the computer readable storage medium can further execute program codes for performing the following steps: in the case that the session information of the auxiliary forwarding device does not include the changed initial routing information, in response to the first route learning instruction triggered on the auxiliary forwarding device, searching the routing information in the routing table in the center forwarding device.
[0243] Optionally, the computer readable storage medium can further execute program codes for performing the following steps: adding the target routing information to the session information of the auxiliary forwarding device.
[0244] Optionally, the computer readable storage medium can further execute program codes of the following steps: in response to the changed initial route information being included in the route information, determining the corresponding route information in the route table as the target route information.
[0245] Optionally, the computer readable storage medium can further execute program codes of the following steps: in response to the second route learning instruction triggered by the auxiliary forwarding device according to a time period, obtaining the next hop initial route information of the changed initial route information, wherein the trigger time of the second route learning instruction is separated from the trigger time of the first route learning instruction by a target time length; in response to the next hop initial route information being the changed route information, learning the changed next hop initial route information to obtain the next hop target route information matched with the auxiliary forwarding device; and issuing the next hop target route information to the auxiliary forwarding device, wherein the next hop target route information is used for enabling the auxiliary forwarding device to forward the packet from the client.
[0246] Optionally, the computer readable storage medium can further execute program codes of the following steps: obtaining the session information of the auxiliary forwarding device from the second route learning instruction; comparing the session information of the auxiliary forwarding device with the next hop initial route information to obtain a comparison result; and determining whether the next hop initial route information is the changed route information based on the comparison result.
[0247] Optionally, the computer readable storage medium can further execute program codes of the following steps: in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next hop initial route information, determining that the next hop initial route information is the changed route information.
[0248] Optionally, the computer readable storage medium can further execute program codes of the following steps: obtaining the packet of the client from the auxiliary forwarding device; and forwarding the packet of the client according to the changed initial route information.
[0249] Optionally, the computer readable storage medium can further execute program codes of the following steps: determining a communication protocol between the center forwarding device and the auxiliary forwarding device; and issuing the target route information to the auxiliary forwarding device according to the communication protocol.
[0250] As an optional example, the computer readable storage medium is configured to store program code for performing the following steps: in response to initial routing information of the client in the virtual network changing, sending a first route learning instruction to the central forwarding device; obtaining target routing information matched with the auxiliary forwarding device, which is obtained by the central forwarding device in response to the first route learning instruction and learning of the changed initial routing information, wherein the changed initial routing information is obtained by the central forwarding device from a controller corresponding to the client, and the target routing information is used to make the auxiliary forwarding device forward the packet from the client.
[0251] Optionally, the computer readable storage medium can further execute program code for performing the following steps: in response to the session information of the auxiliary forwarding device not including the changed initial routing information, triggering the first route learning instruction; and sending the triggered first route learning instruction to the central forwarding device.
[0252] Optionally, the computer readable storage medium can further execute program code for performing the following steps: adding the obtained target routing information to the session information of the auxiliary forwarding device.
[0253] Optionally, the computer readable storage medium can further execute program code for performing the following steps: triggering a second route learning instruction according to a time period, and sending the second route learning instruction to the central forwarding device, wherein the triggering time of the second route learning instruction is separated from the triggering time of the first route learning instruction by a target time length; in response to next-hop initial routing information of the changed initial routing information changing, obtaining next-hop target routing information matched with the auxiliary forwarding device, which is obtained by the central forwarding device in response to the second route learning instruction and learning of the changed next-hop initial routing information, wherein the next-hop target routing information is used to make the auxiliary forwarding device forward the packet from the client.
[0254] Optionally, the computer readable storage medium can further execute program code for performing the following steps: adding the obtained next-hop target routing information to the session information of the auxiliary forwarding device.
[0255] The embodiments of the present disclosure further provide a computer program product. Optionally, in the present embodiment, the computer program product can include computer instructions, and the computer instructions, when executed by a processor, implement the routing information processing method in a virtual network provided by the above-mentioned embodiments.
[0256] The embodiment of the present disclosure further provides a computer program product. Optionally, the computer program product can include a nonvolatile computer readable storage medium, and the nonvolatile computer readable storage medium can be used to store a computer program. The computer program is executed by a processor to implement the method for processing routing information in a virtual network provided by the above embodiment.
[0257] The embodiment of the present disclosure further provides a computer program. Optionally, in the embodiment, the computer program is executed by a processor to implement the method for processing routing information in a virtual network provided by the above embodiment.
[0258] The serial numbers of the embodiments of the present disclosure are only for description, and do not represent the advantages and disadvantages of the embodiments.
[0259] In the above embodiments of the present disclosure, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.
[0260] In the several embodiments provided by the present disclosure, it should be understood that the disclosed technology can be implemented in other ways. Of course, the embodiment described above is only a schematic, for example, the division of units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, unit or module, and can be electrical or other forms.
[0261] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. According to actual needs, part or all of the units can be selected to achieve the purpose of the embodiment.
[0262] In addition, each functional unit in each embodiment of the present disclosure can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0263] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present disclosure, essentially or in other words, the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present disclosure. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a ROM, a RAM, a mobile hard disk, a magnetic disk, or an optical disk.
[0264] The above only describes the preferred embodiments of the present disclosure, and it should be pointed out that, for those skilled in the art, without departing from the principles of the present disclosure, a number of improvements and refinements can be made, and these improvements and refinements should also be considered as the protection scope of the present disclosure. Industrial applicability
[0265] The scheme provided by the embodiments of the present disclosure can be applied to the processing of routing information in a virtual network. In response to a change in initial routing information of a client in the virtual network, the changed initial routing information is obtained from a controller corresponding to the client. In response to a first route learning instruction triggered by an auxiliary forwarding device, the changed initial routing information is learned to obtain target routing information matched with the auxiliary forwarding device. The target routing information is issued to the auxiliary forwarding device, thereby solving the technical problem of low routing information processing efficiency in the virtual network.
Claims
1. A method of processing routing information in a virtual network, characterized by, The virtual network comprises a controller, a central forwarding device and an auxiliary forwarding device, the controller is configured to send route change information to the central forwarding device, the method is applied to the central forwarding device, and the method comprises: In response to change of initial route information of a client in the virtual network, obtaining the changed initial route information from the controller corresponding to the client; In response to a first route learning instruction triggered by the auxiliary forwarding device, learning the changed initial route information to obtain target route information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device other than the central forwarding device in the virtual network; Downlinking the target route information to the auxiliary forwarding device, wherein the target route information is used for enabling the auxiliary forwarding device to forward a packet from the client.
2. The method of claim 1, wherein, In response to a first route learning instruction triggered by the auxiliary forwarding device, learning the changed initial route information to obtain target route information matched with the auxiliary forwarding device, wherein the auxiliary forwarding device is a forwarding device other than the central forwarding device in the virtual network; In response to the first route learning instruction triggered by the auxiliary forwarding device, searching route information in a routing table in the central forwarding device, wherein the routing table comprises route information of a client allowed to be forwarded by the central forwarding device; In response to the route information comprising the changed initial route information, learning the changed initial route information to obtain the target route information.
3. The method of claim 2, wherein, In response to the first route learning instruction triggered by the auxiliary forwarding device, searching route information in a routing table in the central forwarding device, wherein the routing table comprises route information of a client allowed to be forwarded by the central forwarding device; In the case that session information of the auxiliary forwarding device does not comprise the changed initial route information, in response to the first route learning instruction triggered on the auxiliary forwarding device, searching the route information in the routing table.
4. The method of claim 3, wherein, Downlinking the target route information to the auxiliary forwarding device, wherein the target route information is used for enabling the auxiliary forwarding device to forward a packet from the client. Adding the target route information to session information of the auxiliary forwarding device.
5. The method of claim 2, wherein, In response to the route information comprising the changed initial route information, learning the changed initial route information to obtain the target route information, comprising: In response to the route information comprising the changed initial route information, determining corresponding route information of the changed initial route information in the routing table as the target route information.
6. The method of claim 1, wherein, The method further comprises: In response to a second route learning instruction triggered by the auxiliary forwarding device, obtaining next-hop initial route information of the changed initial route information, wherein a trigger time of the second route learning instruction is separated from a trigger time of the first route learning instruction by a target time length; In response to the next-hop initial route information being changed route information, learning the next-hop initial route information to obtain next-hop target route information matched with the auxiliary forwarding device; In response to the next-hop initial route information being changed route information, learning the next-hop initial route information to obtain next-hop target route information matched with the auxiliary forwarding device; The next-hop target routing information is sent to the auxiliary forwarding device, and the next-hop target routing information is used to make the auxiliary forwarding device forward a packet from the client.
7. The method of claim 6, wherein, The method further comprises: obtaining session information of the auxiliary forwarding device from the second route learning instruction; comparing the session information of the auxiliary forwarding device with the next-hop initial routing information to obtain a comparison result; determining whether the next-hop initial routing information is changed routing information based on the comparison result.
8. The method of claim 7, wherein, The method further comprises: in response to the comparison result being that the session information of the auxiliary forwarding device does not include the next-hop initial routing information, determining that the next-hop initial routing information is the changed routing information.
9. The method of claim 1, wherein, Before learning the changed initial routing information in response to the first route learning instruction triggered by the auxiliary forwarding device in the virtual network to obtain the target routing information matched with the auxiliary forwarding device, the method further comprises: obtaining a packet of the client from the auxiliary forwarding device; forwarding the packet of the client according to the changed initial routing information.
10. A method of processing routing information in a virtual network, characterized by, The virtual network comprises a controller, a center forwarding device and an auxiliary forwarding device, the controller is configured to send routing change information to the center forwarding device, the auxiliary forwarding device is a forwarding device other than the center forwarding device in the virtual network, and the method is applied to the auxiliary forwarding device and comprises: in response to initial routing information of a client in the virtual network being changed, sending a first route learning instruction to the center forwarding device; obtaining target routing information matched with the auxiliary forwarding device, which is obtained by the center forwarding device in response to the first route learning instruction to learn the changed initial routing information, wherein the changed initial routing information is obtained by the center forwarding device from the controller corresponding to the client, and the target routing information is used to make the auxiliary forwarding device forward a packet from the client.
11. The method of claim 10, wherein, In response to initial routing information of a client in the virtual network being changed, sending a first route learning instruction to the center forwarding device, comprises: in response to the session information of the auxiliary forwarding device not including the changed initial routing information, triggering the first route learning instruction; sending the triggered first route learning instruction to the center forwarding device.
12. The method of claim 11, wherein, The method further comprises: adding the obtained target routing information to the session information of the auxiliary forwarding device.
13. The method of claim 10, wherein, The method further comprises: triggering a second route learning instruction and sending the second route learning instruction to the center forwarding device, wherein a target time length is set between a triggering time of the second route learning instruction and a triggering time of the first route learning instruction. In response to a change in next hop initial routing information of the changed initial routing information, obtaining next hop target routing information matched with the auxiliary forwarding device, which is learned by the center forwarding device in response to the second route learning instruction, wherein the next hop target routing information is used for the auxiliary forwarding device to forward a packet from the client.
14. The method of claim 13, wherein, The method further comprises: adding the obtained next hop target routing information to session information of the auxiliary forwarding device.
15. A system for processing routing information in a virtual network, the system comprising: Comprise: a client, a controller, a center forwarding device and an auxiliary forwarding device, the controller is configured to send route change information to the center forwarding device, and the auxiliary forwarding device is a forwarding device in a virtual network except the center forwarding device, wherein the client is configured to adjust initial routing information in the virtual network to obtain changed initial routing information; the controller is configured to send the changed initial routing information to the center forwarding device in response to a change in the initial routing information; the center forwarding device is configured to receive the changed initial routing information; the auxiliary forwarding device is configured to send a first route learning instruction to the center forwarding device; wherein the center forwarding device is configured to learn the changed initial routing information in response to the first route learning instruction, to obtain target routing information matched with the auxiliary forwarding device, and to send the target routing information to the auxiliary forwarding device, wherein the target routing information is used for the auxiliary forwarding device to forward a packet from the client.
16. An electronic device, comprising: Comprise: a memory storing an executable program; a processor for running the program, wherein the program performs the method of any one of claims 1 to 14 when running.
17. A computer readable storage medium characterized by: The computer readable storage medium comprises a stored executable program, wherein the executable program controls the device where the storage medium is located to perform the method of any one of claims 1 to 14 when running.
18. A computer program product, characterised in that, Comprise a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 14.
19. A computer program product, wherein, Comprise a non-volatile computer readable storage medium, which stores a computer program, which, when executed by a processor, implements the steps in the method of any one of claims 1 to 14.
20. A computer program, wherein, The computer program, when executed by a processor, implements the steps in the method of any one of claims 6-11 and 1 to 14.
Citation Information
Patent Citations
Connection establishment and data transmission method, device and system for hybrid cloud
CN108551464A
Flow management method and device based on virtual route, terminal and storage medium
CN109547349A
Virtual network communication method and device, computer equipment and storage medium
CN115987889A
Price driven multimedia content video time-bandwidth product improvement (VTBPI) transmission
US20160316240A1
Data driven orchestrated network with installation control using a light weight distributed controller
US20190165997A1