Network operating system and communication method

By introducing control plane instances and data plane instances into distributed decoupled chassis network devices, message transmission and table entry transmission channels are constructed, solving the problem that existing operating systems cannot be applied to distributed decoupled chassis, and realizing efficient hardware component collaborative control and expansion capabilities.

CN116366419BActive Publication Date: 2026-06-02PURPLE MOUNTAIN LAB

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PURPLE MOUNTAIN LAB
Filing Date
2023-04-18
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing network device operating systems are mostly suitable for box-type or chassis-type physical switches, but not for distributed decoupled chassis network devices, resulting in high expansion costs and an inability to effectively coordinate and control loosely coupled physical hardware components.

Method used

A network operating system is provided, including a management plane instance and a data plane instance, which are installed on a server and a white-box switch, respectively. The system enables the collaborative work of the components through message transmission channels and table entry transmission channels, thereby building internal communication of distributed decoupled chassis network devices.

Benefits of technology

It enables efficient collaborative control of distributed decoupled chassis network devices, reduces expansion costs, supports flexible expansion and unified planning, and is suitable for software-defined network architectures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116366419B_ABST
    Figure CN116366419B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a network operating system and a communication method, the operating system is applied to a distributed decoupling chassis network device, the network operating system comprises a control plane instance and a data plane instance, the control plane instance is installed on a server in the distributed decoupling chassis network device, and the data plane instance is installed on a white box switch. By using the operating system, at least two different software systems such as the control plane instance and the data plane instance are constructed, and the distributed decoupling chassis network operating system is realized. Different instances run on different hardware components, and cooperate to complete the cooperative work of various components in the distributed decoupling chassis network device. The control plane instance and the data plane instance are connected in communication through a message transmission channel constructed according to a tunnel creation strategy and a table item transmission channel constructed according to a database service, and can realize the transmission of message information and table item control information, so as to realize the internal communication of the distributed decoupling chassis network device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network communication technology, and in particular to a network operating system and communication method. Background Technology

[0002] Traditional switching or routing systems typically integrate multiple components into a single physical chassis, such as line cards, fabric cards, and primary / backup control engines. These components are connected together via a backplane to form the physical chassis. If forwarding traffic increases, more line cards and fabric cards can be added to improve the overall forwarding capacity. However, the number of slots for each component in the backplane design is limited, thus limiting the expansion capabilities of line cards and fabric cards and creating an upper limit to the forwarding capacity of the physical chassis. When the network traffic needs to be forwarded exceeds the forwarding capacity of a single network device, it is inevitable to add more physical devices for expansion, leading to a series of changes in network configuration, data center racks, power resource planning, and other aspects, resulting in high expansion costs.

[0003] The distributed decoupled chassis is a novel method for flexibly expanding networks by building them using a white-box architecture, addressing the aforementioned problems. The distributed decoupled chassis decouples the physical chassis, connecting various components via industry-standard fiber optic cables. These components can then be flexibly expanded to achieve network capacity increase. From the outside perspective, these components collectively form a logically single network device. During network expansion, the addition of data plane components only increases the number of service interfaces on the single network device from the user's perspective; it does not involve adding new network element nodes, therefore network planning does not require modification.

[0004] With the emergence of distributed decoupled chassis network devices, a corresponding network operating system is needed to provide overall coordinated control of the loosely coupled physical hardware components within the distributed decoupled chassis. However, existing network device operating systems are mostly applicable to box-type or chassis-type physical switches, with the entire software system running within a single integrated hardware network device, which is not suitable for the newly proposed distributed decoupled chassis network devices. Summary of the Invention

[0005] This invention provides a network operating system and communication method, which implements an operating system suitable for distributed decoupled chassis network devices to drive the hardware components within the distributed decoupled chassis to collaboratively complete communication.

[0006] In a first aspect, embodiments of the present invention provide a network operating system applied to a distributed decoupled chassis network device. The system includes a management plane instance and a data plane instance. The management plane instance is installed on a server within the distributed decoupled chassis network device, and the data plane instance is installed on a white-box switch within the distributed decoupled chassis network device. The management plane instance includes:

[0007] The first infrastructure layer is the first basic component for running distributed, decoupled chassis network devices;

[0008] The network service layer is used to run at least one network service;

[0009] The centralized control layer is used to provide a user management plane for the distributed decoupled chassis devices.

[0010] The data plane instances include:

[0011] The second infrastructure layer is a second basic component for running distributed decoupled chassis network devices. The second infrastructure layer communicates with the first infrastructure layer through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-built according to a tunnel creation strategy, and the table entry transmission channel is pre-built according to a database service.

[0012] The hardware abstraction interface layer is used to call the hardware abstraction interface to write the table entry information generated by the network service in the control plane instance into the chip, and to report the table entry information generated by the chip to the network service in the control plane instance.

[0013] In a second aspect, embodiments of the present invention provide a communication method for a network operating system, the method being executed by the network operating system described in the first aspect embodiment, the method comprising:

[0014] The distributed decoupled chassis network device and external devices are communicated and received via a message transmission channel.

[0015] Reading / writing table entry information of chips within the distributed decoupled chassis network device is performed based on the table entry transmission channel;

[0016] The white-box switch service interfaces are managed based on the aforementioned table entry transmission channel.

[0017] This invention provides a network operating system and communication method. The system is applied to a distributed decoupled chassis network device. The system includes a control plane instance and a data plane instance. The control plane instance is installed on a server in the distributed decoupled chassis network device, and the data plane instance is installed on a white-box switch in the distributed decoupled chassis network device. The control plane instance includes: a first infrastructure layer for running the first basic components of the distributed decoupled chassis network device; a network service layer for running at least one network service; and a centralized control layer for providing a user management plane for the distributed decoupled chassis device. The data plane instance includes: a second infrastructure layer for running the second basic components of the distributed decoupled chassis network device. The second infrastructure layer communicates with the first infrastructure layer through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed according to a database service; and a hardware abstraction interface layer for calling the hardware abstraction interface to write table entry information generated by the network service in the control plane instance into a chip, and to report the table entry information generated by the chip to the network service in the control plane instance. The above technical solution is applicable to distributed decoupled chassis network devices. It achieves a distributed decoupled chassis network operating system by constructing at least two different software systems, such as a control plane instance and a data plane instance. Different instances run on different hardware components, working together to complete the collaborative operation of various components within the distributed decoupled chassis network device. The control plane instance and the data plane instance communicate through message transmission channels and table entry transmission channels. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed based on database services. Through these channels, message information and table entry control information can be transmitted, enabling internal communication within the distributed decoupled chassis network device.

[0018] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 Here are structural examples of existing chassis and distributed decoupled chassis;

[0021] Figure 2 This is a schematic diagram of the structure of a network operating system provided in Embodiment 1 of the present invention;

[0022] Figure 3 This is a structural example diagram of a network operating system in a practical application scenario provided by Embodiment 1 of the present invention;

[0023] Figure 4 This is a schematic diagram of the structure of another network operating system provided in Embodiment 1 of the present invention;

[0024] Figure 5 This is an example diagram of a message transmission channel in a network operating system provided in Embodiment 1 of the present invention;

[0025] Figure 6 This is a flowchart illustrating a communication method for a network operating system provided in Embodiment 2 of the present invention;

[0026] Figure 7 This is an example flowchart of a network operating system implementation provided in Embodiment 3 of the present invention. Detailed Implementation

