CN111541615A - VxWorks operating system-based dual-protocol stack system - Google Patents

VxWorks operating system-based dual-protocol stack system Download PDF

Info

Publication number
CN111541615A
CN111541615A CN202010333675.3A CN202010333675A CN111541615A CN 111541615 A CN111541615 A CN 111541615A CN 202010333675 A CN202010333675 A CN 202010333675A CN 111541615 A CN111541615 A CN 111541615A
Authority
CN
China
Prior art keywords
information
label
data packet
protocol
routing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010333675.3A
Other languages
Chinese (zh)
Inventor
邝坚
刘健培
卞佳丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010333675.3A priority Critical patent/CN111541615A/en
Publication of CN111541615A publication Critical patent/CN111541615A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

The invention provides a VxWorks operating system-based dual-protocol stack system, which is characterized in that an allocation interface, an MPLS (multi protocol label switching) protocol stack and a TCP/IP (transmission control protocol/internet protocol) protocol stack are arranged, the allocation interface delivers a data packet to the MPLS protocol stack or the TCP/IP protocol stack according to an MAC (media access control) header protocol type field of the data packet when receiving the data packet so as to forward the data packet, the MPLS protocol stack forwards the data packet according to a pre-stored outgoing label corresponding to an incoming label in the data packet when receiving the data packet sent by the allocation interface, and the TCP/IP protocol stack forwards the data packet to a forwarding port according to a pre-stored data packet forwarding port corresponding to a destination address in the data packet when receiving the data packet sent by the allocation interface. The problem that the data packet forwarding is slow or the forwarding process is complex in the prior art can be effectively solved.

Description

