Distributed systems, transmission scheduling methods, and computer programs
A distributed system with general-purpose routing nodes and a global service node addresses the limitations of expensive business routers by enhancing scalability and flexibility, achieving high-performance routing and cost-effective transmission scheduling in cloud networks.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2024-03-12
- Publication Date
- 2026-04-27
AI Technical Summary
Existing network architectures, particularly in cloud scenarios, face limitations with expensive and inflexible business routers that have limited scalability and high operational costs, making them unsuitable for cloud networks.
A distributed system comprising general-purpose routing node devices and a global routing service node, connected via a backbone network, maintains mapping relationships between peering connections and scheduling identifiers to perform transmission scheduling, decoupling commercial routers and enhancing scalability and flexibility.
The solution reduces operational costs, simplifies operations, and achieves high-performance routing and flexible transmission scheduling, supporting T-level forwarding speeds and reducing routing path pressure in cloud networks.
Smart Images

Figure 0007852148000002 
Figure 0007852148000003 
Figure 0007852148000004
Abstract
Description
Technical Field
[0001] [Cross - reference to Related Applications] This application claims the benefit of priority to Chinese Patent Application No. 202310439284.3, filed with the China National Intellectual Property Administration on April 20, 2023, with the title of the invention being "Distributed System and Transmission Scheduling Method", and the entire content thereof is incorporated herein by reference.
[0002] [Technical Field] This application relates to the field of Internet technologies, and more specifically, to distributed systems and transmission scheduling methods.
Background Art
[0003] Currently, by deploying network devices such as an edge router ER (Edge Router) at the boundary of an Internet Service Provider (ISP) network and network devices such as an internal router IR (Internal Router) inside the data center network, the interconnection between the data center network and the ISP network can be realized, so that Internet services can be provided for a large number of objects. However, since the number of routing paths in the entire Internet is large (usually at the million level), the selection range of business routers is limited, and they are expensive, have low functional scalability, reduced iteration speed, and increased operating costs, etc., and cannot meet the requirements when applied to cloud scenarios.
Summary of the Invention
Means for Solving the Problems
[0004] Embodiments of this application provide a distributed system and a transmission scheduling method that can decouple business routers while simultaneously being applicable to a cloud network and satisfying the transmission scheduling requirements of a cloud network.
[0005] In one aspect, the embodiment of the present application is a distributed system applicable to a cloud network including an access network, a backbone network, and a data center network, comprising: a first routing node device distributed and installed in the access network to access one or more ISP networks, and including a general-purpose service component and a first general-purpose exchange component; a second routing node device distributed and installed in the data center network to provide data connectivity between network modules in the data center network, and including a second general-purpose exchange component; and a global routing service node device installed independently of the access network and the data center network, wherein the first routing node device, the second routing node device, and the global routing service node device are all connected to the backbone network. The distributed system maintains a mapping relationship between peering connections transmitted between each node device of the distributed system and scheduling identifiers. Based on this mapping relationship, each node device of the distributed system performs transmission scheduling for service messages on the cloud network, thus providing a distributed system.
[0006] In one aspect, the embodiments of this application provide a transmission scheduling method applicable to the above-mentioned distributed system, The steps include obtaining the mapping relationship between the peering connection and the scheduling identifier, Steps include transmitting mapping relationships between each node device in a distributed system, A transmission scheduling method is provided, which includes the step of performing transmission scheduling for service messages on a cloud network based on mapping relationships.
[0007] The distributed system according to the embodiment of this application comprises a first routing node device including a general-purpose service component and a first general-purpose exchange component, a second routing node device including a second general-purpose exchange component, and a global routing service node device. In this way, by constructing a distributed system using inexpensive general-purpose components instead of commercial routers in this application, large commercial routers can be decoupled, significantly simplifying the operation process, reducing operating costs, and improving the scalability and flexibility of the distributed system. Furthermore, the distributed system can be applied to a cloud network, and the cloud network architecture includes an access network, a backbone network, and a data center network, with the first routing node device, the second routing node device, and the global routing service node device all connected to the backbone network. In this way, the access network and the backbone network can be interconnected via the first routing node device, and the data center network and the backbone network can be interconnected via the second routing node device. Therefore, by using the distributed system to penetrate the architecture of the cloud network, interconnection of each network within the cloud network architecture can be achieved. The first routing node devices are distributed across the access network to access one or more ISP networks, the second routing node devices are distributed across the data center network to provide data connectivity between network modules within the data center network, and the global routing service node device is installed independently of the access network and the data center network.In a distributed system, a mapping relationship is maintained between peers (peering connections) and labels (scheduling identifiers) transmitted between each node device in the distributed system. Therefore, each node device in the distributed system can obtain this mapping relationship and perform transmission scheduling for service messages on the cloud network based on it. Since transmission scheduling is realized based on the mapping relationship between peers and labels, a distributed system can implement scheduling at the peer level. However, because the number of peers is relatively limited, this effectively reduces the pressure during routing and forwarding in a distributed system, enabling high-performance routing and forwarding and flexible transmission scheduling, thus meeting the transmission scheduling requirements of a cloud network. [Brief explanation of the drawing]
[0008] [Figure 1] This is an architectural diagram of a distributed system according to one exemplary embodiment of this application. [Figure 2] This is a flowchart of a transmission scheduling method according to one exemplary embodiment of this application. [Figure 3] This is a schematic diagram illustrating the transmission of routing information within a routing system according to one exemplary embodiment of this application. [Figure 4] This is a schematic diagram illustrating the synchronization of transfer information according to one exemplary embodiment of this application. [Figure 5] This flowchart shows the transmission scheduling for dispatched service messages on a cloud network according to one exemplary embodiment of this application. [Figure 6a] This flowchart shows transmission scheduling for outbound service messages on a cloud network according to another exemplary embodiment of this application. [Figure 6b] This flowchart shows transmission scheduling for outbound service messages on a cloud network according to another exemplary embodiment of this application. [Figure 7] This is a schematic diagram showing high-precision scheduling according to one exemplary embodiment of this application. [Figure 8a] This flowchart shows the transmission scheduling for incoming service messages on a cloud network according to one exemplary embodiment of this application. [Figure 8b] This flowchart shows transmission scheduling for incoming service messages on a cloud network according to another exemplary embodiment of this application. [Figure 9] This flowchart shows transmission scheduling for incoming attack traffic on a cloud network according to one exemplary embodiment of this application. [Figure 10] This is a flowchart of a transmission scheduling method according to another exemplary embodiment of the present application. [Figure 11] This is a flowchart of a transmission scheduling method according to another exemplary embodiment of the present application. [Figure 12] This is a flowchart of a transmission scheduling method according to another exemplary embodiment of the present application. [Modes for carrying out the invention]
[0009] 1. Cloud Network A cloud network is a network that performs service processing based on cloud technology. In embodiments of the present invention, a cloud network architecture is provided. As shown in Figure 1, the cloud network 101 may include an access network 102, a backbone network 103, and a data center network 104 as part of its architecture. The related concepts of each network within the cloud network are described below.
[0010] (1) Access Network An access network is used to access one or more ISP (Internet Service Provider) networks. An ISP is a service provider that offers Internet services to an object, including but not limited to Internet access services, information services, and value-added services. Here, an object is a service requester that requests Internet services from an ISP. An ISP network is a network provided by an ISP that provides Internet services to an object. An ISP network is also called a public network or service provider network, and it is the portal that allows an object to access the Internet. Different ISP networks (ISP network 1, ISP network 2, ISP network 3, ISP network 4, etc. in Figure 1) are provided by different ISPs.
[0011] An access network is a network that establishes interconnection between an ISP network and a data center network. An access network can include multiple POPs (Point-Of-Presence, access points). POPs, also called network service provision points or local endpoints, are generally located at the edge of the cloud network and are used as access points for the ISP network, allowing data center networks to access the ISP network and enjoy internet services. Different POPs may be located in the same or different regions, and each POP is used to provide services to a specific region. For example, as shown in Figure 1, access network 102 includes POP1, which is located in city A and provides services to city A, and POP2, which is located in city B and provides services to city B. Note that the region where a POP is located and the region where the service is provided may be the same or different. For example, in the above example, POP1 is located in city A but may provide services to city C.
[0012] (2) Data Center Network The data center network is also called an intranet. It is constructed by a specific enterprise or organization and can provide network services such as storage, computing, and resources. It is a network that can only be used by employees and devices within that specific enterprise or organization. The data center network can include multiple AZs (Availability Zones). Here, an AZ refers to one or more discrete physical data centers within the same region where infrastructure such as power and network are independent of each other. One AZ can include one or more network modules (nets). A network module is an internal network that can provide network services in a specific area within that AZ. For example, as shown in Figure 1, the data center network 104 can include AZ1 and AZ2. AZ1 can include net1 and net2.
[0013] (3) Backbone Network The backbone network functions as a communication hub between different networks within the cloud network and is a network for interconnecting different data center networks. Therefore, the backbone network is also called a DCI (Data Center Interconnection) network.
[0014] In the architecture of the cloud network shown in Figure 1, the access network 102 is connected to one or more ISP networks. The access network 102 is connected to the backbone network 103, and the data center network 104 is also connected to the backbone network 103. Since the cloud network can access one or more ISP networks and interconnect each network within the cloud network, it can provide Internet services for a large number (exceeding a preset threshold) of objects.
[0015] II. Border Gateway Protocol (BGP) BGP is used to exchange routing information between different autonomous systems (ASs). An autonomous system is a collection of devices under the same organizational management and using the same policy. In other words, different devices in a network may be divided into different autonomous systems (ASs), or all may be divided into one autonomous system. Therefore, these devices within one autonomous system share the same routing protocol and are managed by one organization. At this time, communication between different autonomous systems can be realized by BGP. In an embodiment of the present application, one ISP network may be one AS.
[0016] III. Routing Information and Forwarding Information Routing information is information generated by routing algorithms to determine the transmission path of a message. A single piece of routing information includes three elements: destination address, mask, and next hop. Here, the destination address is the address of the network to which the message should ultimately be delivered, such as the ISP network address or the network module address. The mask is used to distinguish which bits of a network address identify the subnet where the device resides and which bits identify the device's bitmask. The next hop is the next hop to which a service message is routed; if the message has not reached the destination address, it can be delivered to the destination address via the next hop. Routing information can be stored in a routing table, and any single piece of routing information in the routing table may be called a routing table entry. Forwarding information is information that indicates the specific port to which a message should be moved; that is, information that determines which appropriate specific port the message should be forwarded from. Forwarding information is generated according to routing information, specifically, it can be generated by combining other information (e.g., network card, port information) with routing information in the routing table. Transfer information can be stored in a transfer table, and any single transfer information entry in the transfer table may be called a transfer table entry.
[0017] In the embodiments of this application, routing information in an ISP network is referred to as public network routing information. The size of public network routing information is typically in the millions. Routing information in a data center network may be referred to as intranet routing information. The size of intranet routing information is typically only in the hundreds of thousands (i.e., hundreds of thousands). Here, "size" refers to the size of the routing information. When an ISP network is connected to a cloud network, public network routing information is provided from the ISP network to the cloud network; therefore, in subsequent embodiments of this application, the full routing information of the cloud network includes both public network routing information and intranet routing information.
[0018] IV. Peering Connection Peering, or peering, refers to a communication connection established between two devices without distinguishing between the service requester and the service provider. Two devices that have established a peer can achieve equal and equal communication. In the embodiments of this application, one peer is a communication connection established between a first general-purpose exchange component in an access network (e.g., an EAS (Edge Access Switch)) and any one ISP network that it accesses. One peer is assigned a mapping scheduling identifier (label). The label can be used for scheduling the transmission of service messages.
[0019] 5. Cloud Technology Cloud technology is a hosting technology that integrates a set of resources, such as hardware, software, and networks, within a wide area network or local area network to enable data computing, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It is flexible and convenient because it forms a resource pool that can be utilized on demand. Within this context, background services of technology network systems, such as video streaming sites, image provision sites, and numerous portal sites, require massive computing and storage resources. With the advanced development and application of the internet industry, it may become necessary to assign unique identification marks to each item in the future, requiring transmission to background systems for logical processing. Different levels of data must be processed separately, and industry-specific data must be supported by robust system backups. Because these can only be achieved through cloud computing, cloud computing technology provides crucial support.
[0020] 6. Cloud Computing Cloud computing refers to an IT infrastructure delivery and usage model that involves obtaining necessary resources via a network in an on-demand, easily scalable manner. In a broader sense, cloud computing refers to a service delivery and usage model that involves obtaining necessary services via a network in an on-demand, easily scalable manner. Such services can be IT, software, internet-related services, or other services. Cloud computing is an evolution and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Cloud computing has developed rapidly with the advancement of the internet, real-time streaming, the diversification of connected devices, and the driving force behind needs such as research services, social networks, mobile businesses, and open collaboration. Unlike traditional parallel distributed computing, cloud computing will conceptually drive a revolutionary transformation of the entire internet model and enterprise management model.
[0021] Next, a distributed system according to an embodiment of the present invention will be described.
[0022] Referring to Figure 1, this is an architecture diagram of a distributed system according to one exemplary embodiment of the present application. The distributed system is applied to a cloud network 101 and comprises a first routing node device, a second routing node device, and a global routing service node device. Specifically, it is as follows:
[0023] (1) The first routing node devices may be distributed across the access network 102 to access one or more ISP networks. Since the first routing node devices are connected to the backbone network, the access network 102 and the backbone network 103 can be interconnected. In one embodiment, the first routing node device may include a first general-purpose exchange component and a general-purpose service component.
[0024] In one embodiment, the access network 102 includes multiple POPs. "The first routing node devices are distributed across the access network" means that each POP is provided with at least one first routing node device. Each first routing node device consists of one first general-purpose exchange component and one general-purpose service component, both of which are connected to the backbone network. As shown in Figure 1, pop1 and pop2 each have one first routing node device. The first routing node device in pop1 may include a first general-purpose exchange component 1011 and a general-purpose service component 1012, both of which are connected to the backbone network 103. The first routing node device in pop2 may include a first general-purpose exchange component 1013 and a general-purpose service component 1014, both of which are connected to the backbone network 103.
[0025] The first general-purpose exchange component is connected to one or more ISP networks and is used via BGP to establish peers with each accessed ISP network and to assign labels to each peer. Here, one peer is mapped to one label (i.e., there is a mapping relationship between one peer and one label). For example, if the first general-purpose exchange component 1011 is connected to ISP network 1 and ISP network 2, the first general-purpose exchange component 1011 establishes one peer (denoted as peer1-1) with ISP network 1 and assigns label1-1 to that peer1-1. Similarly, the first general-purpose exchange component 1011 establishes one peer (peer1-2) with ISP network 2 and assigns label1-2 to that peer1-2. Furthermore, if the first general-purpose exchange component 1013 is connected to ISP network 3 and ISP network 4 respectively, the first general-purpose exchange component 1013 establishes one peer (denoted as peer2-1) with ISP network 3 and assigns label2-1 to map to peer2-1. Similarly, the first general-purpose exchange component 1013 establishes a peer (denoted as peer2-2) with ISP network 4 and assigns label2-2 to map to peer2-2. Equal and equal communication can be performed between the first general-purpose exchange component and the ISP network with which peers have been established. In general terms, the first general-purpose exchange component can include an EAS (Edge Access Switch). The EAS may be an inexpensive programmable switch, for example, a P4 switch.
[0026] A general-purpose service component may include an epp (Elastic Packet Processing) server. This epp server may also be a general-purpose server. The general-purpose service component is used to perform high-precision transmission scheduling for service messages in a cloud network. High-precision transmission scheduling refers to flexible and customizable transmission scheduling for service messages on a cloud network. Within this, the general-purpose server may be an independent physical server, a server cluster consisting of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0027] (2) The second routing node devices are distributed throughout the data center network 104 to provide data connectivity between network modules within the data center network 104, and thus enable data exchange between each network module within the data center network 104.
[0028] The data center network 104 includes one or more Availability Zones (AZs), and each AZ includes one or more nets (nets). "Second routing node devices are distributed throughout the data center network" means that each AZ has at least one second routing node device, each second routing node device includes at least one second general-purpose switching component, and the second general-purpose switching component is connected to the backbone network. Since the second general-purpose switching component is connected to each net in the same AZ, it can provide data connectivity between each net in the same AZ. For example, the data center network shown in Figure 1 includes AZ1 and AZ2, with AZ1 containing net1 and net2, and AZ2 containing net3 and net4. AZ1 and AZ2 each have second routing node devices, with the second routing node device in AZ1 including a second general-purpose switching component 1021 connected to net1 and net2, respectively. The second routing node device in AZ2 includes a second general-purpose switching component 1022 connected to net3 and net4, respectively.
[0029] Here, the second general-purpose replacement component may include an IAS (Internal Agggregate Switch). The IAS may be an inexpensive programmable switch, for example, a P4 switch.
[0030] (3) The global routing service node device 1023 is installed independently of the access network 102 and the data center network 104 and is connected to the backbone network 103. The global routing service node device 1023 may include an ERS (Elastic Routing Service) server, which houses the global routing service program, either physically or virtually. In one form, physical placement means that the global routing service program is located within the ERS server in the form of entity hardware. In another form, virtual placement means that the global routing service program is located within the ERS server in the form of virtual software.
[0031] In a cloud network architecture, each network has a layered structure, with the backbone network at the lowest layer, and the access network and data center network at higher layers. The higher-layered networks (i.e., the access network and data center network) can achieve data connectivity through the backbone network at the lowest layer. Transfer and routing systems in a distributed system can also be built on top of the backbone network at the lowest layer.
[0032] (4) The routing system 105 in the distributed system is the routing plane for the entire distributed system. The so-called routing plane is a functional module responsible for routing management and control. The routing plane determines the transmission path and forwarding policy of messages in the network. In general terms, the routing system 105 may also be called a TVPN (Tencent Virtual Private Network, virtual private network technology) system. The routing system may consist of a global routing service node device and routing service instances placed in the distributed system. The routing service instance may be an instance created using virtual private network technology, and this routing service instance may be called a TVPN instance, and is used to provide routing services to components. In general terms, the routing service instance may be understood as a routing table. In one embodiment, routing service instances are placed in all of the general-purpose service component, the first general-purpose exchange component and the second general-purpose exchange component, and the routing system consists of routing service instances placed on the general-purpose service component, routing service instances placed on the first general-purpose exchange component, routing service instances placed on the second general-purpose exchange component, and a global routing service node device. These components (including the general-purpose service component, the first general-purpose exchange component, and the second general-purpose exchange component) all belong to the components within the routing system. The component where the routing service instance is located can retrieve and store routing information transmitted within the global routing service node device.
[0033] A routing system can exchange routing information based on the mapping relationship between peers and labels. Specifically, each node device in a distributed system (such as the first routing node device, the second routing node device, and the global routing node device) can exchange routing information for the cloud network, including the mapping relationship between peers and labels, within the routing system.
[0034] Each component within a routing system has its own routing plane, which determines the transmission path and forwarding policy for messages within that component. The routing plane of each component is located and executed within the CPU subsystem of that component. For example, the routing plane for EAS is located and executed within the EAS CPU subsystem, and the routing plane for IAS is located and executed within the IAS CPU subsystem. Within its own routing plane, each component in the routing system retrieves routing information transmitted by the global routing service node device and stores the full routing information for the cloud network.
[0035] (5) The forwarding system 106 is the forwarding fabric for the entire distributed system. A so-called forwarding fabric is a functional module responsible for executing forwarding policies for actual message forwarding. In general terms, the forwarding system 106 may also be called a TEPE (Tencent Egress Peering Engineering) system. The forwarding system may consist of a forwarding fabric for a general-purpose service component, a forwarding fabric for a first general-purpose exchange component, and a forwarding fabric for a second general-purpose exchange component. Thus, the general-purpose service component, the first general-purpose exchange component, and the second general-purpose exchange component all belong to the components within the forwarding system. The forwarding fabric of each component within the forwarding system is used to execute forwarding policies for messages at each component within the forwarding system and to perform actual forwarding of messages at each component within the forwarding system. The forwarding fabric of each component within the forwarding system is generally located and executed in the ASIC (Application Specific Integrated Circuit) subsystem of each component within the forwarding system. For example, the forwarding fabric of EAS is located and executed in the ASIC subsystem of EAS. The forwarding fabric of IAS is located and executed in the ASIC subsystem of IAS. In general terms, the ASIC subsystem may be an ASIC chip. In a distributed system, a mapping relationship between peers and labels is maintained, and each node device in this distributed system can perform transmission scheduling for service messages based on this mapping relationship within the forwarding system. Here, transmission scheduling specifically refers to performing forwarding processing for service messages according to routing information.
[0036] Each component within the forwarding system maintains its own local forwarding table. Each component can synchronize forwarding information within its own forwarding plane based on the full routing information of the cloud network it stores. The forwarding information synchronized by each component is stored in its local forwarding table, and each component's local forwarding table contains labels. When transmission scheduling is required for service messages, each component in the forwarding system can perform transmission scheduling for service messages on the cloud network according to the labels in its local forwarding table.
[0037] Based on the interactions between each node device in the distributed system shown in Figure 1, a transmission scheduling method according to an embodiment of this application can be realized. Referring to Figure 2, Figure 2 is a flowchart of a transmission scheduling method according to one exemplary embodiment of this application. This transmission scheduling method includes the following steps S201 to S203.
[0038] S201: Retrieve the mapping relationship between peer and label.
[0039] In one embodiment, when the first general-purpose exchange component accesses one or more ISP networks, the first general-purpose exchange component can establish peers with each accessed ISP network using the BGP protocol and assign labels to each peer. A peer is a communication connection established between one first general-purpose exchange component and one ISP network connected to it, and one peer is mapped to one label.
[0040] For example, referring to Figure 3, this is a schematic diagram showing the transmission of routing information within a routing system according to one exemplary embodiment of the present application. The first general-purpose exchange component 1 accesses two ISP networks, ISP network 1 and ISP network 2. The first general-purpose exchange component 1 can establish peer 1 with ISP network 1 via BGP and assign label 1 to peer 1. The first general-purpose exchange component 1 can establish peer 2 with ISP network 2 via BGP and assign label 2 to peer 2.
[0041] Furthermore, the first general-purpose exchange component can store mapping relationships between peers and labels. For example, in the example shown in Figure 3, the first general-purpose exchange component 1 can store mapping relationships between peer 1 and label 1, and mapping relationships between peer 2 and label 2. In one embodiment, the first general-purpose exchange component can distribute the mapping relationships between peers and labels locally. So-called local distribution refers to distributing the mapping relationships between peers and labels to the transmission plane of the first general-purpose exchange component. Thus, in the subsequent transmission scheduling process, the first general-purpose exchange component can directly perform transmission scheduling (e.g., transmission processing) for service messages based on the mapping relationships on the transmission plane.
[0042] When the first general-purpose exchange component accesses N ISP networks, it should be understood that it will establish N peers and therefore distribute N mapping relationships locally. For example, in the above example, the first general-purpose exchange component establishes peer1 and peer2, and therefore distributes the mapping relationships corresponding to these two peers locally, namely the mapping relationship between peer1 and label1, and the mapping relationship between peer2 and label2.
[0043] S202: Transmits mapping relationships between each node device in a distributed system.
[0044] In one embodiment, each node device in a distributed system exchanges routing information for the cloud network, including mapping relationships between peers and labels, within the routing system. Specifically, a global routing service node device within the routing system collects routing information for the cloud network and transmits it to each component within the routing system. In one embodiment, the global routing service node device includes an ERS server. The ERS server can transmit routing information for the cloud network to each component in the routing system where a routing service instance is located, via a global routing service program.
[0045] When a global routing service node device within a routing system collects routing information from the cloud network and transmits this information to each component within the routing system, there are two possible scenarios: 1) Each component within the routing system sends routing information to the global routing service node, and the global routing service node device receives and organizes the routing information sent from each component within the routing system, then transmits all the organized routing information to each component within the routing system. 2) After receiving routing information sent from any component within the routing system, the global routing service node device transmits the routing information sent from that component to other components within the routing system.
[0046] Here, routing information associated with a peer includes a label that maps to that peer. For example, if there is a mapping relationship between peer1 and label1, then routing information associated with peer1 will include label1. Since routing information includes three elements—destination address, mask, and next hop—routing information associated with a peer may be understood as having a destination address that is the address of a peer-enabled device (e.g., the address of the first general-purpose exchange component, or the address of the ISP network), or a next hop that is the address of a peer-enabled device, or a mask that is the mask of a peer-enabled device.
[0047] In one embodiment, when the first general-purpose exchange component transmits routing information accessing each ISP network of the first general-purpose exchange component to a global routing service node device, it can determine the peer associated with each ISP network and package a label that maps to the peer in the routing information of each ISP network. The first general-purpose exchange component transmits the routing information of each ISP network, with the packaged label, to the global routing service node device. For example, if peer1 is established between the first general-purpose exchange component and ISP network1, and peer2 is established between the first general-purpose exchange component and ISP network2, the first general-purpose exchange component packages label1 that maps to peer1 in the routing information of ISP network1, packages label2 that maps to peer2 in the routing information of ISP network2, and transmits the routing information of ISP network1 with label1 packaged and the routing information of ISP network2 with label2 packaged to the global routing service node device.
[0048] When a global routing service node device receives routing information for each ISP network, packaged with a label, transmitted from the first general-purpose exchange component, it can transmit this routing information to each component in the routing system. Therefore, it should be understood that each component in the routing system can store the routing information packaged with the label.
[0049] When the routing information of the cloud network is updated, this global routing service node device can transmit the updated routing information to each component in the routing system. An update to the cloud network's routing information can include changes in the routing information associated with each component in the routing system, or routing changes resulting from each component in the routing system accessing a new network. For example, if a first general-purpose exchange component receives a routing update message from an accessed ISP network, this means the routing information of the cloud network has been updated, and this routing update message contains the updated routing information. The first general-purpose exchange component labels this routing update message to the peer associated with this ISP network, sends the labeled routing update message to the global routing service node device, and the global routing service node device can send the labeled routing update message to each component in the routing system. Therefore, each component in the routing system can update its routing information based on this labeled routing update message.
[0050] Optionally, routing update messages are BGP messages. These BGP messages can also have prefix and community attributes. Community attributes are used to identify routes with the same characteristics, and these attributes are optional transitive.
[0051] In this scenario, if the first general-purpose exchange component receives a routing update message from the ISP network, at least one of the following situations can occur: 1) The first general-purpose exchange component receives a routing update message from the ISP network immediately after accessing the ISP network. 2) When the ISP network accessed by the first general-purpose exchange component changes, the first general-purpose exchange component receives a routing update message from the ISP network.
[0052] For ease of understanding, Figure 3 will be used as an example to specifically explain the procedure for transmitting routing information related to the ISP network between components in a routing system. This transmission procedure may include: (1) when the first general-purpose exchange component 1 accesses the ISP network 1, it establishes a peer (denoted as peer1) with the ISP network 1 and assigns a label1 to that peer1; (2) when the ISP network 1 sends a routing update message containing updated routing information to the first general-purpose exchange component; (3) when the first general-purpose exchange component 1 receives the routing update message, it attaches a label1 to the routing update message and has the routing service instance located there send the routing update message with label1 attached to the global routing service node device; and (4) when the global routing service node device sends this routing update message with label1 attached to each component in the routing system where a routing service instance is located. For example, in Figure 3, the global service node device can send routing update messages with label 1 to general-purpose service component 1, general-purpose service component 2, first general-purpose exchange component 2, second general-purpose exchange component 1, and second general-purpose exchange component 2 within the routing system via a routing service instance. After receiving a routing update message with label 1, each component within the routing system can store the updated routing information contained in the routing update message with label 1 and label 1.
[0053] It should be understood that, through the transmission of the routing system, the global routing service node device and each component within the routing system store the full routing information of the cloud network. In some embodiments, the full routing information of the cloud network stored in each component within the routing system can be stored in each routing plane of each component within the routing system.
[0054] Furthermore, each component within the routing system can synchronize forwarding information on its respective forwarding plane based on the full routing information of the cloud network that it has stored. However, there are slight differences in the forwarding information synchronized by the forwarding planes of different components. As shown in Figure 4, Figure 4 is a schematic diagram illustrating the synchronization of forwarding information by each component according to an exemplary embodiment of this application. For the general-purpose service component, the general-purpose service component can synchronize the full forwarding information of the cloud network on the general-purpose service component's forwarding plane based on the full routing information it has stored, and the full forwarding information of the cloud network synchronized on the general-purpose service component's forwarding plane is stored in the general-purpose service component's local forwarding table. In other words, the routing plane of the general-purpose service component stores full routing information, and the forwarding plane of the general-purpose service component also stores full forwarding information. By storing full forwarding information in the forwarding plane of the general-purpose service component, highly accurate transmission scheduling can be performed for subsequent service messages. The full forwarding information may include forwarding information related to the ISP network and forwarding information related to network modules in the data center network, and this full forwarding information includes labels that map to peers. Within this context, since forwarding information is generated based on routing information, it can be understood that forwarding information related to an ISP network is generated based on routing information related to the ISP network. Since routing information includes three elements: destination address, mask, and next hop, routing information related to an ISP network can be understood as either the destination address being the address of the ISP network, or the next hop being the address of the ISP network, or the mask being the mask of the ISP network.
[0055] For the first and second general-purpose exchange components, instead of synchronizing full forwarding information on their respective forwarding planes, they synchronize cloud network forwarding information on demand. There are two reasons why the first and second general-purpose exchange components synchronize cloud network forwarding information on demand: 1) The size of public network routing information is on the millions level, and when the first general-purpose exchange component accesses the ISP network, it establishes a peer and assigns a label to map to. The first general-purpose exchange component stores the mapping relationship between labels and peers, but the size of a peer is only on the hundreds level. Therefore, when the first general-purpose exchange component forwards a service message, it can forward the service message to the corresponding peer according to the label carried in the service message, thereby achieving peer-level scheduling. Thus, the first general-purpose exchange component does not need to synchronize full forwarding information. In the embodiments of this application, the mapping relationship between one label and one peer may be called one TEPE table entry. 2) Since intranet routing information belongs to the internal network plan of the data center network, the size of intranet routing information is smaller than that of public network routing information, and it can be delivered directly to the forwarding planes of the first and second general-purpose exchange components.
[0056] For the two reasons mentioned above, the first general-purpose exchange component can synchronize the first component forwarding information of the cloud network on the forwarding plane of the first general-purpose exchange component on demand, based on the full routing information stored within it, where the first component forwarding information includes forwarding information related to the ISP network that accessed the first general-purpose exchange component. The forwarding information related to the ISP network that accessed the first general-purpose exchange component includes TEPE table entries. In one embodiment, the first component forwarding information also includes forwarding information related to the network module.
[0057] Here, "synchronizing the first component forwarding information of the cloud network on the forwarding plane of the first general-purpose exchange component on demand" means that the first general-purpose exchange component determines the ISP network that accessed the first general-purpose exchange component, generates the first component forwarding information based on the routing information associated with the ISP network that accessed the first general-purpose exchange component, and synchronizes the first component forwarding information on the forwarding plane of the first general-purpose exchange component. In this, the routing information associated with the ISP network that accessed the first general-purpose exchange component includes a label that maps to the peer associated with the ISP network. In some embodiments, the synchronized first component forwarding information of the cloud network is stored in the local forwarding table of the first general-purpose exchange component.
[0058] It should be understood that the first component forwarding information contains all TEPE table entries. That is, if the first general-purpose exchange component establishes peers with 10 ISP networks, the number of mapping relationships between peers and labels is 10, and the first component forwarding information will contain 10 TEPE table entries. By synchronizing the first component forwarding information on the forwarding plane of the first general-purpose exchange component, when forwarding service messages, the first general-purpose exchange component can forward service messages to the corresponding peers according to the labels carried in the service messages, thereby achieving peer-level scheduling without requiring forwarding by millions of levels of public network routing. In embodiments of this application, the forwarding model corresponding to the peer level may be called TEPE forwarding.
[0059] The second general-purpose exchange component synchronizes the second component forwarding information of the cloud network on demand on its forwarding plane based on the full routing information stored within it, where the second component forwarding information includes forwarding information related to nets located in the same Availability Zone (AZ) as the second general-purpose exchange component. In this context, "synchronizing the second component forwarding information of the cloud network on demand on the forwarding plane of the second general-purpose exchange component" means that the second general-purpose exchange component determines the nets located in the same AZ as it, generates forwarding information related to the nets located in the same AZ based on the full routing information stored within it, generates second component forwarding information based on the forwarding information related to the nets located in the same AZ, and synchronizes this second component forwarding information on the forwarding plane of the second general-purpose exchange component. Here, the synchronized second component forwarding information of the cloud network is stored in the local forwarding table of the second general-purpose exchange component.
[0060] In some embodiments, the second component transfer information also includes transfer information related to the ISP network, i.e., the second general-purpose exchange component synchronizes the transfer information related to the ISP network on demand. This reduces or shares the transfer traffic pressure on the general-purpose service component in scenarios where high-precision scheduling of elephant flows or service messages is not required. Here, elephant flows refer to the process of transmitting a large volume of service messages continuously during network transmission.
[0061] As described above, by synchronizing full forwarding information to a general-purpose service component and synchronizing forwarding information on demand to the first and second general-purpose exchange components, it is possible to compress a massive number of public network forwarding table entries (e.g., millions) into smaller TEPE table entries (e.g., hundreds), thereby enabling millions of public network routing forwardings within the limited table entry storage space of the ASIC subsystem (e.g., ASIC chip). Here, table entry storage space refers to the storage space for storing forwarding table entries.
[0062] S203: Based on the mapping relationships, transmission scheduling is performed for service messages on the cloud network.
[0063] The forwarding system of a distributed system can perform transmission scheduling for service messages on a cloud network based on mapping relationships. Specifically, each node device in the distributed system performs transmission scheduling for service messages on the cloud network based on mapping relationships within the forwarding system. In one configuration, the components contained within each node device perform transmission scheduling for service messages on the cloud network based on the forwarding information in their respective local forwarding tables. When a service message on the cloud network reaches any one component in the forwarding system, that component searches its local forwarding table for the necessary forwarding information. If the search is successful, the component packages the labels related to the forwarding into the service message based on the retrieved forwarding information and processes the service message for forwarding according to the instructions in the retrieved forwarding information. On the other hand, if the search fails, the component sends the service message to the default next hop and uses the component directed by the default next hop to perform transmission scheduling for the service message.
[0064] Within this context, service messages can include both inbound and outbound service messages. Inbound service messages are service messages transmitted from the ISP network to the data center network. Outbound service messages are service messages transmitted from the data center network to the ISP network. The process by which each component in the transmission system performs transmission scheduling for service messages on the cloud network based on the transmission information in its respective local transmission table, from the perspective of inbound and outbound service messages, will be explained in detail in subsequent embodiments, so it will not be explained further here.
[0065] Based on the above, the distributed system in the embodiment of this application comprises a first routing node device including a general-purpose service component and a first general-purpose exchange component, a second routing node device including a second general-purpose exchange component, and a global routing service node device. In this way, by constructing a distributed system using inexpensive general-purpose components instead of commercial routers in this application, large commercial routers can be decoupled, the operation process can be greatly simplified, operating costs can be reduced, and the scalability and flexibility of the distributed system can be improved. Furthermore, the routing system provides labels to each component in the forwarding system by transmitting the mapping relationship between labels and peers. This distributed system-based transmission scheduling method solves the problem in public network scenarios where storage space is limited and there are insufficient forwarding table entries stored in general-purpose exchange components. It supports T-level forwarding speeds (T-level forwarding speeds refer to the amount of forwarding bandwidth, where 1T = 1024G, meaning it can support a forwarding bandwidth of 1024G), while simultaneously reducing the number of routing paths and processing millions of routing transfers on hundreds of thousands of exchange chips (i.e., hundreds of thousands of routing paths that can be processed by an exchange chip). This enables high-performance routing transfers and flexible transmission scheduling, meeting the transmission scheduling requirements of cloud networks.
[0066] Next, we will explain the process by which each component within the forwarding system performs transmission scheduling for service messages on the cloud network based on the forwarding information in their respective local forwarding tables, from the perspectives of incoming and outgoing service messages.
[0067] Referring to Figure 5, Figure 5 is a flowchart illustrating transmission scheduling for dispatched service messages on a cloud network according to one exemplary embodiment of the present application. The procedure for performing transmission scheduling for dispatched service messages on a cloud network includes the following steps s11 to s19.
[0068] s11: The second general-purpose exchange component receives an outbound service message from the data center network, which contains the address of the ISP network to which the message should be delivered.
[0069] In one embodiment, a second general-purpose exchange component can receive an outgoing service message sent from a net connected to the second general-purpose exchange component within the data center network, obtain the address of the ISP network to be served from the received outgoing service message, and then perform step s12. For example, the second general-purpose exchange component is connected to net1 within the data center network, and the second general-purpose exchange component can receive an outgoing service message sent from net1 and obtain the address of the ISP network to be served from that outgoing service message. An outgoing service message may include a response when the net receives a service request sent from an object within the data center network. For example, if the service request is a data lookup, the outgoing service message may include the search results returned for that data lookup.
[0070] s12: The second general-purpose exchange component searches its local forwarding table for forwarding information related to the ISP network to be delivered, based on the address of the ISP network to be delivered. If the search is successful, it indicates that there is clear forwarding information for that forwarding service message in the local forwarding table of the second general-purpose exchange component, and steps s13 to s14 can be executed. On the other hand, if the search fails, it indicates that there is no clear forwarding information for that forwarding service message in the local forwarding table of the second general-purpose exchange component, and therefore it is necessary to forward the service message to the component that stores the full forwarding information, i.e., steps s15 to s18 must be executed.
[0071] Within this, the local forwarding table of the second general-purpose exchange component records the forwarding information of the second component of the cloud network, which is synchronized on demand by the second general-purpose exchange component. Forwarding information related to the ISP network to be served may include the address of the ISP network to be served, the next hop, the next hop port, and the label. For example, the local forwarding table of the second general-purpose exchange component is shown in Table 1. Among these, the address of the ISP network to be served is xxx.xxx.xxx.xxx, and the second general-purpose component can retrieve forwarding information from Table 1 based on xxx.xxx.xxx.xxx. This forwarding information includes "next hop: first general-purpose service group 1, next hop port: port A of first general-purpose service component 1, label: label1".
[0072] [Table 1]
[0073] s13: If the search is successful, the second general exchange component packages the label associated with the ISP network to be delivered into the outgoing service message.
[0074] s14: The second general-purpose exchange component forwards the packaged dispatch service message to the corresponding first general-purpose exchange component according to the instructions of the retrieved transfer information, and proceeds to step s19.
[0075] s15: If the search fails, the second generic exchange component sends a forwarded service message to the default next hop, which is directed to the generic service component.
[0076] Specifically, the second general-purpose exchange component can package outbound service messages and then forward the packaged outbound service messages to the default next hop. Within this, the general-purpose service component's local forwarding table records the full forwarding information for the cloud network.
[0077] s16: Based on the address of the ISP network to be served, the generic service component searches its local forwarding table for forwarding information related to the ISP network to be served.
[0078] In one embodiment, the local forwarding table of the general-purpose service component records the full forwarding information of the cloud network. After receiving an outgoing service message sent from a second general-purpose exchange component, the general-purpose service component can obtain the address of the ISP network to be delivered from the outgoing service message, and based on the address of the ISP network to be delivered, retrieve the forwarding information related to the ISP network to be delivered from the local forwarding table of the general-purpose service component and execute step s17.
[0079] s17: The generic service component packages the label related to the ISP network to be delivered into the outgoing service message.
[0080] s18: The generic service component forwards the packaged dispatched service message to the corresponding first universal exchange component according to the instructions in the retrieved forwarding information, and proceeds to s19.
[0081] s19: The first general-purpose exchange component depackages the packaged dispatched service message to obtain the dispatched service message and maps it to the ISP network to which it should be delivered, based on the mapping relationship between peer and label.
[0082] In one embodiment, the first general-purpose exchange component, after receiving a packaged outbound service message, depackages the packaged outbound service message to obtain the outbound service and label, and, based on the mapping relationship between peers and labels stored on the forwarding plane, determines the peer to map to the label obtained in the depackaging process, and directly maps the outbound service message to the ISP network to be delivered via that peer. Through the mapping relationship between peers and labels, the first general-purpose exchange component does not need to look up information in the local routing table.
[0083] For ease of understanding, the transmission scheduling process for the entire outbound service message will now be explained using two specific examples.
[0084] (1) Transmit outbound service messages from net1 within the data center network to ISP network 1.
[0085] Figure 6a is a flowchart illustrating transmission scheduling for an outbound service message on a cloud network according to another exemplary embodiment of the present application. The procedure for transmission scheduling of the outbound service message includes the following steps: 1) The second general-purpose exchange component 1 receives an outbound service message from net1 in the data network center, which includes the address of ISP1 to be delivered. 2) Based on the address of ISP network 1, the second general-purpose exchange component 1 searches its local forwarding table for forwarding information related to ISP network 1. Suppose that the second general-purpose exchange component successfully searches its local forwarding table for forwarding information related to ISP network 1, and obtains, for example, that the forwarding information related to ISP network 1 includes label1 related to ISP network 1 and the next hop (which is set to the first general-purpose exchange component 1 as the destination). The second general-purpose exchange component packages label1 into the outbound service message and obtains a packaged outbound service message. 3) The second general-purpose exchange component forwards the packaged outbound service message to the corresponding first general-purpose exchange component 1 according to the instructions of the retrieved forwarding information. 4) After receiving the packaged dispatched service message, the first general-purpose exchange component 1 depackages the packaged dispatched service message to obtain the dispatched service message and label 1, and determines the peer to map to label 1 based on the mapping relationship between label and peer. 5) Based on the peer to map to label 1, it forwards the dispatched service message to the exit of the ISP network 1.
[0086] (2) Transmit outgoing service messages from net3 within the data center network to ISP network 3.
[0087] Figure 6b is a flowchart illustrating transmission scheduling for an outbound service message on a cloud network according to another exemplary embodiment of the present application. The procedure for transmission scheduling the outbound service message includes the following steps: 1) The second general-purpose exchange component 2 receives an outbound service message from net3 in the data network center, including the address of ISP3 to be delivered. 2) The second general-purpose exchange component 2 searches its local forwarding table for forwarding information related to ISP network 3 based on the address of ISP network 3. 3) If the second general-purpose exchange component 2 fails to find forwarding information related to ISP network 3, it sends the outbound service message to the next hop where the general-purpose service component 2 is set as the destination. 4) After receiving the outbound service message, the general-purpose service component 2 searches its local forwarding table for forwarding information related to ISP network 3 based on the address of ISP network 3. The retrieved forwarding information related to ISP network 3 includes the address of the forwarding information related to ISP network 3, the next hop (where the first general-purpose exchange component 2 is set as the destination), and label 3. 5) The general-purpose service component 2 packages label 3 into the outgoing service message, obtains the packaged outgoing service message, and, according to the instructions of the retrieved forwarding information, forwards the packaged outgoing service message to the corresponding first general-purpose exchange component 2. 6) After receiving the packaged outgoing service message, the first general-purpose exchange component 2 depackages the packaged outgoing service message to obtain the outgoing service message and label 3, then determines the peer to map to label 3 based on the mapping relationship between the stored label and peer, and forwards the outgoing service message directly to the exit of the ISP network 3 based on the peer to which label 3 is mapped.
[0088] As described above, when forwarding outgoing service messages, by forwarding the outgoing service messages based on labels, the first general-purpose exchange component can forward outgoing service messages to the corresponding peer according to the labels carried in the outgoing service messages, thereby achieving peer-level scheduling, without requiring routing forwarding by millions of public network levels (i.e., not requiring routing forwarding based on millions of public network routing information).
[0089] Furthermore, in embodiments of the present invention, highly accurate scheduling can be performed for service messages (e.g., outbound service messages). In this case, the general-purpose service component in the forwarding system stores full routing information and full forwarding information, and may also include, as necessary, traffic classification rules for defining service message classification rules and scheduling tables for recording transmission information of service messages of the same class. For example, Figure 7 is a schematic diagram of highly accurate scheduling according to one exemplary embodiment of this application. In Figure 7, the service message classification rules defined in the traffic classification rules may define service messages containing audio content as normal service classes, service messages containing video as high-quality service classes, and service messages containing text as default service classes. High-quality service classes correspond to scheduling table 1, which records transmission information of service messages of high-quality service classes. Normal service classes correspond to scheduling table 2, which records transmission information of service messages of normal service classes. Default service classes correspond to scheduling table 3, which records transmission information of service messages of default service classes. In another example, the service message classification rules defined in the traffic classification rules may define service messages with high real-time requirements as real-time service classes and service messages with low real-time requirements as non-real-time service classes.
[0090] Within this, the transmission information in a single scheduling table can include routing and exit information for transmitting a service message of a single class. The transmission information in a single scheduling table can be comprehensively determined based on the service message class, different exit transmission quality, and transmission cost. For example, in the case of a high-quality service class service message, high exit transmission quality is required and the exit transmission cost is high. Therefore, by aligning the full routing information in a distributed system and searching for routing information with high exit transmission quality and high transmission cost, the routing and exit information for transmitting a high-quality service class service message can be obtained. For example, this routing information could be the first general-purpose exchange component -> China Telecom's ISP network, and the exit information could be "China Telecom's ISP network". On the other hand, in the case of a default service class service message, low exit transmission quality is required and the exit transmission cost is low. Therefore, by aligning the full routing information in a distributed system, routing information with low exit transmission quality and low transmission cost can be found, allowing the routing and exit information for a default service class service message to be transmitted. For example, this routing information could be the first general-purpose exchange component -> China Unicom's ISP network, and the exit information could be "China Unicom's ISP network".
[0091] In this case, the step of performing transmission scheduling for service messages on the cloud network may further include the steps of a general-purpose service component classifying service messages on the cloud network according to traffic classification rules and obtaining the class to which the service message belongs, and performing transmission scheduling for the service message according to the transmission information recorded in the scheduling table corresponding to the class to which the service message belongs. In one embodiment, a splitter is provided in the general-purpose service component, so the general-purpose service component calls the splitter to classify service messages on the cloud network according to traffic classification rules and obtain the class to which the service message belongs. For example, in Figure 7, after calling the splitter and classifying service messages on the cloud network according to traffic classification rules, it is determined that the class to which the service message belongs is a high-quality service class, and then the general-purpose service component determines the scheduling table 1 corresponding to the high-quality service class and performs transmission scheduling for the service message according to the transmission information recorded in scheduling table 1.
[0092] If a service message includes an outbound service message, the general-purpose service component can receive the outbound service message from a second general-purpose exchange component and, if necessary, perform transmission scheduling for the outbound service message according to a local transfer table or by a highly accurate scheduling method, but it should be understood that this is not limited to the embodiments of this application. The above method can meet highly accurate, customizable, and flexible scheduling requirements based on services and traffic under a cloud network, thereby increasing the flexibility of service message transmission scheduling across the entire cloud network and demonstrating significant advantages in terms of cost, performance, and flexibility.
[0093] This document describes the procedure for scheduling the transmission of incoming service messages on a cloud network.
[0094] Referring to Figure 8a, Figure 8a is a flowchart illustrating transmission scheduling for incoming service messages on a cloud network according to one exemplary embodiment of the present application. The transmission scheduling procedure for incoming service messages on a cloud network includes the following steps s21 to s25.
[0095] s21: The first general-purpose switching component receives an incoming service message from the ISP network containing the address of the net within the data center network to be delivered.
[0096] s22: The first general-purpose exchange component retrieves the transfer information related to the net to be delivered from its local transfer table, based on the address of the net to be delivered. Here, the local transfer table of the first general-purpose exchange component records the first component transfer information of the cloud network, which is synchronized on demand by the first general-purpose exchange component.
[0097] In one configuration, the forwarding of incoming service messages depends on intranet forwarding information, and the scale of intranet routing information is very small compared to the scale of public network routing information, that is, the scale of public network routing information is only at the level of 100K. Therefore, when the forwarding plane of the first general-purpose exchange component and the forwarding plane of the second general-purpose exchange component synchronize on demand, the forwarding information related to all nets in the data center network is synchronized. As a result, the first component forwarding information recorded in the local forwarding table of the first general-purpose exchange component will include forwarding information related to the net to be delivered. Thus, the first general-purpose exchange component can obtain the address of the net to be delivered from the incoming service message, retrieve the forwarding information related to the net to be delivered from the local forwarding table of the first general-purpose exchange component based on the address of the net to be delivered, and then execute step s23. The forwarding information related to the net to be delivered obtained by the retrieve may include the address of the net to be delivered, the next hop, the next hop port, the label, etc.
[0098] s23: The first general-purpose exchange component packages the labels associated with the ISP network (i.e., labels that map to peers associated with the ISP network) into the incoming service message, according to the instructions of the retrieved forwarding information.
[0099] s24: The first general-purpose exchange component forwards the packaged incoming service message to the corresponding second general-purpose exchange component.
[0100] s25: The second general-purpose exchange component depackages the packaged incoming service message to obtain the incoming service message and transmits that incoming service message to the net to which it should be delivered.
[0101] In one configuration, the second general-purpose exchange component receives a packaged incoming service message forwarded by the first general-purpose exchange component, then depackages the packaged incoming service message to obtain the incoming service message and the address of the network to which it should be delivered, and then transmits the incoming service message to the network to which it should be delivered based on the address of the network to which it should be delivered.
[0102] For ease of understanding, the transmission scheduling procedure for an entire incoming service message will now be described using a specific example. Figure 8b is a flowchart showing the transmission scheduling for an incoming service message on a cloud network according to an exemplary embodiment of this application. The transmission scheduling procedure for an incoming service message includes the following steps: 1) The first general-purpose exchange component 1 receives an incoming service message from the ISP network 1, which includes the address of net1 in the data center network to be delivered. 2) Based on the address of net1, the first general-purpose exchange component 1 retrieves the transfer information related to net1 from its local transfer table. The transfer information related to net1 obtained from the retrieval includes label1 related to the ISP network 1 and the next hop (where the second general-purpose exchange component 1 is set as the destination). 3) The first general-purpose exchange component 1 packages label1 into the incoming service message according to the instructions of the retrieved transfer information and transfers the packaged incoming service message to the corresponding second general-purpose exchange component 1. 4) The second general-purpose exchange component 1 depackages the packaged incoming service message to obtain the incoming service message and the address of net1, and then transmits the incoming service message to net1 based on the address of net1.
[0103] As is clear from Figure 8b, transmission scheduling for incoming service messages is processed directly by the first and second general-purpose exchange components, but not through general-purpose service components such as an EPP server. Therefore, as shown in Figure 9, which is a flowchart of transmission scheduling for incoming attack traffic according to one exemplary embodiment of this application, when the first general-purpose exchange component receives incoming attack traffic from the network (incoming attack traffic refers to traffic used to attack services provided from a data center network), all incoming service messages are processed by the first general-purpose exchange component (i.e., processed by hardware). Thus, this incoming attack traffic is also processed by the first general-purpose exchange component, without imposing any risk to the general-purpose service components, and the security of the general-purpose service components can be ensured to a certain extent. The incoming attack traffic may also be a distributed denial of service attack (DDoS).
[0104] Based on the above, since each component in the transfer system performs transmission scheduling for incoming and outgoing service messages on the cloud network based on the transfer information in its respective local transfer table, the first and second general-purpose exchange components perform discriminatory and asymmetric processing for outgoing and incoming service messages. Asymmetric processing enables TEPE transfer for outgoing service messages, thus solving the problem of insufficient transfer table entries stored in the general-purpose exchange component due to limited storage space in public network scenarios. This supports T-level transfer speeds, reduces the number of routing paths, allows for processing millions of routing transfers on hundreds of thousands of exchange chips, achieves high-performance routing transfers and flexible transmission scheduling, and meets the transmission scheduling requirements of a cloud network.
[0105] Next, the transmission scheduling method according to the embodiment of this application will be described from the perspectives of the first general-purpose exchange component, the second general-purpose exchange component, and the general-purpose service component, respectively.
[0106] Referring to Figure 10, Figure 10 is a flowchart of a transmission scheduling method according to one exemplary embodiment of the present application. The transmission scheduling method is performed by a first general-purpose exchange component in a distributed system and includes the following steps S1001 to S1003.
[0107] S1001: Retrieve the mapping relationship between peer and label.
[0108] In one embodiment, the first general-purpose switching component can access one or more ISP networks. The first general-purpose switching component can establish peers with each accessed ISP network via BGP, assign labels to each peer, and store the mapping relationships between each peer and label.
[0109] S1002: Transmission scheduling is performed for service messages on the cloud network based on the mapping relationship between peer and label. Here, service messages include outgoing service messages and incoming service messages.
[0110] (1) If a service message includes an outbound service message, the steps of scheduling the transmission of the service message on the cloud network based on the mapping relationship between peer and label include: 1) receiving a packaged outbound service message sent from a second general-purpose exchange component, the packaged outbound service message being obtained by the second general-purpose exchange component receiving an outbound service message from a data center network and then packaging a label related to the ISP network to be delivered into the outbound service message package; and 2) depackaging the packaged outbound service message to obtain an outbound service message and mapping that outbound service message to the ISP network to be delivered based on the mapping relationship between peer and label.
[0111] (2) If the service message includes an outgoing service message, the steps of scheduling the transmission of the service message on the cloud network based on the mapping relationship between the peer and the label include: 1) receiving a packaged outgoing service message forwarded from a general-purpose service component, the packaged outgoing service message being obtained by the general-purpose service component receiving an outgoing service message from a second general-purpose exchange component and then packaging the outgoing service message with a label associated with the ISP network to which it should be delivered; and 2) depackaging the packaged outgoing service message to obtain an outgoing service message and mapping that outgoing service message to the ISP network to which it should be delivered based on the mapping relationship between the peer and the label.
[0112] (3) If the service message includes an incoming service message, the steps of scheduling the transmission of the service message on the cloud network based on the mapping relationship between peer and label include: 1) receiving an incoming service message from the ISP network including the address of a network module in the data center network to be delivered; 2) searching for forwarding information relating to the network module to be delivered from the local forwarding table of the first general-purpose exchange component based on the address of the network module to be delivered, wherein the local forwarding table of the first general-purpose exchange component records first component forwarding information of the cloud network synchronized on demand by the first general-purpose exchange component; and 3) packaging the label related to the ISP network into the incoming service message according to the instructions of the retrieved forwarding information, forwarding the packaged incoming service message to the corresponding second general-purpose exchange component, and using the second general-purpose exchange component to depackage the packaged incoming service message to obtain a service message, and transmitting the incoming service message to the network module to be delivered.
[0113] In one embodiment, the transmission scheduling method further includes step S1003 of receiving a routing update message sent from an ISP network that has accessed a first general-purpose exchange component, labeling the routing update information, sending the labeled routing update message to a global routing service node device, and using the global routing service node device to transmit the labeled routing update message to the routing system of the distributed system.
[0114] In the embodiments of this application, the first general-purpose exchange component can achieve peer-level scheduling by performing transmission scheduling for service messages on the cloud network based on the mapping relationship between peer and label. This eliminates the need for routing and forwarding by a public network of millions of people, thereby enabling high-performance routing and forwarding and flexible transmission scheduling, and meeting the transmission scheduling requirements of a cloud network.
[0115] Referring to Figure 11, Figure 11 is a flowchart of a transmission scheduling method according to another exemplary embodiment of the present application. The transmission scheduling method is performed by a second general-purpose exchange component in a distributed system and includes the following steps S1101 to S1102.
[0116] S1101: Retrieve the mapping relationship between peer and label.
[0117] In a specific form, the second general-purpose exchange component can obtain routing information to be transmitted from the routing system, including the mapping relationship between peer and label.
[0118] S1102: Transmission scheduling is performed for service messages on the cloud network based on the mapping relationship between peer and label. Here, service messages include outgoing service messages and incoming service messages.
[0119] (1) When a service message includes an outgoing service message which is a service message transmitted from the data center network to the ISP network, the steps of performing transmission scheduling for the service message on the cloud network based on the mapping relationship between peer and label are: 1) receiving the outgoing service message from the data center network which includes the address of the ISP network to be delivered; 2) searching for transfer information related to the ISP network to be delivered from the local transfer table of the second general-purpose exchange component, the local transfer table of the second general-purpose exchange component which records the second component transfer information of the cloud network which is synchronized on demand by the second general-purpose exchange component; and 3) if the search is successful, using the second general-purpose exchange component to pack the label related to the ISP network to be delivered into the outgoing service message. The process includes: 4) If the search fails, sending the dispatched service message to the default next hop pointing to the generic service component according to the local forwarding table, thereby using the generic service component to package the dispatched service message based on the address of the ISP network to be served and the forwarding information in the generic service component's local forwarding table, and then forwarding the packaged dispatched service message to the corresponding first generic exchange component.
[0120] (2) If a service message includes an incoming service message, the steps of scheduling the transmission of the service message on the cloud network based on the mapping relationship between peer and label include: 1) receiving a packaged incoming service message sent from a second general-purpose exchange component, the packaged incoming service message being obtained by the first general-purpose exchange component packaging a label related to the ISP network to be delivered into the incoming service message package; and 2) depackaging the packaged incoming service message to obtain an incoming service message, and transmitting the incoming service message to the net to be delivered based on the address of the net in the data center network to be delivered.
[0121] In the embodiments of this application, the second general-purpose exchange component can achieve peer-level scheduling by performing transmission scheduling for service messages on the cloud network based on the mapping relationship between peer and label. This eliminates the need for routing and forwarding by a public network of millions of messages, thereby enabling high-performance routing and forwarding and flexible transmission scheduling, and meeting the transmission scheduling requirements of a cloud network.
[0122] Referring to Figure 12, Figure 12 is a flowchart of a transmission scheduling method according to another exemplary embodiment of the present application. The transmission scheduling method is performed by a general-purpose service component in a distributed system and includes the following steps S1201 to S1203.
[0123] S1201: Receive an outbound service message sent from the second general-purpose exchange component. Here, an outbound service message is a service message transmitted from the data center network to the ISP network. The outbound service message contains the address of the ISP network to which it should be delivered.
[0124] S1202: Based on the address of the ISP network to be served, the general-purpose service component retrieves the relevant forwarding information from its local forwarding table. The general-purpose service component's local forwarding table contains the full forwarding information for the cloud network.
[0125] S1203: The label related to the ISP network to be delivered is packaged into the dispatched service message, and the packaged dispatched service message is forwarded to the corresponding first general-purpose exchange component according to the instructions of the retrieved forwarding information. The first general-purpose exchange component is then used to depackage the packaged dispatched service message to obtain the dispatched service message, and to map that dispatched service message to the ISP network to be delivered.
[0126] Optionally, if the general-purpose service component includes traffic classification rules for defining service message classification rules and a scheduling table for recording transmission information for service messages of the same class, this transmission scheduling method further includes the steps of classifying service messages on the cloud network according to the traffic classification rules to obtain the class to which the service message belongs, and performing transmission scheduling for service messages that may include outbound service messages according to the transmission information recorded in the scheduling table corresponding to the class S1024.
[0127] In the embodiments of this application, the general-purpose service component can achieve peer-level scheduling by performing transmission scheduling for service messages on the cloud network based on the mapping relationship between peer and label. This eliminates the need for routing and forwarding by millions of public networks, significantly reducing the number of routing paths on the Internet, while simultaneously achieving high-performance routing and forwarding and flexible transmission scheduling, thus meeting the transmission scheduling requirements of a cloud network. Furthermore, by placing traffic classification rules and scheduling tables on the general-purpose service component, highly accurate scheduling based on objects and services can be achieved.
[0128] Those skilled in the art will understand that all or some of the steps in the above embodiments of the method are implemented by instructing the relevant hardware with a computer program, which is stored on a computer-readable storage medium, and when the program is executed, the steps of each embodiment of the method are implemented. Here, the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.
[0129] The foregoing disclosures are merely preferred embodiments of the present application and, of course, are not intended to limit the present application; therefore, equivalent modifications to the claims of the present application should be included within the scope of protection of the present application.
Claims
1. As an architecture, it is a distributed system applicable to a cloud network including an access network, a backbone network, and a data center network, The aforementioned distributed system, A first routing node device is installed in a distributed manner across the access network to access one or more Internet service provider networks, and includes a general-purpose service component and a first general-purpose exchange component. A second routing node device, which includes a second general-purpose exchange component, is installed in a distributed manner throughout the data center network to provide data connectivity between network modules within the data center network. The system includes a global routing service node device that is installed independently of the access network and the data center network, The first routing node device, the second routing node device, and the global routing service node device are all connected to the backbone network. The distributed system maintains a mapping relationship between peering connections and scheduling identifiers transmitted between each node device of the distributed system, and each node device of the distributed system performs transmission scheduling for service messages on the cloud network based on the mapping relationship. The aforementioned general-purpose service component, the first general-purpose exchange component, and the second general-purpose exchange component all belong to the components within the transfer system included in the distributed system. Performing the aforementioned transmission scheduling means When a service message on the cloud network reaches any one of the general-purpose exchange components in the transfer system, the general-purpose exchange component searches its local transfer table for the transfer information necessary for the transfer. If the search is successful, one of the general-purpose exchange components packages the scheduling identifier related to the transmission into the service message based on the retrieved transfer information, and performs a transfer process on the service message according to the instructions of the retrieved transfer information. A distributed system characterized by the step of, if the search fails, any one of the general-purpose exchange components sends the service message to the default next hop and uses the general-purpose service component directed by the default next hop to perform transmission scheduling for the service message.
2. The access network includes a plurality of access points, each of which is provided with at least one of the first routing node devices, and each of the first routing node devices consists of one first general-purpose exchange component and one general-purpose service component, and both the first general-purpose exchange component and the general-purpose service component are connected to the backbone network. The first general-purpose exchange component accesses one or more Internet service provider networks, establishes peering connections with each accessed Internet service provider network using the border gateway protocol, and assigns a mapping scheduling identifier to each peering connection. The aforementioned general-purpose service component is for performing scheduling processing on service messages on the cloud network based on the mapping relationship. The distributed system according to claim 1, wherein the peering connection is a communication connection established between the first general-purpose exchange component and any one internet provider network that has accessed it, the peering connection is mapped to a corresponding scheduling identifier, the first general-purpose exchange component includes an edge access switch, and the general-purpose service component includes an elastic packet processing server.
3. The data center network includes a plurality of availability zones, each of which includes one or more network modules, each of which is provided with at least one second routing node device, each of which includes at least one second general-purpose exchange component, and the second general-purpose exchange component is connected to the backbone network. The second general-purpose replacement component is connected to each network module residing in the same availability zone to provide data connectivity between each network module residing in the same availability zone. The distributed system according to claim 1, characterized in that the second general-purpose replacement component includes an internal access switch.
4. The global routing service node device includes an elastic routing service server on which the global routing service program is located. The distributed system according to claim 1, characterized in that the global routing service program in the elastic routing service server is physically or virtually located.
5. Routing service instances are deployed in each of the aforementioned general-purpose service component, the first general-purpose exchange component, and the second general-purpose exchange component. The distributed system includes a routing system comprising the global routing service node device and routing service instances located in the distributed system. The distributed system according to claim 1, characterized in that each node device of the distributed system exchanges routing information of the cloud network within the routing system, and the routing information includes the mapping relationship.
6. The global routing service node device in the routing system collects routing information of the cloud network and transmits the routing information of the cloud network to each component within the routing system, and the component within the routing system is the component on which the routing service instance is located in the distributed system. When the routing information of the cloud network is updated, the global routing service node device transmits the updated routing information to each component in the routing system. The distributed system according to claim 5, characterized in that, through the transmission, the global routing service node device and each component within the routing system store the full routing information of the cloud network, and the routing information related to the peering connection includes a scheduling identifier that maps to the peering connection.
7. The distributed system includes a transfer system comprising the transfer plane of the general-purpose service component, the transfer plane of the first general-purpose exchange component, and the transfer plane of the second general-purpose exchange component. The distributed system according to claim 1, characterized in that each node device of the distributed system performs transmission scheduling for service messages on the cloud network based on the mapping relationship within the transmission system.
8. The general-purpose service component, the first general-purpose exchange component, and the second general-purpose exchange component store the full routing information of the cloud network, and the routing information related to the peering connection includes a scheduling identifier that maps to the peering connection. Based on the full routing information, the general-purpose service component synchronizes the full forwarding information of the cloud network on the forwarding plane of the general-purpose service component. Based on the full routing information, the first general-purpose exchange component synchronizes the first component transfer information of the cloud network on the transfer plane of the first general-purpose exchange component on demand. The second general-purpose exchange component receives the full routing information and synchronizes the second component transfer information of the cloud network on demand on the transfer plane of the second general-purpose exchange component. The distributed system according to claim 1, characterized in that the first component transfer information includes transfer information relating to an Internet service provider network that has accessed the first general-purpose exchange component, and the second component transfer information includes transfer information relating to a network module located in the same availability zone as the second general-purpose exchange component.
9. The full forwarding information of the cloud network synchronized by the general-purpose service component is stored in the local forwarding table of the general-purpose service component. The first component transfer information of the cloud network, synchronized on demand by the first general-purpose exchange component, is stored in the local transfer table of the first general-purpose exchange component. The second component transfer information of the cloud network, synchronized on demand by the second general-purpose exchange component, is stored in the local transfer table of the second general-purpose exchange component. The distributed system according to claim 7, characterized in that each component within the transfer system performs transmission scheduling for service messages on the cloud network based on the transfer information in its respective local transfer table.
10. If the aforementioned general-purpose service component includes traffic classification rules for defining service message classification rules and a scheduling table for recording transmission information of service messages of the same class, then transmission scheduling can be performed as follows: The distributed system according to claim 1, wherein the general-purpose service component includes the steps of: classifying service messages on the cloud network according to the traffic classification rules and obtaining the class to which the service message belongs; and performing a transmission schedule for the service message according to the transmission information recorded in a scheduling table corresponding to the class to which the service message belongs.
11. A transmission scheduling method applicable to a distributed system according to any one of claims 1 to 10, The steps include obtaining the mapping relationship between the peering connection and the scheduling identifier, The steps include transmitting the mapping relationship between each node device of the distributed system, A method characterized by comprising the step of performing transmission scheduling for service messages on the cloud network based on the mapping relationship.
12. If the service messages on the cloud network include outbound service messages which are service messages transmitted from the data center network to the internet service provider network, the step of performing transmission scheduling for the service messages on the cloud network based on the mapping relationship is as follows: The second general-purpose exchange component includes the step of receiving an outgoing service message from the data center network, which includes the address of the Internet service provider network to be delivered to, The second general-purpose exchange component performs the following steps: Based on the address of the Internet service provider network to be delivered, the second general-purpose exchange component searches for transfer information related to the Internet service provider network to be delivered from its local transfer table, wherein the local transfer table of the second general-purpose exchange component records second component transfer information of the cloud network synchronized on demand by the second general-purpose exchange component; If the search is successful, the second general-purpose exchange component packages the scheduling identifier associated with the Internet service provider network to be delivered into the dispatched service message, and then, in accordance with the instructions of the retrieved transfer information, forwards the packaged dispatched service message to the corresponding first general-purpose exchange component. The method according to 11, wherein the first general-purpose exchange component includes the steps of depackaging the packaged dispatched service message to obtain the dispatched service message, and mapping the dispatched service message to the Internet service provider network to be delivered based on the mapping relationship between the peering connection and the scheduling identifier.
13. If the search fails, the second general-purpose exchange component sends the dispatched service message to the default next hop, the general-purpose service component being directed by the default next hop, The general-purpose service component searches for forwarding information related to the Internet service provider network to be delivered from its local forwarding table, based on the address of the Internet service provider network to be delivered, wherein the local forwarding table of the general-purpose exchange component records the full forwarding information of the cloud network. The general-purpose service component packages a scheduling identifier related to the Internet service provider network to be delivered into the dispatched service message, and, in accordance with the instructions of the retrieved forwarding information, forwards the packaged dispatched service message to the corresponding first general-purpose exchange component. The method according to 12, further comprising the steps of: the first general-purpose exchange component depackaging the packaged dispatched service message to obtain the dispatched service message; and mapping the dispatched service message to the Internet service provider network to be delivered based on the mapping relationship between the peering connection and the scheduling identifier.
14. If the service messages on the cloud network include inbound service messages which are service messages transmitted from the Internet service provider network to the data center network, the step of performing transmission scheduling for the service messages on the cloud network based on the mapping relationship is as follows: The first general-purpose exchange component includes the step of receiving an incoming service message from the Internet service provider network, which includes the address of a network module in the data center network to be delivered to; The first general-purpose exchange component performs the following steps: Based on the address of the network module to be delivered, it searches for transfer information related to the network module to be delivered from the local transfer table of the first general-purpose exchange component, wherein the local transfer table of the first general-purpose exchange component records first component transfer information of the cloud network synchronized on demand by the first general-purpose exchange component; The first general-purpose exchange component packages the scheduling identifier associated with the Internet service provider network into the incoming service message in accordance with the instructions of the retrieved forwarding information, and forwards the packaged incoming service message to the corresponding second general-purpose exchange component. The method according to 11, wherein the second general-purpose exchange component includes the steps of depackaging the packaged incoming service message to obtain the incoming service message and transmitting the incoming service message to the network module to which it is to be delivered.
15. A computer program characterized in that, when the computer program is executed, it realizes the method according to claim 11.
Citation Information
Patent Citations
Cloud-based services exchange
CN106464592A
Programmable network platform for a cloud-based services exchange
CN106464742A
Cloud-based service exchange
JP2017524290A
Programmable network platform for cloud-based service exchange
JP2017527151A
Communication system and communication method
JP2019153911A