[0027] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0028] It should be noted that the terms "original," "target," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0029] Figure 1 Here are some structural examples of existing chassis and distributed decoupled chassis, such as... Figure 1As shown, traditional switching or routing systems typically integrate multiple components into a single physical chassis, such as line cards, fabric cards, and primary / backup control engines. These components are connected together via a backplane to form the physical chassis. If forwarding traffic increases, more line cards and fabric cards can be added to improve the overall forwarding capacity. However, the number of slots for each component in the backplane design is limited, thus limiting the expansion capabilities of line cards and fabric cards and creating an upper limit to the forwarding capacity of the physical chassis. When the network traffic needs to be forwarded exceeds the forwarding capacity of a single network device, it is inevitable to add more physical devices for expansion, leading to a series of changes in network configuration, data center cabinets, power resource planning, and other aspects, resulting in high expansion costs.

[0030] Continue to refer to Figure 1 Distributed decoupled chassis is a newly proposed method for building flexibly scalable networks using white-box architecture. By mapping physical chassis components, it achieves flexible scaling of the forwarding capacity of individual logical network elements. The mapping relationships mainly include data plane mapping and control plane mapping. Data plane mapping: Two types of white-box switch hardware are created: line card white-box switches and Fabric white-box switches. Each white-box switch is equipped with its own power supply, cooling fan, central processing unit, and specific chips (such as forwarding chips or switching chips). They are connected using industry-standard fiber optic cables in a CLOS architecture (CLOS architecture is a next-generation data center network architecture), forming a horizontally scalable data forwarding plane, corresponding to the data plane line cards and Fabric switching boards of the original physical chassis. Line card white-box switches are used to implement service traffic access / output. Fabric white-box switches are used to redirect service traffic from inbound to outbound line card white-box switches.

[0031] Control plane mapping: This utilizes a general-purpose server to centrally run the control software for the network switches, acting as the brain of the entire distributed, decoupled chassis. On one hand, it receives switch management configurations from the user side; on the other hand, it controls the operation of network protocols and services within the chassis based on the user's management configuration intentions. Finally, it configures the forwarding-critical information learned by the network protocols and services into the data plane, enabling the entire data plane to perform hardware forwarding according to this information. The control plane corresponds to the primary / backup control engine portion of the original physical chassis.

[0032] The distributed decoupled chassis decouples the physical chassis, connecting various components via industry-standard fiber optic cables. These components can then be flexibly expanded to achieve network capacity increases. From the outside perspective, these components collectively form a single logical network device. During network expansion, the addition of data plane components only increases the service interfaces on this single network device; it does not involve adding new network element nodes, thus requiring no modifications to network planning. Furthermore, the scalable data plane portion of the distributed decoupled chassis utilizes standardized, easily expandable small white-box switches. Compared to non-standard, high-power, large physical chassis switches, this makes it easier to plan rack space and power consumption, enabling effective and unified deployment.

[0033] With the emergence of distributed decoupled chassis network devices, a corresponding network operating system is needed to provide overall coordinated control of the loosely coupled physical hardware components within the distributed decoupled chassis. However, existing network device operating systems are mostly applicable to box-type or chassis-type physical switches, with the entire software system running within a single integrated hardware network device, which is not suitable for the newly proposed distributed decoupled chassis network devices.

[0034] Example 1

[0035] Figure 2 This is a schematic diagram of a network operating system provided in Embodiment 1 of the present invention. This system can be applied to distributed decoupled chassis network devices to drive the operation of those devices. Figure 2 As shown in the figure, the network operating system provided in this embodiment is applied to a distributed decoupled chassis network device. The system includes a control plane instance 1 and a data plane instance 2. The control plane instance 1 is installed on a server in the distributed decoupled chassis network device, and the data plane instance 2 is installed on a white-box switch in the distributed decoupled chassis network device.

[0036] The control plane instance 1 includes: a first infrastructure layer 11, used to run the first basic components of the distributed decoupled chassis network devices; a network service layer 12, used to run at least one network service; and a centralized control layer 13, used to provide a user management plane for the distributed decoupled chassis devices. The data plane instance 2 includes: a second infrastructure layer 21, used to run the second basic components of the distributed decoupled chassis network devices. The second infrastructure layer communicates with the first infrastructure layer through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed according to a database service. A hardware abstraction interface layer 22 is used to call the hardware abstraction interface to write table entry information generated by the network services in the control plane instance into the chip, and to report the table entry information generated by the chip to the network services in the control plane instance.

[0037] In this embodiment, the network operating system integrated into the distributed decoupled chassis network device consists of at least two types of software packages: a management plane instance 1 and a data plane instance 2. The data plane instance 2 can be further decomposed into a data plane line card instance and a data plane Fabric instance. The data plane line card instance and the data plane Fabric instance have similar functions, the difference being that the data plane line card instance primarily controls the line card white-box switch hardware, focusing on configuring and controlling the forwarding chip, while the data plane Fabric instance primarily controls the Fabric white-box switch hardware, focusing on configuring and controlling the switching chip. It is important to note that the data plane instance does not necessarily have to be decomposed into data plane line card instances and data plane Fabric instances. The management plane instance 1 is installed and runs on the general-purpose server hardware in the distributed decoupled chassis network device, and the data plane instance 2 is installed and runs on the white-box switch hardware in the distributed decoupled chassis network device. The white-box switches include line card white-box switches and Fabric white-box switches. The line card white-box switches are used to implement service traffic access / output. The Fabric white-box switches are used to redirect service traffic from inbound to outbound line card white-box switches. In this system, the Fabric white-box switch functions similarly to the switching matrix that was originally located inside the chassis backplane. It connects all the forwarding white-box switches, acting as a relay and connector.

[0038] The management plane instance 1 includes: a first infrastructure layer 11, for running the first basic components of the distributed decoupled chassis network devices; a network service layer 12, for running at least one network service; and a centralized management and control layer 13, for providing a user management plane for the distributed decoupled chassis devices.

[0039] In this embodiment, the logical components within the control plane instance 1 mainly include: a first infrastructure layer 11, a network service layer 12, and a centralized control layer 13. The first infrastructure layer 11 primarily runs the basic components of the distributed decoupled chassis. These basic components may include a high-performance central database, a chassis management module, a port management module, etc. The chassis management module manages the software and hardware status of the distributed decoupled chassis. For example, in terms of hardware, it manages server resources and status, switch resources and status; in terms of software, it manages key containers and status, and key services and status. The network service layer 12 runs at least one network service: this could be a network protocol, network application, third-party functional module, etc., reflecting the chassis's network service capabilities. The centralized control layer 13 is primarily the user management plane for the distributed decoupled chassis, including at least one user management method: a visual WEB configuration management service, a traditional command-line interface (CLI), device operation and maintenance functions such as telemetry, and rich network interfaces, namely the northbound interface of a software-defined network (SDN) controller. Telemetry technology is a technology for remotely collecting data at high speed from physical or virtual devices. Regarding the northbound interface of the equipment, the distributed decoupled chassis uses rich open network programming interfaces. By driving modeling through the data model of the distributed decoupled chassis, and based on the general northbound interface configuration / transmission protocol, it completes the user plane configuration management of the distributed interface chassis, so as to better suit software-defined network architecture and network automation.

[0040] Data plane instance 2 includes: a second infrastructure layer 21, which is a second basic component for running distributed decoupled chassis network devices. The second infrastructure layer 21 communicates with the first infrastructure layer 11 through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed according to a database service. A hardware abstraction interface layer 22 is used to call the hardware abstraction interface to write the table entry information generated by the network service in the control plane instance into the chip, and to report the table entry information generated by the chip to the network service in the control plane instance.