VxWorks operating system-based dual-protocol stack system
Technical Field
The invention belongs to the technical field of protocol stack software of a VxWorks multitask operating system, and particularly relates to a dual-protocol stack system based on the VxWorks operating system.
Background
VxWorks is a classic real-time operating system widely used in the embedded field, supports TCP/IP network protocol stack more comprehensively, earlier uses the IP protocol stack which is out of the Berkeley BSD, and can also use the IPNET protocol stack from VxWorks 6.5.
The MPLS technology is generated after the IP network has reached a certain bottleneck in the development of forwarding rate, scalability, QoS management, traffic engineering, etc., and by introducing the MPLS protocol into the IP network, a powerful bandwidth management function and more service modes can be provided for the IP network.
However, at present, the VxWorks does not completely support the MPLS protocol stack, and in a common VxWorks version, the MPLS protocol stack is not supported at all, so that the problem of slow data packet forwarding or complex forwarding process exists.
Disclosure of Invention
In order to solve the problems, the invention provides a dual-protocol stack system based on a VxWorks operating system, which can solve the problems of slow data packet forwarding or complex forwarding process in the prior art.
The application provides a dual-stack system based on VxWorks operating system, includes: allocating interfaces, MPLS protocol stacks and TCP/IP protocol stacks:
the distribution interface is used for delivering the data packet to the MPLS protocol stack or the TCP/IP protocol stack according to the MAC packet header protocol type field of the data packet when the data packet is received so as to carry out data packet forwarding processing, wherein the distribution interface is defined by a VxWorks operating system;
the MPLS protocol stack is used for forwarding the data packet according to a pre-stored outgoing label corresponding to an incoming label in the data packet when receiving the data packet sent by the distribution interface;
and the TCP/IP protocol stack is used for forwarding the data packet to the forwarding port according to a pre-stored data packet forwarding port corresponding to the destination address in the data packet when receiving the data packet sent by the distribution interface.
Optionally, in the dual-stack system based on the VxWorks operating system, the dual-stack system further includes a dictionary tree, and the dictionary tree is used for storing a label forwarding table and an IP forwarding table;
the label forwarding table prestores corresponding relations between incoming labels and outgoing labels corresponding to the incoming labels in the data packets; the IP forwarding table prestores the corresponding relation between the network segment of the destination address in the data packet and the forwarding port corresponding to the destination address.
Optionally, in the dual-stack system based on the VxWorks operating system, the dual-stack system further includes an information manager, and the information manager is configured to control information synchronization between the application protocols in the application layer and the dictionary tree.
Optionally, in the dual-protocol stack system based on the VxWorks operating system, the application protocol includes a routing application protocol and an IP routing table that records IP routing information, where the IP routing information includes network segment information generated by a routing protocol task and a next hop address corresponding to the network segment information, and the network segment information corresponds to a destination address information;
the information manager includes:
a routing information storage unit, configured to store, when IP routing information in a target routing application protocol issued by the application layer is acquired, the IP routing information in the IP routing table;
and the first routing information synchronization unit is used for forwarding the IP routing table to a dictionary tree, obtaining a data packet forwarding port corresponding to the network segment information according to the IP routing information stored in the IP routing table and the corresponding relation between a data packet forwarding port prestored in the dictionary tree and a next hop address, and updating the corresponding relation between a destination address and a data packet forwarding port in an IP forwarding table in the dictionary tree according to the data packet forwarding port corresponding to the network segment information and the destination address information corresponding to the network segment information.
Optionally, in the dual-protocol stack system based on the VxWorks operating system, when the number of the routing application protocols is multiple, the information manager further includes a second routing information synchronization unit;
and the second routing information synchronization unit is configured to forward the IP routing table to other routing application protocols except the target routing application protocol among the plurality of routing application protocols, so that the other routing application protocols use the IP routing information stored in the IP routing table as new IP routing information.
Optionally, in the dual protocol stack system based on the VxWorks operating system, the application protocol includes a tag application protocol, the information manager records a tag information table of tag information, and the tag information includes an incoming tag generated by a tag exchange protocol task and an outgoing tag corresponding to the incoming tag;
the information manager further comprises:
the tag information storage unit is used for storing the tag information into the tag information table when the tag information in the target tag application protocol issued by the application layer is acquired;
and the first label information synchronization unit is used for forwarding the label information table to the dictionary tree so as to update the corresponding relation between the incoming label and the outgoing label in the label forwarding table in the dictionary tree according to the label information stored in the label information table.
Optionally, in the dual-protocol stack system based on the VxWorks operating system, when a plurality of label application protocols are provided, the information manager further includes a second label information synchronization unit;
the second tag information synchronizing unit is configured to forward the tag information table to other tag application protocols except the target tag application protocol among the plurality of tag application protocols, so that the other tag application protocols update corresponding tag information according to the tag information stored in the tag information table.
Optionally, in the dual-stack system based on the VxWorks operating system, the information manager performs information synchronization with the dictionary tree through a domain interface.
Optionally, in the above dual-stack system based on the VxWorks operating system, the allocation interface is a MUX interface.
Optionally, in the above dual-protocol stack system based on the VxWorks operating system, the dual-protocol stack system further includes a virtual interface, where the virtual interface is connected between the MPLS protocol stack and the application layer, and is used to send the label processing information, which is sent by the application layer and is specific to the target label, to the MPLS protocol stack, so that the MPLS protocol stack processes the label corresponding to the target label according to the label processing information, where the label processing information includes label replacement processing information, label removal processing information, or label superposition processing information.
The invention has the beneficial effects that:
the invention provides a VxWorks operating system-based dual-protocol stack system, which comprises an allocation interface, an MPLS protocol stack and a TCP/IP protocol stack, wherein the allocation interface delivers a data packet to the MPLS protocol stack or the TCP/IP protocol stack according to an MAC packet header protocol type field of the data packet when receiving the data packet so as to forward the data packet, and the MPLS protocol stack is used for forwarding the data packet according to a prestored outgoing label corresponding to an incoming label in the data packet when receiving the data packet sent by the allocation interface; and the TCP/IP protocol stack is used for forwarding the data packet to the forwarding port according to a pre-stored data packet forwarding port corresponding to the destination address in the data packet when receiving the data packet sent by the distribution interface. By the method, the problems that the forwarding of the data packet is too slow due to the fact that the data packet can only be forwarded according to the IP table in the prior art and the forwarding process is complex due to the fact that the protocol type needs to be changed in the forwarding process are solved, and therefore the problem that the forwarding of the data packet is slow or the forwarding process is complex in the prior art can be effectively solved by the VxWorks operating system-based dual-protocol stack system.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the technical solution in the embodiments of the present invention, the drawings required in the description of the embodiments will be briefly introduced as follows:
fig. 1 is a system structure diagram of a dual stack protocol system based on a VxWorks operating system according to an embodiment of the present invention.
Fig. 2 is an application block diagram of a dual-stack system based on a VxWorks operating system according to an embodiment of the present invention.
Fig. 3 is a schematic diagram of a packet forwarding flow of a dual stack protocol system based on a VxWorks operating system according to an embodiment of the present invention.
Icon: 100-a dual-stack system based on VxWorks operating system; 110-a distribution interface; 120-MPLS protocol stack; 130-TCP/IP protocol stack; 140 — a virtual interface; 150-a dictionary tree; 160-information manager; 170-domain interface; 200-application layer.
Detailed Description
The following detailed description of the embodiments of the present invention will be provided with reference to the drawings and examples, so that how to apply the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented. It should be noted that, as long as there is no conflict, the embodiments and the features of the embodiments of the present invention may be combined with each other, and the technical solutions formed are within the scope of the present invention.
Example one
Referring to fig. 1, fig. 1 is a system structure diagram of a dual stack protocol system 100 based on a VxWorks operating system according to the present invention, and the present invention will be described in detail with reference to fig. 1.
The VxWorks operating system based dual protocol stack system 100 includes an allocation interface 110, an MPLS protocol stack 120, and a TCP/IP protocol stack 130.
The distribution interface 110 is configured to, when receiving a data packet, deliver the data packet to the MPLS protocol stack 120 or the TCP/IP protocol stack 130 according to a MAC header protocol type field of the data packet, so that the MPLS protocol stack 120 is configured to, when receiving the data packet sent by the distribution interface 110, forward the data packet according to a pre-stored outgoing label corresponding to an incoming label in the data packet, and the TCP/IP protocol stack 130 is configured to, when receiving the data packet sent by the distribution interface 110, forward the data packet to a pre-stored data packet forwarding port corresponding to a destination address in the data packet.
Through the arrangement, the dual-protocol stack system 100 based on the VxWorks operating system can realize that different protocols are adopted for forwarding different data packets, and the problems that the data packet forwarding is slow and the forwarding process is complex due to the fact that protocol type conversion of the data packets is possibly required in the process of forwarding the data packets by only adopting the same protocol stack are solved.
In addition, since the speed of forwarding the data packet by using the TCP/IP protocol stack 130 is slower than that of forwarding by using the MPLS protocol stack 120, the efficiency of forwarding the data packet can be further improved by using the dual protocol stack system 100 based on the VxWorks operating system.
In this embodiment, the distribution interface 110 is specifically configured to obtain a data packet received by a network card or a data link layer. The protocol field type of the data packet represents that different protocol stacks are adopted for forwarding when the values are different, the data packet is an IP data packet or an MPLS data packet, the type of the data packet can be determined according to the MAC header protocol type field of the data packet, and the data packet is determined to be delivered to the MPLS protocol stack 120 or the TCP/IP protocol stack 130 according to the type of the data packet.
In this embodiment, the allocation interface 110 is defined based on a VxWorks operating system, and the allocation interface 110 is a MUX interface, so that when the dual protocol stack system 100 based on the VxWorks operating system performs packet processing, protocol stacks (the MPLS protocol stack 120 and the TCP/IP protocol stack 130) can communicate with a data link layer through the MUX interface, thereby realizing sending and receiving of packets and the like. I.e., the MPLS protocol stack 120 and the TCP/IP protocol stack 130 are also capable of sending packets through the MUX interface.
The MPLS protocol stack 120 is specifically configured to process a received MPLS packet header through an MPLS protocol, and before or after forwarding a data packet, may further control working states of the MPLS protocol stack 120 and a label forwarding table (LFIB) according to label processing information, so as to implement forwarding the received MPLS data packet according to the label forwarding table (LFIB) and correspondingly process a label according to the label processing information, where the label processing information may be label replacement processing information, label removal processing information, or label superposition processing information, that is, processing the forwarding label table according to the label processing information may specifically be processing such as replacing, removing, and superposing a target label in the forwarding label table.
Referring to fig. 2, optionally, in this embodiment, the dual protocol stack system 100 based on the VxWorks operating system further includes a virtual interface 140, where the virtual interface 140 is connected between the MPLS protocol stack 120 and the application layer 200, and is used to forward label processing information, which is sent by the application layer 200 and is for a target label, to the MPLS protocol stack 120, so that the MPLS protocol stack processes a label corresponding to the target label according to the label processing information, where the label processing information includes label replacement processing information, label removal processing information, or label superposition processing information. In addition, by adopting the virtual interface 140, the program in the dual-protocol stack system 100 based on the VxWorks operating system is kept consistent with the original program of the VxWorks operating system, so that the application program can control the processing process of the MPLS protocol stack 120 in the kernel, and meanwhile, the application program is kept consistent with the IP network port on the operating interface.
The TCP/IP stack 130 is configured to perform IP routing processing on a received data packet according to an IP forwarding table (FIB), and in this embodiment, when the TCP/IP stack 130 forwards the data packet, the data packet may be routed to another network interface or delivered to an upper network program for processing.
Referring to fig. 2, the dual-protocol stack system 100 based on the VxWorks operating system further includes a dictionary tree 150, where the dictionary tree 150 is used to store a label forwarding table and an IP forwarding table, and the label forwarding table prestores a corresponding relationship between an incoming label and an outgoing label corresponding to the incoming label in a data packet; the IP forwarding table prestores the corresponding relation between the network segment of the destination address in the data packet and the forwarding port corresponding to the destination address.
By storing the label forwarding table and the IP forwarding table in the dictionary tree 150, the query time can be reduced by using the public prefix of the character string when forwarding the data packet, and unnecessary character string comparison can be reduced to the maximum extent, so that the forwarding efficiency can be effectively improved. In this embodiment, the dictionary tree 150 may be a Patricia Trie tree. When the dictionary tree 150 is a Patricia Trie tree and forwards a data packet according to a label forwarding table or an IP forwarding table in the dictionary tree 150, the same prefix among different character strings is shared, so that quick search is realized, the search speed is not increased due to the increase of the number of the character strings and is only related to the length of the character strings. And the same prefixes among different character strings are compressed, redundant comparison is not carried out on the same parts of two different branches, the matching length of the target character string is reduced to a great extent, and the time complexity of query and the space complexity of storage are reduced. Regardless of the IP address or the MPLS label, the label is a 01 binary string which can well meet the algorithm requirement of the Patricia Trie tree, so that an IP forwarding table (FIB) and a label forwarding table (LFIB) are both stored in the Patricia Trie tree and use the same mechanism for forwarding and routing.
Through the arrangement, the dual-protocol stack system 100 based on the VxWorks operating system can support both a TCP/IP protocol and an MPLS protocol, meanwhile, the dual-protocol stack system 100 based on the VxWorks operating system can support the original application program in the VxWorks system, multi-protocol data packet forwarding is achieved, meanwhile, a Patricia Trie tree is used as a forwarding engine, IP routing and MPLS are achieved in a unified mode, time complexity and space complexity are reduced, and data packet forwarding efficiency is improved.
It should be noted that the application protocol in the application layer 200 generally includes a label switching protocol task and/or a routing protocol task, the two protocol tasks generally need to read routing information from the dictionary tree 150, and at the same time, the application protocol may also have new routing information or the label information needs to be written into the dictionary tree 150, and the application protocol included in the application layer 200 may be multiple, and the routing information and the label information in the protocol tasks included in multiple application protocols also need to be synchronized, and in addition, the label switching protocol task needs to be able to obtain the routing information obtained by the routing protocol task, so as to determine to obtain the next hop in the label information table. Therefore, the synchronization of the routing information between each application of the upper layer and the kernel Patricia Trie tree and between the applications must be kept.
On the basis, in order to simplify the information synchronization between the dual-protocol stack system 100 based on the VxWorks operating system and the application protocols in the application layer 200, in this embodiment, the dual-protocol stack system 100 based on the VxWorks operating system further includes an information manager 160, and the information manager 160 is configured to control information synchronization between the application protocols in the application layer 200 and the dictionary tree 150.
In the present application, the information manager 160, as an intermediate node between each application protocol and the dictionary tree 150 in the application layer 200, maintains information synchronization with the dictionary tree 150 on one hand and maintains information synchronization with each application protocol on the other hand; the application protocol no longer operates directly on the trie 150 but interacts with the information manager 160, while the upper tasks no longer communicate with each other but only with the information manager 160. By the method, the synchronization problem of the routing information in the VxWorks operating system-based dual-stack system 100 is greatly simplified, so that the VxWorks operating system-based dual-stack system 100 is clear in architecture and convenient to expand.
In order to ensure the reliability of information synchronization, in this embodiment, the information manager 160 may store a tag information table and an IP routing table; the label information table is used for storing label information in an application protocol issued by the application layer 200, and the label information includes an incoming label generated by a label switching protocol task and an outgoing label corresponding to the incoming label; the IP routing table is configured to store IP routing information in an application protocol issued by the application layer 200, where the IP routing information includes network segment information generated by a routing protocol task and a next hop address corresponding to the network segment information.
In order to facilitate the implementation of keeping the routing protocol information in the routing application protocol in the application layer 200 synchronized with the label forwarding table and the IP forwarding table in the dictionary tree 150, in this embodiment, the application protocol includes a routing application protocol, the information manager 160 stores an IP routing table for recording IP routing information, the IP routing information includes network segment information generated by a routing protocol task and a next hop address corresponding to the network segment information, and the network segment information corresponds to a destination address information; the information manager 160 includes:
a routing information storage unit, configured to, when IP routing information in a target routing application protocol issued by the application layer 200 is acquired, store the IP routing information in the IP routing table.
And the first routing information synchronization unit is used for forwarding the IP routing table to a dictionary tree 150, obtaining a data packet forwarding port corresponding to the network segment information according to the IP routing information stored in the IP routing table and the corresponding relation between a data packet forwarding port prestored in the dictionary tree 150 and a next hop address, and updating the corresponding relation between a destination address and a data packet forwarding port in an IP forwarding table in the dictionary tree according to the data packet forwarding port corresponding to the network segment information and the destination address information corresponding to the network segment information.
It should be noted that, in this embodiment, a network segment refers to an address identical to a network segment of an address, and destination address information corresponding to the network segment information can be obtained by obtaining the network segment information, specifically, according to an update method, destination address information and a packet forwarding port corresponding to the network segment information can be obtained in an IP forwarding table according to the network segment information, next hop address information corresponding to the network segment information, and a corresponding relationship between the packet forwarding port and a next piece of address information, and a corresponding relationship between the destination address corresponding to the destination address information and the packet forwarding port is established, and when an original destination address corresponding to the destination address information does not exist in the IP forwarding table, the established corresponding relationship between the destination address and the packet forwarding port is stored in the IP forwarding table; when the original destination address corresponding to the destination address information exists in the IP forwarding table, replacing the data packet forwarding port corresponding to the original destination address with the data packet forwarding port in the established corresponding relation between the destination address and the data packet forwarding port.
In addition, to implement information synchronization between routing application protocols in the application layer 200, in this embodiment, the information manager 160 further includes the second routing information synchronization unit, configured to forward the IP routing table to a routing application protocol other than the target routing application protocol in the routing application protocols, so that the routing application protocol uses the IP routing information stored in the IP routing table as new IP routing information.
It should be noted that the routing protocol tasks generally include RIP and OSPF protocol tasks, and the main work of the routing protocol tasks is that before the TCP/IP protocol stack 130 forwards a data packet, the included RIP and OSPF protocol tasks interact with adjacent routers to obtain IP routing information, and issue the IP routing information to the information manager 160, so that the information manager 160 updates an IP routing table included in the IP routing task according to the received IP routing information, and then sends the updated IP routing table to the dictionary tree 150, so as to update an IP forwarding table in the dictionary tree 150 to obtain an updated IP, so that when the TCP/IP protocol stack 130 receives the data packet, the data packet is forwarded according to the IP forwarding table.
In order to further ensure the reliability of information synchronization, the application protocol includes a label application protocol, and the information manager 160 stores a label information table for recording label information, where the label information includes an incoming label generated by a label switching protocol task and an outgoing label corresponding to the incoming label. The information manager 160 further includes:
the tag information storage unit is configured to store, when the tag information in the target tag application protocol issued by the application layer 200 is acquired, the tag information into the tag information table.
A first tag information synchronizing unit, configured to forward the tag information table to the trie 150, so as to update a corresponding relationship between an incoming tag and an outgoing tag in a tag forwarding table in the trie 150 according to tag information stored in the tag information table.
It should be noted that, when the label forwarding table has an incoming label or an outgoing label corresponding to the label information, the incoming label and/or the outgoing label corresponding to the label information in the label forwarding table and the corresponding relationship thereof are replaced according to the corresponding relationship between the incoming label and the outgoing label in the updated label information table. And when the label forwarding table does not have an incoming label corresponding to the label information, and does not have an outgoing label corresponding to the label information, adding a corresponding relation between the incoming label and the outgoing label in the label information in the label forwarding table.
In addition, to implement information synchronization between the label application protocols in the application layer 200, in this embodiment, the information manager 160 further includes a second label information synchronization unit, configured to forward the updated label information table to another label application protocol except the target label application protocol in the plurality of label application protocols, so that the other label application protocol updates corresponding label information according to the label information stored in the label information table.
It should be noted that the major task of the label switching protocol is to exchange label messages with the adjacent routers of the MPLS protocol stack 120 before forwarding according to the label forwarding table (LFIB), that is, the label switching protocol task establishes a session between two adjacent routers, exchanges label messages with each other, finally establishes a label switching path LSP, and executes the label switching protocol task on the basis of the IP routing table to generate label messages including an incoming label and an outgoing label, or including an incoming label and next-hop IP address information or an outgoing label and next-hop IP address information, and sends the label messages to the message manager 160, so that the message manager 160 updates the label message table according to the label messages and then sends the updated label message table to the dictionary tree 150, and further the label forwarding table in the dictionary tree 150 is updated according to the updated label message table to obtain an updated label forwarding table, so that the MPLS protocol stack 120 forwards the data packet according to the label forwarding table when receiving the data packet.
In order to facilitate the information manager 160 to read and write the IP forwarding table and the label forwarding table in the trie 150, in this embodiment, the dual-stack system 100 based on the VxWorks operating system further includes a domain interface 170 connected between the information manager 160 and the trie 150, and the information manager 160 performs information synchronization with the trie 150 through the domain interface 170.
Wherein, the domain interface 170 is an AF _ ROUTE domain interface 170. The general method for accessing the IP protocol stack by the VxWorks system is to use the SOCK _ RAW primitive socket based on the AF _ ROUTE domain, so that the dual-protocol stack system 100 based on the VxWorks operating system in the present application enables the MPLS protocol stack 120 to support the SOCK _ RAW primitive socket of the AF _ ROUTE domain by setting the interface in order to enable the application protocol to read and write the IP forwarding table (FIB) and the label forwarding table (LFIB) information in the Patricia Trie tree.
Example two
In this embodiment, the dual stack protocol system 100 based on the VxWorks operating system includes an allocation interface 110, an MPLS protocol stack 120, a TCP/IP protocol stack 130, a Trie 150, a virtual interface 140, an information manager 160, and a domain interface 170, where the allocation interface 110 is a MUX interface, and the Trie 150 is a Patricia Trie tree.
In packet forwarding, application protocols in the application layer 200 (including label switching protocol tasks and routing protocol tasks) are synchronized with dictionary information via the information manager 160 and the domain interface 170. That is, the label switching protocol tasks issued in the application protocol in the application layer 200, before the MPLS protocol stack 120 forwards according to the label forwarding table (LFIB), exchange label messages with the router neighboring to the present router, namely, the label switching protocol task establishes a session between two adjacent routers, exchanges label information with each other, finally establishes a Label Switching Path (LSP), and performs a label switching protocol task on the basis of the IP routing table to generate label information including an incoming label and an outgoing label corresponding to the incoming label and transmit the label information to the information manager 160, so that the information manager 160 updates the tag information table according to the tag information and then transmits it to the trie 150 through the domain interface 170, and further, the label forwarding table in the dictionary tree 150 updates the corresponding relationship between the incoming label and the outgoing label in the label forwarding table in the dictionary tree 150 according to the updated label information table. Furthermore routing protocol tasks published in the application protocol in the application layer 200 are before the TCP/IP protocol stack 130 forwards the data packet, the included RIP and OSPF protocol tasks interact with neighboring routers to obtain IP routing information including network segment information and next hop address information corresponding to the network segment information, and publish the IP routing information to the information manager 160, so that, after the information manager 160 updates the IP routing table included therein according to the received IP routing information, the updated IP routing table is transmitted to the dictionary tree 150 through the domain interface 170, according to the network segment information and next hop address information in the updated IP routing table, and the corresponding relationship between the packet forwarding port and the next address information pre-stored in the dictionary tree 150, and updating the corresponding relationship between the destination address in the IP forwarding table in the dictionary tree 150 and the packet forwarding port by the destination address corresponding to the network segment information.
When receiving the data packet, the MUX interface delivers the data packet to the MPLS protocol stack 120 or the TCP/IP protocol stack 130 according to the MAC header protocol type field of the data packet, so that when the MPLS protocol stack 120 receives a packet sent by the distribution interface 110, forwarding the data packet according to the corresponding relationship between the incoming label in the data packet and the incoming label and the outgoing label in the pre-stored label forwarding table, and causes the TCP/IP stack 130 to, upon receiving a data packet sent by the distribution interface 110, forwarding the data packet according to the destination address in the data packet and the corresponding relationship between the network segment of the destination address in the pre-stored IP forwarding table and the data packet forwarding port, therefore, the problem that the data packet is transmitted slowly or the transmitting process is complex in the prior art can be effectively solved, and the time complexity and the space complexity during the data packet transmitting process are effectively reduced.
In summary, the present invention provides a dual stack system 100 based on a VxWorks operating system, which implements that a support for MPLS protocol is added in a VxWorks system, that is, the dual stack system 100 based on a VxWorks operating system provided by the present invention implements a forwarding process for a packet by setting an allocation interface 110, an MPLS protocol stack 120, and a TCP/IP protocol stack 130, and the allocation interface 110 delivers the packet to the MPLS protocol stack 120 or the TCP/IP protocol stack 130 according to a MAC header protocol type field of the packet when receiving the packet, the MPLS protocol stack 120 forwards the packet according to a corresponding relationship between an incoming label in the packet and an outgoing label in a pre-stored label when receiving the packet sent by the allocation interface 110, and the TCP/IP protocol stack 130 forwards the packet according to a destination address in the packet and a forwarding table of a destination address in a pre-stored network segment IP and a forwarding port of the packet when receiving the packet sent by the allocation interface 110 Forwards the data packet according to the corresponding relationship. Compared with the problem that the forwarding of the data packet is too slow due to the fact that the data packet can be forwarded only according to the IP table usually when the data packet is forwarded in the prior art, and the problem that the forwarding process is complex due to the fact that the protocol type needs to be changed in the forwarding process, the dual-protocol stack system 100 based on the VxWorks operating system can effectively solve the problem that the forwarding of the data packet is slow or the forwarding process is complex in the prior art. Furthermore, by using the Patricia Trie tree as a forwarding engine, the IP routing and the MPLS are realized in a unified mode, and the time complexity and the space complexity are also reduced. Further, the information synchronization between the application protocol in the application layer 200 and the Patricia Trie tree is realized by setting the information manager 160, and the virtual interface 140 and the domain interface 170 are set, and the virtual interface 140 and the domain interface 170 are compatible with the original TCP/IP protocol stack 130 of the VxWorks, so that the information synchronization is easier to use by an application program and more reliable.
Although the embodiments of the present invention have been described above, the above description is only for the convenience of understanding the present invention, and is not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A dual stack protocol system based on VxWorks operating system, comprising: allocating interfaces, MPLS protocol stacks and TCP/IP protocol stacks:
the distribution interface is used for delivering the data packet to the MPLS protocol stack or the TCP/IP protocol stack according to the MAC packet header protocol type field of the data packet when the data packet is received so as to carry out data packet forwarding processing, wherein the distribution interface is defined by a VxWorks operating system;
the MPLS protocol stack is used for forwarding the data packet according to a pre-stored outgoing label corresponding to an incoming label in the data packet when receiving the data packet sent by the distribution interface;
and the TCP/IP protocol stack is used for forwarding the data packet to the forwarding port according to a pre-stored data packet forwarding port corresponding to the destination address in the data packet when receiving the data packet sent by the distribution interface.
2. The VxWorks operating system based dual-stack system according to claim 1, further comprising a lexicographic tree for storing a label forwarding table and an IP forwarding table;
the label forwarding table prestores corresponding relations between incoming labels and outgoing labels corresponding to the incoming labels in the data packets; the IP forwarding table prestores the corresponding relation between the network segment of the destination address in the data packet and the forwarding port corresponding to the destination address.
3. The VxWorks operating system based dual stack system according to claim 2, further comprising an information manager for controlling information synchronization between application protocols in an application layer and said dictionary tree.
4. The VxWorks operating system-based dual-protocol stack system according to claim 3, wherein the application protocol includes a routing application protocol, an IP routing table for recording IP routing information, the IP routing information includes network segment information generated by a routing protocol task and a next hop address corresponding to the network segment information, and the network segment information corresponds to a destination address information;
the information manager includes:
a routing information storage unit, configured to store, when IP routing information in a target routing application protocol issued by the application layer is acquired, the IP routing information in the IP routing table;
and the first routing information synchronization unit is used for forwarding the IP routing table to a dictionary tree, obtaining a data packet forwarding port corresponding to the network segment information according to the IP routing information stored in the IP routing table and the corresponding relation between a data packet forwarding port prestored in the dictionary tree and a next hop address, and updating the corresponding relation between a destination address and a data packet forwarding port in an IP forwarding table in the dictionary tree according to the data packet forwarding port corresponding to the network segment information and the destination address information corresponding to the network segment information.
5. The VxWorks operating system-based dual-protocol stack system according to claim 4, wherein when the routing application protocol is plural, the information manager further comprises a second routing information synchronization unit;
and the second routing information synchronization unit is configured to forward the IP routing table to other routing application protocols except the target routing application protocol among the plurality of routing application protocols, so that the other routing application protocols use the IP routing information stored in the IP routing table as new IP routing information.
6. The VxWorks operating system-based dual protocol stack system according to claim 3, wherein the application protocol comprises a tag application protocol, the information manager records a tag information table of tag information, and the tag information comprises an incoming tag generated by a tag switching protocol task and an outgoing tag corresponding to the incoming tag;
the information manager further comprises:
the tag information storage unit is used for storing the tag information into the tag information table when the tag information in the target tag application protocol issued by the application layer is acquired;
and the first label information synchronization unit is used for forwarding the label information table to the dictionary tree so as to update the corresponding relation between the incoming label and the outgoing label in the label forwarding table in the dictionary tree according to the label information stored in the label information table.
7. The VxWorks operating system-based dual protocol stack system of claim 6, wherein when the tag application protocol is plural, the information manager further comprises a second tag information synchronization unit;
the second tag information synchronizing unit is configured to forward the tag information table to other tag application protocols except the target tag application protocol among the plurality of tag application protocols, so that the other tag application protocols update corresponding tag information according to the tag information stored in the tag information table.
8. The VxWorks operating system based dual stack protocol system of claim 3 wherein the information manager synchronizes information with the trie through a domain interface.
9. The VxWorks operating system based dual protocol stack system of claim 1, wherein the distribution interface is a MUX interface.
10. The VxWorks operating system-based dual-protocol stack system according to claim 1, further comprising a virtual interface, where the virtual interface is connected between the MPLS protocol stack and the application layer, and is configured to send label processing information, which is sent by the application layer and is for a target label, to the MPLS protocol stack, so that the MPLS protocol stack processes a label corresponding to the target label according to the label processing information, where the label processing information includes label replacement processing information, label removal processing information, or label superposition processing information.
CN202010333675.3A 2020-04-24 2020-04-24 VxWorks operating system-based dual-protocol stack system Pending CN111541615A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010333675.3A CN111541615A (en) 2020-04-24 2020-04-24 VxWorks operating system-based dual-protocol stack system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010333675.3A CN111541615A (en) 2020-04-24 2020-04-24 VxWorks operating system-based dual-protocol stack system

