CN106576108B - Communication method, equipment and system in communication system - Google Patents

Communication method, equipment and system in communication system Download PDF

Info

Publication number
CN106576108B
CN106576108B CN201580000771.3A CN201580000771A CN106576108B CN 106576108 B CN106576108 B CN 106576108B CN 201580000771 A CN201580000771 A CN 201580000771A CN 106576108 B CN106576108 B CN 106576108B
Authority
CN
China
Prior art keywords
message
packet
repeater
tcp
main controller
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.)
Active
Application number
CN201580000771.3A
Other languages
Chinese (zh)
Other versions
CN106576108A (en
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106576108A publication Critical patent/CN106576108A/en
Application granted granted Critical
Publication of CN106576108B publication Critical patent/CN106576108B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A communication method in a communication system is used for solving the technical problems that a large amount of TCP information needs to be synchronized in real time between a main controller and a slave controller in the existing SDN, so that the load of the main controller and the slave controller is heavy, and the system performance is influenced. The embodiment of the invention also provides corresponding equipment and a corresponding system. In some possible embodiments of the present invention, a communication system includes a main controller, a repeater and a network device, where the repeater is configured to receive a message from the main controller and forward the message to the network device, or receive a message from the network device and forward the message to the main controller, and the method includes: after receiving a message from a main controller or network equipment, a repeater caches the received message; monitoring the processing state of the cached messages, and deleting the processed messages in the cached messages; and when the controller is switched to a new main controller, sending the message which is not processed in the cached messages to the new main controller.

Description

Communication method, equipment and system in communication system
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a communication method, device, and system in a communication system.
Background
Software Defined Networking (SDN) is an implementation manner of Network virtualization, and a core technology OpenFlow separates a control plane and a data plane of a Network device, so that flexible control of Network traffic is realized, and a Network becomes more intelligent as a pipeline. SDN strips all advanced processing functions of the switch except for traffic forwarding and moves this part of the advanced processing functions into a separate device, i.e. a controller. The switch and the controller communicate with each other by using a control channel protocol (e.g., OpenFlow protocol), the controller sends out a control instruction, and the switch is responsible for receiving the instruction and forwarding corresponding data.
In order to improve the reliability of the SDN controller, a dual controller generally needs to be deployed, where a main controller completes service processing and a controller serves as a backup. When the main controller fails, the backup controller replaces the main controller in real time to execute service processing; in the whole process, the opposite-end equipment which communicates with the master controller does not sense the process of switching the master controller.
In the existing technical solution, the reliability of a protocol based on TCP connection is realized by synchronizing TCP (Transmission control protocol) message information between a host controller and a slave controller in real time. In order to realize the protection function of the master controller and the controller, the opposite terminal device which performs protocol communication based on TCP connection with the controller does not sense the switching process of the master controller and the controller, and the controller is required to monitor a protocol message in real time.
Practice shows that the scheme requires real-time synchronization of a large amount of TCP information between the main controller and the slave controller, and particularly under a one-main multi-standby scene, the main controller needs to perform multiple real-time data synchronization with the multiple slave controllers at the same time, so that the main controller is heavy in burden and has a large influence on the performance of the whole system.
Disclosure of Invention
Embodiments of the present invention provide a communication method, device and system in a communication system, so as to solve the technical problems that a large amount of TCP information needs to be synchronized in real time between a host controller and a slave controller in an existing SDN, so that the host controller is burdened and the system performance is affected.
A first aspect of the present invention provides a communication method in a communication system, where the communication system includes a main controller, a repeater and a network device, and the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, where the method includes: after receiving the message from the main controller or the network equipment, the repeater caches the received message; the repeater monitors the processing state of the cached messages and deletes the processed messages in the cached messages; and when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller.
With reference to the first aspect, in a first possible implementation manner, the monitoring, by the repeater, a processing state of a cached message, and deleting a processed message in the cached message includes: and the repeater receives an indicated value which is sent by the main controller or the network equipment and used for indicating the processed message, and deletes the processed message in the cached messages according to the indicated value.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the packet is a transmission control protocol TCP packet, and caching the received packet includes: the repeater confirms the corresponding TCP connection according to a source IP address, a destination IP address, a source port and a destination port in a message header of the received message; and the repeater determines the TCP serial number of the message based on the confirmed TCP connection, and caches the received message and the TCP serial number of the received message.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner, the cached message includes an incoming direction message sent by the network device to the master controller, and the monitoring, by the repeater, a processing state of the cached message, and deleting a processed message in the cached message includes: the repeater receives a response message returned by the master controller, wherein the response message comprises a first indicating value, and the first indicating value indicates a TCP serial number of an ending byte of the last incoming direction message which is processed by the master controller; and the repeater deletes at least one incoming direction message of which the TCP serial number of the ending byte is not more than the first indication value from the cached message.
With reference to any one of the first to third possible implementation manners of the first aspect, in a fourth possible implementation manner, the caching packet includes an outgoing direction packet sent by the master controller to the network device, and the monitoring, by the repeater, a processing state of the caching packet, and when it is determined that at least one packet in the caching packet is processed, deleting the at least one processed packet in the caching packet includes: the repeater receives a feedback message returned by the network equipment, wherein the feedback message comprises a second indication value, and the second indication value indicates a TCP serial number of a next outgoing direction message expected to be received by the network equipment; and deleting at least one outgoing direction message of which the TCP sequence number of the ending byte is smaller than the second indication value from the cached message.
With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner, the method further includes: the repeater sends a response message to the main controller, wherein the response message comprises a TCP serial number of an ending byte of the last outgoing direction message in the cached messages; the repeater receives a notification message sent by the main controller, wherein the notification message comprises a third indicating value, and the third indicating value indicates a TCP serial number of an ending byte of the last outgoing direction message processed by the main controller; the deleting, from the buffered message, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value includes: and deleting at least one outgoing direction message of which the TCP sequence number of the ending byte is smaller than the second indication value and not larger than the third indication value from the cached message.
With reference to any one of the first to fifth possible implementation manners of the first aspect, in a sixth possible implementation manner, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to any one of the second to fifth possible implementation manners of the first aspect, in a seventh possible implementation manner, the caching the received packet and a TCP sequence number of the received packet includes: and the repeater buffers the received messages after sequencing the messages according to the TCP serial number.
With reference to any one of the first to seventh possible implementation manners of the first aspect, in an eighth possible implementation manner, the caching the received packet includes: when the repeater receives the message retransmitted by the main controller or the network equipment, caching the retransmitted message; when the controller is switched to a new main controller, the forwarding device sending the message which is not processed in the cached messages to the new main controller comprises: when the controller is switched to a new main controller, if the retransmitted message is a message which is not processed yet, the repeater sends the retransmitted message and the original message of the retransmitted message to the new main controller together.
With reference to the fourth or fifth possible implementation manner of the first aspect, in a ninth possible implementation manner, the method further includes: the repeater identifies whether the received outgoing direction message is a complete TCP message fragment according to a fragment marking bit in a message header of the outgoing direction message; if yes, the forwarder starts to forward the fragments of the complete TCP message to the network equipment after receiving all the fragments of the complete TCP message.
A second aspect of the present invention provides a communication method in a communication system, where the communication system includes a main controller, a repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the method includes: the main controller receives the message from the network equipment forwarded by the repeater and processes the received message; and the main controller sends an indicating value used for indicating the processed message to the repeater.
With reference to the second aspect, in a first possible implementation manner, the sending, by the master controller to the repeater, the indication value of the processed packet by the master controller includes: the main controller sends a response message to the repeater, the response message comprises a first indicating value, the first indicating value indicates a TCP serial number of an ending byte of a last TCP message which is processed by the main controller, and the response message is used by the repeater for deleting at least one TCP message of which the TCP serial number of the ending byte is not more than the first indicating value in the TCP messages cached by the repeater.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner, the processing, by the main controller, the received TCP packet includes: removing a message header of the TCP message to obtain a data part of the TCP message; recovering a complete sub-message from the data part of the TCP message; and carrying out persistence processing on the sub-message.
A third aspect of the present invention provides a communication method in a communication system, where the communication system includes a main controller, a repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the method includes: the main controller sends a message to the repeater, and the sent message is used for caching by the repeater and then is sent to the network equipment; the master control processes the sent message; and the main controller sends an indicating value used for indicating the processed message to the repeater.
With reference to the third aspect, in a first possible implementation manner, the packet is a transmission control protocol TCP packet, and the processing, by the master controller, of the packet includes: the main control receives a response message sent by the repeater, wherein the response message comprises a TCP serial number of an ending byte of the last TCP message cached by the repeater; the master control processes the TCP message according to the response message; the sending, by the master controller to the forwarder, an indication value of the master controller for indicating that the processed packet is complete includes: the main controller sends a notification message to the repeater, the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an ending byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets in a buffered packet, the TCP sequence number of the ending byte of the buffered packet is not greater than the third indication value and is less than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
With reference to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner, the processing, by the main controller, the TCP packet includes: and acquiring the routing information of the TCP message, and performing persistence processing on the routing information.
A fourth aspect of the present invention provides a repeater in a communication system, where the communication system includes a main controller, a controller, the repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the repeater includes: a buffer module, configured to buffer the received packet after the repeater receives the packet from the master controller or the network device; the processing module is used for monitoring the processing state of the cached messages and deleting the processed messages in the cached messages; and the sending module is used for sending the messages which are not processed in the cached messages to the new main controller when the controller is switched to the new main controller.
With reference to the fourth aspect, in a first possible implementation manner, the repeater further includes: a receiving module, configured to receive an indication value, sent by the master controller or the network device, for indicating a processed packet; the processing module is specifically configured to delete a processed packet in the cached packets according to the indication value.
With reference to the first possible implementation manner of the fourth aspect, in a second possible implementation manner, the packet is a transmission control protocol TCP packet, and the cache module includes: a confirming unit, configured to confirm a corresponding TCP connection according to a source IP address, a destination IP address// a source port, and a destination port in a header of the received packet; a determining unit, configured to determine a TCP sequence number of the packet based on the confirmed TCP connection; and the caching unit is used for caching the received message and the TCP serial number of the received message.
With reference to the second possible implementation manner of the fourth aspect, in a third possible implementation manner, the cached message includes an incoming direction message sent by the network device to the master controller, and the forwarder further includes: a receiving module, configured to receive a response message returned by the master controller, where the response message includes a first indication value, and the first indication value indicates a TCP sequence number of an end byte of a last incoming direction packet that has been processed by the master controller; the processing module is specifically configured to delete, from the buffered packet, at least one incoming direction packet whose TCP sequence number of the end byte is not greater than the first indication value.
With reference to any one of the first to third possible implementation manners of the fourth aspect, in a fourth possible implementation manner, the cached message includes an outgoing direction message sent by the master controller to the network device, and the forwarder further includes: a receiving module, configured to receive a feedback message returned by the network device, where the feedback message includes a second indication value, and the second indication value indicates a TCP sequence number of a next outgoing direction packet expected to be received by the network device; the processing module is specifically configured to delete, from the cached messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value.
With reference to the fourth possible implementation manner of the fourth aspect, in a fifth possible implementation manner, the sending module is further configured to send a response message to the main controller, where the response message includes a TCP sequence number of an end byte of a last outgoing direction packet in the cached packets; the receiving module is further configured to receive a notification message sent by the main controller, where the notification message includes a third indication value, and the third indication value indicates a TCP sequence number of an end byte of a last outgoing direction packet that has been processed by the main controller; the processing module is specifically configured to delete, from the cached messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value and not larger than the third indication value.
With reference to the fourth aspect or any one of the first to fifth possible implementation manners of the fourth aspect, in a sixth possible implementation manner, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to any one of the second to fifth possible implementation manners of the fourth aspect, in a seventh possible implementation manner, the caching unit is specifically configured to cache the received packets after the received packets are sorted according to the TCP sequence numbers.
With reference to any one of the first to seventh possible implementation manners of the fourth aspect, in an eighth possible implementation manner, the cache module is further configured to cache a retransmitted packet when the repeater receives the packet retransmitted by the master controller or the network device; the sending module is further configured to, when the controller switches to a new main controller, if the retransmitted message is an unprocessed message, send, by the repeater, the retransmitted message and an original message of the retransmitted message to the new main controller together.
With reference to any one of the fourth to fifth possible implementation manners of the fourth aspect, in a ninth possible implementation manner, the repeater further includes: the identification module is used for identifying whether the received outgoing direction message is a complete TCP message fragment according to the fragment marking bit in the message header of the outgoing direction message; the sending module is further configured to, if the identification module identifies that the received outgoing direction packet is a fragment of a complete TCP packet, start forwarding the fragment of the complete TCP packet to the network device after receiving all fragments of the complete TCP packet.
A fifth aspect of the present invention provides a master controller in a communication system, where the communication system includes the master controller, a slave controller, a repeater and a network device, the repeater is located between the master controller and the network device, and is configured to receive a packet of the master controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the master controller, and the master controller includes: a receiving module, configured to receive a packet from the network device forwarded by the repeater; the processing module is used for processing the received message; and the sending module is used for sending an indicating value used for indicating the processed message to the repeater.
With reference to the fifth aspect, in a first possible implementation manner, the main controller further includes: a receiving module, configured to receive a response message sent by the forwarder, where the response message includes a TCP sequence number of an end byte of a last TCP packet cached by the forwarder; the processing module is specifically configured to process the TCP packet according to the response message; the sending module is specifically configured to send a notification message to the repeater, where the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets whose TCP sequence numbers of the end byte in buffered packets are not greater than the third indication value and are smaller than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
With reference to the fifth aspect or the first possible implementation manner of the fifth aspect, in a second possible implementation manner, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to the second possible implementation manner of the fifth aspect, in a third possible implementation manner, the processing module is specifically configured to remove a header of the TCP packet, and obtain a data portion of the TCP packet; recovering a complete sub-message from the data part of the TCP message; and carrying out persistence processing on the sub-message.
A sixth aspect of the present invention provides a master controller in a communication system, where the communication system includes the master controller, a slave controller, a repeater and a network device, the repeater is located between the master controller and the network device, and is configured to receive a packet of the master controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the master controller, and the master controller includes: a sending module, configured to send a message to the repeater, where the message is used by the repeater to be cached and then sent to the network device; the processing module is used for processing the message; the sending module is further configured to send, by the master controller, an indication value for indicating that the processed packet is complete to the repeater.
With reference to the sixth aspect, in a first possible implementation manner, the main controller further includes: a receiving module, configured to receive a response message sent by the forwarder, where the response message includes a TCP sequence number of an end byte of a last TCP packet cached by the forwarder; the processing module is specifically configured to process the TCP packet according to the response message; the sending module is specifically configured to send a notification message to the repeater, where the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets whose TCP sequence numbers of the end byte in buffered packets are not greater than the third indication value and are smaller than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
With reference to the sixth aspect or the first possible implementation manner of the sixth aspect, in a second possible implementation manner of the sixth aspect, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
With reference to the second possible implementation manner of the sixth aspect, in a third possible implementation manner, the processing module is specifically configured to obtain the routing information of the TCP packet, and perform persistence processing on the routing information.
A seventh aspect of the present invention provides a communication system, where the communication system includes a main controller, a repeater, and a network device, where the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller; after receiving the message from the main controller or the network equipment, caching the received message, monitoring the processing state of the cached message, and deleting the processed message in the cached message; when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller; the main controller is used for sending a message to the repeater and processing the sent message, or receiving the message from the network equipment forwarded by the repeater and processing the received message; and sending an indication value for indicating the processed message to the repeater; the network device is used for sending a message to the repeater or receiving a message from the main controller and forwarded by the repeater; and the controller is used for switching to a new main controller when the main controller fails.
As can be seen from the above, in some feasible embodiments of the present invention, the technical scheme is adopted in which the received message is cached by the repeater, the cached message is deleted after the cached message is confirmed to be processed, and if the master controller performs identity switching, the cached message that has not been processed is uploaded to a new master controller, so that the following technical effects are obtained: the data backup is carried out by utilizing the buffer message of the repeater, so that the data backup between the main controller and the slave controller is avoided, the burden of the main controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and the reliability are effectively improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the embodiments and the drawings used in the description of the prior art, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Figure 1a is a schematic diagram of a network structure of an SDN in an embodiment of the invention;
FIG. 1b is a schematic diagram of the structure of an IP packet;
FIG. 1c is a schematic diagram of the structure of an IP header;
FIG. 1d is a schematic diagram of the structure of a TCP header;
FIG. 1e is a schematic diagram of the master controller performing identity switching;
FIG. 1f is a schematic diagram of TCP packet fragmentation;
FIG. 1g is a schematic diagram of TCP packet retransmission;
fig. 2 is a flowchart of a communication method in a communication system according to an embodiment of the present invention;
fig. 3a is a flowchart of a communication method in a communication system according to a second embodiment of the present invention;
FIG. 3b is a diagram illustrating a specific application scenario of the present invention;
fig. 4a is a flowchart of a communication method in a communication system according to a third embodiment of the present invention;
FIG. 4b is a schematic diagram of another exemplary application scenario of the present invention;
FIG. 4c is a diagram illustrating another exemplary application scenario of an embodiment of the present invention;
fig. 5 is a flowchart of a communication method in a communication system according to a fourth embodiment of the present invention;
fig. 6 is a flowchart of a communication method in a communication system according to a fifth embodiment of the present invention;
fig. 7a is a schematic diagram of a repeater in a communication system according to a sixth embodiment of the present invention;
fig. 7b is a schematic diagram of a repeater in another communication system according to a sixth embodiment of the present invention;
fig. 8 is a schematic diagram of a master controller in a communication system according to a seventh embodiment of the present invention;
fig. 9a is a schematic diagram of a master controller in a communication system according to an eighth embodiment of the present invention;
fig. 9b is a schematic diagram of a master controller in another communication system according to an eighth embodiment of the present invention;
fig. 10 is a schematic diagram of a repeater in a communication system provided by an embodiment of the present invention;
fig. 11 is a schematic diagram of a master controller in a communication system according to an embodiment of the present invention;
fig. 12 is a schematic diagram of a master controller in a communication system according to an embodiment of the present invention.
Detailed Description
Embodiments of the present invention provide a communication method, device and system in a communication system, so as to solve the technical problems that a large amount of TCP information needs to be synchronized in real time between a host controller and a slave controller in an existing SDN, so that the host controller has a heavy burden and the system performance is affected. The embodiment of the invention also provides a corresponding repeater.
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The following are detailed descriptions of the respective embodiments.
Example one
Fig. 1a is a schematic diagram of a network structure of a communication system according to an embodiment of the present invention.
The communication system may specifically be a Software Defined Network (SDN) comprising controllers, repeaters and network devices. The controller has two or more controllers, and specifically comprises a main controller and at least one slave controller. The controller may be a hardware device, or may be a virtual machine, for example, a physical server or a virtual machine running in a physical server. The forwarder may be a physical or virtual switch or router or like forwarding device. The controller and the repeater interact by utilizing an OpenFlow protocol. The repeater performs data forwarding according to the instruction of the controller, and is used for forwarding the message of the main controller to the network equipment or forwarding the message of the network equipment to the main controller. Messages sent by the controller or messages sent by the network equipment pass through the repeater.
The communication system is not limited to a telecommunication communication system, but may be a communication system in other fields, such as a communication system composed of IT (Information Technology) devices, and the like.
The main controller completes service processing, and the backup controller is used as a backup. The repeater only interacts with the main controller and receives the instruction control of the main controller. When the main controller fails, the backup controller replaces the main controller in real time to serve as a new main controller to execute service processing; throughout the process, peer devices (e.g., network devices in fig. 1 a) communicating with the master controller are unaware.
Herein, the message interacted between the main controller and the network device may be any Protocol message based on TCP connection, for example, may be a BGP (Border Gateway Protocol) message, or an LDP (label distribution Protocol) message, and the like. Generally, IP (Internet Protocol ) messages are used to carry TCP messages, and TCP messages are used to carry BGP messages or LDP messages. The outer-layer encapsulated message header of the BGP message or LDP message interacted between the main controller and the network equipment comprises a TCP header and an IP header.
As shown in fig. 1b, the BGP message or the LDP message is carried in the data field of the TCP message, and the TCP message is carried in the data field of the IP message.
Fig. 1c is a schematic structural diagram of an IP header of an IP packet. The IP header contains the source IP address (i.e., the 32-bit source IP address in fig. 1 c) and the destination IP address (i.e., the 32-bit destination IP address in fig. 1 c) of the IP packet.
Fig. 1d is a schematic structural diagram of a TCP header of a TCP packet. The TCP header includes a source port (i.e. 16-bit source port in fig. 1 d) and a destination port (i.e. 16-bit destination port in fig. 1 d) of the TCP packet, and also includes a TCP sequence number (i.e. 32-bit sequence number in fig. 1 d) of the TCP packet.
Each byte of the data field of the TCP packet corresponds to a TCP sequence number, and generally, the TCP sequence number of the starting byte of the data field of the TCP packet is carried in a TCP header (32-bit sequence number) as the TCP sequence number of the TCP packet. For example, if the TCP sequence number of a TCP message is 100, the TCP sequence number of the starting byte of the data field of the TCP message is 100, and the TCP sequence numbers of the bytes after the starting byte are 101, 102, and 103 … … in sequence.
The length value of the TCP packet is generally carried in the IP header (i.e. the total length of 16 bits in fig. 2 b), and according to the TCP sequence number of the TCP packet and the length of the TCP packet, the TCP sequence number of the end byte of the data field of the TCP packet (referred to as the end byte of the TCP packet for short) can be calculated. For example, if the TCP sequence number of a TCP packet is 100 and the length of the TCP packet is 50 (indicating that the data field of the TCP packet includes 50 bytes), the TCP sequence number of the end byte of the TCP packet is 100+ 50-1-149.
For the convenience of identification, the TCP sequence number of the TCP packet may be referred to as an initial TCP sequence number of the TCP packet; the TCP sequence number of the end byte of the TCP packet may be referred to as an end TCP sequence number.
Referring to fig. 2, an embodiment of the invention provides a communication method in a communication system.
The communication system comprises a main controller, a repeater and network equipment, wherein the repeater is positioned between the main controller and the network equipment and used for receiving the message of the main controller and forwarding the message to the network equipment or receiving the message of the network equipment and forwarding the message to the main controller.
The core idea of the technical scheme of the embodiment of the invention is that a repeater replaces a controller, a message sent by a main controller or a message sent by network equipment is intercepted in real time, the intercepted message is cached, and the cached message is not deleted until the cached message is confirmed to be processed. Thus, messages that have not been processed are buffered in the repeater. When the main controller fails and the main controller and the backup controller perform identity switching, the repeater uploads all messages which are not processed and cached to a new main controller, so that service is not interrupted and data is not lost when the main controller and the backup controller are switched.
As shown in fig. 2, the method according to the embodiment of the present invention may include:
201. and after receiving the message from the main controller or the network equipment, the repeater caches the received message.
In the embodiment of the invention, the repeater receives the message from the main controller or the network equipment, firstly caches the received message, and forwards the cached message. The cache may be stored in a storage device local to the transponder, or may be stored in a storage device of another third party. And after the forwarding, the forwarded message is not deleted.
In this context, the message may be any protocol message based on TCP connection, referred to as TCP message for short. The caching the received message may include: confirming corresponding TCP connection according to a source IP address, a destination IP address, a source port and a destination port in a message header of the received message; and determining the TCP serial number of the received message based on the confirmed TCP connection, and caching the received message and the TCP serial number of the message. The packet is a TCP packet, and the TCP sequence number of the packet refers to a TCP sequence number of a starting byte of a data field of the TCP packet (which may be referred to as a starting TCP sequence number of the packet for short). In TCP connection-based communications, a set of source IP addresses, destination IP addresses, source ports, and destination ports, uniquely corresponds to a TCP connection.
When there are multiple TCP connections, in order to uniquely identify a received packet, the repeater needs to confirm a TCP connection corresponding to the received packet, further confirm a TCP serial number of the packet, and mark the received packet with two parameters, i.e., the corresponding TCP connection and the TCP serial number.
Optionally, the repeater may set a plurality of storage units in the storage device, where the plurality of storage units respectively correspond to the plurality of TCP connections, and respectively cache the received packet in different storage units according to the TCP connections, so as to facilitate subsequent processing.
The caching of the message and the TCP serial number of the message can be realized in two modes, one mode is only caching of the message, and the caching of the message means that the TCP serial number of the message is cached at the same time as the message contains the TCP serial number of the message; and when the other type is caching the message, the TCP serial number of the message is extracted from the message, and the TCP serial number of the message is correspondingly cached.
202. And the repeater monitors the processing state of the cached messages and deletes the processed messages in the cached messages.
In this embodiment, the repeater monitors the processing states of all the messages cached in the caching device, and determines whether each cached message has been processed. The processing refers to processing by the main controller and/or the network equipment, wherein, for the incoming direction message sent to the main controller by the network equipment, only monitoring whether the main controller finishes the processing; for the outgoing direction message of the network equipment sent by the main controller, whether the processing of the network equipment is finished or not can be monitored, and whether the processing of the main controller and the processing of the network equipment are finished or not can be monitored simultaneously.
Optionally, the main controller or the network device may send an indication value for indicating a processed packet to the repeater, where the indication value may include a number of the processed packet of the main controller or the network device, and numbers of each packet at the main controller and the network device are consistent, so as to inform the repeater of which packets have been processed, and the repeater determines which packets have been processed by receiving the indication value for indicating the processed packet sent by the main controller or the network device, and deletes the processed packet in the cached packets according to the indication value. Deleting the processed messages in the cached messages; if the message is not processed, the message is not deleted. The number in the indicated value may be a TCP sequence number of the packet, or may be marked with another number, for example, a new number is generated.
203. And when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller.
In this embodiment, when the master controller fails and the slave controller switches to a new master controller, the repeater may learn that the master controller and the slave controller perform identity switching through interaction with the master controller or the slave controller. At this time, because the original main controller fails, the message which is cached in the repeater and is not processed yet will not be processed by the original main controller, so that the repeater can send the message which is not processed yet in the cached message to the new main controller for processing by the new main controller. Therefore, when the master controller and the slave controller are switched, the service can be ensured not to be interrupted and the data is not lost.
As can be seen from the above, the embodiment of the present invention provides a communication method in a communication system, and achieves the following technical effects: the message is cached through the repeater, the controller hot standby communication based on the TCP connection is realized, the data backup between the main controller and the main controller is avoided, the burden of the main controller and the main controller can be reduced, the system load is reduced, and the system efficiency and the reliability are effectively improved; meanwhile, different repeaters can be used for respectively caching respective TCP information, so that the system load can be shared on a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
The method of the embodiment of the present invention is further described below in the outbound direction (from the host controller to the network device) and the inbound direction (from the network device to the host controller), respectively.
Example two
Referring to fig. 3a, an embodiment of the present invention provides a communication method in a communication system, where the method is used in an SDN as shown in fig. 1a, and is specifically used for processing an incoming direction packet sent by a network device to a repeater, and the method may include:
301. the repeater receives and caches an incoming direction message sent to the repeater by the network equipment; and forwarding the incoming direction message to the main controller.
In the embodiment of the invention, the repeater monitors and caches the incoming direction message sent by the network equipment to the main controller (or to the repeater) based on the TCP connection. Because the repeater is responsible for forwarding interactive messages between the main controller and the network equipment, incoming direction messages sent to the main controller by the network equipment all pass through the repeater, and the repeater can cache each passing incoming direction message.
Specifically, the repeater may receive, in real time, an incoming direction message sent by a network device, such as a router, to the main controller through a TCP connection; confirming corresponding TCP connection according to a source IP address, a destination IP address, a source port and a destination port in a message header of the incoming direction message; and determining the TCP serial number of the message based on the confirmed TCP connection, and caching the incoming direction message and the TCP serial number of the incoming direction message.
The source IP address of the incoming direction message is the IP address of the network equipment, and the destination IP address is the IP address of the repeater. Specifically, the source IP address of the inbound direction packet is, for example, a BGP neighbor address of the network device, and the destination IP address is, for example, a local IP address of a BGP neighbor established between the main controller and the network device, where the local IP address is an IP address on the repeater. A set of source IP addresses, destination IP addresses, source ports, and destination ports may determine a pair of BGP neighbors (including the host controller and a network device) that correspond to a TCP connection.
Optionally, when the direction packet is cached, the direction packet may be respectively stored in different storage units according to different TCP connections to which the packet belongs. The incoming direction message of each TCP connection is stored in an independent storage unit, and the TCP serial numbers of all the incoming direction messages of the TCP connection are correspondingly stored. Preferably, the buffered incoming direction messages are sorted according to the TCP sequence number, so as to facilitate subsequent processing in sequence.
As can be seen from the above, in this embodiment, the repeater first caches the received incoming direction message, and the cached incoming direction message is only sent to the main controller for processing.
302. And the repeater monitors the processing state of the cached incoming direction message and deletes at least one processed incoming direction message in the cached incoming direction message.
And after the incoming direction message reaches the main controller through the repeater, the main controller processes the incoming direction message. And when the repeater confirms that the incoming direction message is processed, deleting the cached message. In one embodiment, after the main controller finishes processing the incoming direction message, a response message is sent to the repeater, where the response message includes a first indication value indicating a TCP sequence number of an end byte of a last incoming direction message that has been processed by the main controller; and the repeater receives a response message returned by the main controller, and deletes at least one incoming direction message (namely, a processed message) of which the TCP serial number of the ending byte is not more than the first indicating value from the cached message. In other embodiments, the repeater may also confirm that the incoming direction packet is processed in other manners, for example, after forwarding the incoming direction packet to the main controller for a certain time, the repeater considers that the incoming direction packet is processed; herein, the confirmation method is not limited.
In specific implementation, a protocol stack SOCK module and a specific protocol processing module, such as a BGP processing module or an LDP processing module, are generally deployed in the host controller. BGP process modules are used herein as examples.
The incoming direction message received by the main controller firstly reaches the SOCK module, the SOCK module removes a message header (including an IP header and a TCP header) of the incoming direction message to obtain a loaded message such as a BGP message, and then transmits the BGP message and a TCP serial number of the BGP message to the BGP processing module. The TCP sequence number may be obtained from the TCP header.
The BGP processing module processes the incoming direction message and returns a response message to the transponder after the processing is finished. The processing may be, for example, persistence processing, that is, storing the received incoming direction message in a database; the processing may be, for example, other processing methods. The response message may include a first indication value indicating a TCP sequence number of an end byte of a last incoming direction packet processed by the host controller. The TCP serial number of the ending byte of the message can be obtained by adding the TCP serial number of the message to the message length and then subtracting 1. Specifically, the first indication value may be a TCP sequence number of an end byte of the last incoming direction packet processed by the main controller, or the first indication value may also include a TCP sequence number of the last incoming direction packet processed by the main controller and a packet length thereof.
The repeater receives a response message returned by the main controller, and acquires a first indicated value contained in the response message; and then, finding at least one processed incoming direction message from all the incoming direction messages cached according to the first indicated value, and deleting the at least one processed incoming direction message.
303. And when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller.
The master controller and the slave controller can interact with the repeater through an OpenFlow protocol, and the repeater can sense the state and the role of the controller in real time, namely, whether the master controller and the slave controller perform identity switching or not can be sensed, and which controller is the master controller currently.
As shown in fig. 1e, when the master controller fails, the repeater detects that the master controller and one slave controller perform identity switching, and one slave controller switches to a new master controller, the repeater performs data smoothing with the new master controller. The data smoothing is specifically as follows: and the repeater uploads all the cached incoming direction messages which are not processed to the new main controller, and the messages are processed by the new main controller. Because the message which is not processed is retransmitted to the new main controller, the main controller can recover the service according to the message, and when the main controller and the controller are switched, the service of the incoming direction message is not interrupted and the data is not lost.
It should be noted that, in the embodiment of the present invention, an AGENT (AGENT) module may be deployed in the forwarder, and taking BGP packet as an example, a BGP AGENT module may be deployed. The above method flow can be embodied by the agent module deployed in the repeater. The agent module may only interact with the host controller.
Please refer to fig. 3b, which is a diagram illustrating a specific application scenario according to an embodiment of the present invention. As shown in fig. 3b, the processing flow of the inbound direction packet may include:
(1) after receiving and buffering the messages TCP1 and TCP2, the BGP AGENT module in the repeater sends TCP1 and TCP2 to the SOCK module in the main controller. Wherein, the TCP sequence number of TCP1 is 100, and the message length is 50; TCP2 has a TCP sequence number of 150 and a packet length of 50.
(2) In the main controller, the SOCK module reports TCP1 and TCP2 with removed message headers and respective TCP serial numbers of TCP1 and TCP2 to the BGP processing module. The TCP1 and the TCP2 may be BGP messages, for example, after removing the headers.
(3) In the main controller, the BGP processing module reports a complete BGP message, e.g., an update message, carried in TCP1 and TCP2 to the BGP processing module, and reports a TCP sequence number of an end byte of the update message to a BRM (BGP Route Management) module. It is assumed that the length of the update message is 75, and the update message is carried by TCP1 and TCP2, the TCP sequence number of the update message is 100, and the TCP sequence number of the end byte is 175, that is, the first 50 bytes of the update message are carried in TCP1, and the last 25 bytes are carried in TCP 2.
(4) The BRM module performs persistence processing on the update message, and after the processing is completed, notifies the BGP processing module that the processing is completed, and specifically, may notify the TCP sequence number 175 to the BGP processing module.
(5) The BGP processing module returns a response message carrying the TCP sequence number 175 to the BGP AGENT module. The BGP-AGENT module deletes the complete inbound direction packet whose TCP sequence number of the ending byte is not greater than the specific sequence number 175, so that: only TCP1 is deleted and TCP2 is retained.
Optionally, in the embodiment of the present invention, the agent module deployed in the forwarder may sense the TCP sequence number and the protocol packet boundary, and support corresponding processing on TCP retransmission, out-of-order, and fragmentation. The TCP message has the possibility of retransmission, and the receiving end needs to distinguish which is the retransmission message through the TCP serial number; TCP messages travel different network paths, and the order of reaching the messages can be different from that of the sending end; the TCP message is very large, and may be divided into multiple pieces of messages on a network path, and the pieces of messages need to be reassembled at a receiving end. In the embodiment of the present invention, several special cases of the incoming direction packet may be processed as follows:
firstly, TCP message out-of-order: disorder may occur in the transmission process of the TCP messages, and the BGP age module may sort the buffered TCP messages according to the TCP sequence numbers, so as to facilitate deletion of subsequent buffered messages; that is, the repeater may buffer the received packets after sorting the packets according to the TCP sequence number.
Secondly, TCP fragmentation: in one TCP message Transmission, the TCP messages may be fragmented according to the different size of a link MTU (Maximum Transmission Unit), and the BGP AGENT module may identify the TCP messages divided into multiple fragments according to a fragment flag bit in the IP header, and delete one TCP message in a unified manner when deleting one TCP message. The slice indication bit may specifically be a 13-bit slice offset in the IP header of fig. 2b, and different slices are indicated by different slice indication bits. Fig. 1f is a schematic diagram of TCP slicing.
In other words, the repeater may identify whether the received incoming direction packet is a complete TCP packet fragment according to a fragment flag in a packet header of the incoming direction packet; if so, the deleting, by the forwarder, of at least one incoming direction packet whose TCP sequence number of an end byte is not greater than the first indication value from the cached packet includes: and when the TCP serial number of the ending byte of the complete TCP message is not more than the first indication value, deleting all the fragments of the complete TCP message together.
Thirdly, TCP retransmission: the host controller or network device may retransmit the TCP message and may reassemble the message. As shown in fig. 1g, at this time, the BGP-AGENT module may store the messages before and after retransmission, and when the repeater receives the message retransmitted by the main controller or the network device, may cache the retransmitted message; when the controller is switched to a new main controller, if the retransmitted message is a message which is not processed yet, the repeater sends the retransmitted message and the original message of the retransmitted message to the new main controller together.
EXAMPLE III
Referring to fig. 4a, an embodiment of the present invention provides another communication method in a communication system, where the method is used in an SDN shown in fig. 1a, and is specifically used for processing an outbound direction packet sent by a host controller to a repeater, and the method may include:
401. the repeater receives and caches an outgoing direction message sent to the repeater by the main controller; and forwarding the outgoing direction message to network equipment.
In the embodiment of the invention, the repeater monitors and caches the outgoing direction message sent by the main controller to the network equipment (or to the repeater) based on the TCP connection. Because the repeater is responsible for forwarding interactive messages between the main controller and the network equipment, outgoing direction messages sent to the network equipment by the main controller can all pass through the repeater, and the repeater can cache each passing outgoing direction message.
Specifically, the repeater receives an outgoing direction message sent by the main controller to a network device such as a router through a TCP connection in real time; confirming corresponding TCP connection according to a source IP address, a destination IP address, a source port and a destination port in a message header of the outgoing direction message; determining a TCP serial number of the message based on the confirmed TCP connection, and caching the outgoing direction message and the TCP serial number of the outgoing direction message; in addition, a response message may be returned to the host controller containing the TCP sequence number of the last outgoing direction packet end byte that has been cached.
The destination IP address of the outbound direction packet is the IP address of the network device, and the source IP address is the IP address of the repeater. Specifically, the destination IP address of the outbound direction packet is, for example, a BGP neighbor address of the network device, and the source IP address is, for example, a local IP address of the BGP neighbor established between the main controller and the network device, where the local IP address is an IP address on the repeater. A set of source IP addresses, destination IP addresses, source ports, and destination ports may determine a pair of BGP neighbors (including the host controller and a network device) that correspond to a TCP connection.
The BGP processing module in the main controller appoints a TCP serial number of the outgoing direction message, and the TCP serial number and the outgoing direction message are sent to the SOCK module; TCP is stream-based, and if the TCP sequence number specified by the BGP processing module is 100, a BGP message of length 100 is sent, the TCP sequence number of the BGP message is 100, and the TCP sequence number of the end byte of the BGP message is 100+ 100-1-199. And the SOCK module encapsulates the BGP message and sends the BGP message to the repeater after the message header comprising the TCP/IP header.
In this embodiment, the repeater first caches the received outbound direction message, and forwards the cached outbound direction message to the network device. And simultaneously recording the TCP serial number of the ending byte of the cached outgoing direction message, and sending a response message carrying the serial number to inform the BGP processing module that the outgoing direction message is received.
Specifically, the processing flow of the outbound direction packet between the main controller and the repeater may include:
1. the main controller sends the outgoing direction message to the repeater in a transparent transmission mode;
2. the repeater sends a response message of receiving the outgoing direction message to the main controller; the response message carries the TCP serial number of the ending byte of the direction message;
3. the main controller processes the outgoing direction message;
the processing may include: and obtaining the routing information of the corresponding outgoing direction message according to the received response message, and persisting the routing information of the message, such as storing the routing information into a database. In other words, the main controller knows the routing information that has been received by the repeater according to the received response message, marks the "processed" flag on the routing information that has been confirmed to have been received and buffered by the repeater (meaning that if the switch occurs, the message), records the routing information in the database (the controller recovers the service according to the data in the database), and considers that the new main controller does not need to resend the routing information marked with the "processed" flag to the neighbor after the switch occurs.
4. The main controller sends a processed notification message to the repeater; the notification message carries the TCP sequence number of the end byte of the outgoing direction packet that has been processed.
402. And the repeater monitors the processing state of the cached outgoing direction message and deletes at least one outgoing direction message which is processed in the cached outgoing direction message.
In some embodiments, the processing flow of the outbound direction packet between the network device and the repeater may include:
1. the repeater sends the outgoing direction message to the network equipment;
2. and after receiving the direction message, the network equipment sends a feedback message to the repeater. Optionally, the feedback message may specifically be a TCP ACK (Acknowledgement character).
The repeater receives a feedback message returned by the network equipment, wherein the feedback message comprises a second indication value, and the second indication value indicates a TCP serial number of a next outgoing direction message expected to be received by the network equipment; the forwarder may delete, from the buffered message, at least one outgoing direction message (i.e., an outgoing direction message that has been processed) whose TCP sequence number of the end byte is smaller than the second indication value. Specifically, the second indication value may be a TCP sequence number of a next outgoing direction packet expected to be received by the network device, or the second indication value may also include a TCP sequence number of a last outgoing direction packet received by the network device and a packet length thereof.
Optionally, the repeater may further receive a notification message sent by the main controller, where the notification message includes a third indication value, and the third indication value indicates a TCP sequence number of an end byte of a last outgoing direction packet that has been processed by the main controller; the forwarder may delete, from the buffered packet, at least one outgoing direction packet (i.e., an outgoing direction packet that has been processed) whose TCP sequence number of the end byte is smaller than the second indication value and not larger than the third indication value. Specifically, the third indication value may be a TCP sequence number of an end byte of the last outbound direction packet processed by the main controller, or the third indication value may also include a TCP sequence number of the last outbound direction packet processed by the main controller and a packet length thereof.
In other embodiments, the repeater may also determine that the processing of the direction packet is completed in other manners, for example, after the repeater forwards the outgoing direction packet to the network device for a certain time, the repeater considers that the processing of the outgoing direction packet is completed; herein, the confirmation method is not limited.
It should be noted that the feedback message is sent by the network device after receiving the outbound direction packet, and the notification message is sent by the main controller after performing persistence processing (for example, storing the route information corresponding to the outbound direction packet in a database).
403. And when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller.
The master controller and the slave controller interact with the repeater through an OpenFlow protocol, and the repeater can sense the state and the role of the controller in real time, namely, whether the master controller and the slave controller perform identity switching or not can be sensed, and which controller is the master controller currently.
As shown in fig. 1e, when the master controller fails, the repeater detects that the master controller and the slave controllers perform identity switching, and one slave controller switches to a new master controller, the repeater performs data smoothing with the new master controller. The data smoothing is specifically as follows: and the repeater uploads all the outgoing direction messages which are not processed to the new main controller to be processed by the new main controller. Because the message which is not processed is retransmitted to the new main controller, the main controller can recover the service according to the message, and when the main controller and the controller are switched, the service of the outgoing direction message is not interrupted and the data is not lost.
It should be noted that, in the embodiment of the present invention, an AGENT (AGENT) module may be deployed in the forwarder, and taking BGP packet as an example, a BGP AGENT module may be deployed. The above method flow can be embodied by the agent module deployed in the repeater. The agent module may only interact with the host controller. Optionally, the agent module for the outgoing direction in this embodiment and the agent module for the incoming direction in the embodiment in fig. 3a may be the same agent module or different agent modules.
Please refer to fig. 4b, which is a diagram illustrating a specific application scenario according to an embodiment of the present invention. As shown in fig. 4b, the processing flow of the outbound direction packet may include:
(1) a protocol processing module, such as a BGP processing module, in the master controller sends a BGP message with a message length of 200 and a TCP sequence number of 200 to the SOCK module. It is easy to know that the TCP sequence number of the starting byte of the data field of the BGP message is 200, and the TCP sequence number of the ending byte is 399.
(2) The SOCK module encapsulates a message header, namely a TCP header and an IP header, for the BGP message, the message after encapsulating the message header is represented by TCP1, and then the TCP1 is sent to a BGP AGENT module of the repeater.
(3) The BGP AGENT module buffers TCP1 and then sends TCP1 to the network device.
(3') after receiving the TCP1, the BGP AGENT module further returns a response message containing a TCP sequence number (i.e., 399) of the end byte of the TCP1 to the host controller;
(4) a BGP processing module in the main controller stores the routing information corresponding to the TCP1 in a database, and sends a processed notification message to the repeater after data persistence is realized; the notification message carries a third indication value, i.e., a TCP sequence number, e.g., 399, of the end byte of TCP1 that has been processed.
(5) After the BGP AGENT module sends TCP1 to the network device, it receives a feedback message returned by the network device, where the feedback message includes a second indication value, that is, the network sets a TCP sequence number of a next outgoing direction packet expected to be processed, which may be 401, for example.
(6) After receiving the notification message and the response message, the BGP age module deletes the outgoing direction packet whose TCP sequence number of the end byte is not greater than 399.
It should be noted that the BGP AGENT module needs to sense the BGP message boundary, and sends the complete BGP message all together, otherwise, if the BGP AGENT module receives only half of the BGP message and the second half of the BGP message is not received due to the identity switch of the master controller, the half of the BGP message that is not received cannot be recovered, which may cause the neighbor session to be interrupted. For example, the application scenario shown in fig. 4c, the flow includes:
(1) the BGP processing module sends BGP messages with the lengths of 600 and 300 to the SOCK module, and the initial TCP serial numbers of the front BGP message and the rear BGP message are 200 and 800 respectively;
(2) the SOCK module encapsulates two BGP messages into three TCP messages, namely TCP1, TCP2 and TCP3, wherein the length and the TCP sequence number of TCP1 are respectively 400 and 200, the length and the TCP sequence number of TCP2 are respectively 400 and 600, and the length and the TCP sequence number of TCP3 are respectively 100 and 1000.
(3) The SOCK module sends TCP1 to the BGP AGENT module, the BGP AGENT module checks TCP1, and if the BGP message is found to be incomplete, the BGP message is locally cached but not sent to a network device, such as an LDM (Local distribution Management) device.
(4) The SOCK module continues to send TCP2 to the BGP AGENT module.
(5) The BGP AGENT module receives and checks TCP1 and TCP2, and starts to send TCP1 to the network equipment when discovering that the BGP message with the length of 600 is complete; and after caching TCP2, sending TCP2 to the network device.
In some embodiments of the present invention, an agent module deployed in a forwarder may sense a TCP sequence number and a protocol packet boundary, and support corresponding processing on TCP retransmission, disorder, and fragmentation. The TCP message has the possibility of retransmission, and the receiving end needs to distinguish which is the retransmission message through the sequence number; TCP messages travel different network paths, and the order of reaching the messages can be different from that of the sending end; the TCP message is very large, and may be divided into multiple pieces of messages on a network path, and the pieces of messages need to be reassembled at a receiving end. For the processing of special situations such as retransmission, disorder, fragmentation and the like of the outgoing direction message, reference may be made to the processing of the incoming direction message in the foregoing. The processing of the fragments is slightly different from the processing of the incoming direction message, and the difference is that the repeater can identify whether the received outgoing direction message is a complete TCP message fragment according to the fragment marking bit in the message header of the outgoing direction message; if yes, the forwarder starts to forward the fragments of the complete TCP message to the network equipment after receiving all the fragments of the complete TCP message; if not, only buffer memory is needed and not transmitted. For retransmission and out-of-order processing, the processing of the outgoing and incoming direction messages may be the same.
Example four
Referring to fig. 5, an embodiment of the present invention further provides a communication method in a communication system, where the communication system includes a main controller, a repeater and a network device, and the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the method includes:
501. the main controller receives the message forwarded by the repeater from the network equipment and processes the received message;
502. and the main controller sends an indicating value of the main controller for indicating the processed message to the repeater.
In some specific implementations, the packet is a TCP packet, the master controller may send a response message to the repeater, where the response message includes a first indication value, the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, and the response message is used by the repeater to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in TCP packets cached by the repeater.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
In some embodiments of the present invention, the processing, by the host controller, the received TCP packet includes:
removing a message header of the TCP message to obtain a data part of the TCP message;
recovering a complete sub-message from the data part of the TCP message;
and carrying out persistence processing on the sub-message.
As can be seen from the above, the embodiment of the present invention provides a communication method in a communication system, and achieves the following technical effects: the message is cached through the repeater, the controller hot standby communication based on the TCP connection is realized, the data backup between the main controller and the main controller is avoided, the burden of the main controller and the main controller can be reduced, the system load is reduced, and the system efficiency and the reliability are effectively improved; meanwhile, different repeaters can be used for respectively caching respective TCP information, so that the system load can be shared on a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
EXAMPLE five
Referring to fig. 6, an embodiment of the present invention further provides a communication method in a communication system, where the communication system includes a main controller, a repeater and a network device, and the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the method includes:
601. and after the master controller generates a Transmission Control Protocol (TCP) message, the master controller sends the message to the repeater, and the sent message is used for caching by the repeater and then is sent to the network equipment.
602. And the master control processes the sent message.
Optionally, the master control may receive a response message sent by the forwarder, where the response message includes a TCP sequence number of an end byte of a last TCP packet cached by the forwarder; and processing the TCP message according to the response message.
603. And the main controller sends an indicating value of the main controller for indicating the processed message to the repeater.
In some implementations, the master controller may send a notification message to the forwarder, where the notification message includes a third indication value, where the third indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, and the notification message is used by the forwarder to delete one or more TCP packets whose TCP sequence numbers of the end bytes in cached packets are not greater than the third indication value and smaller than a second indication value, where the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
In some embodiments of the present invention, the processing, by the master controller, the TCP packet includes:
and acquiring the routing information of the TCP message, and performing persistence processing on the routing information.
As can be seen from the above, the embodiment of the present invention provides a communication method in a communication system, and achieves the following technical effects: the message is cached through the repeater, the controller hot standby communication based on the TCP connection is realized, the data backup between the main controller and the main controller is avoided, the burden of the main controller and the main controller can be reduced, the system load is reduced, and the system efficiency and the reliability are effectively improved; meanwhile, different repeaters can be used for respectively caching respective TCP information, so that the system load can be shared on a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
In order to better implement the above-mentioned aspects of the embodiments of the present invention, the following also provides related devices for implementing the above-mentioned aspects cooperatively.
EXAMPLE six
Referring to fig. 7a, an embodiment of the present invention provides a repeater 700 in a communication system, where the communication system includes a main controller, a controller, the repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet of the main controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the main controller, and the repeater may include:
a caching module 701, configured to cache the received message after the repeater receives the message from the master controller or the network device;
a processing module 702, configured to monitor a processing state of the cached message, and delete a processed message in the cached message;
a sending module 703, configured to send, when the controller switches to a new main controller, a message that has not been processed in the cached messages to the new main controller.
Referring to fig. 7b, in some embodiments of the invention, the repeater 700 further includes:
a receiving module 704, configured to receive an indication value, sent by the master controller or the network device, for indicating a processed packet; the processing module 702 may be specifically configured to delete a processed packet in the cached packets according to the indication value.
In some embodiments of the present invention, the cache module 701 may specifically include:
a confirming unit, configured to confirm a corresponding TCP connection according to a source IP address, a destination IP address, a source port, and a destination port in a header of the received packet;
a determining unit, configured to determine a TCP sequence number of the packet based on the confirmed TCP connection;
and the caching unit is used for caching the received message and the TCP serial number of the received message.
In some embodiments of the present invention, the cached message includes an incoming direction message sent by the network device to the repeater, please refer to fig. 7b, the repeater 700 may further include: a receiving module 704;
a receiving module 704, configured to receive a response message returned by the master controller, where the response message includes a first indication value, and the first indication value indicates a TCP sequence number of an end byte of a last incoming direction packet that has been processed by the master controller;
the processing module 702 is specifically configured to delete, from the buffered packet, at least one incoming direction packet whose TCP sequence number of the end byte is not greater than the first indication value.
In some embodiments of the present invention, the buffered packet includes an outgoing direction packet sent by the master controller to the repeater, please refer to fig. 7b, the repeater 700 may further include: a receiving module 704; the receiving module 704 is configured to receive a feedback message returned by the network device, where the feedback message includes a second indication value, and the second indication value indicates a TCP sequence number of a next outgoing direction packet that the network device expects to receive; the processing module 702 is specifically configured to delete, from the cached messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value.
In some embodiments of the present invention, the sending module 703 is further configured to send a response message to the main controller, where the response message includes a TCP sequence number of an end byte of a last outgoing direction packet in the cached packets; the receiving module 704 is further configured to receive a notification message sent by the main controller, where the notification message includes a third indication value, and the third indication value indicates a TCP sequence number of an end byte of a last outgoing direction packet that has been processed by the main controller; the processing module 702 is specifically configured to delete, from the buffered messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value and not larger than the third indication value.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
In some embodiments of the present invention, the cache unit may be specifically configured to cache the received packets after sorting the received packets according to the TCP sequence numbers.
In some embodiments of the present invention, the caching module 701 is further configured to cache a retransmitted packet when the repeater receives the packet retransmitted by the master controller or the network device; the sending module 703 is further configured to, when the controller switches to a new master controller, if the retransmitted packet is an unprocessed packet, send, by the repeater, the retransmitted packet and the original packet of the retransmitted packet to the new master controller together.
In some embodiments of the present invention, the processing module 702 is further configured to identify whether the received outgoing direction packet is a complete TCP packet fragment according to a fragment flag bit in a packet header of the outgoing direction packet; the sending module 703 is further configured to, if the identifying module identifies that the received outgoing direction packet is a fragment of a complete TCP packet, start to forward the fragment of the complete TCP packet to the network device after receiving all fragments of the complete TCP packet.
It can be understood that the functions of each functional module of the repeater according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description in the foregoing method embodiment, which is not described herein again.
It can be seen from the above that, in some feasible embodiments of the present invention, a repeater in a communication system is provided, where the repeater may receive a message, delete the cached message after confirming that the cached message is processed, and upload the cached message that has not been processed to a new master controller if the master controller performs identity switching, so as to obtain the following technical effects:
the data backup is carried out by utilizing the repeater buffer message, so that the data backup between the main controller and the slave controller is avoided, the burden of the main controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
EXAMPLE seven
Referring to fig. 8, an embodiment of the present invention provides a master controller 800 in a communication system, where the communication system includes the master controller, a slave controller, a repeater and a network device, where the repeater is located between the master controller and the network device, and is configured to receive a packet of the master controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the master controller, and the master controller 600 may include:
a receiving module 801, configured to receive a packet from the network device forwarded by the repeater;
a processing module 802, configured to process a received message;
a sending module 803, configured to send an indication value used for indicating that the processed packet is already sent to the forwarder.
In some embodiments of the present invention, the sending module 803 may be specifically configured to send, to the forwarder, a response message, where the response message includes a first indication value, the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, and the response message is used by the forwarder to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in TCP packets cached by the forwarder.
In some embodiments of the present invention, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
In some embodiments of the present invention, the processing module 802 is specifically configured to remove a header of the TCP packet, and obtain a data portion of the TCP packet; recovering a complete sub-message from the data part of the TCP message; and carrying out persistence processing on the sub-message.
It can be understood that the functions of each functional module of the repeater according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description in the foregoing method embodiment, which is not described herein again.
As can be seen from the above, in some possible embodiments of the present invention, a master controller in a communication system is provided, where the master controller may send a response message to a repeater, where the response message includes a first indication value, where the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, and the response message is used by the repeater to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in a packet buffered by the repeater, so that the following technical effects are achieved:
data backup between the master controller and the slave controller is avoided, the load of the master controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
Example eight
Referring to fig. 9a, an embodiment of the present invention provides a master controller 900 in a communication system, where the communication system includes the master controller, a slave controller, a repeater and a network device, where the repeater is located between the master controller and the network device, and is configured to receive a packet of the master controller and forward the packet to the network device, or receive a packet of the network device and forward the packet to the master controller, and the master controller 900 may include:
a sending module 901, configured to send a message to the repeater, where the message is used by the repeater to be cached and then sent to the network device;
a processing module 902, configured to process the packet;
the sending module 901 is further configured to send, by the master controller, an indication value for indicating that the processed packet is complete to the forwarder.
In some embodiments of the invention, as shown in fig. 9b, the master controller further comprises: a receiving module 904;
a receiving module 904, configured to receive a response message sent by the forwarder, where the response message includes a TCP sequence number of an ending byte of a last TCP packet cached by the forwarder;
the processing module 902 is specifically configured to process the TCP packet according to the response message;
the sending module 901 is specifically configured to send a notification message to the forwarder, where the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, the notification message is used by the forwarder to delete one or more TCP packets whose TCP sequence numbers of the end bytes in buffered packets are not greater than the third indication value and are smaller than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
In some embodiments of the present invention, the data portion of the TCP packet includes a sub packet, and the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
In some embodiments of the present invention, the processing module 902 is specifically configured to obtain the routing information of the TCP packet, and perform persistent processing on the routing information.
As can be seen from the above, in some possible embodiments of the present invention, a master controller in a communication system is provided, where the master controller may send a notification message to a repeater, where the notification message includes a third indication value, where the third indication value indicates a TCP sequence number of an ending byte of a last TCP packet that has been processed by the master controller, and the notification message is used by the repeater to delete one or more TCP packets whose TCP sequence numbers of the ending byte in buffered packets are not greater than the third indication value and are smaller than a second indication value, where the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive, so that the following technical effects are achieved:
data backup between the master controller and the slave controller is avoided, the load of the master controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
An embodiment of the present invention further provides a computer storage medium, where a program may be stored, and the program includes, when executed, some or all of the steps of the communication method in the communication system described in the above method embodiment.
Referring to fig. 10, an embodiment of the present invention further provides a repeater 1000 in a communication system.
The repeater 1000 may be a microprocessor computer or a communication device. Such as: the transponder 1000 may be one of portable devices such as a general-purpose computer, a custom-made machine, a mobile phone terminal, and a tablet. The repeater 1000 includes: a processor 1004, a memory 1006, a communication interface 1002, and a bus 1008. The processor 1004, memory 1006, and communication interface 1002 are coupled by a bus 1008 that enables communication therebetween.
The bus 1008 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into one or more of an address bus, a data bus, and a control bus. For ease of illustration, only one thick line is shown in FIG. 10, but this is not intended to represent only one bus or type of bus.
The memory 1006 is used to store executable program code, including computer operating instructions. When the repeater 1000 executes the program code, the repeater 1000 may complete the steps 201 to 203 of the method embodiment shown in fig. 2, or may implement all the functions of the repeater 700 in the apparatus embodiment shown in fig. 7 a. Memory 1006 may comprise high-speed ram (ramdomaccess memory) memory. Optionally, the memory 1006 may further include a non-volatile memory (non-volatile memory). For example, memory 1006 may include disk storage.
Processor 1004 may be a Central Processing Unit (CPU), or processor 1004 may be an Application Specific Integrated Circuit (ASIC), or processor 1004 may be one or more Integrated circuits configured to implement embodiments of the present invention.
A processor 1004, configured to cache the received packet after the repeater 1000 receives the packet from the master controller or the network device; monitoring the processing state of the cached messages, and deleting the messages which are processed in the cached messages;
a communication interface 1002, configured to send, when the controller switches to a new master controller, a message that has not been processed in the cached messages to the new master controller.
Optionally, the communication interface 1002 is further configured to receive an indication value, which is sent by the master controller or the network device and used for indicating a processed packet, and delete the processed packet in the cached packets according to the indication value.
Optionally, the processor 1004 is further configured to confirm the corresponding TCP connection according to a source IP address, a destination IP address, a source port, and a destination port in a header of the received packet; determining a TCP sequence number of the received message based on the confirmed TCP connection; caching the received message and the TCP serial number of the message.
Optionally, the communication interface 1002 is further configured to receive a response message returned by the master controller, where the response message includes a first indication value, and the first indication value indicates a TCP sequence number of an end byte of a last incoming direction packet that has been processed by the master controller;
optionally, the processor 1004 is further configured to delete, from the buffered packets, at least one incoming direction packet whose TCP sequence number of an end byte is not greater than the first indication value
Optionally, the communication interface 1002 is further configured to receive a feedback message returned by the network device, where the feedback message includes a second indication value, and the second indication value indicates a TCP sequence number of a next outgoing direction packet that the network device expects to receive;
optionally, the processor 1004 is further configured to delete, from the buffered packets, at least one outgoing direction packet whose TCP sequence number of the end byte is smaller than the second indication value.
Optionally, the communication interface 1002 is further configured to send a response message to the master controller, where the response message includes a TCP sequence number of an end byte of a last outgoing direction packet in the cached packets; receiving a notification message sent by the main controller, wherein the notification message comprises a third indicating value, and the third indicating value indicates a TCP serial number of an ending byte of a last outgoing direction message processed by the main controller; the processor 1004 is further configured to delete, from the buffered packets, at least one outgoing direction packet whose TCP sequence number of the end byte is smaller than the second indication value and not greater than the third indication value.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
Optionally, the processor 1004 is further configured to buffer the received packets after sorting the received packets according to the TCP sequence number.
Optionally, the processor 1004 is further configured to, when receiving a packet retransmitted by the master controller or the network device, cache the retransmitted packet;
optionally, the communication interface 1002 is further configured to, when the slave controller switches to a new master controller, if the retransmitted packet is an unprocessed packet, send, by the repeater, the retransmitted packet and an original packet of the retransmitted packet to the new master controller together.
Optionally, the processor 1004 is further configured to identify whether the received outgoing direction packet is a fragment of a complete TCP packet according to a fragment flag bit in a packet header of the outgoing direction packet;
optionally, the communication interface 1002 is further configured to, if the processor 1004 identifies yes, start forwarding the fragments of the complete TCP packet to the network device after receiving all the fragments of the complete TCP packet.
It should be noted that each functional unit of the network device provided in the embodiment of the present invention may be based on a specific implementation of the functions of the method provided in the first embodiment and the apparatus provided in the sixth embodiment shown in the drawings, and the definition and description of the terms are consistent with those of the first embodiment and the sixth embodiment, and are not described herein again.
It can be seen from the above that, in some feasible embodiments of the present invention, a repeater in a communication system is provided, where the repeater may receive a message, delete the cached message after confirming that the cached message is processed, and upload the cached message that has not been processed to a new master controller if the master controller performs identity switching, so as to obtain the following technical effects:
the data backup is carried out by utilizing the repeater buffer message, so that the data backup between the main controller and the slave controller is avoided, the burden of the main controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
Referring to fig. 11, an embodiment of the present invention further provides a main controller 1100 in a communication system.
The main controller 1100 may be a micro-processing computer. Such as: the main controller 1100 may be one of portable devices such as a general-purpose computer, a client-customized machine, a mobile phone terminal, and a tablet computer. The main controller 1100 includes: a processor 1104, a memory 1106, a communication interface 1102, and a bus 1108. The processor 1104, memory 1106 and communication interface 1102 are coupled by a bus 1108 and communicate with one another.
The bus 1108 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus may be divided into one or more of an address bus, a data bus, and a control bus. For ease of illustration, only one thick line is shown in FIG. 11, but this is not intended to represent only one bus or type of bus.
Memory 1106 is used to store executable program code, including computer operating instructions. When the main controller 1100 executes the program code, the main controller 1100 may complete the steps 501 to 502 of the fourth embodiment, or may implement all the functions of the main controller 800 in the seventh embodiment. Memory 1106 may include high-speed ram (ramdom Access memory) memory. Optionally, the memory 1106 may also include a non-volatile memory (non-volatile memory). For example, memory 1106 may include disk storage.
Processor 1104 can be a Central Processing Unit (CPU), or processor 1104 can be an Application Specific Integrated Circuit (ASIC), or processor 1104 can be one or more Integrated circuits configured to implement embodiments of the invention.
A communication interface 1102, configured to receive a packet from the network device forwarded by the repeater;
a processor 1104, configured to process the received packet;
the communication interface 1102 is further configured to send, to the repeater, an indication value of the master controller, where the indication value is used to indicate that the packet has been processed.
Optionally, the communication interface 1102 is further configured to send a response message to the repeater, where the response message includes a first indication value, the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the main controller, and the response message is used by the repeater to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in a packet buffered by the repeater.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
Optionally, the processor 1104 is further configured to remove a header of the TCP packet, and obtain a data portion of the TCP packet; recovering a complete sub-message from the data part of the TCP message; and carrying out persistence processing on the sub-message.
It is to be noted that each functional unit of the network device provided in the embodiment of the present invention may be based on a specific implementation of the functions of the method provided in the fourth embodiment and the device provided in the seventh embodiment, and the definition and description of the terms are consistent with those of the fourth embodiment and the seventh embodiment, and are not repeated herein.
As can be seen from the above, in some possible embodiments of the present invention, a master controller in a communication system is provided, where the master controller may send a response message to a repeater, where the response message includes a first indication value, where the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the master controller, and the response message is used by the repeater to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in a packet buffered by the repeater, so that the following technical effects are achieved:
data backup between the master controller and the slave controller is avoided, the load of the master controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
Referring to fig. 12, an embodiment of the present invention further provides a main controller 1200 in a communication system.
The main controller 1200 may be a micro-processing computer. Such as: the main controller 1200 may be one of portable devices such as a general-purpose computer, a client-customized machine, a mobile phone terminal, and a tablet computer. The main controller 1200 includes: a processor 1204, a memory 1206, a communication interface 1202, and a bus 1208. The processor 1204, the memory 1206, and the communication interface 1202 are coupled by a bus 1208 and communicate with each other.
The bus 1208 can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into one or more of an address bus, a data bus, and a control bus. For ease of illustration, only one thick line is shown in FIG. 12, but this is not intended to represent only one bus or type of bus.
The memory 1206 is used to store executable program code, including computer operating instructions. When the main controller 1200 executes the program code, the main controller 1100 may complete the steps 601 to 604 of the fifth embodiment, or may implement all the functions of the main controller 900 in the eighth embodiment. The memory 1206 may comprise a high-speed ram (ramdom Access memory) memory. Optionally, the memory 1206 may also include a non-volatile memory (non-volatile memory). For example, memory 1206 may comprise disk memory.
Processor 1204 may be a Central Processing Unit (CPU), or processor 1204 may be an Application Specific Integrated Circuit (ASIC), or processor 1204 may be one or more Integrated circuits configured to implement embodiments of the present invention.
A communication interface 1202, configured to send a packet to the repeater;
a processor 1204, configured to process the sent packet;
a communication interface 1202, configured to send, to the repeater, an indication value of the master controller, where the indication value is used to indicate that the packet has been processed.
Optionally, the communication interface 1202 is further configured to send the TCP packet to the repeater, where the TCP packet is used by the repeater for caching and then sent to the network device; receiving a response message sent by the repeater, wherein the response message comprises a TCP serial number of an ending byte of the last TCP message cached by the repeater; and sending a notification message to the repeater, where the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an ending byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets, of which the TCP sequence number of the ending byte in a buffered packet is not greater than the third indication value and is less than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
Optionally, the data portion of the TCP packet includes a sub packet, where the sub packet is a border gateway protocol BGP packet or a label distribution protocol LDP packet.
Optionally, the processor 1104 is further configured to obtain routing information of the TCP packet, and perform persistence processing on the routing information.
It is to be noted that each functional unit of the network device provided in the embodiment of the present invention may be based on a specific implementation of the functions of the method provided in the fifth embodiment and the device provided in the eighth embodiment, and the definition and description of the terms are consistent with those of the fifth embodiment and the eighth embodiment, and are not described herein again.
As can be seen from the above, in some possible embodiments of the present invention, a master controller in a communication system is provided, where the master controller may send a notification message to a repeater, where the notification message includes a third indication value, where the third indication value indicates a TCP sequence number of an ending byte of a last TCP packet that has been processed by the master controller, and the notification message is used by the repeater to delete one or more TCP packets whose TCP sequence numbers of the ending byte in buffered packets are not greater than the third indication value and are smaller than a second indication value, where the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive, so that the following technical effects are achieved:
data backup between the master controller and the slave controller is avoided, the load of the master controller and the slave controller can be reduced, the system load is reduced, and the system efficiency and reliability are effectively improved;
moreover, the messages can be cached by a plurality of repeaters, the system load is shared to a plurality of devices, and the main controller can be prevented from becoming a performance bottleneck.
An embodiment of the present invention further provides a communication system, as shown in fig. 1a, the communication system includes a main controller, a repeater, and a network device, wherein,
the repeater is positioned between the main controller and the network equipment and is used for receiving the message of the main controller and forwarding the message to the network equipment or receiving the message of the network equipment and forwarding the message to the main controller; after receiving the message from the main controller or the network equipment, caching the received message, monitoring the processing state of the cached message, and deleting the processed message in the cached message; when the controller is switched to a new main controller, the repeater sends the messages which are not processed in the cached messages to the new main controller;
the main controller is used for sending a message to the repeater and processing the sent message, or receiving the message from the network equipment forwarded by the repeater and processing the received message; and sending an indication value of the main controller and used for indicating the processed message to the repeater;
the network device is used for sending a message to the repeater or receiving a message from the main controller and forwarded by the repeater;
the controller is used for switching to a new main controller when the main controller fails;
the communication system avoids data backup between the master controller and the slave controller, can reduce the burden of the master controller and the slave controller, lightens the system load, and effectively improves the system efficiency and reliability.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to the related descriptions of other embodiments.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by associated hardware instructed by a program, which may be stored in a computer-readable storage medium, and the storage medium may include: ROM, RAM, magnetic or optical disks, and the like.
The communication method and device in the communication system provided by the embodiment of the present invention are described in detail above, and the principle and the embodiment of the present invention are explained in the present document by applying a specific example, and the description of the above embodiment is only used to help understanding the method of the present invention and the core idea thereof; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (37)

1. A communication method in a communication system, wherein the communication system includes a main controller, a repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet from the main controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the main controller, and the method includes:
after receiving the message from the main controller or the network equipment, the repeater caches the received message;
the repeater monitors the processing state of the cached messages and deletes the processed messages in the cached messages;
the repeater monitors state switching between the controller and the main controller; and when the repeater monitors that the controller is switched to a new main controller, the repeater triggers and sends the messages which are not processed in the cached messages to the new main controller.
2. The method of claim 1, wherein the repeater monitors the processing status of the buffered packets and deleting the processed packets from the buffered packets comprises:
and the repeater receives an indicated value which is sent by the main controller or the network equipment and used for indicating the processed message, and deletes the processed message in the cached messages according to the indicated value.
3. The method of claim 2, wherein the packet is a Transmission Control Protocol (TCP) packet, and wherein caching the received packet comprises:
the repeater confirms the corresponding TCP connection according to a source IP address, a destination IP address, a source port and a destination port in a message header of the received message;
and the repeater determines the TCP serial number of the message based on the confirmed TCP connection, and caches the received message and the TCP serial number of the received message.
4. The method according to claim 3, wherein the cached messages include incoming direction messages sent by the network device to the master controller, and the monitoring, by the repeater, the processing status of the cached messages, and the deleting of the processed messages from the cached messages includes:
the repeater receives a response message returned by the main controller, wherein the response message comprises a first indicating value, and the first indicating value indicates a TCP serial number of an ending byte of a last incoming direction message which is processed by the main controller;
and the repeater deletes at least one incoming direction message of which the TCP serial number of the ending byte is not more than the first indicating value from the cached message according to the first indicating value.
5. The method according to claim 3 or 4, wherein the cached messages include outgoing direction messages sent by the master controller to the network device, and the monitoring, by the repeater, the processing status of the cached messages, and the deleting of the processed messages in the cached messages includes:
the repeater receives a feedback message returned by the network equipment, wherein the feedback message comprises a second indication value, and the second indication value indicates a TCP serial number of a next outgoing direction message expected to be received by the network equipment;
and deleting at least one outgoing direction message of which the TCP sequence number of the ending byte is smaller than the second indication value from the cached message.
6. The method of claim 5, further comprising:
the repeater sends a response message to the main controller, wherein the response message comprises a TCP serial number of an ending byte of the last outgoing direction message in the cached messages;
the repeater receives a notification message sent by the main controller, wherein the notification message comprises a third indicating value, and the third indicating value indicates a TCP serial number of an ending byte of the last outgoing direction message processed by the main controller;
the deleting, from the buffered message, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value includes: and deleting at least one outgoing direction message of which the TCP sequence number of the ending byte is smaller than the second indication value and not larger than the third indication value from the cached message.
7. The method according to claim 3 or 4 or 6,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
8. The method according to claim 3, 4 or 6, wherein the buffering the received packet and the TCP sequence number of the received packet comprises:
and the repeater buffers the received messages after sequencing the messages according to the TCP serial number.
9. The method according to any one of claims 1 to 4 or the method according to claim 6,
the caching the received message comprises: when the repeater receives the message retransmitted by the main controller or the network equipment, caching the retransmitted message;
when the controller is switched to a new main controller, the forwarding device sending the message which is not processed in the cached messages to the new main controller comprises: when the controller is switched to a new main controller, if the retransmitted message is a message which is not processed yet, the repeater sends the retransmitted message and the original message of the retransmitted message to the new main controller together.
10. The method of claim 6, further comprising:
the repeater identifies whether the received outgoing direction message is a complete TCP message fragment according to a fragment marking bit in a message header of the outgoing direction message;
if yes, the forwarder starts to forward the fragments of the complete TCP message to the network equipment after receiving all the fragments of the complete TCP message.
11. A communication method in a communication system, wherein the communication system includes a main controller, a repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet from the main controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the main controller, and the method includes:
the main controller receives the message from the network equipment forwarded by the repeater and processes the received message;
the main controller sends an indication value for indicating the processed messages to the repeater so that the repeater deletes the processed messages in the cached messages, and when the repeater monitors that the controller is switched to a new main controller, the repeater triggers the unprocessed messages in the cached messages to be sent to the new main controller.
12. The method of claim 11, wherein the packet is a Transmission Control Protocol (TCP) packet, and wherein sending, by the master controller to the forwarder, an indication value indicating that the packet has been processed by the master controller comprises:
the main controller sends a response message to the repeater, the response message comprises a first indicating value, the first indicating value indicates a TCP serial number of an ending byte of a last TCP message which is processed by the main controller, and the response message is used by the repeater for deleting at least one TCP message of which the TCP serial number of the ending byte is not more than the first indicating value in the TCP messages cached by the repeater.
13. The method of claim 12,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
14. The method of claim 13, wherein the processing the received packet comprises:
removing a message header of the TCP message to obtain a data part of the TCP message;
recovering a complete sub-message from the data part of the TCP message;
and carrying out persistence processing on the sub-message.
15. A communication method in a communication system, wherein the communication system includes a main controller, a repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet from the main controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the main controller, and the method includes:
the main controller sends a message to the repeater, and the sent message is used for caching by the repeater and then is sent to the network equipment;
the master control processes the sent message;
the main controller sends an indication value for indicating the processed messages to the repeater so that the repeater deletes the processed messages in the cached messages, and when the repeater monitors that the controller is switched to a new main controller, the repeater triggers the unprocessed messages in the cached messages to be sent to the new main controller.
16. The method of claim 15, wherein the packet is a Transmission Control Protocol (TCP) packet, and wherein the processing of the packet by the master control comprises:
the main control receives a response message sent by the repeater, wherein the response message comprises a TCP serial number of an ending byte of the last TCP message cached by the repeater;
the master control processes the TCP message according to the response message;
the sending, by the master controller to the forwarder, an indication value of the master controller for indicating that the processed packet is complete includes:
the main controller sends a notification message to the repeater, the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an ending byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets in a buffered packet, the TCP sequence number of the ending byte of the buffered packet is not greater than the third indication value and is less than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
17. The method of claim 16,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
18. The method of claim 17, wherein the processing of the TCP packet by the host controller comprises:
and acquiring the routing information of the TCP message, and performing persistence processing on the routing information.
19. A repeater in a communication system, wherein the communication system includes a main controller, a controller, the repeater and a network device, the repeater is located between the main controller and the network device, and is configured to receive a packet from the main controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the main controller, and the repeater includes:
a buffer module, configured to buffer the received packet after the repeater receives the packet from the master controller or the network device;
the processing module is used for monitoring the processing state of the cached messages and deleting the processed messages in the cached messages;
the sending module is used for monitoring state switching between the controller and the main controller; and when the controller is monitored to be switched to a new main controller, triggering and sending the messages which are not processed in the cached messages to the new main controller.
20. Repeater in a communication system according to claim 19,
the repeater further includes: a receiving module, configured to receive an indication value, sent by the master controller or the network device, for indicating a processed packet;
the processing module is specifically configured to delete a processed packet in the cached packets according to the indication value.
21. The repeater according to claim 20, wherein the packet is a transmission control protocol TCP packet, and the buffer module comprises:
a confirming unit, configured to confirm a corresponding TCP connection according to a source IP address, a destination IP address, a source port, and a destination port in a header of the received packet;
a determining unit, configured to determine a TCP sequence number of the packet based on the confirmed TCP connection;
and the caching unit is used for caching the received message and the TCP serial number of the received message.
22. The repeater according to claim 21, wherein the buffered packets include an incoming direction packet sent by the network device to the master controller,
the repeater further includes: a receiving module, configured to receive a response message returned by the host controller, where the response message includes a first indication value, and the first indication value indicates a TCP sequence number of an end byte of a last incoming direction packet that has been processed by the host controller;
the processing module is specifically configured to delete, from the buffered packet, at least one incoming direction packet whose TCP sequence number of the end byte is not greater than the first indication value.
23. The repeater according to claim 21 or 22, wherein the buffered packets include an outbound packet sent by the master controller to the network device,
the repeater further includes: a receiving module, configured to receive a feedback message returned by the network device, where the feedback message includes a second indication value, and the second indication value indicates a TCP sequence number of a next outgoing direction packet expected to be received by the network device;
the processing module is specifically configured to delete, from the cached messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value.
24. The repeater in a communication system according to claim 23,
the sending module is further configured to send a response message to the main controller, where the response message includes a TCP sequence number of an end byte of a last outgoing direction packet in the cached packets;
the receiving module is further configured to receive a notification message sent by the main controller, where the notification message includes a third indication value, and the third indication value indicates a TCP sequence number of an end byte of a last outgoing direction packet that has been processed by the main controller;
the processing module is specifically configured to delete, from the cached messages, at least one outgoing direction message whose TCP sequence number of the end byte is smaller than the second indication value and not larger than the third indication value.
25. Repeater in a communication system according to claim 21 or 22 or 24,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
26. Repeater in a communication system according to claim 21 or 22 or 24,
the cache unit is specifically configured to cache the received messages after the messages are sorted according to the TCP sequence numbers.
27. Repeater in a communication system according to claim 20 or 21 or 22 or 24,
the cache module is further configured to cache the retransmitted message when the repeater receives the message retransmitted by the master controller or the network device;
the sending module is further configured to, when the controller switches to a new main controller, if the retransmitted message is an unprocessed message, send, by the repeater, the retransmitted message and an original message of the retransmitted message to the new main controller together.
28. The repeater in a communication system according to claim 24,
the processing module is further configured to identify whether the received outgoing direction packet is a complete TCP packet fragment according to a fragment flag in a packet header of the outgoing direction packet;
the sending module is further configured to, if it is identified that the received outgoing direction packet is a fragment of a complete TCP packet, start forwarding the fragment of the complete TCP packet to the network device after receiving all fragments of the complete TCP packet.
29. A master controller in a communication system, wherein the communication system includes the master controller, a slave controller, a repeater and a network device, the repeater is located between the master controller and the network device, and is configured to receive a packet from the master controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the master controller, the master controller includes:
a receiving module, configured to receive a packet from the network device forwarded by the repeater;
the processing module is used for processing the received message;
and the sending module is used for sending an indication value for indicating the processed message to the repeater so that the repeater deletes the processed message in the cached message, and when the repeater monitors that the controller is switched to a new main controller, the repeater triggers the unprocessed message in the cached message to be sent to the new main controller.
30. The host controller according to claim 29, wherein the message is a Transmission Control Protocol (TCP) message,
a sending module, configured to send a response message to the forwarder, where the response message includes a first indication value, the first indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the main controller, and the response message is used by the forwarder to delete at least one TCP packet whose TCP sequence number of the end byte is not greater than the first indication value in TCP packets cached by the forwarder.
31. The master controller in a communication system according to claim 30,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
32. The master controller in a communication system according to claim 31,
the processing module is specifically configured to remove a packet header of the TCP packet and obtain a data portion of the TCP packet; recovering a complete sub-message from the data part of the TCP message; and carrying out persistence processing on the sub-message.
33. A master controller in a communication system, wherein the communication system includes a master controller, a slave controller, a repeater and a network device, the repeater is located between the master controller and the network device, and is configured to receive a packet from the master controller and forward the packet to the network device, or receive a packet from the network device and forward the packet to the master controller, the master controller includes:
a sending module, configured to send a message to the repeater, where the message is used by the repeater to be cached and then sent to the network device;
the processing module is used for processing the message;
the sending module is further configured to send, by the main controller, an indication value for indicating a processed packet to the repeater, so that the repeater deletes the processed packet in the buffered packet, and when the repeater monitors that the controller switches to a new main controller, the repeater triggers sending of an unprocessed packet in the buffered packet to the new main controller.
34. The master controller in a communication system according to claim 33,
the main controller further includes: a receiving module, configured to receive a response message sent by the forwarder, where the response message includes a TCP sequence number of an end byte of a last TCP packet cached by the forwarder;
the processing module is specifically configured to process the TCP packet according to the response message;
the sending module is specifically configured to send a notification message to the repeater, where the notification message includes a third indication value, the third indication value indicates a TCP sequence number of an end byte of a last TCP packet that has been processed by the main controller, the notification message is used by the repeater to delete one or more TCP packets whose TCP sequence numbers of the end byte in buffered packets are not greater than the third indication value and are smaller than a second indication value, and the second indication value indicates a TCP sequence number of a next TCP packet that the network device expects to receive.
35. The master controller in a communication system according to claim 34,
the data part of the TCP message comprises a sub-message, and the sub-message is a Border Gateway Protocol (BGP) message or a Label Distribution Protocol (LDP) message.
36. The master controller in a communication system according to claim 35,
the processing module is specifically configured to obtain the routing information of the TCP packet, and perform persistent processing on the routing information.
37. A communication system, characterized in that the communication system comprises a master controller, a slave controller, a repeater and a network device, wherein,
the repeater is positioned between the main controller and the network equipment and is used for receiving the message of the main controller and forwarding the message to the network equipment or receiving the message of the network equipment and forwarding the message to the main controller; after receiving the message from the main controller or the network equipment, caching the received message, monitoring the processing state of the cached message, and deleting the processed message in the cached message; the repeater monitors state switching between the controller and the main controller, and when the repeater monitors that the controller is switched to a new main controller, the repeater triggers and sends a message which is not processed in the cached message to the new main controller;
the main controller is used for sending a message to the repeater and processing the sent message, or receiving the message from the network equipment forwarded by the repeater and processing the received message; and sending an indication value for indicating the processed message to the repeater;
the network device is used for sending a message to the repeater or receiving a message from the main controller and forwarded by the repeater;
and the controller is used for switching to a new main controller when the main controller fails.
CN201580000771.3A 2015-04-30 2015-04-30 Communication method, equipment and system in communication system Active CN106576108B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/077980 WO2016172926A1 (en) 2015-04-30 2015-04-30 Communication method and device, and system in communication system

Publications (2)

Publication Number Publication Date
CN106576108A CN106576108A (en) 2017-04-19
CN106576108B true CN106576108B (en) 2020-05-08

Family

ID=57197958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580000771.3A Active CN106576108B (en) 2015-04-30 2015-04-30 Communication method, equipment and system in communication system

Country Status (2)

Country Link
CN (1) CN106576108B (en)
WO (1) WO2016172926A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046486A (en) * 2017-06-16 2017-08-15 郑州云海信息技术有限公司 A kind of fail-over system acted on behalf of based on controller
CN110798276B (en) * 2018-08-02 2022-11-11 全球能源互联网研究院有限公司 Time synchronization method and system for SDN (software defined network) of intelligent substation
CN112039863B (en) * 2020-08-25 2022-04-15 烽火通信科技股份有限公司 Method and equipment for backup and smoothing of TCP stream in TCP hot standby architecture
CN112187519A (en) * 2020-09-09 2021-01-05 中盈优创资讯科技有限公司 Multi-activity concurrency method and device for realizing policy control based on BGP (Border gateway protocol)
CN113961212B (en) * 2021-10-29 2024-05-10 重庆长安汽车股份有限公司 OTA installation package deployment method and system based on Ethernet and method for upgrading vehicle controller
CN114124581B (en) * 2022-01-27 2022-05-17 深圳融安网络科技有限公司 Message processing method, firewall and readable storage medium
US11722570B1 (en) * 2022-05-13 2023-08-08 Microsoft Technology Licensing, Llc Sharing SDN policy state information between SDN appliances
CN115550250B (en) * 2022-11-17 2023-04-07 鹏城实验室 Small flow message retransmission method, system, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916217A (en) * 2010-08-04 2010-12-15 中兴通讯股份有限公司 Method, control device and system for switching a plurality of controllers
CN103944974A (en) * 2014-04-02 2014-07-23 华为技术有限公司 Method for processing protocol messages, method for processing faults of controllers and related device
CN104426789A (en) * 2013-08-23 2015-03-18 杭州华三通信技术有限公司 Forwarding equipment control method in software defined network and equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916217A (en) * 2010-08-04 2010-12-15 中兴通讯股份有限公司 Method, control device and system for switching a plurality of controllers
CN104426789A (en) * 2013-08-23 2015-03-18 杭州华三通信技术有限公司 Forwarding equipment control method in software defined network and equipment
CN103944974A (en) * 2014-04-02 2014-07-23 华为技术有限公司 Method for processing protocol messages, method for processing faults of controllers and related device

Also Published As

Publication number Publication date
WO2016172926A1 (en) 2016-11-03
CN106576108A (en) 2017-04-19

Similar Documents

Publication Publication Date Title
CN106576108B (en) Communication method, equipment and system in communication system
US7801135B2 (en) Transport protocol connection synchronization
CN107347021B (en) SDN-based reliable transmission method
JP4564228B2 (en) Structure and method for transparently encoding and transmitting network communication data online and in cross session
US11799760B2 (en) Router device using flow duplication
EP3972226A1 (en) Network packet flow controller with extended session management
US7542476B2 (en) Method and system for manipulating IP packets in virtual private networks
EP3574679B1 (en) Lossless handover for mobility with location identifier separation protocol in 3rd generation partnership project networks
WO2018187135A1 (en) A proxy for serving internet-of-things (iot) devices
US7965625B2 (en) Communication device and logical link abnormality detection method
JP2017529713A (en) Computer network packet flow controller
US20150373135A1 (en) Wide area network optimization
CN112154627B (en) Service-related routing method and device
US7535916B2 (en) Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications
CN106533771B (en) Network equipment and control information transmission method
CN110381007B (en) TCP acceleration method and device
KR20210105372A (en) Data retransmission instruction, processing method and device
JP2017139680A (en) Communication device and transfer device control method
JP6718739B2 (en) Communication device and communication method
US8639822B2 (en) Extending application-layer sessions based on out-of-order messages
CN106209733B (en) A kind of data processing method and device
WO2024001701A1 (en) Data processing method, apparatus and system
WO2023093804A1 (en) Packet loss management method and related apparatus
CN116366398A (en) Data transmission method, device, electronic equipment and storage medium
CN114640482A (en) Method, device and system for managing tunnel

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
GR01 Patent grant
GR01 Patent grant