[0041] In this embodiment, the logical components within the data plane instance 2 mainly include: the second infrastructure layer 21, which primarily runs distributed decoupled chassis basic components, including a high-performance central database, chassis management module, and port management module. It communicates with the second infrastructure layer 21 through message transmission channels and table entry transmission channels. The message transmission channels are pre-constructed according to a tunnel creation strategy, and the table entry transmission channels are pre-constructed based on database services. The hardware abstraction interface layer 22 provides unified abstraction and management of the functions of forwarding chips or switching chips. It is used to shield the specific implementation details of forwarding chips, achieving hardware-software decoupling. The hardware abstraction interface layer 22 converts forwarding entries into a user-friendly form of the hardware abstraction unified interface and calls the hardware abstraction unified interface to issue forwarding tables. The hardware abstraction unified interface further calls the software development kit (SDK) driver interfaces of various vendors to complete chip configuration. The hardware abstraction interface layer 22 is used to call the hardware abstraction interface to write table entry information generated by network services in the control plane instance into the chip, and to report table entry information generated by the chip to the network services in the control plane instance. Specifically, the table entry information involves configuration and forwarding table entries generated by network services in the control plane instance through configuration or dynamic learning, which need to be written to the chip in the data plane instance. Additionally, generated data in the chip entries of the data plane instance, such as packet statistics and port status changes, needs to be reported to the control plane instance, where the network services of the network service instance will further process the table entry information.

[0042] The distributed decoupled chassis network operating system proposed in this paper can effectively control a white-box cluster composed of multiple white-box hardware components, driving the hardware components within the distributed decoupled chassis to collaboratively complete tasks such as user configuration distribution, protocol packet aggregation, centralized routing, and traffic forwarding control. By creating common infrastructure within the distributed decoupled chassis network operating system, users can easily and efficiently introduce new network services and network protocol components into the network operating system, reducing integration workload.

[0043] It is important to know that both the control plane instance 1 and the data plane instance 2 should include a basic operating system, such as the Linux operating system, to implement system resource management, provide multi-user, multi-tasking, multi-threaded and multi-CPU running capabilities, and complete the loading of system hardware drivers.

[0044] For example, Figure 3 This is a structural example diagram of a network operating system in a practical application scenario provided in Embodiment 1 of the present invention, as shown below. Figure 3As shown, the network operating system includes a control plane instance 1 and a data plane instance 2. Control plane instance 1 includes: a first infrastructure layer 11, used to run the first basic components of the distributed decoupled chassis network devices, the first basic components including at least one of the following: a database, a chassis management module, a port management module, etc.; a network service layer 12, used to run at least one network service; and a centralized control layer 13, used to provide a user management plane for the distributed decoupled chassis devices, the user management plane including at least one of the following user management methods: visual configuration management, command-line configuration interface management, device operation and maintenance management, and device northbound interface management. Data plane instance 2 includes: a second infrastructure layer 21, used to run the second basic components of the distributed decoupled chassis network devices, the second basic components including at least one of the following: a database, a chassis management module, a port management module, etc.; and a hardware abstraction interface layer 22, including a hardware abstraction interface.

[0045] In this embodiment, the second infrastructure layer 21 and the first infrastructure layer 11 communicate via a message transmission channel and a table entry transmission channel. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed according to a database service. Unlike existing technologies that implement operating system channels via hardware channels or PCIe (Peripheral Component Interface Extender) buses, this embodiment uses ordinary optical fiber, and then uses tunnels on the optical fiber to achieve interaction between components. Specifically, the physical connection of the interconnection channels within the distributed decoupled chassis network devices needs to be implemented first. For example, the general server network card port and the white-box device management port are connected to the same management switch and the same Virtual Local Area Network (VLAN) to form a management network physical channel.

[0046] Following the above description, after the physical channel is constructed, a network interconnection channel is established between the network card port of the management plane instance running server and the management ports of all data plane instance running devices. After forming the physical channel of the management network, a Layer 3 network interconnection address is added to ensure proper connectivity at the Layer 3 address level. When the network protocol running on the management plane instance interacts with other network elements outside the distributed decoupled chassis, since the physical location of packet transmission and reception is on the white-box switch, while the protocol processing and sending locations are on the network protocol component of the management plane instance, a packet transmission channel needs to be established between the two instances. However, if communication is directly based on the Layer 3 network interconnection address, ordinary addresses can only perform ordinary communication and cannot access the internal software system. For example, suppose we need to receive a data packet containing a control message, that is, receive it from a white-box switch and send it to the management end. If we only send it to the Layer 3 management address of the other end, it's impossible to identify which service interface the packet came from. Therefore, we need to establish a tunnel between the processing port on the software system and the white-box service port on the other end. For example, if a packet is received through a logical interface of a certain tunnel, it indicates that the packet was received from the corresponding white-box service port. Therefore, on the network interconnection channel, a channel for packet transmission based on tunneling needs to be constructed, denoted as the packet transmission channel.

[0047] It is understandable that the message transmission channel is used to send and receive messages. Specifically, when a white-box switch service interface receives a request message from an external device, it processes the request message and sends it to the management plane instance via the message transmission channel. Alternatively, when a network service in the management plane instance sends a response message, it processes the response message and sends it to the data plane instance via the message transmission channel, and then sends it out through the corresponding white-box switch service interface. Preferably, in this embodiment, the white-box switch used for sending and receiving service traffic is a line card white-box switch.

[0048] In addition, a channel for writing configuration information to chips or reporting chip information needs to be constructed based on the network interconnection channel. In this embodiment, this is referred to as the table entry transmission channel. The table entry transmission channel does not need to be established based on a tunnel. Instead, it is constructed by subscribing to the database in the management plane instance based on the management address and service port number of the management plane instance.

[0049] A distributed decoupled chassis network operating system is implemented by constructing at least two different software systems, including a control plane instance and a data plane instance. Different instances run on different hardware components, working together to complete the collaborative operation of the various components of the distributed decoupled chassis. The control plane instance primarily provides the external configuration interface, rich network protocols, and network service functions for the distributed decoupled chassis. The data plane instance mainly handles the configuration of forwarding table entries; the driver chip forwards traffic at high speed according to the forwarding information calculated and generated by the control plane instance, without any protocol calculation or operation logic residing there. A basic interconnection channel needs to be further established between the control plane instance and the data plane instance to complete the transmission of message and control information between multiple hardware components. Through information interaction and cooperation between the instances, the different hardware components of the distributed decoupled chassis ultimately work together to achieve high-performance forwarding of network traffic. The network operating system is generally divided into two parts: the control plane instance and the data plane instance. The logical definitions of the two instances are clear, and their functions are well-defined.

[0050] This invention provides a network operating system applied to a distributed decoupled chassis network device. The system includes a management plane instance and a data plane instance. The management plane instance is installed on a server within the distributed decoupled chassis network device, and the data plane instance is installed on a white-box switch within the distributed decoupled chassis network device. The management plane instance includes: a first infrastructure layer for running the first basic components of the distributed decoupled chassis network device; a network service layer for running at least one network service; and a centralized management layer for providing a user management plane for the distributed decoupled chassis network device. The data plane instance includes: a second infrastructure layer for running the second basic components of the distributed decoupled chassis network device. The second infrastructure layer communicates with the first infrastructure layer through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-constructed according to a tunnel creation strategy, and the table entry transmission channel is pre-constructed according to a database service; and a hardware abstraction interface layer for calling the hardware abstraction interface to write table entry information generated by the network service in the management plane instance into the chip, and to report the table entry information generated by the chip to the network service in the management plane instance. The above technical solution is applicable to distributed decoupled chassis network devices. It achieves a distributed decoupled chassis network operating system by constructing at least two different software systems, such as control plane instances and data plane instances. Different instances run on different hardware components, working together to complete the collaborative operation of various components within the distributed decoupled chassis network device. By constructing message transmission channels based on tunnel creation strategies and corresponding table entry transmission channels based on database services, the transmission of message information and table entry control information can be realized, thereby achieving internal communication within the distributed decoupled chassis network device.