Publications (1)

Publication Number Publication Date
CN111541615A true CN111541615A (en) 2020-08-14

Family

ID=71978806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010333675.3A Pending CN111541615A (en) 2020-04-24 2020-04-24 VxWorks operating system-based dual-protocol stack system

Country Status (1)

Country Link
CN (1) CN111541615A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878924A (en) * 2021-09-27 2023-03-31 小沃科技有限公司 Data processing method, device, medium and electronic equipment based on double dictionary trees

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7440460B2 (en) * 2004-03-05 2008-10-21 Samsung Electronics Co., Ltd. Apparatus and method for forwarding mixed data packet types in a high-speed router
US7486672B2 (en) * 2004-04-20 2009-02-03 Samsung Electronics Co., Ltd. Apparatus and method for searching trie trees using masks with non-symbol boundaries and flooding default routes in a massively parallel router
CN101841737A (en) * 2009-03-20 2010-09-22 中国石油天然气集团公司 Cross station address allocation system
CN101860481A (en) * 2010-05-25 2010-10-13 北京邮电大学 Service transport method for distinguishing priority in MPLS-TP over OTN multi-layer network and device thereof
CN103607348A (en) * 2013-11-27 2014-02-26 北京邮电大学 Virtual network flow classifying method based on OpenFlow protocol
CN103746892A (en) * 2013-11-27 2014-04-23 北京邮电大学 SDN virtualization platform uplink signaling flow label processing method based on OpenFlow
US10027587B1 (en) * 2016-03-30 2018-07-17 Amazon Technologies, Inc. Non-recirculating label switching packet processing
CN109672550A (en) * 2017-10-17 2019-04-23 丛林网络公司 Simplify configuration for multistage network structure
CN110351188A (en) * 2019-07-05 2019-10-18 迈普通信技术股份有限公司 A kind of message forwarding method, data processing method, device and network system
US20200044964A1 (en) * 2017-06-01 2020-02-06 Zte Corporation Defect detection in ip/mpls network tunnels
CN110830373A (en) * 2018-08-14 2020-02-21 杭州达乎科技有限公司 Method and device for realizing QOS service quality differentiation of service in SDN network

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7440460B2 (en) * 2004-03-05 2008-10-21 Samsung Electronics Co., Ltd. Apparatus and method for forwarding mixed data packet types in a high-speed router
US7486672B2 (en) * 2004-04-20 2009-02-03 Samsung Electronics Co., Ltd. Apparatus and method for searching trie trees using masks with non-symbol boundaries and flooding default routes in a massively parallel router
CN101841737A (en) * 2009-03-20 2010-09-22 中国石油天然气集团公司 Cross station address allocation system
CN101860481A (en) * 2010-05-25 2010-10-13 北京邮电大学 Service transport method for distinguishing priority in MPLS-TP over OTN multi-layer network and device thereof
CN103607348A (en) * 2013-11-27 2014-02-26 北京邮电大学 Virtual network flow classifying method based on OpenFlow protocol
CN103746892A (en) * 2013-11-27 2014-04-23 北京邮电大学 SDN virtualization platform uplink signaling flow label processing method based on OpenFlow
US10027587B1 (en) * 2016-03-30 2018-07-17 Amazon Technologies, Inc. Non-recirculating label switching packet processing
US20200044964A1 (en) * 2017-06-01 2020-02-06 Zte Corporation Defect detection in ip/mpls network tunnels
CN109672550A (en) * 2017-10-17 2019-04-23 丛林网络公司 Simplify configuration for multistage network structure
CN110830373A (en) * 2018-08-14 2020-02-21 杭州达乎科技有限公司 Method and device for realizing QOS service quality differentiation of service in SDN network
CN110351188A (en) * 2019-07-05 2019-10-18 迈普通信技术股份有限公司 A kind of message forwarding method, data processing method, device and network system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖凯: "VxWorks上支持MPLS的路由转发平台设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878924A (en) * 2021-09-27 2023-03-31 小沃科技有限公司 Data processing method, device, medium and electronic equipment based on double dictionary trees
CN115878924B (en) * 2021-09-27 2024-03-12 小沃科技有限公司 Data processing method, device, medium and electronic equipment based on double dictionary trees