[0051] Figure 4This is a schematic diagram of the structure of another network operating system provided in Embodiment 1 of the present invention, as shown below. Figure 4 As shown, as a first optional embodiment of the present invention, based on the above embodiment, the control plane instance 1 further includes a first basic operating system layer 14, and the data plane instance 2 further includes a second basic operating system layer 23. The first basic operating system layer 14 and the second basic operating system layer 23 serve as basic operating system layers, used to construct message transmission channels in the basic components running under the corresponding infrastructure layer according to the tunnel creation strategy, and to construct corresponding table entry transmission channels according to the database service.

[0052] In this embodiment, the control plane instance 1 further includes a first basic operating system layer 14. The first basic operating system 14 primarily manages server resources, providing multi-user, multi-tasking, multi-threaded, and multi-CPU operation capabilities, and loading system hardware drivers, such as server network cards and peripheral drivers. For example, the first basic operating system 14 can be a Linux operating system, which provides many open interfaces. The data plane instance 2 further includes a second basic operating system layer 23. The second basic operating system layer 23 primarily manages white-box switch resources, providing multi-user, multi-tasking, multi-threaded, and multi-CPU operation capabilities, and loading white-box switch hardware drivers, such as interface drivers, peripheral drivers, high-performance forwarding chips, or switching chips.

[0053] In this embodiment, the first basic operating system layer 14 and the second basic operating system layer 23, as basic operating system layers, can construct message transmission channels and table entry transmission channels in the basic components running under the corresponding infrastructure layer according to the tunnel creation strategy.

[0054] In this embodiment, a message transmission channel for packet transmission needs to be constructed based on a tunnel on the network interconnection channel. An entry transmission channel for writing configuration classes to the chip also needs to be constructed based on the network interconnection channel. The entry transmission channel is not constructed using a tunnel; instead, it is constructed by subscribing to the database in the management plane instance using the management address and service port number of the management plane instance.

[0055] Specifically, a message transmission channel and an entry transmission channel are established between the network card port of the control plane instance running server and the management ports of all data plane instance running devices to enable message communication between different instances. These channels primarily carry the following types of messages: 1) Data plane instances will send protocol messages received from service ports to the control plane instance for message processing via the message transmission channel; 2) Control plane instances will send messages actively sent by protocol modules to data plane instances via this message transmission channel, and then send them to other network elements through service ports on the data plane instances; 3) Control plane instances will also distribute forwarding entries generated by protocol modules to the corresponding data plane instances via the entry transmission channel, and the data plane instances will further write the forwarding entries into their local chips; 4) Data plane instances will report interface message statistics, fan, power supply, and other operating status information obtained from local hardware devices to the control plane instance via this entry transmission channel, summarizing the hardware operating status of the entire chassis and presenting relevant information to the user.

[0056] Furthermore, the basic operating system layer includes:

[0057] The first building module is used to create management addresses for server ports and white-box switch ports respectively, and to build network interconnection channels between control plane instances and data plane instances based on the management addresses.

[0058] In this embodiment, a physical connection for the network interconnection channel needs to be established before constructing the network interconnection channel between the control plane instance and the data plane instance. Specifically, the server's network interface card (NIC) port and the white-box switch's management port are connected to the same management switch and the same virtual LAN, forming a management network physical channel. After creating the physical channel, a Layer 3 network interconnection channel is constructed between the control plane instance and the data plane instance. This is done by: starting the first and second base operating systems; the first base operating system creates management addresses for the server port, and the second base operating system creates management addresses for the white-box hardware port; and storing these management addresses in the configuration file of the corresponding plane instance. The management address field is read from the plane instance's configuration file, and the management address is configured on the server port and the white-box hardware port, thus achieving the Layer 3 network interconnection between the control plane instance and the data plane instance.

[0059] The second construction module is used to build a message transmission channel between the control plane instance and the data plane instance on the network interconnection channel according to the tunnel creation strategy, and to build a corresponding table entry transmission channel according to the database service.

[0060] In this embodiment, the network protocol running on the control plane instance needs to exchange protocol messages with other network elements outside the distributed decoupled chassis. Since the physical location of message transmission and reception is on the white-box switch, while the protocol processing and sending locations are in the network protocol component of the control plane instance, a message transmission channel needs to be established between the two instances. The data plane instance mainly handles the configuration of forwarding entries; therefore, an entry transmission channel needs to be established between the two instances.

[0061] The above technical solution describes the steps for establishing the internal interconnection channel of the network operating system of a distributed decoupled chassis network device, including: a basic Layer 3 interconnection network interconnection channel, a unified message transmission channel for point-to-point packet sending and receiving, and a unified table entry transmission channel for hardware entry distribution. Based on this unified infrastructure, the network protocols of the original stand-alone system can work within the network operating system of the distributed decoupled chassis after simple adaptation, enabling users to efficiently introduce new network services and network protocol components and reduce integration workload.

[0062] Furthermore, the first building block is specifically used for:

[0063] a1. Create the first management address for the server port and the second management address for the white-box switch port.

[0064] Specifically, start the first base operating system of the control plane instance, and create a management address for the server port, denoted as the first management address, such as an Internet Protocol address (IP). At the same time, start the second base operating system of the data plane instance, and create a management address for the white-box switch port, denoted as the second management address.

[0065] b1. Write the first management address as the local management address and the second management address as the remote management address into the first configuration file of the control plane instance.

[0066] The configuration file is used to store the instance's configuration information, and the configuration file for the management plane instance is designated as the first configuration file. Specifically, the configuration file for the management plane instance contains the local management address and the management addresses of all remote white-box switches, which is equivalent to using the first management address as the local management address and the second management address as the remote management address.

[0067] c1. Write the second management address as the local management address and the first management address as the remote management address into the second configuration file of the data plane instance.

[0068] Specifically, the configuration file for the data plane instance is designated as the second configuration file. In this configuration file, the local management address and the management address of the remote control plane instance are written, effectively using the second management address as the local management address and the first management address as the remote management address.

[0069] d1. Based on the management address information in the first and second configuration files, implement the network interconnection channel between the control plane instance and the data plane.

[0070] Specifically, the IP field of the management address is read from the instance configuration file, and the management address IP is configured to the server network card port / white box hardware management port respectively, so as to realize the three-layer network interconnection between the management plane instance and the data plane instance, that is, to complete the establishment of the network interconnection channel.

[0071] The above technical solution specifies the construction steps of the network interconnection channel. By creating management addresses for the control plane instance and the data plane instance and configuring the management addresses, the network interconnection channel is established, providing a physical channel foundation for the construction of the message transmission channel and the table entry transmission channel of the software system.

[0072] Furthermore, the second building block is specifically used for:

[0073] a2. Based on data plane instance 2, create a first kernel interface, a bridge, and a first tunnel interface corresponding to the service interface of the white box switch, and use the first management address of the server port as the remote address of the message transmission channel link relative to the data plane instance, and use the second management address of the white box switch port as the local address of the message transmission channel link relative to the data plane instance.

[0074] For example, assuming the underlying operating system is Linux, the Linux kernel on the data plane instance creates the kernel port, bridge, and tunnel interface corresponding to the white-box hardware service interface. The local address of the tunnel connection relative to the data plane instance is the data plane instance management address, and the remote address of the tunnel connection relative to the data plane instance is the control plane instance management address. In this embodiment, the kernel interface corresponding to the white-box switch service interface created based on the data plane instance is denoted as the first kernel interface, and the created tunnel interface is denoted as the first tunnel interface.

[0075] b2. Add the first kernel interface and the first tunnel interface to the bridge.

[0076] Specifically, the first kernel port and the first tunnel interface are added to the bridge.

[0077] c2. Create a second tunnel interface through the control plane instance 1, and use the second management address as the remote address of the message transmission channel link relative to the control plane instance, and use the first management address as the local address of the message transmission channel link relative to the control plane instance.

[0078] For example, assuming the underlying operating system is Linux, the Linux kernel on the control plane instance side creates a tunnel interface. The local address of the tunnel connection relative to the control plane instance is the management address of the management plane instance, and the remote address of the tunnel connection relative to the control plane instance is the management address of the data plane instance. In this embodiment, the tunnel interface created through control plane instance 1 is referred to as the second tunnel interface.

[0079] d2. Synchronize the network address and physical address of the user-configured white-box switch service interface to the second tunnel interface to complete the establishment of the message transmission channel between the control plane instance and the data plane instance.

[0080] Specifically, the network address (IP) and physical address (Media Access Control Address, MAC) of the user-configured white-box switch service port are synchronously configured onto the corresponding second tunnel interface in the Linux kernel of the management plane instance. Finally, the network address (IP) of the first kernel interface corresponding to the white-box switch service interface is deleted, and the MAC address is modified to the chassis address to avoid duplication with the interface information of the second tunnel interface in the Linux kernel of the management plane instance. This establishes a point-to-point transmission pipeline for packets from the white-box switch service port to the corresponding interface in the Linux kernel of the management plane instance.

[0081] For example, Figure 5 This is an example diagram of a message transmission channel in a network operating system provided in Embodiment 1 of the present invention, as shown below. Figure 5 As shown, a message transmission channel 31 is constructed between the control plane instance and the data plane instance. There are several service interfaces 32 in the data plane instance. A corresponding first kernel interface 33 is generated for each service interface. The first kernel interface 33 is connected to the bridge 34. The bridge 34 has an outgoing interface, namely the first tunnel interface 35. The first tunnel interface 35 is an interface of the message transmission channel 31. The interface of the message transmission channel 31 connected to the control plane instance is the second tunnel interface 36. The second tunnel interface 36 is connected to the network service container in the control plane instance.

[0082] The above technical solution specifies the steps for constructing a message transmission channel, realizes the construction of a message transmission channel, and enables the sending and receiving of messages based on the message transmission channel.

[0083] Furthermore, the second building block is specifically used for:

[0084] Data plane instance 2 obtains the first management address of the control plane instance from the local second configuration file, and remotely connects to the database of the control plane instance based on the first management address and service port number, forming a table entry transmission channel between the control plane instance and the data plane instance.

[0085] The data plane instance obtains the management address information (i.e., the first management address) from the local configuration file of the control plane instance. It then remotely connects to the corresponding database of the control plane instance through this address and the service port number of the database, forming a table entry transmission channel between the control plane instance and the data plane instance. It also subscribes to network protocols or network services stored in the database, such as network forwarding tables.

[0086] The above technical solution specifies the steps for constructing the table entry transmission channel. Based on the instance's management address and service port number, the table entry transmission channel is constructed for transmitting network forwarding table information.

[0087] Example 2

[0088] Figure 6 This is a flowchart illustrating a communication method for a network operating system according to Embodiment 2 of the present invention. This method is applicable to communication between network operating systems integrated into distributed decoupled chassis network devices. Figure 6 As shown in the figure, this embodiment two provides a communication method for a network operating system, which specifically includes the following steps:

[0089] S201. Message transmission and reception between distributed decoupled chassis network devices and external devices based on message transmission channels.

[0090] In this embodiment, the network service running on the control plane instance and other network elements outside the distributed decoupled chassis network device need to exchange protocol messages. Since the physical location of message transmission and reception is on the white-box switch, while the protocol processing and sending location are in the network service component of the control plane instance, a message transmission channel needs to be established between the two instances. After the message transmission channel is established, message transmission / reception between the distributed decoupled chassis network device and external devices can be performed based on this message transmission channel.

[0091] For example, when the service interface of the white-box switch receives a message from an external source, the chip filters out the protocol messages that need to be transmitted according to the protocol message upload settings. First, it uploads the message to the kernel interface in the Linux kernel of the data plane instance corresponding to the white-box switch. The kernel interface forwards the message to the tunnel entrance via Layer 2. After tunnel encapsulation of the original packet, the message reaches the tunnel exit of the control plane instance through the tunnel. After de-tunneling and encapsulation, the message is restored to the protocol message that needs to be transmitted and then dispatched to the protocol module that has subscribed to the message type for processing.

[0092] For example, when the protocol module in the control plane instance sends a protocol packet, it is assumed that the packet is sent from the interface in the Linux kernel of the control plane instance based on the routing result. This interface is the tunnel entry point. After the packet is encapsulated in the tunnel, it is sent to the tunnel exit in the Linux kernel of the data plane instance. Then, it goes through Layer 2 to send the packet to the Linux kernel interface of the data plane instance, and finally it is sent from the corresponding service port of the white-box switch.

[0093] S202. Read / write table entry information of chips within a distributed decoupled chassis network device based on the table entry transmission channel.

[0094] In this embodiment, configuration and forwarding entries generated by network services in the control plane instance through configuration or dynamic learning need to be written to the chip in the data plane instance. Generated data in the chip entries of the data plane instance, such as packet statistics and port status changes, needs to be reported to the control plane instance for further processing by the network services of the network service instance. Both writing and reporting of entry information require transmission via the entry transmission channel.

[0095] For example, the steps of writing configuration class and forwarding class entries generated by the protocol module through configuration or dynamic learning to the chip can be described as follows: the configuration class and forwarding class information generated by the protocol module in the control plane instance are stored in the local database; the hardware abstraction interface layer in the data plane instance remotely subscribes to the database changes of the control plane instance, obtains the data that needs to be distributed to the chip locally, and writes the data to the chip through the hardware abstraction interface.

[0096] For example, the steps for reporting data generated in the chip table, such as message statistics and port status changes, to the management plane instance can be described as follows: the data plane instance periodically calls the hardware abstraction interface layer information reading interface to obtain the information, and then remotely writes it into the database of the management plane instance; after obtaining the data, the database of the management plane instance notifies the network services that have subscribed to this type of information, and the network services continue the information processing flow.

[0097] S203. Manage the service interfaces of the white-box switch based on the table entry transmission channel.

[0098] In this embodiment, to manage all service interfaces of the white-box switch, a globally unique interface number and name are defined for each physical interface within the distributed decoupled chassis system. The interface configuration file is read from the local white-box hardware's data plane instance, and the local physical interface configuration is completed based on the correspondence between the physical interface and the globally unique interface number and name in the file. Once a physical interface is successfully created, the interface information is written to the database of the management plane instance via the table entry transmission channel. The management plane instance receives the database change message and further completes the global interface management, performing tasks such as global management of all data plane white-box hardware interfaces, interface attribute configuration and updates, interface status publication, and summary and display of interface message statistics.