Similar Documents

Publication Publication Date Title
US9787593B2 (en) Performing path-oriented systems management
US8462635B1 (en) Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy
US6747979B1 (en) Method and apparatus for bridging between networks
EP1609279B1 (en) Method for recursive bgp route updates in mpls networks
US8625460B2 (en) Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs
US6515966B1 (en) System and method for application object transport
US8750301B2 (en) Method, device for implementing identifier and locator split, and method for data encapsulating
US8351438B2 (en) Flooding-based routing protocol having database pruning and rate-controlled state refresh
US9736058B2 (en) Multi-region source routed multicast using sub-tree identifiers
US20030137978A1 (en) Method and apparatus for composing virtual links in a label switched network
EP3621250A1 (en) Seamless segment routing
US20110051738A1 (en) Method, system and device for maintaining routes
US20060209851A1 (en) Method and apparatus for border gateway protocol route management and routing policy modeling
JP5429179B2 (en) Network node and load balancing method thereof
JP6752141B2 (en) Methods and forwarders for processing packets
US7496096B1 (en) Method and system for defining hardware routing paths for networks having IP and MPLS paths
CN100561978C (en) A kind of strategy route device and method
CN111541615A (en) VxWorks operating system-based dual-protocol stack system
JP2000341294A (en) Packet repeater
US10826822B2 (en) Label-based forwarding with enhanced scalability
US20230344751A1 (en) Route Processing Method, Related Apparatus, and Network System
US7525949B1 (en) Forwarding for network devices
KR100475436B1 (en) distributed router and ARP packet processing method thereof
JP4599429B2 (en) Communication system and communication method
KR100636274B1 (en) Apparatus and method for forwarding packet in network processor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200814

RJ01 Rejection of invention patent application after publication