[0099] This embodiment provides a communication method for a network operating system integrated into a distributed decoupled chassis network device. The method includes message transmission and reception between the distributed decoupled chassis network device and external devices via a message transmission channel; reading and writing table entry information of chips within the distributed decoupled chassis network device via a table entry transmission channel; and managing the service interfaces of white-box switches via the table entry transmission channel. Unlike existing technologies that implement operating system channels through hardware channels or PCIe buses, this method utilizes ordinary optical fibers, with tunnels built over the fibers to achieve interaction between components. Through message transmission and table entry transmission channels, message transmission and reception, table entry information reporting and distribution, and interface management are achieved, enabling communication interaction of the operating system suitable for distributed decoupled chassis network devices.

[0100] As a first optional embodiment of the present invention, based on the above embodiments, specifically, this first optional embodiment can optimize the implementation of message sending and receiving between distributed decoupled chassis network devices and external devices based on message transmission channels into the following steps:

[0101] a3. When the white-box switch service interface receives the original request message from the external device, it filters out the message to be received that meets the preset category from the original request message and sends the message to be received to the first kernel interface of the data plane instance.

[0102] This optional embodiment describes the message reception process. After the white-box switch's service interface receives a message from an external source, the chip in the data plane instance filters out protocol messages that meet a preset category according to the protocol message upload settings, and records them as messages to be received. The filtered messages to be received are first uploaded to the first kernel interface in the operating system kernel of the white-box switch's data plane instance.

[0103] b3. The message to be received is forwarded to the first tunnel interface of the message transmission channel through the bridge.

[0104] Specifically, the first kernel interface forwards the packets to be received to the first tunnel entrance via the second layer of the bridge.

[0105] c3. Encapsulate the received message to obtain the first target message, and send the first target message to the second tunnel interface of the message transmission channel through the message transmission channel.

[0106] Specifically, the message to be transmitted is encapsulated in a tunnel, the encapsulated message is designated as the first target message, and the first target message is transmitted through the message transmission channel to the second tunnel interface of the control plane instance.

[0107] d3. After decapsulating the first target message to obtain the message to be received, the operating system kernel based on the control plane instance sends the message to be received to the network service that subscribes to the corresponding message type.

[0108] Specifically, when the first target message arrives at the second tunnel interface of the control plane instance, the first target message is decapsulated to obtain the original message to be received, and the message to be received is dispatched to the network service that has subscribed to this message type. The network service can be a network protocol, network application, third-party functional module, etc.

[0109] This optional embodiment specifies the steps for message reception, and performs message reception between distributed decoupled chassis network devices and external devices based on the message transmission channel.

[0110] As a second optional embodiment of the present invention, based on the above embodiments, specifically, this second optional embodiment can optimize the implementation of message sending and receiving between distributed decoupled chassis network devices and external devices based on message transmission channels to the following steps:

[0111] a4. When a network service in the control plane instance sends an original response message, the original response message is sent to the second tunnel interface of the message transmission channel.

[0112] This optional embodiment describes the message sending process. In this embodiment, when a network service, such as a protocol module, in the management plane instance sends an original response message, it sends the original response message to the second tunnel interface of the message transmission channel. For example, it is assumed that the packet is sent from the second tunnel interface in the Linux kernel of the management plane instance, which is equivalent to the tunnel entrance.

[0113] b4. Encapsulate the original response message to obtain the second target message, and send the second target message to the first tunnel interface of the message transmission channel through the message transmission channel.

[0114] Specifically, the original response message is tunnel-encapsulated, and the resulting message is designated as the second target message. The second target message is then sent through the message transmission channel to the first tunnel interface of that channel. For example, after tunnel encapsulation, the message is sent to the second tunnel interface in the Linux kernel data plane instance, which is equivalent to the tunnel exit.

[0115] c4. Decapsulate the second target message to obtain the original response message, and forward the original response message to the first kernel interface of the data plane instance via the bridge.

[0116] Specifically, the second target message is decapsulated to obtain the original response message, which is then routed through the bridge to Layer 2 and sent to the first kernel interface of the data plane instance.

[0117] d4. Send the original response message through the corresponding white-box switch service interface.

[0118] Specifically, the original response message will eventually be sent from the corresponding service interface of the white-box switch.

[0119] This optional embodiment specifies the steps for message transmission, and performs message transmission between distributed decoupled chassis network devices and external devices based on the message transmission channel.

[0120] As a third optional embodiment of the present invention, based on the above embodiments, specifically, this third optional embodiment can optimize the implementation of reading / writing table entry information of chips in a distributed decoupled chassis network device based on the table entry transmission channel to the following steps:

[0121] a5. Store the table entries generated by the network services in the control plane instance into the database of the control plane instance.

[0122] This optional embodiment describes the chip writing steps for network services in the control plane instance, such as protocol modules, through configuration or dynamically learned configuration class and forwarding class entries. Specifically, the configuration class and forwarding class information generated by the protocol module in the control plane instance is first stored in a local database.

[0123] b5. Database clients based on data plane instances can remotely subscribe to and manage the databases of the data plane instances.

[0124] Specifically, the database client in the data plane instance remotely subscribes to and manages database changes of the data plane instance.

[0125] c5. When the database of the control plane instance changes, the data plane instance obtains the change information based on the table entry transmission channel.

[0126] Specifically, when the database of the control plane instance changes, the data plane instance obtains the data that needs to be distributed to the chip locally, i.e., the change information, based on the table entry transmission channel.

[0127] d5. The data plane instance writes the change information to the local chip through the hardware abstraction interface of the hardware abstraction interface layer.

[0128] Specifically, the data plane instance writes the change information into the local chip through the hardware abstraction interface of the hardware abstraction interface layer.

[0129] This optional embodiment specifies the network services in the control plane instance, such as the protocol module, and implements the chip writing steps of configuration class and forwarding class entries generated by configuration or dynamic learning, and realizes the writing of table entry information into the chip through the table entry transmission channel.

[0130] As a fourth optional embodiment of the present invention, based on the above embodiments, specifically, this fourth optional embodiment can optimize the implementation of reading / writing table entry information of chips in a distributed decoupled chassis network device based on the table entry transmission channel to the following steps:

[0131] a6. The data plane instance calls the hardware abstraction interface of the hardware abstraction interface layer to obtain the table entry information generated by the chip.

[0132] This optional embodiment describes the steps for reporting generated data in chip entries, such as message statistics and port status changes, to the management plane instance. In this embodiment, the generated data in the chip entries is recorded as entry information. First, the data plane instance periodically calls the hardware abstraction interface of the hardware abstraction interface layer to read the corresponding entry information.

[0133] b6. Remotely write the table entry information into the database of the control plane instance through the table entry transmission channel.

[0134] Specifically, after the data plane instance obtains the table entry information, it remotely writes it into the database of the control plane instance.

[0135] c6. Control the network service that notifies the client instance to subscribe to table entries, so that the network service can process the table entries.

[0136] Specifically, after the control plane instance database obtains the data, it notifies the network services that have subscribed to this type of information, and the network services continue the information processing flow.

[0137] This optional embodiment specifies the steps for reporting generated data in the chip table, such as message statistics and port status changes, to the management plane instance. The table entry information is written into the chip through the table entry transmission channel.

[0138] As a fifth optional embodiment of the present invention, based on the above embodiments, specifically, this fifth optional embodiment can optimize the implementation of managing the service interface of the white-box switch based on the table entry transmission channel into the following steps:

[0139] a7. Read the white-box switch service interface information contained in the hardware resource file of the data plane instance, and construct a global interface identifier for each white-box switch service interface information.

[0140] This optional embodiment describes the steps of interface management. The service interface information of the white-box switches contained in the hardware resource file of the data plane instance is read. For the service interfaces of all white-box switch hardware, a globally unique interface number and interface name are defined within the distributed decoupled chassis network device for each physical service interface. In this embodiment, the interface number and interface name are recorded as the global interface identifier. It is understood that line card white-box switches are used to implement service traffic access / output, and Fabric white-box switches are used to help redirect service traffic from inbound to outbound line card white-box switches. Preferably, in this embodiment, the white-box switch used for service traffic transmission and reception is a line card white-box switch. Based on the correspondence between the physical interface information and the globally unique interface number and interface name in the hardware resource file, the local physical interface configuration is completed.

[0141] b7. Store the global interface identifier and interface status information of the white-box switch service interface information into the database of the management plane instance through the table entry transmission channel.

[0142] Specifically, once the physical interface is successfully created, the interface information is written to the database of the control plane instance through the table entry transmission channel.

[0143] c7. Subscribe to interface change information in the local database based on network services, and perform network service processing according to the interface change information.

[0144] Specifically, the control plane instance subscribes to interface change information in the local database based on network services, obtains interface change messages from the database, and further completes the work of global interface management. It performs global management, interface attribute configuration and update, interface status publication, and interface message statistical data collection and display for all data plane white-box hardware interfaces.

[0145] This optional embodiment specifies the steps of interface management and implements global interface management based on the table entry transmission channel.

[0146] It's important to understand that all network protocols and services run within a control plane instance, loaded using containers, allowing for flexible shutdown and upgrades of individual containers. Network protocols and services receive packets locally via message channels, store or retrieve chip-related information through a local database, and manage and monitor interfaces and their status locally. The operational logic of network protocols and services is no different from that of a standalone device.

[0147] Example 3

[0148] Figure 7 The following is an example flowchart of a network operating system implementation provided in Embodiment 3 of the present invention. Below is an example of a network operating system for a distributed, decoupled chassis network device implemented by modifying the open-source Sonic standalone system using the network operating system implementation method provided by the present invention. Figure 7 As shown, an exemplary implementation of the network operating system provided in this embodiment may include:

[0149] S301. Compile and modify the standalone open-source network operating system to generate a control plane instance and a data plane instance from the original standalone operating system.

[0150] In this example, the standalone open-source network operating system refers to the Sonic standalone system. It's important to note that when modifying a standalone system, the type of standalone system is not limited.

[0151] S302, the control plane instance runs on a general-purpose server.

[0152] The management plane instance primarily provides the device northbound interface layer, network service functions, and infrastructure such as chassis management, interface management, and Redis database. When compiling this instance, related containers and processes are included.

[0153] S303, the data plane instance runs on the white-box switch hardware of the distributed decoupled interface.

[0154] The white-box switch hardware includes line card white-box switches and Fabric white-box switches. The data plane instance primarily handles the distribution of hardware tables for forwarding chips and the configuration of forwarding logic; it also requires infrastructure such as chassis management, interface management, and a Redis database. Compiling this instance includes the relevant containers and processes.

[0155] S304. Write the local management address and the management addresses of all remote white-box switches into the instance configuration file of the management plane.

[0156] S305. Write the local management address and the management address information of the control plane instance into the configuration file of the data plane instance.

[0157] It should be noted that steps S304 and S305 are equivalent to building a network interconnection channel between the control plane instance and the data plane instance.

[0158] After the S306, management plane instance, and data plane instance are started, they establish a message transmission channel based on the management address configuration information in the local configuration and the interface information of the white-box switch.

[0159] S307. Implement message sending and receiving based on message transmission channel.

[0160] For example, for packets received on the service interface of a white-box switch, the chip first identifies them according to classification rules and then sends them to the local Linux kernel. The kernel's packet receiving interface receives the packets, forwards them through the bridge's Layer 2 forwarding, and then they reach the Linux kernel tunnel exit port on the management plane instance. Finally, the kernel of the management plane instance dispatches the packets to the corresponding network protocol or network service container according to the subscription information of the local service packets, completing the delivery of protocol packets from the data plane instance to the corresponding network protocol or network service within the management plane instance. The packet sending process is the reverse transmission process and will not be described in detail.

[0161] S308, a chip that writes table entry information to a data plane instance based on the table entry transmission channel.

[0162] For example, the network protocol or network service within the control plane instance calculates and generates a network forwarding table based on the information exchanged in the packets. These table entries are stored in a Redis database. The SwitchState Service (SWSS) container in the data plane instance obtains the management address of the control plane instance from its configuration file. Using this address and the Redis service port number 6379, it remotely connects to the Redis database of the control plane instance and subscribes to the network forwarding table stored in the Redis database for the network protocol or network service. Essentially, once connected to the management address and the Redis service port number, the database server can be accessed. For instance, if a table is subscribed to, changes to that table within the control plane instance will automatically notify the client on the white-box switch, allowing the client to obtain the data and continue processing.

[0163] When the database table information of the control plane instance changes, the SWSS container in the data plane instance obtains the change of the table entries. After sensing the change, it organizes the content of the database notification into the format corresponding to the hardware table entry, stores it in the local Redis database, and further calls the hardware abstraction interface according to the database information to set the forwarding chip in the white-box switch. Finally, the chip forwards traffic according to the table entries generated by the protocol.

[0164] S309. The data generated by the forwarding chip in the white-box switch is reported to the management plane instance and presented to the user based on the table entry transmission channel.

[0165] For example, the generated data could be information such as packet statistics and port status changes. A container in the data plane instance periodically reads relevant interfaces to obtain chip data, and connects to the Redis service in the management plane instance through the management address and Redis service number of the management plane instance, writing the relevant information into the Redis database of the management plane instance. The management plane instance then presents the chip data status to the user based on the information in the local Redis database.

[0166] S310. Generate a globally unique interface number and interface name for each service interface on the white-box switch.

[0167] The data plane instance reads the hardware resource file, which maps local physical interfaces to a globally unique interface number and interface name. The globally unique interface number and interface name are used when creating physical ports. The globally unique interface number can be assigned using a simple algorithm. For example, if the data plane instance ID starts from 1 and each data plane instance ID is different, the interface number for this hardware device is assigned within the following range based on the data plane instance ID information: [(data plane instance ID - 1) * 128, data plane instance ID * 128].

[0168] S311. After the physical interface on the data plane instance is successfully created, the physical interface is connected (UP), and the interface name, management address and status information are written to the database of the control plane instance.

[0169] In the control plane instance, the network protocol subscribes to the corresponding table entries, receives database change messages, and further completes network protocol processing based on the global interface. It's understandable that, within the distributed decoupled framework, neither the packet receiving interface nor the table entry writing interface changes, and therefore, the network protocol or service can function normally without modification.

[0170] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0171] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A network operating system, characterized in that, This system, applied to distributed decoupled chassis network devices, includes a management plane instance and a data plane instance. The management plane instance is installed on a server within the distributed decoupled chassis network device, and the data plane instance is installed on a white-box switch within the distributed decoupled chassis network device. The management plane instance includes: The first infrastructure layer is the first basic component for running distributed, decoupled chassis network devices; The network service layer is used to run at least one network service; The centralized control layer is used to provide a user management plane for the distributed decoupled chassis devices. The data plane instances include: The second infrastructure layer is a second basic component for running distributed decoupled chassis network devices. The second infrastructure layer communicates with the first infrastructure layer through a message transmission channel and a table entry transmission channel. The message transmission channel is pre-built according to a tunnel creation strategy, and the table entry transmission channel is built based on the management address and service port number of the management plane instance to subscribe to the database in the management plane instance. The hardware abstraction interface layer is used to call the hardware abstraction interface to write the table entry information generated by the network service in the control plane instance into the chip, and to report the table entry information generated by the chip to the network service in the control plane instance. The network operating system is used to send and receive messages between the distributed decoupled chassis network device and external devices based on the message transmission channel, and to read and write table entry information of the chips in the distributed decoupled chassis network device based on the table entry transmission channel. The step of sending / receiving messages between the distributed decoupled chassis network device and external devices based on the message transmission channel includes: When the white-box switch service interface receives a raw request message from an external device, it filters out messages that meet a preset category from the raw request message and sends the messages to be received to the first kernel interface of the data plane instance; it forwards the messages to be received to the first tunnel interface of the message transmission channel through a bridge; it encapsulates the messages to be received to obtain a first target message, and sends the first target message to the second tunnel interface of the message transmission channel through the message transmission channel; after decapsulating the first target message to obtain the messages to be received, it sends the messages to be received to the network service subscribed to the corresponding message type based on the operating system kernel of the control plane instance; When a network service in the control plane instance sends an original response message, the original response message is sent to the second tunnel interface of the message transmission channel; the original response message is encapsulated to obtain a second target message, and the second target message is sent to the first tunnel interface of the message transmission channel through the message transmission channel; the second target message is decapsulated to obtain the original response message, and the original response message is forwarded to the first kernel interface of the data plane instance through a bridge; the original response message is sent out through the corresponding white-box switch service interface. The table entry transmission channel is used for reading / writing table entry information of chips within the distributed decoupled chassis network device, including: The table entry information generated by the network service in the control plane instance is stored in the database of the control plane instance; the database client of the data plane instance remotely subscribes to the database of the control plane instance; when the database of the control plane instance is changed, the data plane instance obtains the change information based on the table entry transmission channel; the data plane instance writes the change information to the local chip through the hardware abstraction interface of the hardware abstraction interface layer. The data plane instance calls the hardware abstraction interface of the hardware abstraction interface layer to obtain the table entry information generated by the chip; the table entry information is remotely written into the database of the control plane instance through the table entry transmission channel; the control plane instance notifies the network service that subscribes to the table entry information so that the network service can process the table entry information.

2. The system according to claim 1, characterized in that, The control plane instance further includes a first basic operating system layer, and the data plane instance further includes a second basic operating system layer. The first and second basic operating system layers, as basic operating system layers, are used to construct message transmission channels in the basic components running under the corresponding infrastructure layer according to the tunnel creation strategy, and to construct corresponding table entry transmission channels according to the database service.

3. The system according to claim 2, characterized in that, The basic operating system layer includes: The first construction module is used to create management addresses for the server port and the white-box switch port respectively, and to construct a network interconnection channel between the control plane instance and the data plane instance based on the management addresses; The second construction module is used to construct a message transmission channel between the control plane instance and the data plane instance on the network interconnection channel according to the tunnel creation strategy, and to construct a corresponding table entry transmission channel according to the database service.

4. The system according to claim 3, characterized in that, The first building module is specifically used for: Create a first management address for the server port and a second management address for the white-box switch port; Write the first management address as the local management address and the second management address as the remote management address into the first configuration file of the control plane instance; Write the second management address as the local management address and the first management address as the remote management address into the second configuration file of the data plane instance; Based on the management address information in the first configuration file and the second configuration file, a network interconnection channel is established between the control plane instance and the data plane.

5. The system according to claim 3, characterized in that, The second building module is specifically used for: Based on the data plane instance, a first kernel interface, a bridge, and a first tunnel interface corresponding to the service interface of the white-box switch are created, and the first management address of the server port is used as the remote address of the packet transmission channel link relative to the data plane instance, and the second management address of the white-box switch port is used as the local address of the packet transmission channel link relative to the data plane instance. Add the first kernel interface and the first tunnel interface to the bridge; A second tunnel interface is created through the control plane instance, and the second management address is used as the remote address of the message transmission channel link relative to the control plane instance, while the first management address is used as the local address of the message transmission channel link relative to the control plane instance. The network address and physical address of the white-box switch service interface configured by the user are synchronously configured on the second tunnel interface to complete the establishment of the message transmission channel between the control plane instance and the data plane instance.

6. The system according to claim 3, characterized in that, The second building module is also specifically used for: The data plane instance obtains the first management address of the control plane instance from the local second configuration file, and remotely connects to the database of the control plane instance based on the first management address and service port number, thus forming a table entry transmission channel between the control plane instance and the data plane instance.

7. A communication method for a network operating system, characterized in that, The method is performed by the network operating system according to any one of claims 1-6, the method comprising: The distributed decoupled chassis network device and external devices are communicated and received via a message transmission channel. Reading / writing table entry information of chips within the distributed decoupled chassis network device is performed based on the table entry transmission channel; The white-box switch service interfaces are managed based on the aforementioned table entry transmission channel.

8. The method according to claim 7, characterized in that, The message transmission and reception between the distributed decoupled chassis network device and external devices based on the message transmission channel includes: When the white-box switch service interface receives an original request message from an external device, it filters out the message to be received that meets the preset category from the original request message and sends the message to be received to the first kernel interface of the data plane instance. The message to be received is forwarded to the first tunnel interface of the message transmission channel via a bridge. The message to be received is encapsulated to obtain a first target message, and the first target message is sent to the second tunnel interface of the message transmission channel through the message transmission channel. After decapsulating the first target message to obtain the message to be received, the operating system kernel based on the control plane instance sends the message to be received to the network service that subscribes to the corresponding message type.

9. The method according to claim 7, characterized in that, The message sending / receiving between the distributed decoupled chassis network device and external devices based on the message transmission channel includes: When the network service in the control plane instance sends an original response message, the original response message is sent to the second tunnel interface of the message transmission channel; The original response message is encapsulated to obtain a second target message, and the second target message is sent to the first tunnel interface of the message transmission channel through the message transmission channel. The second target message is decapsulated to obtain the original response message, and the original response message is forwarded to the first kernel interface of the data plane instance through the bridge; The original response message is sent out through the corresponding white-box switch service interface.

10. The method according to claim 7, characterized in that, The reading / writing of table entry information of chips within the distributed decoupled chassis network device based on the table entry transmission channel includes: Store the table entry information generated by the network service in the control plane instance into the database of the control plane instance; A database client based on the data plane instance remotely subscribes to the database of the control plane instance; When the database of the control plane instance changes, the data plane instance obtains the change information based on the table entry transmission channel; The data plane instance writes the change information to the local chip through the hardware abstraction interface of the hardware abstraction interface layer.

11. The method according to claim 7, characterized in that, The reading / writing of table entry information of chips within the distributed decoupled chassis network device based on the table entry transmission channel includes: The data plane instance calls the hardware abstraction interface of the hardware abstraction interface layer to obtain the table entry information generated by the chip; The table entry information is remotely written into the database of the control plane instance through the table entry transmission channel; The control plane instance notifies the network service that subscribes to the table entry information so that the network service can process the table entry information.

12. The method according to claim 7, characterized in that, The management of the white-box switch service interface based on the table entry transmission channel includes: Read the white-box switch service interface information contained in the hardware resource file of the data plane instance, and construct a global interface identifier for each white-box switch service interface information; The global interface identifier and interface status information of the white-box switch service interface information are stored in the database of the management and control plane instance through the table entry transmission channel; Based on the interface change information in the management plane instance database, network service processing is performed according to the interface change information.