WO2023169270A1 - 报文处理方法及电子设备 - Google Patents

报文处理方法及电子设备 Download PDF

Info

Publication number
WO2023169270A1
WO2023169270A1 PCT/CN2023/078954 CN2023078954W WO2023169270A1 WO 2023169270 A1 WO2023169270 A1 WO 2023169270A1 CN 2023078954 W CN2023078954 W CN 2023078954W WO 2023169270 A1 WO2023169270 A1 WO 2023169270A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
information
label
switch
packet
Prior art date
Application number
PCT/CN2023/078954
Other languages
English (en)
French (fr)
Inventor
张先国
Original Assignee
阿里巴巴(中国)有限公司
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 阿里巴巴(中国)有限公司 filed Critical 阿里巴巴(中国)有限公司
Publication of WO2023169270A1 publication Critical patent/WO2023169270A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present disclosure relates to the field of network technology, and specifically to message processing methods and electronic devices.
  • VPC Virtual Private Cloud
  • VPC is a private cloud platform based on virtualization technology, which can integrate network, security, A series of virtual resources such as storage and computing are combined for users to use on demand, providing safe and convenient IT service applications.
  • VPC service providers can provide each user with a customized network. In this customized network, users need to be provided with various entities in the network, such as virtual switches.
  • the virtual switch when the virtual switch is working, it can update its own session table according to the established session.
  • the session table can be used to save the five-tuple information of the corresponding message.
  • the corresponding message can It is understood that the message belongs to the session established through the virtual switch.
  • the virtual switch When the virtual switch receives the message, it can query the session table according to the five-tuple information of the received message to determine whether the received message is It belongs to the session established through this virtual switch. If it is determined, the packet can be forwarded.
  • embodiments of the present disclosure provide message processing methods and electronic devices.
  • an embodiment of the present disclosure provides a packet processing method, wherein the method is applied to a first switch, and the method includes:
  • the first message label is obtained according to the first secret key corresponding to the first switch and the first five-tuple information
  • the second message is forwarded.
  • sending the first message includes:
  • the first message is sent.
  • the method in response to the first message including the first message tag and before sending the first message, the method further includes:
  • sending the first message includes:
  • the first message is sent.
  • the method before receiving the second message, the method further includes:
  • the first message tag is inserted into the first message, and the first message with the first message tag inserted is sent.
  • obtaining the first message includes:
  • Methods also include:
  • Send first packet identification update information where the first packet identification update information is used to indicate the first five-tuple information and the corresponding relationship between the first switch and the first packet label.
  • the implementation of the present disclosure provides a message processing method, wherein the method is applied to the first session end, and the method includes:
  • the method before obtaining the first packet label corresponding to the first quintuple information and the first switch, the method further includes:
  • Query is performed in the first packet identification database according to the first quintuple information and the identification corresponding to the first switch to obtain the first packet label.
  • obtaining the first packet label corresponding to the first quintuple information and the first switch includes:
  • the second message is The second packet label in is determined as the first packet label.
  • the implementation of the present disclosure provides a message processing method, wherein the method is applied to the second switch, and the method includes:
  • the second message is sent, and the second message label is based on Obtain the first secret key and the second quintuple information.
  • the second message in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and the second message including the second message tag, the second message is sent Articles, including:
  • the destination information in the second quintuple information matching the source information in the first quintuple information, and the second packet including the second packet tag send the second message.
  • the method in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and the second message including the second message tag, the second message is sent Before this article, the method also includes:
  • sending the second packet includes:
  • the second packet is sent.
  • the method further includes:
  • the second packet label is Insert the second message, and send the second message after inserting the second message label.
  • obtaining the second message includes:
  • Methods also include:
  • Send second packet identification update information and the second packet identification update information is used to indicate the second five-tuple information and the corresponding relationship between the first switch and the second packet label.
  • the implementation of the present disclosure provides a message processing method, wherein the method is applied to the second session end, and the method includes:
  • the method before obtaining the second packet label corresponding to the second quintuple information and the first switch, the method further includes:
  • Query is performed in the second packet identification database according to the first five-tuple information and the identification corresponding to the first switch to obtain the second packet label.
  • obtaining the first message sent by the first session terminal includes:
  • the first message is The first packet label in is determined as the second packet label.
  • the present disclosure provides a message processing device, which includes:
  • the first message acquisition module is configured to acquire the first message, and parse the first message to obtain the first quintuple information
  • the first message sending module is configured to send the first message in response to the first message including a first message label, and the first message label is based on the first secret key corresponding to the first switch and the first five Tuple information acquisition;
  • the first message receiving module is configured to receive the second message, parse the second message to obtain the second five-tuple information and the second message label in the second message, and receive the second message according to the second message.
  • the tag and the second 5-tuple information are used to obtain the second secret key;
  • the first message forwarding module is configured to forward the second message in response to the second secret key matching the first secret key.
  • the present disclosure provides a message processing device.
  • the device includes:
  • the first five-tuple acquisition module is configured to obtain the first five-tuple information of the first to-be-sent message belonging to the target session in response to the target session between the first session end and the second session end being established, and Determine the first switch used to connect the first session end to the network;
  • the first label insertion module is configured to obtain a first message label corresponding to the first quintuple information and the first switch, and insert the first message label into the first message to be sent, to obtain the first message label.
  • the second message sending module is configured to send the first message.
  • the present disclosure provides a message processing device.
  • the device includes:
  • the second message receiving module is configured to receive the first message and parse the first message to obtain the first five-tuple information and the first message label in the first message;
  • the first secret key acquisition module is configured to obtain the first secret key according to the first five-tuple information and the first message label;
  • the second five-tuple acquisition module is configured to obtain the second message, and parse the second message to obtain the second five-tuple information of the second message;
  • the third message sending module is configured to send the second message in response to the destination information in the second five-tuple information matching the source information in the first five-tuple message, and the second message includes a second message label.
  • the second message label is obtained based on the first secret key and the second five-tuple information.
  • the present disclosure provides a message processing device.
  • the device includes:
  • the second message acquisition module is configured to acquire the first message sent by the first session end in response to the target session between the first session end and the second session end having been established;
  • the third quintuple acquisition module is configured to determine the first switch used to connect the first session end to the network, and obtain Get the second 5-tuple information of the second message to be sent belonging to the target session;
  • the second label insertion module is configured to obtain a second message label corresponding to the second quintuple information and the first switch, and insert the second message label into the second message to be sent, to obtain the second message label.
  • the fourth message sending module is configured to send the second message.
  • the present disclosure provides an electronic device, including a memory and at least one processor; the memory is used to store one or more computer instructions, and the one or more computer instructions are executed by at least one processor to implement the first The method steps described in any implementation manner from the first aspect to the fourth aspect.
  • an implementation manner of the present disclosure provides a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed by a processor, the implementation methods described in any one of the first to fourth aspects are implemented. Method steps.
  • an implementation manner of the present disclosure provides a computer program product, which includes computer instructions.
  • the computer instructions are executed by a processor, the method steps described in any implementation manner of the first to fourth aspects are implemented.
  • the second switch that receives the first message can obtain the first five-tuple based on the first message. information and the first packet label, so as to obtain the first packet label based on the first quintuple information and the first packet label, and the second switch can determine which route the first packet passes through based on the first packet label. Sent by the switch.
  • the second switch can ensure that the second message includes the second message label obtained according to the second secret key and the second five-tuple information of the second message, where if the second If the message and the first message belong to the same session, the second secret key can be matched with the first secret key.
  • the first switch parses the second message to obtain the second quintuple information and the second message label in the second message, and performs the processing according to the second message label and the second quintuple.
  • the group information obtains the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the embodiment of the present disclosure by sending the first message in response to the first five-tuple information matching the first access control list and the first message including the first message tag, it can be ensured that the first message is sent through the first message.
  • the security of the packets forwarded by the switch is relatively high.
  • the first inspection result is obtained by checking whether the first message includes the first message tag, and in response to determining that the first message includes the first message tag according to the first inspection result
  • the speed of sending the first message can be accelerated, thereby reducing the delay in sending the message and improving the user experience.
  • the first message tag is inserted into the first message, and the inserted first message is sent.
  • the first message after the label can ensure that the first message sent by the first switch includes the first message label, so as to avoid the first message sent by the first switch not including the first message label.
  • the switch that receives the first message cannot determine through which switch the first message was sent.
  • the first message identifier update information indicating the first five-tuple information and the corresponding relationship between the first switch and the first message label can enable the first session end to learn the third message identifier update information based on the first message identifier update information.
  • the first five-tuple information and the corresponding relationship between the first switch and the first message label can be based on the first five-tuple information of the first message and used to send the first message when the first message needs to be sent.
  • the first switch of a message obtains the first message label and inserts the first message label into the first message, thereby ensuring that the first message sent by the first session end includes the first message label.
  • the first five-tuple information of the first message to be sent belonging to the target session is obtained, and Determine a first switch for connecting the first session end to the network.
  • Enable the first switch to receive the first message including the first message label, so that the first switch can parse the first message to obtain the first five-tuple information, and respond to the first message including the first A message label, sending the first message.
  • the first message label is obtained based on the first secret key and the first five-tuple information corresponding to the first switch. Therefore, the second switch that receives the first message can obtain the first five-tuple based on the first message. information and the first packet label, so as to obtain the first packet label based on the first quintuple information and the first packet label, and the second switch can determine which route the first packet passes through based on the first packet label. Sent by the switch. When the second switch sends the second message, the second switch can ensure that the second message includes the second message label obtained according to the second secret key and the second five-tuple information of the second message, where if the second If the message and the first message belong to the same session, the second secret key can be matched with the first secret key.
  • the first switch parses the second message to obtain the second quintuple information and the second message label in the second message, and performs the processing according to the second message label and the second quintuple.
  • the group information obtains the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch. Therefore, in response to the second secret key and the first secret key, The first secret key matches and the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the technical solution provided by the embodiment of the present disclosure by receiving the first message identifier update information sent by the first switch and updating the first message identifier database according to the first message identifier update information, according to the first five-tuple
  • the information and the identification corresponding to the first switch are queried in the first packet identification database to obtain the first packet label, which can ensure that the obtained first packet label is based on the first five instructions indicated by the first switch.
  • the tuple information and the corresponding relationship between the first switch and the first message label are obtained, ensuring that the switch that receives the first message can determine which switch the first message is sent through based on the first message label. of.
  • the second five-tuple information of the second message is obtained, in response to the second five-tuple
  • the source information of the tuple information matches the destination information of the first quintuple information
  • the destination information of the second quintuple information matches the source information of the first quintuple information, that is, it is determined that the second message is the same as the first message.
  • the second message label in the second message is determined as the first message label.
  • the second message label in the second message can be obtained by the second switch based on the target message label algorithm, substituting the second quintuple information and the first secret key for calculation, and based on the target message
  • the label algorithm substitutes the second quintuple information and the first secret key into the calculated message label and the first quintuple information and
  • the message labels obtained by substituting the first secret key for calculation can be the same. Therefore, when the above conditions are met, the second message label in the second message can be directly determined as the first message label, which speeds up the acquisition of the first message. The speed of text labeling.
  • the first message is received and the first message is parsed to obtain the first quintuple information and the first message tag in the first message.
  • the first message is sent by the first switch in response to the first message including a first message label, where the first message label is obtained based on the first secret key and the first five-tuple information corresponding to the first switch.
  • the second switch that receives the first message can obtain the first secret key according to the first quintuple information and the first message label, obtain the second message, and parse the second message to obtain the second message.
  • the second 5-tuple information of the message in response to the destination information in the second 5-tuple information matching the source information in the first 5-tuple information, that is, it is determined that the second message and the first message belong to the same session, and
  • the second message includes a second message label, and the second message is sent.
  • the second message label is obtained according to the first secret key and the second five-tuple information.
  • the first switch parses the second message to obtain the second quintuple information and the second message label in the second message, and performs the processing according to the second message label and the second quintuple.
  • the group information obtains the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch. Therefore, in response to the second secret key and the first secret key, The first secret key matches and the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the second message in response to the second quintuple information matching the second access control list, the destination information in the second quintuple information matching the source information in the first quintuple information, Moreover, the second message includes a second message label, and sending the second message can ensure that the message forwarded by the second switch has high security.
  • the second check result is obtained by checking whether the second message includes the second message tag, and in response to the destination information in the second quintuple information and the first quintuple The source information in the information matches, and it is determined according to the second check result that the second message includes the second message label.
  • Sending the second message can speed up the sending of the second message when the second message already includes the second message label. The speed of messages reduces the delay in sending messages and improves user experience.
  • the embodiment of the present disclosure in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and determining based on the second check result that the second message does not include the Second message label, insert the second message label into the second message, and send the second message after inserting the second message label, which can ensure that the second message sent through the second switch includes the second message.
  • message label to prevent the switch receiving the second message from being unable to determine that the second message belongs to the same message as the message sent through that switch because the second message sent by the second switch does not include the second message label. session.
  • the second message identifier update information indicating the second five-tuple information and the corresponding relationship between the first switch and the second message label can enable the second session end to learn the second message identifier update information based on the second message identifier update information.
  • the two-five-tuple information and the corresponding relationship between the first switch and the second message label can be used to send the second message based on the second five-tuple information of the second message and the second message label.
  • the first switch that the second message belongs to the first message of the same session obtains the second message label and inserts the second message label into the second message, thereby ensuring that the second message sent by the second session end Both include the second message label.
  • the technical solution by responding to the target between the first session end and the second session end
  • the session has been established, and the first message sent by the first session end is obtained;
  • the first switch used to connect the first session end to the network is determined, and the second five-tuple of the second to-be-sent message belonging to the target session is obtained. information; obtain the second message label corresponding to the second five-tuple information and the first switch, and insert the second message label into the second message to be sent to obtain the second message; send the second message .
  • the above solution can enable the second switch to receive the second message including the second message label, thereby ensuring that the second message sent by the second switch includes the second message label.
  • the first switch can obtain the second five-tuple information and the second message by receiving the second message and parsing the second message.
  • the second message label in the message can be obtained according to the second message label and the second 5-tuple information.
  • the second message can be determined. It belongs to the same session as the message previously sent through the first switch, so in response to the second secret key matching the first secret key, the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the first message sent by the first session end is obtained; and the first message sent by the first session end is determined; Access the first switch of the network, and obtain the second five-tuple information of the second to-be-sent message belonging to the target session; obtain the second message label corresponding to the second five-tuple information and the first switch, and put The second message label is inserted into the second message to be sent to obtain the second message; and the second message is sent.
  • the above solution can enable the second switch to receive the second message including the second message label, thereby ensuring that the second message sent by the second switch includes the second message label.
  • the first switch can obtain the second five-tuple information and the second message by receiving the second message and parsing the second message.
  • the second message label in the message can be obtained according to the second message label and the second 5-tuple information.
  • the second message can be determined. It belongs to the same session as the message previously sent through the first switch, so in response to the second secret key matching the first secret key, the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the second message identification update information sent by the second switch by receiving the second message identification update information sent by the second switch, and updating the second message identification database according to the second message identification update information, according to the second five-tuple
  • the information and the identifier corresponding to the first switch are queried in the second message identification database to obtain the second message label, which can ensure that the obtained second message label is based on the second message label indicated by the first switch and the second message label.
  • the tuple information and the corresponding relationship between the first switch and the second message label are obtained, ensuring that the switch that receives the second message can determine which switch the second message is sent through based on the second message label. of.
  • the first packet label in the first packet is determined as the second packet label.
  • the first message label in the first message may be obtained by the first switch based on the target message label algorithm, substituting the first quintuple information and the first secret key for calculation, and based on the target message
  • the label algorithm substitutes the second 5-tuple information and the first secret key for calculation and obtains a message label that can be the same as the first 5-tuple information and the first secret key for calculation. Therefore, when the above conditions are met , you can directly The first message label in the first message is determined as the second message label, which speeds up the acquisition of the second message label.
  • Figure 1 shows a schematic structural block diagram of a message processing system according to an embodiment of the present disclosure.
  • FIG. 2 shows a flow chart of a message processing method according to an embodiment of the present disclosure.
  • Figure 3 shows a flow chart of a message processing method according to an embodiment of the present disclosure.
  • Figure 4 shows a flow chart of a message processing method according to an embodiment of the present disclosure.
  • Figure 5 shows a flow chart of a message processing method according to an embodiment of the present disclosure.
  • FIG. 6 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • FIG. 7 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • Figure 8 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • Figure 9 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • FIG. 10 shows a structural block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of a computer system suitable for implementing a method according to an embodiment of the present disclosure.
  • the inventor of the present disclosure considered the following solution:
  • the virtual switch when the virtual switch is working, it can modify its own session table based on the established session. Update, where the session table can be used to save the five-tuple information of the corresponding message.
  • the corresponding message can be understood as the message to which the session established through the virtual switch belongs.
  • the virtual switch receives the message, it can The five-tuple information of the message is queried in the session table to determine whether the received message belongs to the session established through the virtual switch. If it is determined, the received message can be forwarded.
  • this solution is applied to the first switch, by obtaining the first message, parsing the first message to obtain the first five-tuple information, and responding to The first message includes a first message label, and the first message is sent.
  • the first message label is obtained based on the first secret key and the first five-tuple information corresponding to the first switch. Therefore, the second switch that receives the first message can obtain the first five-tuple based on the first message. group information and the first message label, thereby obtaining the first message label based on the first quintuple information and the first message label, and the second switch can determine whether the first message is processed based on the first message label. Sent by that switch.
  • the second switch can ensure that the second message includes the second message label obtained according to the second secret key and the second five-tuple information of the second message, where if the second If the message and the first message belong to the same session, the second secret key can be matched with the first secret key.
  • the first switch parses the second message to obtain the second quintuple information and the second message label in the second message, and performs the processing according to the second message label and the second quintuple.
  • the group information obtains the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the present disclosure proposes a message processing method and electronic device.
  • Figure 1 shows a schematic structural block diagram of a message processing system according to an embodiment of the present disclosure.
  • the message processing system includes a first session end 101, a first switch 102, a second switch 103 and a second switch 103. Session side 104.
  • the first session end 101 is used to send messages sent to the network to the first switch 102, and receive messages from the network belonging to the first session end 101 through the first switch 102.
  • the first session end 101 can be a virtual machine (Virtual Machine, VM) or a physical machine.
  • VM Virtual Machine
  • the first switch 102 is used to forward the packets sent by the first session end 101 to the network to the network, forward the packets from the network belonging to the first session end 101 to the first session end 101, and send messages to the first session end 101 to the network. 101 messages are managed.
  • the first switch 102 may be a switch or a virtual switch.
  • the second switch 103 is used to forward the packets from the network belonging to the second session end 104 to the second session end 104, forward the packets sent by the second session end 104 to the network to the network, and send messages to the second session end 104. 104 messages are managed.
  • the second switch 103 may be a switch or a virtual switch.
  • the second session end 104 is configured to receive messages from the network belonging to the second session end 104 through the second switch 103, and send the messages sent to the network to the second switch 103.
  • the second session end 104 may be a virtual machine or a physical machine.
  • the virtual machine can be understood as the virtualization layer running on the virtualization platform.
  • a virtual machine can be one or more independent hosts (i.e., cloud hosts) or one or more independent servers (i.e., cloud servers) that are divided by the virtualization technology on a cluster server;
  • a virtual machine may be one or more virtual hosts implemented using the virtualization technology on one or more physical hosts, or may be one or more physical servers using the virtualization technology.
  • Physical machine can be understood as the name of the physical computer relative to the virtual machine.
  • the physical machine can provide the hardware environment to the virtual machine.
  • a switch can be understood as a network device used for data transfer.
  • a switch can provide a transmission channel for any two network nodes connected to itself.
  • a virtual switch can be understood as meaning that after a virtual machine is obtained based on virtualization of a physical machine, a corresponding virtual switch can be virtualized for the virtual machine.
  • the virtual machine can communicate with other virtual machines or physical machines through the virtual switch.
  • Figure 2 shows a flow chart of a packet processing method according to an embodiment of the present disclosure. The method is applied to the first switch. As shown in Figure 2, the packet processing method includes steps S101, S102, S103, and S104.
  • step S101 the first message is obtained, and the first message is parsed to obtain the first quintuple information.
  • step S102 in response to the first message including a first message label, the first message is sent, and the first message label is obtained according to the first secret key corresponding to the first switch and the first five-tuple information.
  • step S103 the second message is received, the second message is parsed to obtain the second five-tuple information and the second message label in the second message, and the second message is analyzed according to the second message label and the second five-tuple information. Tuple information to obtain the second secret key.
  • step S104 in response to the second secret key matching the first secret key, the second message is forwarded.
  • the first message can be understood as a message sent by the first session end to the network, where the first message can be a message sent to the second session end, and the first session end and A target session (Session) is established between the second session ends, and the first message belongs to the target session.
  • Session A target session
  • obtaining the first message may be receiving a message sent by the first session end, or may be receiving a first message forwarded by another device or system.
  • the first five-tuple information can be understood as a five-tuple used to indicate the first message, where the five-tuple includes a source IP address (Source IP), a source port (Source Port), Destination IP address (Destination IP), destination port (Destination Port) and transport layer protocol.
  • Source IP Source IP
  • Source Port Source Port
  • Destination IP address Destination IP address
  • Destination Port destination port
  • transport layer protocol transport layer protocol
  • the first message includes a first message tag, which can be understood to mean that the first message tag is located in at least one field of the first message.
  • the first packet label may be located between the Layer 2 packet and the Layer 3 packet of the first packet.
  • this field can be a flow label field.
  • the first packet label may be located in the Multi-Protocol Label Switching (MPLS) of the first packet. field.
  • MPLS Multi-Protocol Label Switching
  • the first message label is obtained according to the first secret key corresponding to the first switch and the first quintuple information. It can be understood that according to the pre-obtained message label calculation algorithm, substitute The first secret key and the first five-tuple information are calculated to obtain the first message label; or, it can also be understood as obtaining the pre-trained message label model, and combining the first secret key and the first five-tuple information.
  • the group information is input into the packet label model to obtain the first packet label output by the packet label model.
  • sending the first message can be understood as sending the first message according to the first five-tuple information.
  • the second message can be understood as a message sent by the second session end to the network, where the second message can be a message sent to the first session end, and the second message Belongs to the target session established between the first session end and the second session end.
  • the second quintuple information can be understood as a quintuple used to indicate the second message.
  • the second message includes a second message tag, which can be understood to mean that the second message tag is located in at least one field of the second message.
  • the second packet label may be located in a field between the Layer 2 packet and the Layer 3 packet of the second packet, and the field may be flow label field.
  • the second message label may be located in the multi-protocol label switching field of the second message.
  • obtaining the second secret key based on the second message label and the second five-tuple information can be understood as substituting the second message label and the second five-tuple information according to the pre-obtained secret key calculation algorithm. Tuple information is calculated to obtain the second secret key; alternatively, it can also be understood as obtaining the pre-trained secret key model and labeling the second message The signature and the second 5-tuple information are input into the secret key model to obtain the second secret key output by the secret key model.
  • the second secret key matches the first secret key, which can be understood to mean that the second secret key is the same as the first secret key; it can also be understood that based on the secret key matching algorithm, the second secret key is substituted Calculate with the first secret key, and determine whether the second secret key matches the first secret key based on the calculation result.
  • forwarding the second message can be understood as forwarding the second message according to the second quintuple information.
  • the second message when the second secret key does not match the first secret key, the second message may not be forwarded and the second message may be discarded.
  • the second switch that receives the first message can obtain the first five-tuple based on the first message. information and the first packet label, so as to obtain the first packet label based on the first quintuple information and the first packet label, and the second switch can determine which route the first packet passes through based on the first packet label. Sent by the switch.
  • the second switch can ensure that the second message includes the second message label obtained according to the second secret key and the second five-tuple information of the second message, where if the second If the message and the first message belong to the same session, the second secret key can be matched with the first secret key.
  • the first switch parses the second message to obtain the second quintuple information and the second message label in the second message, and performs the processing according to the second message label and the second quintuple.
  • the group information obtains the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • step S104 in response to the first message including the first message tag, sending the first message can be implemented through the following steps:
  • the first message is sent.
  • the first access control list may be understood to include at least part of the five-tuple information of the packets that are allowed to be forwarded.
  • the first access control list may include the information that is allowed to be forwarded.
  • the first access control list can also be understood as including at least part of the five-tuple information of the packets that need to be discarded.
  • the first access control list can include at least part of the five-tuple information of the packets that need to be discarded.
  • the first five-tuple information matches the first access control list, which can be understood as The first access control list includes at least part or all of the first five-tuple information.
  • the first access control list includes at least part of the five-tuple information of the packet that needs to be discarded and the first five-tuple information matches the first access control list, it can be understood that the first access control list does not include the first five-tuple information. Any part of the tuple information.
  • the embodiment of the present disclosure by sending the first message in response to the first five-tuple information matching the first access control list and the first message including the first message tag, it can be ensured that the first message is sent through the first message.
  • the security of the packets forwarded by the switch is relatively high.
  • step S104 in response to the first message including the first message tag, before sending the first message, the method further includes the following steps:
  • step S104 in response to the first message including the first message tag, sending the first message can be implemented through the following steps:
  • the first message is sent.
  • checking whether the first message includes the first message tag to obtain the first check result can be understood as reading the content of the corresponding field in the first message, and based on the read The content is compared with the first message label obtained by the first switch based on the first secret key and the first quintuple information. When the two are the same, it is determined that the first message includes the first message label.
  • the first inspection result is obtained by checking whether the first message includes the first message tag, and in response to determining that the first message includes the first message tag according to the first inspection result
  • the speed of sending the first message can be accelerated, thereby reducing the delay in sending the message and improving the user experience.
  • step S103 before receiving the second message, the method further includes the following steps:
  • the first message tag is inserted into the first message, and the first message with the first message tag inserted is sent.
  • inserting the first message label into the first message can be understood as inserting the first message label into the corresponding field of the first message to obtain the value after inserting the first message label. First message.
  • the first message tag is inserted into the first message, and the inserted first message is sent.
  • the first message after the label can ensure that the first message sent by the first switch includes the first message label, so as to avoid the first message sent by the first switch not including the first message label.
  • the switch that receives the first message cannot determine through which switch the first message was sent.
  • step S101 obtaining the first message can be achieved through the following steps:
  • the method also includes the following steps:
  • Send first packet identification update information where the first packet identification update information is used to indicate the first five-tuple information and the corresponding relationship between the first switch and the first packet label.
  • the first message identifier update information indicating the first five-tuple information and the corresponding relationship between the first switch and the first message label can enable the first session end to learn the third message identifier update information based on the first message identifier update information.
  • the first five-tuple information and the corresponding relationship between the first switch and the first message label can be based on the first five-tuple information of the first message and used to send the first message when the first message needs to be sent.
  • the first switch of a message obtains the first message label and inserts the first message label into the first message, thereby ensuring that the first message sent by the first session end includes the first message label.
  • Figure 3 shows a flow chart of a message processing method according to an embodiment of the present disclosure. The method is applied to the first session end. As shown in Figure 3, the message processing method includes steps S201, S202, and S203.
  • step S201 in response to the target session between the first session end and the second session end having been established, obtain the first five-tuple information of the first message to be sent belonging to the target session, and determine the first five-tuple information used to send the first message.
  • the first switch where the session end accesses the network.
  • step S202 a first message label corresponding to the first quintuple information and the first switch is obtained, and the first message label is inserted into the first message to be sent to obtain the first message.
  • step S203 the first message is sent.
  • the first message to be sent can be understood as a message that the first session end needs to send to the network.
  • the first five-tuple information can be understood as a five-tuple used to indicate the first message to be sent, where the five-tuple includes a source IP address, a source port, a destination IP address, and a destination port. and transport layer protocols.
  • obtaining the first five-tuple information of the first message to be sent belonging to the target session can be understood as obtaining the first five-tuple by parsing the first message to be sent. information.
  • obtaining the first packet label corresponding to the first quintuple information and the first switch can be understood as querying based on the first quintuple information and the label corresponding to the first switch, To obtain the first packet label corresponding to the first quintuple information and the first switch.
  • inserting the first message label into the first message to be sent can be understood as inserting the first message label into at least one field of the message to be sent to obtain the first message.
  • the first message label can be inserted into the field between the Layer 2 message and the Layer 3 message of the first message to be sent to obtain In the first message, this field can be the flow label field.
  • the first message label can be inserted into the MPLS field of the first message to be sent to obtain the first message.
  • the first message can be understood as a message that can be sent to the network through the first switch, where the first message can be a message sent to the second session end, and the first message can be a message sent to the second session end.
  • the text belongs to the target session.
  • sending the first message can be understood as sending the first message to the first switch, so that the first switch forwards the first message.
  • the first five-tuple information of the first message to be sent belonging to the target session is obtained, and Determine a first switch for connecting the first session end to the network.
  • Enable the first switch to receive the first message including the first message label, so that the first switch can parse the first message to obtain the first five-tuple information, and respond to the first message including the first A message label, sending the first message.
  • the first message label is obtained based on the first secret key and the first five-tuple information corresponding to the first switch. Therefore, the second switch that receives the first message can obtain the first five-tuple based on the first message. information and the first packet label, so as to obtain the first packet label based on the first quintuple information and the first packet label, and the second switch can determine which route the first packet passes through based on the first packet label. Sent by the switch. When the second switch sends the second message, the second switch can ensure that the second message includes the second message label obtained according to the second secret key and the second five-tuple information of the second message, where if the second If the message and the first message belong to the same session, the second secret key can be matched with the first secret key.
  • the first switch receives the second message and parses the second message to obtain the second five-tuple information and the second message.
  • the second message label in the second message label and the second secret key are obtained according to the second message label and the second five-tuple information.
  • the second secret key matches the first secret key, it can be determined that the second message is the same as the previous one.
  • the message sent through the first switch belongs to the same session, so in response to the second secret key matching the first secret key, the second message is forwarded.
  • the above solution since no query is performed based on the session table at the first switch, the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the method before obtaining the first packet label corresponding to the first quintuple information and the first switch, the method further includes the following steps:
  • Query is performed in the first packet identification database according to the first quintuple information and the identification corresponding to the first switch to obtain the first packet label.
  • the first packet identification database can be understood as five-tuple information used to indicate the packets belonging to the established session and the corresponding identification and packet label of the switch used to forward the packets. correspondence between them.
  • updating the first message identifier database according to the first message identifier update information may be searching in the first message identifier database according to the first message identifier update information to determine Whether the first packet identification database includes information indicating a correspondence between the first five-tuple information, the identification corresponding to the first switch, and the first packet label, when it is determined that the first packet identification database does not include the retrieved information When, information indicating that there is a corresponding relationship between the first five-tuple information, the identification corresponding to the first switch, and the first packet label is added to the first packet identification database.
  • the technical solution provided by the embodiment of the present disclosure by receiving the first message identifier update information sent by the first switch and updating the first message identifier database according to the first message identifier update information, according to the first five-tuple
  • the information and the identification corresponding to the first switch are queried in the first packet identification database to obtain the first packet label, which can ensure that the obtained first packet label is based on the first five instructions indicated by the first switch.
  • the tuple information and the corresponding relationship between the first switch and the first message label are obtained, ensuring that the switch that receives the first message can determine which switch the first message is sent through based on the first message label. of.
  • obtaining the first packet label corresponding to the first quintuple information and the first switch includes the following steps:
  • the second message is The second packet label in is determined as the first packet label.
  • the second message can be understood as a message sent by the second session end to the network, where the second message can be a message sent to the first session end, and the second message Belongs to the target session established between the first session end and the second session end.
  • the second quintuple information can be understood as a quintuple used to indicate the second message.
  • the source information of the second quintuple information matches the destination information of the first quintuple information, which can be understood as the source IP of the second quintuple information and the IP address of the first quintuple information.
  • the destination IP is the same; or the source IP of the second quintuple information is the same as the destination IP of the first quintuple information, and the source port of the second quintuple information is the same as the destination port of the first quintuple information.
  • the destination information of the second quintuple information matches the source information of the first quintuple information, which can be understood as the destination IP of the second quintuple information and the destination IP of the first quintuple information.
  • the source IP is the same; or the destination IP of the second quintuple information is the same as the source IP of the first quintuple information, and the destination port of the second quintuple information is the same as the source port of the first quintuple information.
  • the second message tag may be located in at least one field of the second message.
  • the second packet label may be located in a field between the Layer 2 packet and the Layer 3 packet of the second packet, and the field may be flow label field.
  • the second message label may be located in the multi-protocol label switching field of the second message.
  • the second five-tuple information of the second message is obtained, in response to the second five-tuple
  • the source information of the tuple information matches the destination information of the first quintuple information
  • the destination information of the second quintuple information matches the source information of the first quintuple information, that is, it is determined that the second message is the same as the first message.
  • the second message label in the second message is determined as the first message label.
  • the second message label in the second message can be obtained by the second switch based on the target message label algorithm, substituting the second quintuple information and the first secret key for calculation, and based on the target message
  • the label algorithm substitutes the second 5-tuple information and the first secret key for calculation and obtains a message label that can be the same as the first 5-tuple information and the first secret key for calculation. Therefore, when the above conditions are met At this time, the second message label in the second message can be directly determined as the first message label, which speeds up the acquisition of the first message label.
  • Figure 4 shows a flow chart of a message processing method according to an embodiment of the present disclosure. The method is applied to the second switch. As shown in Figure 4, the message processing method includes steps S301, S302, S303, and S304.
  • step S301 the first message is received, and the first message is parsed to obtain the first five-tuple information and the first message tag in the first message.
  • step S302 the first secret key is obtained according to the first quintuple information and the first message label.
  • step S303 the second message is obtained, and the second message is parsed to obtain the second quintuple information of the second message.
  • step S304 in response to the destination information in the second five-tuple information matching the source information in the first five-tuple information, and the second message including the second message tag, the second message is sent, and the second message is sent.
  • the message label is obtained based on the first secret key and the second 5-tuple information.
  • the first message can be understood as a message sent by the first session end to the network through the first switch, where the first message can be a message sent to the second session end, and the first message can be a message sent to the second session end.
  • a target session is established between a session end and a second session end, and the first message belongs to the target session.
  • the first five-tuple information can be understood as a five-tuple used to indicate the first message, where the five-tuple includes a source IP address, a source port, a destination IP address, a destination port, and a transmission layer protocol.
  • the first message tag may be located in at least one field of the first message.
  • the first packet label may be located in the Layer 2 packet of the first packet.
  • this field can be the flow label field.
  • the first packet label may be located in the MPLS field of the first packet.
  • the first message label may be obtained based on the first secret key corresponding to the first switch and the first quintuple information.
  • the first message label calculation algorithm may be calculated based on the pre-obtained message label. Substituting the first secret key and the first five-tuple information for calculation to obtain the first message label; or, it can also be understood as obtaining the pre-trained message label model, and adding the first secret key and the first five-tuple information.
  • the tuple information is input into the packet label model to obtain the first packet label output by the packet label model.
  • obtaining the first secret key based on the first five-tuple information and the first message tag can be understood as substituting the first five-tuple information and the first secret key calculation algorithm according to the pre-obtained secret key calculation algorithm.
  • Calculate a message label to obtain the first secret key or, it can also be understood as obtaining a pre-trained secret key model, and input the first quintuple information and the first message label into the secret key model, To obtain the first secret key output by the key model.
  • obtaining the second message may be receiving a message sent by the second session end, or may be receiving a second message forwarded by another device or system.
  • the second quintuple information can be understood as a quintuple used to indicate the second message.
  • the destination information of the second quintuple information matches the source information of the first quintuple information, which can be understood as the destination IP of the second quintuple information and the destination IP of the first quintuple information.
  • the source IP is the same; or the destination IP of the second quintuple information is the same as the source IP of the first quintuple information, and the destination port of the second quintuple information is the same as the source port of the first quintuple information.
  • the second message includes a second message tag, which can be understood to mean that the second message tag is located in at least one field of the second message.
  • the second packet label may be located in a field between the Layer 2 packet and the Layer 3 packet of the second packet, and the field may be flow label field.
  • the second packet label may be located in the MPLS field of the second packet.
  • the second message label is obtained based on the first secret key and the second 5-tuple information. It can be understood that according to the pre-obtained message label calculation algorithm, the first secret key and the second 5-tuple information are substituted. Calculate the 2-5-tuple information to obtain the second message label; alternatively, it can also be understood as obtaining the pre-trained message label model, and input the first secret key and the second 5-tuple information into the message label model to obtain the second packet label output by the packet label model.
  • sending the second message can be understood as sending the second message according to the second quintuple information.
  • the first message is received and the first message is parsed to obtain the first quintuple information and the first message tag in the first message.
  • the first message is sent by the first switch in response to the first message including a first message label, where the first message label is obtained based on the first secret key and the first five-tuple information corresponding to the first switch.
  • the second switch that receives the first message can obtain the first secret key according to the first quintuple information and the first message label, obtain the second message, and parse the second message to obtain the second message.
  • the second 5-tuple information of the message in response to the destination information in the second 5-tuple information matching the source information in the first 5-tuple information, that is, it is determined that the second message and the first message belong to the same session, and
  • the second message includes a second message label, and the second message is sent.
  • the second message label is obtained according to the first secret key and the second five-tuple information.
  • the first switch receives the second message, parses the second message to obtain the second five-tuple information and the second message label in the second message, and performs the analysis according to the second message.
  • the message label and the second five-tuple information obtain the second secret key.
  • the second secret key matches the first secret key, it can be determined that the second message belongs to the same session as the message previously sent through the first switch. Therefore, in response to the second secret key matching the first secret key, the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the second message in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and the second message including the second message tag, the second message is sent Articles, including:
  • the destination information in the second quintuple information matching the source information in the first quintuple information, and the second packet including the second packet tag send the second message.
  • the second access control list may be understood to include at least part of the five-tuple information of the packets that are allowed to be forwarded.
  • the second access control list may include the information that is allowed to be forwarded.
  • the second access control list may also be understood to include at least part of the five-tuple information of the packets that need to be discarded.
  • the second access control list may include at least part of the five-tuple information of the packets that need to be discarded.
  • the second access control list when the second access control list includes at least part of the five-tuple information of the packet that is allowed to be forwarded, the second five-tuple information matches the second access control list, which can be understood as The second access control list includes at least part or all of the second quintuple information.
  • the second access control list includes at least part of the five-tuple information of the packet that needs to be discarded, and the second five-tuple information matches the first access control list, it can be understood that the second access control list does not include the second five-tuple information. Any part of the tuple information.
  • the second message in response to the second quintuple information matching the second access control list, the destination information in the second quintuple information matching the source information in the first quintuple information, Moreover, the second message includes a second message label, and sending the second message can ensure that the message forwarded by the second switch has high security.
  • the method in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and the second message including the second message tag, the second message is sent Before this article, the method also includes:
  • sending the second packet includes:
  • the second packet is sent.
  • checking whether the second message includes the second message tag to obtain the second check result can be understood as reading the content of the corresponding field in the second message, and based on the read The content is compared with the second message label obtained by the second switch based on the first secret key and the second quintuple information. When the two are the same, it is determined that the second message includes the second message label.
  • the second check result is obtained by checking whether the second message includes the second message tag, and in response to the destination information in the second quintuple information and the first quintuple The source information in the information matches, and it is determined according to the second check result that the second message includes the second message label.
  • Sending the second message can speed up the sending of the second message when the second message already includes the second message label. The speed of messages reduces the delay in sending messages and improves user experience.
  • the method further includes:
  • the second packet label is Insert the second message, and send the second message after inserting the second message label.
  • inserting the second message label into the second message can be understood as inserting the second message label into the corresponding field of the second message to obtain the second message label after inserting it. Second message.
  • the embodiment of the present disclosure in response to the destination information in the second quintuple information matching the source information in the first quintuple information, and determining based on the second check result that the second message does not include the Second message label, insert the second message label into the second message, and send the second message after inserting the second message label, which can ensure that the second message sent through the second switch includes the second message.
  • message label to prevent the switch receiving the second message from being unable to determine that the second message belongs to the same message as the message sent through that switch because the second message sent by the second switch does not include the second message label. session.
  • obtaining the second message includes:
  • Methods also include:
  • Send second packet identification update information and the second packet identification update information is used to indicate the second five-tuple information and the corresponding relationship between the first switch and the second packet label.
  • the second message identifier update information indicating the second five-tuple information and the corresponding relationship between the first switch and the second message label can enable the second session end to learn the second message identifier update information based on the second message identifier update information.
  • the two-five-tuple information and the corresponding relationship between the first switch and the second message label can be used to send the second message based on the second five-tuple information of the second message and the second message label.
  • the first switch that the second message belongs to the first message of the same session obtains the second message label and inserts the second message label into the second message, thereby ensuring that the second message sent by the second session end Both include the second message label.
  • Figure 5 shows a flow chart of a message processing method according to an embodiment of the present disclosure. The method is applied to the second session end. As shown in Figure 5, the message processing method includes steps S401, S402, S403, and S404.
  • step S401 in response to the target session between the first session end and the second session end having been established, the first message sent by the first session end is obtained.
  • step S402 a first switch used to connect the first session end to the network is determined, and second five-tuple information of the second message to be sent belonging to the target session is obtained.
  • step S403 a second message label corresponding to the second quintuple information and the first switch is obtained, and the second message label is inserted into the second message to be sent to obtain the second message.
  • step S404 a second message is sent.
  • the first message may be understood as a message sent by the first session end to the network, where the first message may belong to the target session.
  • determining the first switch for connecting the first session end to the network can be understood as parsing the first session to obtain the first five-tuple information.
  • the group information is queried to determine the first switch used to connect the first session end to the network.
  • the first five-tuple information can be understood as a five-tuple indicating the first message to be sent, where the five-tuple includes a source IP address, a source port, a destination IP address, a destination ports and transport layer protocols.
  • the second quintuple information can be understood as a quintuple used to indicate the second message to be sent.
  • obtaining the second five-tuple information of the second message to be sent belonging to the target session can be understood as obtaining the second five-tuple by parsing the second message to be sent. information.
  • obtaining the second packet label corresponding to the second quintuple information and the first switch can be understood as querying based on the second quintuple information and the label corresponding to the first switch, To obtain the second packet label corresponding to the second 5-tuple information and the first switch.
  • inserting the second message label into the second message to be sent can be understood as inserting the second message label into at least one field of the message to be sent to obtain the second message.
  • the second message label can be inserted into the field between the Layer 2 message and the Layer 3 message of the second message to be sent to obtain In the second message, this field can be the flow label field.
  • the second message label can be inserted into the MPLS field of the second message to be sent to obtain the second message.
  • the second message can be understood as a message that can be sent to the network through the second switch, where the second message can be a message sent to the first session end, and the second message can be a message sent to the first session end.
  • the text belongs to the target session.
  • the first message sent by the first session end is obtained; and the first message sent by the first session end is determined; Access the first switch of the network, and obtain the second five-tuple information of the second to-be-sent message belonging to the target session; obtain the second message label corresponding to the second five-tuple information and the first switch, and put The second message label is inserted into the second message to be sent to obtain the second message; and the second message is sent.
  • the above solution can enable the second switch to receive the second message including the second message label, thereby ensuring that the second message sent by the second switch includes the second message label.
  • the first switch can obtain the second five-tuple information and the second message by receiving the second message and parsing the second message.
  • the second message label in the message can be obtained according to the second message label and the second 5-tuple information.
  • the second message can be determined. It belongs to the same session as the message previously sent through the first switch, so in response to the second secret key matching the first secret key, the second message is forwarded.
  • the above solution reduces the memory load and reduces This reduces the delay in forwarding packets, thereby improving user experience.
  • the method before obtaining the second packet label corresponding to the second quintuple information and the first switch, the method further includes:
  • Query is performed in the second packet identification database according to the first five-tuple information and the identification corresponding to the first switch to obtain the second packet label.
  • the second packet identification database can be understood as five-tuple information used to indicate packets belonging to an established session, and used to forward packets belonging to the same session as the packet.
  • the identification corresponding to the switch Correspondence between packet tags.
  • updating the second message identifier database according to the second message identifier update information may be searching in the second message identifier database according to the second message identifier update information to determine Whether the second packet identification database includes information indicating that there is a corresponding relationship between the second five-tuple information, the identification corresponding to the first switch, and the second packet label, when it is determined that the second packet identification database does not include the retrieved information When, information indicating that there is a corresponding relationship between the second five-tuple information, the identification corresponding to the first switch, and the second packet label is added to the second packet identification database.
  • the second message identification update information sent by the second switch by receiving the second message identification update information sent by the second switch, and updating the second message identification database according to the second message identification update information, according to the second five-tuple
  • the information and the identifier corresponding to the first switch are queried in the second message identification database to obtain the second message label, which can ensure that the obtained second message label is based on the second message label indicated by the first switch and the second message label.
  • the tuple information and the corresponding relationship between the first switch and the second message label are obtained, ensuring that the switch that receives the second message can determine which switch the second message is sent through based on the second message label. of.
  • obtaining the first message sent by the first session terminal includes:
  • the first message is The first packet label in is determined as the second packet label.
  • the first five-tuple information can be understood as a five-tuple used to indicate the first message.
  • the destination information of the second quintuple information matches the source information of the first quintuple information, which can be understood as the destination IP of the second quintuple information and the destination IP of the first quintuple information.
  • the source IP is the same; or the destination IP of the second quintuple information is the same as the source IP of the first quintuple information, and the destination port of the second quintuple information is the same as the source port of the first quintuple information.
  • the source information of the second quintuple information matches the destination information of the first quintuple information, which can be understood as the source IP of the second quintuple information and the IP address of the first quintuple information.
  • the destination IP is the same; or the source IP of the second quintuple information is the same as the destination IP of the first quintuple information, and the source port of the second quintuple information is the same as the destination port of the first quintuple information.
  • the first message tag may be located in at least one field of the first message.
  • the first packet label may be located in a field between the Layer 2 packet and the Layer 3 packet of the first packet, and the field may be flow label field.
  • the first message label may be located in the multi-protocol label switching field of the second message.
  • the first packet label in the first packet is determined as the second packet label.
  • the first message label in the first message may be obtained by the first switch based on the target message label algorithm, substituting the first quintuple information and the first secret key for calculation, and based on the target message Label
  • the algorithm substitutes the second 5-tuple information and the first secret key for calculation and obtains a message label that can be the same as the first 5-tuple information and the first secret key for calculation and obtains a message label. Therefore, when the above conditions are met, , the first message label in the first message can be directly determined as the second message label, which speeds up the acquisition of the second message label.
  • FIG. 6 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • the message processing device 200 includes:
  • the first message acquisition module 201 is configured to acquire the first message, and parse the first message to obtain the first quintuple information
  • the first message sending module 202 is configured to send the first message in response to the first message including a first message label.
  • the first message label is based on the first secret key corresponding to the first switch and the first message label. Five-tuple information acquisition;
  • the first message receiving module 203 is configured to receive the second message, parse the second message to obtain the second five-tuple information and the second message label in the second message, and receive the second message according to the second message.
  • the text tag and the second 5-tuple information are used to obtain the second secret key;
  • the first message forwarding module 204 is configured to forward the second message in response to the second secret key matching the first secret key.
  • FIG. 7 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • the message processing device 300 includes:
  • the first five-tuple acquisition module 301 is configured to obtain the first five-tuple information of the first message to be sent belonging to the target session in response to the target session between the first session end and the second session end having been established, and determine the first switch used to connect the first session end to the network;
  • the first label insertion module 302 is configured to obtain the first message label corresponding to the first five-tuple information and the first switch, and insert the first message label into the first message to be sent, to obtain the first message label. message;
  • the second message sending module 303 is configured to send the first message.
  • Figure 8 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • the message processing device 400 includes:
  • the second message receiving module 401 is configured to receive the first message and parse the first message to obtain the first quintuple information and the first message tag in the first message;
  • the first secret key acquisition module 402 is configured to obtain the first secret key according to the first five-tuple information and the first message label;
  • the second five-tuple acquisition module 403 is configured to obtain the second message, and parse the second message to obtain the second five-tuple information of the second message;
  • the third message sending module 404 is configured to respond to the destination information in the second five-tuple information and the first five-tuple information.
  • the source information in the information matches, and the second message includes a second message label, and the second message is sent.
  • the second message label is obtained based on the first secret key and the second five-tuple information.
  • Figure 9 shows a structural block diagram of a message processing device according to an embodiment of the present disclosure.
  • the message processing device 500 includes:
  • the second message acquisition module 501 is configured to acquire the first message sent by the first session end in response to the target session between the first session end and the second session end having been established;
  • the third five-tuple acquisition module 502 is configured to determine the first switch used to connect the first session end to the network, and obtain the second five-tuple information of the second to-be-sent message belonging to the target session;
  • the second label insertion module 503 is configured to obtain a second message label corresponding to the second five-tuple information and the first switch, and insert the second message label into the second message to be sent to obtain the second message label. message;
  • the fourth message sending module 504 is configured to send the second message.
  • FIG. 10 shows a structural block diagram of an electronic device according to an embodiment of the present disclosure.
  • the embodiment of the present disclosure also provides an electronic device, as shown in Figure 10, including at least one processor 601; and a memory 602 communicatively connected with the at least one processor 601; wherein the memory 602 stores information that can be used by the at least one processor.
  • the instructions executed by 601 are executed by at least one processor 601 to implement the steps in any of the above message processing methods:
  • FIG. 11 is a schematic structural diagram of a computer system suitable for implementing a method according to an embodiment of the present disclosure.
  • the computer system 700 includes a processing unit 701 that can execute the above-described appendix according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage portion 708 into a random access memory (RAM) 703 .
  • ROM read-only memory
  • RAM random access memory
  • CPU701, ROM702 and RAM703 are connected to each other through bus 704.
  • I/O input/output
  • the following components are connected to the I/O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., speakers, etc.; and a storage section 708 including a hard disk, etc. ; and a communication section 709 including a network interface card such as a LAN card, a modem, etc.
  • the communication section 709 performs communication processing via a network such as the Internet.
  • Driver 710 is also connected to I/O interface 705 as needed.
  • Removable media 711 such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc.
  • the processing unit 701 can be implemented as a processing unit such as CPU, GPU, TPU, FPGA, NPU, etc.
  • embodiments of the present disclosure include a computer program product including a computer program tangibly embodied on a readable medium thereof, the computer program including program code for performing the methods in the accompanying drawings.
  • the computer program may be downloaded and installed from the network via the communication portion 709, and/or installed from the removable media 711.
  • Exemplary embodiments of the present disclosure include a readable storage medium having computer instructions stored thereon, which when executed by a processor implement program codes for performing the methods in the accompanying drawings.
  • each block in the roadmap or block diagram may represent a module, segment, or portion of code that contains one or more functions for implementing the specified logical function. Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. By way of example, two blocks shown one after the other may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending upon the functionality involved.
  • each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or operations. , or can be implemented using a combination of specialized hardware and computer instructions.
  • the units or modules described in the embodiments of the present disclosure may be implemented in software or hardware.
  • the described units or modules may also be provided in the processor, and the names of these units or modules do not constitute a limitation on the units or modules themselves under certain circumstances.
  • the present disclosure also provides a computer-readable storage medium.
  • the computer-readable storage medium may be the computer-readable storage medium included in the node described in the above embodiments; it may also exist independently without A computer-readable storage medium that is built into a device.
  • the computer-readable storage medium stores one or more programs, which are used by one or more processors to perform the methods described in the present disclosure.

Abstract

本公开实施例公开了一种报文处理方法及电子设备,所述方法应用于第一交换机,所述方法包括:获取第一报文,对第一报文进行解析以获取第一五元组信息;响应于第一报文包括第一报文标签,发送第一报文,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取;接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥;响应于第二秘钥与第一秘钥匹配,转发第二报文。该方案可以在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。

Description

报文处理方法及电子设备
本申请要求于2022年03月08日提交中国专利局、申请号为202210220453.X、申请名称为“报文处理方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及网络技术领域,具体涉及报文处理方法及电子设备。
背景技术
随着计算机技术的不断发展,近年来虚拟私有云(VPC,Virtua Private Coud)技术开始逐渐应用于网络部署中,VPC是一种基于虚拟化技术实现的私有云平台,其可以将网络、安全、存储、计算等一系列虚拟资源进行组合,供用户按需使用,提供安全便捷的IT服务应用。其中,VPC服务供应商可以给每个用户提供一张自定义的网络,在这张自定义的网络中,需要给用户提供网络中的各种实体,例如虚拟交换机等。
其中,处于对网络安全的需要,虚拟交换机在工作时,可以根据已建立的会话对自身的会话表进行更新,其中会话表可以用于保存对应报文的五元组信息,该对应报文可以理解为通过该虚拟交换机建立的会话所属的报文,当虚拟交换机收到报文时,可以根据收到的报文的五元组信息在会话表中进行查询,以确定收到的报文是否属于为通过该虚拟交换机建立的会话,若确定,则可以转发该报文。
但是,随着虚拟化技术的不断发展,迁移到虚拟私有云的用户也越来越多。当虚拟专有云的用户量达到相当大的规模时,虚拟交换机的会话表的数据量也会变得非常大,当虚拟交换机在会话表中进行数据查询时,会急剧增加内存存储存会话表的负载,使查找速度较低,增加了转发报文时的时延,从而损害了用户的产品使用体验。
发明内容
为了解决相关技术中的问题,本公开实施例提供了报文处理方法及电子设备。
第一方面,本公开实施例中提供了一种报文处理方法,其中,所述方法应用于第一交换机,所述方法包括:
获取第一报文,对第一报文进行解析以获取第一五元组信息;
响应于第一报文包括第一报文标签,发送第一报文,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取;
接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥;
响应于第二秘钥与第一秘钥匹配,转发第二报文。
在本公开的一个实现方式中,响应于第一报文包括第一报文标签,发送第一报文,包括:
响应于第一五元组信息与第一访问控制列表匹配,且第一报文包括第一报文标签,发送第一报文。
在本公开的一个实现方式中,响应于第一报文包括第一报文标签,发送第一报文之前,所述方法还包括:
检查第一报文是否包括第一报文标签,以获取第一检查结果;
响应于第一报文包括第一报文标签,发送第一报文,包括:
响应于根据第一检查结果确定第一报文包括第一报文标签,发送第一报文。
在本公开的一个实现方式中,接收第二报文之前,所述方法还包括:
响应于根据第一检查结果确定第一报文不包括第一报文标签,将第一报文标签插入第一报文,并发送插入第一报文标签后的第一报文。
在本公开的一个实现方式中,获取第一报文,包括:
接收第一会话端发送的第一报文:
方法还包括:
发送第一报文标识更新信息,第一报文标识更新信息用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系。
第二方面,本公开实现方式中提供了一种报文处理方法,其中,所述方法应用于第一会话端,所述方法包括:
响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机;
获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文;
发送第一报文。
在本公开的一个实现方式中,获取与第一五元组信息以及第一交换机对应的第一报文标签之前,方法还包括:
接收第一交换机发送的第一报文标识更新信息,并根据第一报文标识更新信息对第一报文标识数据库进行更新,第一报文标识更新信息用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系;
获取与第一五元组信息以及第一交换机对应的第一报文标签,包括:
根据第一五元组信息以及与第一交换机对应的标识在第一报文标识数据库中进行查询,以获取第一报文标签。
在本公开的一个实现方式中,获取与第一五元组信息以及第一交换机对应的第一报文标签,包括:
接收第一交换机转发的第二报文,并对第二报文进行解析,以获取第二报文的第二五元组信息;
响应于第二五元组信息的源信息与第一五元组信息的目的信息匹配,且第二五元组信息的目的信息与第一五元组信息的源信息匹配,将第二报文中的第二报文标签确定为第一报文标签。
第三方面,本公开实现方式中提供了一种报文处理方法,其中,所述方法应用于第二交换机,所述方法包括:
接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签;
根据第一五元组信息以及第一报文标签获取第一秘钥;
获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息;
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。
在本公开的一个实现方式中,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,包括:
响应于第二五元组信息与第二访问控制列表匹配、第二五元组信息中的目的信息与第一五元组信息中的源信息匹配、且第二报文包括第二报文标签,发送第二报文。
在本公开的一个实现方式中,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文之前,所述方法还包括:
检查第二报文是否包括第二报文标签,以获取第二检查结果;
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,包括:
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文包括第二报文标签,发送第二报文。
在本公开的一个实现方式中,所述方法还包括:
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文不包括第二报文标签,将第二报文标签插入第二报文,并发送插入第二报文标签后的第二报文。
在本公开的一个实现方式中,获取第二报文,包括:
接收第二会话端发送的第二报文:
方法还包括:
发送第二报文标识更新信息,第二报文标识更新信息用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系。
第四方面,本公开实现方式中提供了一种报文处理方法,其中,所述方法应用于第二会话端,所述方法包括:
响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文;
确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息;
获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;
发送第二报文。
在本公开的一个实现方式中,获取与第二五元组信息以及第一交换机对应的第二报文标签之前,方法还包括:
接收第二交换机发送的第二报文标识更新信息,并根据第二报文标识更新信息对第二报文标识数据库进行更新,第二报文标识更新信息用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系;
获取与第二五元组信息以及第一交换机对应的第二报文标签,包括:
根据第一五元组信息以及与第一交换机对应的标识在第二报文标识数据库中进行查询,以获取第二报文标签。
在本公开的一个实现方式中,获取第一会话端发送的第一报文,包括:
接收第二会话端转发的第一报文;
获取与第二五元组信息以及第一交换机对应的第二报文标签,包括:
对第一报文进行解析,以获取第一报文的第一五元组信息;
响应于第二五元组信息的目的信息与第一五元组信息的源信息匹配,且第二五元组信息的源信息与第一五元组信息的目的信息匹配,将第一报文中的第一报文标签确定为第二报文标签。
第五方面,本公开实现方式中提供了一种报文处理装置,所述装置包括:
第一报文获取模块,被配置为获取第一报文,对第一报文进行解析以获取第一五元组信息;
第一报文发送模块,被配置为响应于第一报文包括第一报文标签,发送第一报文,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取;
第一报文接收模块,被配置为接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥;
第一报文转发模块,被配置为响应于第二秘钥与第一秘钥匹配,转发第二报文。
第六方面,本公开实现方式中提供了一种报文处理装置,所述装置包括:
第一五元组获取模块,被配置为响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机;
第一标签插入模块,被配置为获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文;
第二报文发送模块,被配置为发送第一报文。
第七方面,本公开实现方式中提供了一种报文处理装置,所述装置包括:
第二报文接收模块,被配置为接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签;
第一秘钥获取模块,被配置为根据第一五元组信息以及第一报文标签获取第一秘钥;
第二五元组获取模块,被配置为获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息;
第三报文发送模块,被配置为响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。
第八方面,本公开实现方式中提供了一种报文处理装置,所述装置包括:
第二报文获取模块,被配置为响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文;
第三五元组获取模块,被配置为确定用于将第一会话端接入网络的第一交换机,并获 取属于目标会话的第二待发送报文的第二五元组信息;
第二标签插入模块,被配置为获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;
第四报文发送模块,被配置为发送第二报文。
第九方面,本公开实现方式中提供了一种电子设备,包括存储器和至少一个处理器;存储器用于存储一条或多条计算机指令,一条或多条计算机指令被至少一个处理器执行以实现第一方面至第四方面中任一实现方式所述的方法步骤。
第十方面,本公开实现方式中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现第一方面至第四方面中任一实现方式所述的方法步骤。
第十一方面,本公开实现方式中提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面至第四方面中任一实现方式所述的方法步骤。
本公开实施例提供的技术方案可以包括以下有益效果:
根据本公开实施例提供的技术方案,通过获取第一报文,对第一报文进行解析以获取第一五元组信息,并响应于第一报文包括第一报文标签,发送第一报文。其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据该第一报文获取第一五元组信息以及第一报文标签,从而基于该第一五元组信息以及第一报文标签获取第一报文标签,第二交换机可以根据该第一报文标签确定该第一报文是经那个交换机发送的。当第二交换机发送第二报文时,第二交换机可以确保第二报文包括根据第二秘钥以及第二报文的第二五元组信息获取的第二报文标签,其中若第二报文与第一报文属于同一会话,则可以使第二秘钥与第一秘钥匹配。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
根据本公开实施例提供的技术方案,通过响应于第一五元组信息与第一访问控制列表匹配,且第一报文包括第一报文标签,发送第一报文,可以确保经第一交换机所转发的报文安全性较高。
根据本公开实施例提供的技术方案,通过检查第一报文是否包括第一报文标签,以获取第一检查结果,并响应于根据第一检查结果确定第一报文包括第一报文标签,发送第一报文,可以在第一报文已包括第一报文标签时,加快发送第一报文的速度,降低了发送报文的时延,改善了用户体验。
根据本公开实施例提供的技术方案,通过响应于根据第一检查结果确定第一报文不包括第一报文标签,将第一报文标签插入第一报文,并发送插入第一报文标签后的第一报文,可以确保经第一交换机所发送的第一报文均包括第一报文标签,避免因第一交换机所发送的第一报文不包括第一报文标签,而导致接收该第一报文的交换机无法确定该第一报文是通过那个交换机所发送的。
根据本公开实施例提供的技术方案,当第一报文为第一会话端发送的时,为了确保第一会话端能够使其发送的第一报文均包括第一报文标签,通过发送用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系的第一报文标识更新信息,可以使第一会话端可以根据该第一报文标识更新信息获知第一五元组信息以及第一交换机与第一报文标签之间的对应关系,在需要发送第一报文时,可以基于第一报文的第一五元组信息,以及用于发送该第一报文的第一交换机,获取第一报文标签,并将第一报文标签插入第一报文,从而确保第一会话端所发送的第一报文均包括第一报文标签。
根据本公开实施例提供的技术方案,通过响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机。获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文,发送第一报文,可以使第一交换机能够收到包括第一报文标签的第一报文,以便于第一交换机可以对第一报文进行解析以获取第一五元组信息,并响应于第一报文包括第一报文标签,发送第一报文。其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据该第一报文获取第一五元组信息以及第一报文标签,从而基于该第一五元组信息以及第一报文标签获取第一报文标签,第二交换机可以根据该第一报文标签确定该第一报文是经那个交换机发送的。当第二交换机发送第二报文时,第二交换机可以确保第二报文包括根据第二秘钥以及第二报文的第二五元组信息获取的第二报文标签,其中若第二报文与第一报文属于同一会话,则可以使第二秘钥与第一秘钥匹配。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
根据本公开实施例提供的技术方案,通过接收第一交换机发送的第一报文标识更新信息,并根据第一报文标识更新信息对第一报文标识数据库进行更新,根据第一五元组信息以及与第一交换机对应的标识在第一报文标识数据库中进行查询,以获取第一报文标签,可以确保所获取的第一报文标签是基于第一交换机所指示的、第一五元组信息以及第一交换机与第一报文标签之间的对应关系获取的,确保接收该第一报文的交换机可以基于该第一报文标签确定该第一报文是通过那个交换机所发送的。
根据本公开实施例提供的技术方案,通过接收第一交换机转发的第二报文,并对第二报文进行解析,以获取第二报文的第二五元组信息,响应于第二五元组信息的源信息与第一五元组信息的目的信息匹配,且第二五元组信息的目的信息与第一五元组信息的源信息匹配,即确定第二报文与第一报文属于目标会话时,将第二报文中的第二报文标签确定为第一报文标签。其中,第二报文中的第二报文标签,可以为第二交换机基于目标报文标签算法,将第二五元组信息以及第一秘钥代入进行计算获取的,并且,基于目标报文标签算法将第二五元组信息以及第一秘钥代入进行计算获取的报文标签与第一五元组信息以及 第一秘钥代入进行计算获取的报文标签可以相同,因此在满足上述条件时,可以直接将第二报文中的第二报文标签确定为第一报文标签,加快了获取第一报文标签的速度。
根据本公开实施例提供的技术方案,通过接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签。其中第一报文为第一交换机响应于第一报文包括第一报文标签发送的,其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据第一五元组信息以及第一报文标签获取第一秘钥,并获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,即确定第二报文与第一报文属于同一会话,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
根据本公开实施例提供的技术方案,通过响应于第二五元组信息与第二访问控制列表匹配、第二五元组信息中的目的信息与第一五元组信息中的源信息匹配、且第二报文包括第二报文标签,发送第二报文,可以确保经第二交换机所转发的报文安全性较高。
根据本公开实施例提供的技术方案,通过检查第二报文是否包括第二报文标签,以获取第二检查结果,并响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文包括第二报文标签,发送第二报文,可以在第二报文已包括第二报文标签时,加快发送第二报文的速度,降低了发送报文的时延,改善了用户体验。
根据本公开实施例提供的技术方案,通过响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文不包括第二报文标签,将第二报文标签插入第二报文,并发送插入第二报文标签后的第二报文,可以确保经第二交换机所发送的第二报文均包括第二报文标签,避免因第二交换机所发送的第二报文不包括第二报文标签,而导致接收该第二报文的交换机无法确定该第二报文与通过那个交换机发送的报文属于同一会话。
根据本公开实施例提供的技术方案,当第二报文为第二会话端发送的时,为了确保第二会话端能够使其发送的第二报文均包括第二报文标签,通过发送用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系的第二报文标识更新信息,可以使第二会话端可以根据该第二报文标识更新信息获知第二五元组信息以及第一交换机与第二报文标签之间的对应关系,在需要发送第二报文时,可以基于第二报文的第二五元组信息,以及用于发送与该第二报文属于同一会话的第一报文的第一交换机,获取第二报文标签,并将第二报文标签插入第二报文,从而确保第二会话端所发送的第二报文均包括第二报文标签。
根据本公开实施例提供的技术方案,通过响应于第一会话端与第二会话端之间的目标 会话已建立,获取第一会话端发送的第一报文;确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息;获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;发送第二报文。上述方案可以使第二交换机能够收到包括第二报文标签的第二报文,从而确保第二交换机所发送的第二报文包括第二报文标签。其中,由于第二报文标签与第二五元组信息以及第一交换机对应,因此第一交换机通过接收第二报文,对第二报文进行解析可以获取第二五元组信息以及第二报文中的第二报文标签,根据第二报文标签以及第二五元组信息可以获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
根据本公开实施例提供的技术方案,通过响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文;确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息;获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;发送第二报文。上述方案可以使第二交换机能够收到包括第二报文标签的第二报文,从而确保第二交换机所发送的第二报文包括第二报文标签。其中,由于第二报文标签与第二五元组信息以及第一交换机对应,因此第一交换机通过接收第二报文,对第二报文进行解析可以获取第二五元组信息以及第二报文中的第二报文标签,根据第二报文标签以及第二五元组信息可以获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
根据本公开实施例提供的技术方案,通过接收第二交换机发送的第二报文标识更新信息,并根据第二报文标识更新信息对第二报文标识数据库进行更新,根据第二五元组信息以及与第一交换机对应的标识在第二报文标识数据库中进行查询,以获取第二报文标签,可以确保所获取的第二报文标签是基于第一交换机所指示的、第二五元组信息以及第一交换机与第二报文标签之间的对应关系获取的,确保接收该第二报文的交换机可以基于该第二报文标签确定该第二报文是通过那个交换机所发送的。
根据本公开实施例提供的技术方案,通过接收第二会话端转发的第一报文;对第一报文进行解析,以获取第一报文的第一五元组信息;响应于第二五元组信息的目的信息与第一五元组信息的源信息匹配,且第二五元组信息的源信息与第一五元组信息的目的信息匹配,即确定第二报文与第一报文均属于目标会话时,将第一报文中的第一报文标签确定为第二报文标签。其中,第一报文中的第一报文标签,可以为第一交换机基于目标报文标签算法,将第一五元组信息以及第一秘钥代入进行计算获取的,并且,基于目标报文标签算法将第二五元组信息以及第一秘钥代入进行计算获取的报文标签与第一五元组信息以及第一秘钥代入进行计算获取的报文标签可以相同,因此在满足上述条件时,可以直接将 第一报文中的第一报文标签确定为第二报文标签,加快了获取第二报文标签的速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的报文处理系统的示意性结构框图。
图2示出根据本公开一实施方式的报文处理方法的流程图。
图3示出根据本公开一实施方式的报文处理方法的流程图。
图4示出根据本公开一实施方式的报文处理方法的流程图。
图5示出根据本公开一实施方式的报文处理方法的流程图。
图6示出根据本公开一实施方式的报文处理装置的结构框图。
图7示出根据本公开一实施方式的报文处理装置的结构框图。
图8示出根据本公开一实施方式的报文处理装置的结构框图。
图9示出根据本公开一实施方式的报文处理装置的结构框图。
图10示出根据本公开一实施方式的电子设备的结构框图。
图11是适于用来实现根据本公开一实施方式的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的标签、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他标签、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的标签可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
为了确保虚拟交换机所转发的报文是否属于通过该虚拟交换机建立的会话,本公开发明人考虑了如下方案:相关技术中,虚拟交换机在工作时,可以根据已建立的会话对自身的会话表进行更新,其中会话表可以用于保存对应报文的五元组信息,该对应报文可以理解为通过该虚拟交换机建立的会话所属的报文,当虚拟交换机收到报文时,可以根据收到的报文的五元组信息在会话表中进行查询,以确定收到的报文是否属于为通过该虚拟交换机建立的会话,若确定,则可以转发收到的报文。此方案的缺点:近年来,随着虚拟化技术的不断发展,迁移到虚拟私有云的用户也越来越多。当虚拟专有云的用户量达到相当大的规模时,虚拟交换机的会话表的数据量也会变得非常大,当虚拟交换机在会话表中进行数据查询时,会急剧增加内存存储存会话表的负载,使查找速度较低,增加了转发报文的时延,从而损害了用户的产品使用体验。
考虑以上方案的缺点,本公开发明人提出了新的方案:该方案应用于第一交换机,通过获取第一报文,对第一报文进行解析以获取第一五元组信息,并响应于第一报文包括第一报文标签,发送第一报文。其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据该第一报文获取第一五元 组信息以及第一报文标签,从而基于该第一五元组信息以及第一报文标签获取第一报文标签,第二交换机可以根据该第一报文标签确定该第一报文是经那个交换机发送的。当第二交换机发送第二报文时,第二交换机可以确保第二报文包括根据第二秘钥以及第二报文的第二五元组信息获取的第二报文标签,其中若第二报文与第一报文属于同一会话,则可以使第二秘钥与第一秘钥匹配。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
为了解决上述问题,本公开提出报文处理方法及电子设备。
图1示出根据本公开一实施方式的报文处理系统的示意性结构框图,如图1所述,报文处理系统包括第一会话端101、第一交换机102、第二交换机103以及第二会话端104。
其中,第一会话端101,用于将发往网络的报文发送到第一交换机102,并通过第一交换机102接收属于第一会话端101的来自网络的报文。第一会话端101可以为虚拟机(Virtual Machine,VM),也可以为物理机。
第一交换机102,用于将第一会话端101发往网络的报文转发到网络,将属于第一会话端101的来自网络的报文转发到第一会话端101,并对第一会话端101的报文进行管理。第一交换机102可以为交换机(Switch),也可以为虚拟交换机(virtual switch)。
第二交换机103,用于将属于第二会话端104的来自网络的报文转发到第二会话端104,将第二会话端104发往网络的报文转发到网络,并对第二会话端104的报文进行管理。第二交换机103可以为交换机,也可以为虚拟交换机。
第二会话端104,用于通过第二交换机103接收属于第二会话端104的来自网络的报文,并将发往网络的报文发送到第二交换机103。第二会话端104可以为虚拟机,也可以为物理机。
其中,虚拟机,可以被理解为运行在虚拟化平台的虚拟化层。示例性的,在云计算平台,虚拟机可以是在集群服务器上通过所述虚拟化技术划分出来的一个或多个独立主机(即云主机)或者一个或多个独立服务器(即云服务器);在其他虚拟化系统或者平台中,虚拟机可以是一个或者多个物理主机上采用所述虚拟化技术实现的一个或多个虚拟主机,或者可以是一个或者多个物理服务器上采用所述虚拟化技术实现的一个或多个虚拟专用服务器。
物理机,可以理解为是相对于虚拟机而言对实体计算机的命名。物理机可以提供给虚拟机以硬件环境。
交换机,可以理解为用于数据中转的网络设备,交换机可以为接入自身的任意两个网络节点提供的传输通道。
虚拟交换机,可以理解为基于物理机虚拟得到虚拟机后,可以为该虚拟机虚拟出属于相应的虚拟交换机,虚拟机可通过该虚拟交换机与其他虚拟机或物理机进行通信。
图2示出根据本公开一实施方式的报文处理方法的流程图,该方法应用于第一交换机,如图2所示,报文处理方法包括步骤S101、S102、S103、S104。
在步骤S101中,获取第一报文,对第一报文进行解析以获取第一五元组信息。
在步骤S102中,响应于第一报文包括第一报文标签,发送第一报文,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取。
在步骤S103中,接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥。
在步骤S104中,响应于第二秘钥与第一秘钥匹配,转发第二报文。
在本公开的一个实施例中,第一报文可以理解为,第一会话端发往网络的报文,其中第一报文可以为向第二会话端发送的报文,第一会话端与第二会话端之间建立了目标会话(Session),第一报文属于该目标会话。
在本公开的一个实施例中,获取第一报文,可以为接收第一会话端发送的报文,也可以为接收其他装置或系统转发的第一报文。
在本公开的一个实施例中,第一五元组信息可以理解为用于指示第一报文的五元组,其中五元组包括源IP地址(Source IP)、源端口(Source Port)、目的IP地址(Destination IP)、目的端口(Destination Port)以及传输层协议。
在本公开的一个实施例中,第一报文包括第一报文标签,可以理解为第一报文标签位于第一报文的至少一个字段中。示例性的,第一报文为基于互联网协议版本6(Internet Protocol Version 6,IPV6)的报文时,第一报文标签可以位于第一报文的二层报文与三层报文之间的字段中,该字段可以为流标签(flow label)字段。或者,第一报文为基于互联网协议版本4(Internet Protocol Version 4,IPV4)的报文时,第一报文标签可以位于第一报文的多协议标签交换(Multi-Protocol Label Switching,MPLS)字段。
在本公开的一个实施例中,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,可以理解为,根据预先获取的报文标签计算算法,代入第一秘钥以及第一五元组信息进行计算,以获取该第一报文标签;或者,也可以理解为获取预先训练得到的报文标签模型,并将第一秘钥以及第一五元组信息输入该报文标签模型,以获取该报文标签模型输出的第一报文标签。
在本公开的一个实施例中,发送第一报文,可以理解为根据第一五元组信息发送该第一报文。
在本公开的一个实施例中,第二报文,可以理解为第二会话端发往网络的报文,其中第二报文可以为向第一会话端发送的报文,且第二报文属于第一会话端与第二会话端之间建立的目标会话。
在本公开的一个实施例中,第二五元组信息可以理解为用于指示第二报文的五元组。
在本公开的一个实施例中,第二报文包括第二报文标签,可以理解为第二报文标签位于第二报文的至少一个字段中。示例性的,第二报文为基于IPV6协议的报文时,第二报文标签可以位于第二报文的二层报文与三层报文之间的字段中,该字段可以为flow label字段。或者,第二报文为基于IPV4协议的报文时,第二报文标签可以位于第二报文的多协议标签交换字段。
在本公开的一个实施例中,根据第二报文标签以及第二五元组信息获取第二秘钥,可以理解为根据预先获取的秘钥计算算法,代入第二报文标签以及第二五元组信息进行计算,以获取该第二秘钥;或者,也可以理解为获取预先训练得到的秘钥模型,并将第二报文标 签以及第二五元组信息输入该秘钥模型,以获取该秘钥模型输出的第二秘钥。
在本公开的一个实施例中,第二秘钥与第一秘钥匹配,可以理解为第二秘钥与第一秘钥相同;也可以理解为,基于秘钥匹配算法,代入第二秘钥与第一秘钥进行计算,根据该计算结果确定第二秘钥与第一秘钥是否匹配。
在本公开的一个实施例中,转发第二报文,可以理解为根据第二五元组信息转发该第二报文。
在本公开的一个实施例中,当第二秘钥与第一秘钥不匹配时,可以不转发该第二报文,丢弃该第二报文。
根据本公开实施例提供的技术方案,通过获取第一报文,对第一报文进行解析以获取第一五元组信息,并响应于第一报文包括第一报文标签,发送第一报文。其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据该第一报文获取第一五元组信息以及第一报文标签,从而基于该第一五元组信息以及第一报文标签获取第一报文标签,第二交换机可以根据该第一报文标签确定该第一报文是经那个交换机发送的。当第二交换机发送第二报文时,第二交换机可以确保第二报文包括根据第二秘钥以及第二报文的第二五元组信息获取的第二报文标签,其中若第二报文与第一报文属于同一会话,则可以使第二秘钥与第一秘钥匹配。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
在本公开的一个实施例中,在步骤S104中,响应于第一报文包括第一报文标签,发送第一报文,可以通过如下步骤实现:
响应于第一五元组信息与第一访问控制列表匹配,且第一报文包括第一报文标签,发送第一报文。
在本公开的一个实施例中,第一访问控制列表,可以被理解为可以包括被允许转发的报文的五元组信息中的至少一部分,例如,第一访问控制列表可以包括被允许转发的报文的五元组信息中的源IP以及源端口等。或者,第一访问控制列表也可以被理解为可以包括需要被丢弃的报文的五元组信息中的至少一部分,例如第一访问控制列表可以包括需要被丢弃的报文的五元组信息中的源IP以及源端口等。
在本公开的一个实施例中,当第一访问控制列表包括被允许转发的报文的五元组信息中的至少一部分时,第一五元组信息与第一访问控制列表匹配,可以理解为第一访问控制列表包括第一五元组信息中的至少一部分或全部信息。当第一访问控制列表包括需要被丢弃的报文的五元组信息中的至少一部分,第一五元组信息与第一访问控制列表匹配,可以理解为第一访问控制列表不包括第一五元组信息中的任一部分信息。
根据本公开实施例提供的技术方案,通过响应于第一五元组信息与第一访问控制列表匹配,且第一报文包括第一报文标签,发送第一报文,可以确保经第一交换机所转发的报文安全性较高。
在本公开的一个实现方式中,在步骤S104中,响应于第一报文包括第一报文标签,发送第一报文之前,所述方法还包括如下步骤:
检查第一报文是否包括第一报文标签,以获取第一检查结果。
在步骤S104中,响应于第一报文包括第一报文标签,发送第一报文,可以通过如下步骤实现:
响应于根据第一检查结果确定第一报文包括第一报文标签,发送第一报文。
在本公开的一个实现方式中,检查第一报文是否包括第一报文标签,以获取第一检查结果,可以理解为读取第一报文中对应字段的内容,并根据所读取的内容与第一交换机根据第一秘钥以及第一五元组信息获取的第一报文标签进行对比,当二者相同时,则确定第一报文包括第一报文标签。
根据本公开实施例提供的技术方案,通过检查第一报文是否包括第一报文标签,以获取第一检查结果,并响应于根据第一检查结果确定第一报文包括第一报文标签,发送第一报文,可以在第一报文已包括第一报文标签时,加快发送第一报文的速度,降低了发送报文的时延,改善了用户体验。
在本公开的一个实现方式中,在步骤S103中,接收第二报文之前,所述方法还包括如下步骤:
响应于根据第一检查结果确定第一报文不包括第一报文标签,将第一报文标签插入第一报文,并发送插入第一报文标签后的第一报文。
在本公开的一个实现方式中,将第一报文标签插入第一报文,可以理解为将第一报文标签插入第一报文的对应字段中,以获取插入第一报文标签后的第一报文。
根据本公开实施例提供的技术方案,通过响应于根据第一检查结果确定第一报文不包括第一报文标签,将第一报文标签插入第一报文,并发送插入第一报文标签后的第一报文,可以确保经第一交换机所发送的第一报文均包括第一报文标签,避免因第一交换机所发送的第一报文不包括第一报文标签,而导致接收该第一报文的交换机无法确定该第一报文是通过那个交换机所发送的。
在本公开的一个实现方式中,在步骤S101中,获取第一报文,可以通过如下步骤实现:
接收第一会话端发送的第一报文:
方法还包括如下步骤:
发送第一报文标识更新信息,第一报文标识更新信息用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系。
根据本公开实施例提供的技术方案,当第一报文为第一会话端发送的时,为了确保第一会话端能够使其发送的第一报文均包括第一报文标签,通过发送用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系的第一报文标识更新信息,可以使第一会话端可以根据该第一报文标识更新信息获知第一五元组信息以及第一交换机与第一报文标签之间的对应关系,在需要发送第一报文时,可以基于第一报文的第一五元组信息,以及用于发送该第一报文的第一交换机,获取第一报文标签,并将第一报文标签插入第一报文,从而确保第一会话端所发送的第一报文均包括第一报文标签。
图3示出根据本公开一实施方式的报文处理方法的流程图,该方法应用于第一会话端, 如图3所示,报文处理方法包括步骤S201、S202、S203。
在步骤S201中,响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机。
在步骤S202中,获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文。
在步骤S203中,发送第一报文。
在本公开的一个实现方式中,第一待发送报文,可以理解为第一会话端需要发往网络的报文。
在本公开的一个实现方式中,第一五元组信息可以理解为用于指示第一待发送报文的五元组,其中五元组包括源IP地址、源端口、目的IP地址、目的端口以及传输层协议。
在本公开的一个实现方式中,获取属于目标会话的第一待发送报文的第一五元组信息,可以理解为通过对第一待发送报文进行解析,以获取该第一五元组信息。
在本公开的一个实施例中,获取与第一五元组信息以及第一交换机对应的第一报文标签,可以理解为,根据第一五元组信息以及第一交换机对应的标签进行查询,以获取与第一五元组信息以及第一交换机对应的第一报文标签。
在本公开的一个实施例中,第一报文标签插入第一待发送报文中,可以理解为将第一报文标签插入待发送报文的至少一个字段中,以获取第一报文。示例性的,第一待发送报文为基于IPV6协议的报文时,第一报文标签可以插入第一待发送报文的二层报文与三层报文之间的字段中,以获取第一报文,该字段可以为flow label字段。或者,第一待发送报文为基于IPV4协议的报文时,第一报文标签可以插入第一待发送报文的MPLS字段,以获取第一报文。
在本公开的一个实现方式中,第一报文可以理解为,可以通过第一交换机发往网络的报文,其中第一报文可以为向第二会话端发送的报文,且第一报文属于该目标会话。
在本公开的一个实施例中,发送第一报文,可以理解为向第一交换机发送该第一报文,以便于第一交换机转发该第一报文。
根据本公开实施例提供的技术方案,通过响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机。获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文,发送第一报文,可以使第一交换机能够收到包括第一报文标签的第一报文,以便于第一交换机可以对第一报文进行解析以获取第一五元组信息,并响应于第一报文包括第一报文标签,发送第一报文。其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据该第一报文获取第一五元组信息以及第一报文标签,从而基于该第一五元组信息以及第一报文标签获取第一报文标签,第二交换机可以根据该第一报文标签确定该第一报文是经那个交换机发送的。当第二交换机发送第二报文时,第二交换机可以确保第二报文包括根据第二秘钥以及第二报文的第二五元组信息获取的第二报文标签,其中若第二报文与第一报文属于同一会话,则可以使第二秘钥与第一秘钥匹配。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文 中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
在本公开的一个实现方式中,获取与第一五元组信息以及第一交换机对应的第一报文标签之前,方法还包括如下步骤:
接收第一交换机发送的第一报文标识更新信息,并根据第一报文标识更新信息对第一报文标识数据库进行更新,第一报文标识更新信息用于指示第一五元组信息以及第一交换机与第一报文标签之间的对应关系;
获取与第一五元组信息以及第一交换机对应的第一报文标签,包括:
根据第一五元组信息以及与第一交换机对应的标识在第一报文标识数据库中进行查询,以获取第一报文标签。
在本公开的一个实施例中,第一报文标识数据库可以理解为,用于指示属于已建立的会话的报文的五元组信息以及用于转发报文的交换机对应的标识与报文标签之间的对应关系。
在本公开的一个实施例中,根据第一报文标识更新信息对第一报文标识数据库进行更新,可以为根据第一报文标识更新信息在第一报文标识数据库中进行检索,以确定第一报文标识数据库是否包括用于指示第一五元组信息、第一交换机对应的标识与第一报文标签存在对应关系的信息,当确定第一报文标识数据库未包括所检索的信息时,在第一报文标识数据库中添加用于指示第一五元组信息、第一交换机对应的标识与第一报文标签存在对应关系的信息。
根据本公开实施例提供的技术方案,通过接收第一交换机发送的第一报文标识更新信息,并根据第一报文标识更新信息对第一报文标识数据库进行更新,根据第一五元组信息以及与第一交换机对应的标识在第一报文标识数据库中进行查询,以获取第一报文标签,可以确保所获取的第一报文标签是基于第一交换机所指示的、第一五元组信息以及第一交换机与第一报文标签之间的对应关系获取的,确保接收该第一报文的交换机可以基于该第一报文标签确定该第一报文是通过那个交换机所发送的。
在本公开的一个实现方式中,获取与第一五元组信息以及第一交换机对应的第一报文标签,包括如下步骤:
接收第一交换机转发的第二报文,并对第二报文进行解析,以获取第二报文的第二五元组信息;
响应于第二五元组信息的源信息与第一五元组信息的目的信息匹配,且第二五元组信息的目的信息与第一五元组信息的源信息匹配,将第二报文中的第二报文标签确定为第一报文标签。
在本公开的一个实施例中,第二报文,可以理解为第二会话端发往网络的报文,其中第二报文可以为向第一会话端发送的报文,且第二报文属于第一会话端与第二会话端之间建立的目标会话。
在本公开的一个实施例中,第二五元组信息可以理解为用于指示第二报文的五元组。
在本公开的一个实施例中,第二五元组信息的源信息与第一五元组信息的目的信息匹配,可以理解为第二五元组信息的源IP与第一五元组信息的目的IP相同;或第二五元组信息的源IP与第一五元组信息的目的IP相同,且第二五元组信息的源端口与第一五元组信息的目的端口相同。
在本公开的一个实施例中,第二五元组信息的目的信息与第一五元组信息的源信息匹配,可以理解为第二五元组信息的目的IP与第一五元组信息的源IP相同;或第二五元组信息的目的IP与第一五元组信息的源IP相同,且第二五元组信息的目的端口与第一五元组信息的源端口相同。
在本公开的一个实施例中,第二报文标签可以位于第二报文的至少一个字段中。示例性的,第二报文为基于IPV6协议的报文时,第二报文标签可以位于第二报文的二层报文与三层报文之间的字段中,该字段可以为flow label字段。或者,第二报文为基于IPV4协议的报文时,第二报文标签可以位于第二报文的多协议标签交换字段。
根据本公开实施例提供的技术方案,通过接收第一交换机转发的第二报文,并对第二报文进行解析,以获取第二报文的第二五元组信息,响应于第二五元组信息的源信息与第一五元组信息的目的信息匹配,且第二五元组信息的目的信息与第一五元组信息的源信息匹配,即确定第二报文与第一报文属于目标会话时,将第二报文中的第二报文标签确定为第一报文标签。其中,第二报文中的第二报文标签,可以为第二交换机基于目标报文标签算法,将第二五元组信息以及第一秘钥代入进行计算获取的,并且,基于目标报文标签算法将第二五元组信息以及第一秘钥代入进行计算获取的报文标签与第一五元组信息以及第一秘钥代入进行计算获取的报文标签可以相同,因此在满足上述条件时,可以直接将第二报文中的第二报文标签确定为第一报文标签,加快了获取第一报文标签的速度。
图4示出根据本公开一实施方式的报文处理方法的流程图,该方法应用于第二交换机,如图4所示,报文处理方法包括步骤S301、S302、S303、S304。
在步骤S301中,接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签。
在步骤S302中,根据第一五元组信息以及第一报文标签获取第一秘钥。
在步骤S303中,获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息。
在步骤S304中,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。
在本公开的一个实施例中,第一报文可以理解为,第一会话端通过第一交换机发往网络的报文,其中第一报文可以为向第二会话端发送的报文,第一会话端与第二会话端之间建立了目标会话,第一报文属于该目标会话。
在本公开的一个实施例中,第一五元组信息可以理解为用于指示第一报文的五元组,其中五元组包括源IP地址、源端口、目的IP地址、目的端口以及传输层协议。
在本公开的一个实施例中,第一报文标签可以位于第一报文的至少一个字段中。示例性的,第一报文为基于IPV6协议的报文时,第一报文标签可以位于第一报文的二层报文 与三层报文之间的字段中,该字段可以为flow label字段。或者,第一报文为基于IPV4协议的报文时,第一报文标签可以位于第一报文的MPLS字段。
在本公开的一个实施例中,第一报文标签可以为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,具体的,可以根据预先获取的报文标签计算算法,代入第一秘钥以及第一五元组信息进行计算,以获取该第一报文标签;或者,也可以理解为获取预先训练得到的报文标签模型,并将第一秘钥以及第一五元组信息输入该报文标签模型,以获取该报文标签模型输出的第一报文标签。
在本公开的一个实施例中,根据第一五元组信息以及第一报文标签获取第一秘钥,可以理解为,根据预先获取的秘钥计算算法,代入第一五元组信息以及第一报文标签进行计算,以获取该第一秘钥;或者,也可以理解为获取预先训练得到的秘钥模型,并将第一五元组信息以及第一报文标签输入该秘钥模型,以获取该秘钥模型输出的第一秘钥。
在本公开的一个实施例中,获取第二报文,可以为接收第二会话端发送的报文,也可以为接收其他装置或系统转发的第二报文。
在本公开的一个实施例中,第二五元组信息可以理解为用于指示第二报文的五元组。
在本公开的一个实施例中,第二五元组信息的目的信息与第一五元组信息的源信息匹配,可以理解为第二五元组信息的目的IP与第一五元组信息的源IP相同;或第二五元组信息的目的IP与第一五元组信息的源IP相同,且第二五元组信息的目的端口与第一五元组信息的源端口相同。
在本公开的一个实施例中,第二报文包括第二报文标签,可以理解为第二报文标签位于第二报文的至少一个字段中。示例性的,第二报文为基于IPV6协议的报文时,第二报文标签可以位于第二报文的二层报文与三层报文之间的字段中,该字段可以为flow label字段。或者,第二报文为基于IPV4协议的报文时,第二报文标签可以位于第二报文的MPLS字段。
在本公开的一个实施例中,第二报文标签为根据第一秘钥以及第二五元组信息获取,可以理解为,根据预先获取的报文标签计算算法,代入第一秘钥以及第二五元组信息进行计算,以获取该第二报文标签;或者,也可以理解为获取预先训练得到的报文标签模型,并将第一秘钥以及第二五元组信息输入该报文标签模型,以获取该报文标签模型输出的第二报文标签。
在本公开的一个实施例中,发送第二报文,可以理解为根据第二五元组信息发送该第二报文。
根据本公开实施例提供的技术方案,通过接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签。其中第一报文为第一交换机响应于第一报文包括第一报文标签发送的,其中第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取,因此接收第一报文的第二交换机可以根据第一五元组信息以及第一报文标签获取第一秘钥,并获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,即确定第二报文与第一报文属于同一会话,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。第一交换机通过接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二 报文标签以及第二五元组信息获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
在本公开的一个实现方式中,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,包括:
响应于第二五元组信息与第二访问控制列表匹配、第二五元组信息中的目的信息与第一五元组信息中的源信息匹配、且第二报文包括第二报文标签,发送第二报文。
在本公开的一个实施例中,第二访问控制列表,可以被理解为可以包括被允许转发的报文的五元组信息中的至少一部分,例如,第二访问控制列表可以包括被允许转发的报文的五元组信息中的源IP以及源端口等。或者,第二访问控制列表也可以被理解为可以包括需要被丢弃的报文的五元组信息中的至少一部分,例如第二访问控制列表可以包括需要被丢弃的报文的五元组信息中的源IP以及源端口等。
在本公开的一个实施例中,当第二访问控制列表包括被允许转发的报文的五元组信息中的至少一部分时,第二五元组信息与第二访问控制列表匹配,可以理解为第二访问控制列表包括第二五元组信息中的至少一部分或全部信息。当第二访问控制列表包括需要被丢弃的报文的五元组信息中的至少一部分,第二五元组信息与第一访问控制列表匹配,可以理解为第二访问控制列表不包括第二五元组信息中的任一部分信息。
根据本公开实施例提供的技术方案,通过响应于第二五元组信息与第二访问控制列表匹配、第二五元组信息中的目的信息与第一五元组信息中的源信息匹配、且第二报文包括第二报文标签,发送第二报文,可以确保经第二交换机所转发的报文安全性较高。
在本公开的一个实现方式中,响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文之前,所述方法还包括:
检查第二报文是否包括第二报文标签,以获取第二检查结果;
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,包括:
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文包括第二报文标签,发送第二报文。
在本公开的一个实现方式中,检查第二报文是否包括第二报文标签,以获取第二检查结果,可以理解为读取第二报文中对应字段的内容,并根据所读取的内容与第二交换机根据第一秘钥以及第二五元组信息获取的第二报文标签进行对比,当二者相同时,则确定第二报文包括第二报文标签。
根据本公开实施例提供的技术方案,通过检查第二报文是否包括第二报文标签,以获取第二检查结果,并响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文包括第二报文标签,发送第二报文,可以在第二报文已包括第二报文标签时,加快发送第二报文的速度,降低了发送报文的时延,改善了用户体验。
在本公开的一个实现方式中,所述方法还包括:
响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文不包括第二报文标签,将第二报文标签插入第二报文,并发送插入第二报文标签后的第二报文。
在本公开的一个实现方式中,将第二报文标签插入第二报文,可以理解为将第二报文标签插入第二报文的对应字段中,以获取插入第二报文标签后的第二报文。
根据本公开实施例提供的技术方案,通过响应于第二五元组信息中的目的信息与第一五元组信息中的源信息匹配,且根据第二检查结果确定第二报文不包括第二报文标签,将第二报文标签插入第二报文,并发送插入第二报文标签后的第二报文,可以确保经第二交换机所发送的第二报文均包括第二报文标签,避免因第二交换机所发送的第二报文不包括第二报文标签,而导致接收该第二报文的交换机无法确定该第二报文与通过那个交换机发送的报文属于同一会话。
在本公开的一个实现方式中,获取第二报文,包括:
接收第二会话端发送的第二报文:
方法还包括:
发送第二报文标识更新信息,第二报文标识更新信息用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系。
根据本公开实施例提供的技术方案,当第二报文为第二会话端发送的时,为了确保第二会话端能够使其发送的第二报文均包括第二报文标签,通过发送用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系的第二报文标识更新信息,可以使第二会话端可以根据该第二报文标识更新信息获知第二五元组信息以及第一交换机与第二报文标签之间的对应关系,在需要发送第二报文时,可以基于第二报文的第二五元组信息,以及用于发送与该第二报文属于同一会话的第一报文的第一交换机,获取第二报文标签,并将第二报文标签插入第二报文,从而确保第二会话端所发送的第二报文均包括第二报文标签。
图5示出根据本公开一实施方式的报文处理方法的流程图,该方法应用于第二会话端,如图5所示,报文处理方法包括步骤S401、S402、S403、S404。
在步骤S401中,响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文。
在步骤S402中,确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息。
在步骤S403中,获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文。
在步骤S404中,发送第二报文。
在本公开的一个实施例中,第一报文可以理解为,由第一会话端发往网络的报文,其中第一报文可以属于目标会话。
在本公开的一个实现方式中,确定用于将第一会话端接入网络的第一交换机,可以理解为对第一会话进行解析以获取第一五元组信息,根据该根据第一五元组信息进行查询,以确定用于将第一会话端接入网络的第一交换机。其中,第一五元组信息可以理解为用于指示第一待发送报文的五元组,其中五元组包括源IP地址、源端口、目的IP地址、目的 端口以及传输层协议。
在本公开的一个实现方式中,第二五元组信息可以理解为用于指示第二待发送报文的五元组。
在本公开的一个实现方式中,获取属于目标会话的第二待发送报文的第二五元组信息,可以理解为通过对第二待发送报文进行解析,以获取该第二五元组信息。
在本公开的一个实现方式中,获取与第二五元组信息以及第一交换机对应的第二报文标签,可以理解为,根据第二五元组信息以及第一交换机对应的标签进行查询,以获取与第二五元组信息以及第一交换机对应的第二报文标签。
在本公开的一个实施例中,第二报文标签插入第二待发送报文中,可以理解为将第二报文标签插入待发送报文的至少一个字段中,以获取第二报文。示例性的,第二待发送报文为基于IPV6协议的报文时,第二报文标签可以插入第二待发送报文的二层报文与三层报文之间的字段中,以获取第二报文,该字段可以为flow label字段。或者,第二待发送报文为基于IPV4协议的报文时,第二报文标签可以插入第二待发送报文的MPLS字段,以获取第二报文。
在本公开的一个实现方式中,第二报文可以理解为,可以通过第二交换机发往网络的报文,其中第二报文可以为向第一会话端发送的报文,且第二报文属于该目标会话。
根据本公开实施例提供的技术方案,通过响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文;确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息;获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;发送第二报文。上述方案可以使第二交换机能够收到包括第二报文标签的第二报文,从而确保第二交换机所发送的第二报文包括第二报文标签。其中,由于第二报文标签与第二五元组信息以及第一交换机对应,因此第一交换机通过接收第二报文,对第二报文进行解析可以获取第二五元组信息以及第二报文中的第二报文标签,根据第二报文标签以及第二五元组信息可以获取第二秘钥,当第二秘钥与第一秘钥匹配时,可以确定该第二报文与之前通过第一交换机发送的报文属于同一会话,因此响应于第二秘钥与第一秘钥匹配,转发第二报文。在上述过程中,由于在第一交换机处未基于会话表进行查询,因此上述方案在确保第一交换机所转发的报文属于通过该第一交换机建立的会话的前提下,减少了内存负载,降低了转发报文的时延,从而改善了用户体验。
在本公开的一个实现方式中,获取与第二五元组信息以及第一交换机对应的第二报文标签之前,方法还包括:
接收第二交换机发送的第二报文标识更新信息,并根据第二报文标识更新信息对第二报文标识数据库进行更新,第二报文标识更新信息用于指示第二五元组信息以及第一交换机与第二报文标签之间的对应关系;
获取与第二五元组信息以及第一交换机对应的第二报文标签,包括:
根据第一五元组信息以及与第一交换机对应的标识在第二报文标识数据库中进行查询,以获取第二报文标签。
在本公开的一个实施例中,第二报文标识数据库可以理解为,用于指示属于已建立的会话的报文的五元组信息、用于转发与该报文属于同一个会话的报文的交换机对应的标识 与报文标签之间的对应关系。
在本公开的一个实施例中,根据第二报文标识更新信息对第二报文标识数据库进行更新,可以为根据第二报文标识更新信息在第二报文标识数据库中进行检索,以确定第二报文标识数据库是否包括用于指示第二五元组信息、第一交换机对应的标识与第二报文标签存在对应关系的信息,当确定第二报文标识数据库未包括所检索的信息时,在第二报文标识数据库中添加用于指示第二五元组信息、第一交换机对应的标识与第二报文标签存在对应关系的信息。
根据本公开实施例提供的技术方案,通过接收第二交换机发送的第二报文标识更新信息,并根据第二报文标识更新信息对第二报文标识数据库进行更新,根据第二五元组信息以及与第一交换机对应的标识在第二报文标识数据库中进行查询,以获取第二报文标签,可以确保所获取的第二报文标签是基于第一交换机所指示的、第二五元组信息以及第一交换机与第二报文标签之间的对应关系获取的,确保接收该第二报文的交换机可以基于该第二报文标签确定该第二报文是通过那个交换机所发送的。
在本公开的一个实现方式中,获取第一会话端发送的第一报文,包括:
接收第二会话端转发的第一报文;
获取与第二五元组信息以及第一交换机对应的第二报文标签,包括:
对第一报文进行解析,以获取第一报文的第一五元组信息;
响应于第二五元组信息的目的信息与第一五元组信息的源信息匹配,且第二五元组信息的源信息与第一五元组信息的目的信息匹配,将第一报文中的第一报文标签确定为第二报文标签。
在本公开的一个实施例中,第一五元组信息可以理解为用于指示第一报文的五元组。
在本公开的一个实施例中,第二五元组信息的目的信息与第一五元组信息的源信息匹配,可以理解为第二五元组信息的目的IP与第一五元组信息的源IP相同;或第二五元组信息的目的IP与第一五元组信息的源IP相同,且第二五元组信息的目的端口与第一五元组信息的源端口相同。
在本公开的一个实施例中,第二五元组信息的源信息与第一五元组信息的目的信息匹配,可以理解为第二五元组信息的源IP与第一五元组信息的目的IP相同;或第二五元组信息的源IP与第一五元组信息的目的IP相同,且第二五元组信息的源端口与第一五元组信息的目的端口相同。
在本公开的一个实施例中,第一报文标签可以位于第一报文的至少一个字段中。示例性的,第一报文为基于IPV6协议的报文时,第一报文标签可以位于第一报文的二层报文与三层报文之间的字段中,该字段可以为flow label字段。或者,第一报文为基于IPV4协议的报文时,第一报文标签可以位于第二报文的多协议标签交换字段。
根据本公开实施例提供的技术方案,通过接收第二会话端转发的第一报文;对第一报文进行解析,以获取第一报文的第一五元组信息;响应于第二五元组信息的目的信息与第一五元组信息的源信息匹配,且第二五元组信息的源信息与第一五元组信息的目的信息匹配,即确定第二报文与第一报文均属于目标会话时,将第一报文中的第一报文标签确定为第二报文标签。其中,第一报文中的第一报文标签,可以为第一交换机基于目标报文标签算法,将第一五元组信息以及第一秘钥代入进行计算获取的,并且,基于目标报文标签 算法将第二五元组信息以及第一秘钥代入进行计算获取的报文标签与第一五元组信息以及第一秘钥代入进行计算获取的报文标签可以相同,因此在满足上述条件时,可以直接将第一报文中的第一报文标签确定为第二报文标签,加快了获取第二报文标签的速度。
以下参照图6描述根据本公开一实施方式的报文处理装置。图6示出根据本公开一实施方式的报文处理装置的结构框图。
如图6所示,报文处理装置200包括:
第一报文获取模块201,被配置为获取第一报文,对第一报文进行解析以获取第一五元组信息;
第一报文发送模块202,被配置为响应于第一报文包括第一报文标签,发送第一报文,第一报文标签为根据与第一交换机对应的第一秘钥以及第一五元组信息获取;
第一报文接收模块203,被配置为接收第二报文,对第二报文进行解析以获取第二五元组信息以及第二报文中的第二报文标签,并根据第二报文标签以及第二五元组信息获取第二秘钥;
第一报文转发模块204,被配置为响应于第二秘钥与第一秘钥匹配,转发第二报文。
本领域技术人员可以理解,参照图6描述的技术方案的可以与参照上述描述的任一实施例结合,从而具备上述描述的任一实施例所实现的技术效果。具体内容可以参照上述实施例的描述,其具体内容在此不再赘述。
以下参照图7描述根据本公开一实施方式的报文处理装置。图7示出根据本公开一实施方式的报文处理装置的结构框图。
如图7所示,报文处理装置300包括:
第一五元组获取模块301,被配置为响应于第一会话端与第二会话端之间的目标会话已建立,获取属于目标会话的第一待发送报文的第一五元组信息,并确定用于将第一会话端接入网络的第一交换机;
第一标签插入模块302,被配置为获取与第一五元组信息以及第一交换机对应的第一报文标签,并将第一报文标签插入第一待发送报文中,以获取第一报文;
第二报文发送模块303,被配置为发送第一报文。
本领域技术人员可以理解,参照图7描述的技术方案的可以与参照上述描述的任一实施例结合,从而具备上述描述的任一实施例所实现的技术效果。具体内容可以参照上述实施例的描述,其具体内容在此不再赘述。
以下参照图8描述根据本公开一实施方式的报文处理装置。图8示出根据本公开一实施方式的报文处理装置的结构框图。
如图8所示,报文处理装置400包括:
第二报文接收模块401,被配置为接收第一报文,并对第一报文进行解析以获取第一五元组信息以及第一报文中的第一报文标签;
第一秘钥获取模块402,被配置为根据第一五元组信息以及第一报文标签获取第一秘钥;
第二五元组获取模块403,被配置为获取第二报文,并对第二报文进行解析获取第二报文的第二五元组信息;
第三报文发送模块404,被配置为响应于第二五元组信息中的目的信息与第一五元组 信息中的源信息匹配,且第二报文包括第二报文标签,发送第二报文,第二报文标签为根据第一秘钥以及第二五元组信息获取。
本领域技术人员可以理解,参照图8描述的技术方案的可以与参照上述描述的任一实施例结合,从而具备上述描述的任一实施例所实现的技术效果。具体内容可以参照上述实施例的描述,其具体内容在此不再赘述。
以下参照图9描述根据本公开一实施方式的报文处理装置。图9示出根据本公开一实施方式的报文处理装置的结构框图。
如图9所示,报文处理装置500包括:
第二报文获取模块501,被配置为响应于第一会话端与第二会话端之间的目标会话已建立,获取第一会话端发送的第一报文;
第三五元组获取模块502,被配置为确定用于将第一会话端接入网络的第一交换机,并获取属于目标会话的第二待发送报文的第二五元组信息;
第二标签插入模块503,被配置为获取与第二五元组信息以及第一交换机对应的第二报文标签,并将第二报文标签插入第二待发送报文中,以获取第二报文;
第四报文发送模块504,被配置为发送第二报文。
本领域技术人员可以理解,参照图9描述的技术方案的可以与参照上述描述的任一实施例结合,从而具备上述描述的任一实施例所实现的技术效果。具体内容可以参照上述实施例的描述,其具体内容在此不再赘述。
图10示出根据本公开一实施方式的电子设备的结构框图。
本公开实施方式还提供了一种电子设备,如图10所示,包括至少一个处理器601;以及与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行以实现上述任一种报文处理方法中的步骤:
图11是适于用来实现根据本公开一实施方式的方法的计算机系统的结构示意图。
如图11所示,计算机系统700包括处理单元701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行上述附图所示的实施方式中的各种处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。其中,所述处理单元701可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施方式,上文参考附图描述的方法可以被实现为计算机软件程序。示例性的,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行附图中的方法的程序代码。在这 样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。示例性的,本公开的实施方式包括一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现用于执行附图中的方法的程序代码。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。示例性的,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述节点中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。示例性的上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

  1. 一种报文处理方法,其中,所述方法应用于第一交换机,所述方法包括:
    获取第一报文,对所述第一报文进行解析以获取第一五元组信息;
    响应于所述第一报文包括第一报文标签,发送所述第一报文,所述第一报文标签为根据与第一交换机对应的第一秘钥以及所述第一五元组信息获取;
    接收第二报文,对所述第二报文进行解析以获取第二五元组信息以及所述第二报文中的第二报文标签,并根据所述第二报文标签以及所述第二五元组信息获取第二秘钥;
    响应于所述第二秘钥与所述第一秘钥匹配,转发所述第二报文。
  2. 根据权利要求1所述的报文处理方法,其中,所述响应于所述第一报文包括第一报文标签,发送所述第一报文,包括:
    响应于所述第一五元组信息与第一访问控制列表匹配,且所述第一报文包括第一报文标签,发送所述第一报文。
  3. 根据权利要求1所述的报文处理方法,其中,所述响应于所述第一报文包括第一报文标签,发送所述第一报文之前,所述方法还包括:
    检查所述第一报文是否包括所述第一报文标签,以获取第一检查结果;
    所述响应于所述第一报文包括所述第一报文标签,发送所述第一报文,包括:
    响应于根据所述第一检查结果确定所述第一报文包括所述第一报文标签,发送所述第一报文。
  4. 根据权利要求3所述的报文处理方法,其中,所述接收第二报文之前,所述方法还包括:
    响应于根据所述第一检查结果确定所述第一报文不包括所述第一报文标签,将所述第一报文标签插入所述第一报文,并发送插入所述第一报文标签后的第一报文。
  5. 根据权利要求4所述的报文处理方法,其中,所述获取第一报文,包括:
    接收第一会话端发送的第一报文:
    所述方法还包括:
    发送第一报文标识更新信息,所述第一报文标识更新信息用于指示所述第一五元组信息以及所述第一交换机与所述第一报文标签之间的对应关系。
  6. 一种报文处理方法,其中,所述方法应用于第一会话端,所述方法包括:
    响应于所述第一会话端与第二会话端之间的目标会话已建立,获取属于所述目标会话的第一待发送报文的第一五元组信息,并确定用于将所述第一会话端接入网络的第一交换机;
    获取与所述第一五元组信息以及所述第一交换机对应的第一报文标签,并将所述第一报文标签插入所述第一待发送报文中,以获取所述第一报文;
    发送所述第一报文。
  7. 一种报文处理方法,其中,所述方法应用于第二交换机,所述方法包括:
    接收第一报文,并对所述第一报文进行解析以获取所述第一五元组信息以及所述第一报文中的第一报文标签;
    根据所述第一五元组信息以及所述第一报文标签获取第一秘钥;
    获取第二报文,并对所述第二报文进行解析获取所述第二报文的第二五元组信息;
    响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且所述第二报文包括第二报文标签,发送所述第二报文,所述第二报文标签为根据所述第一秘钥以及所述第二五元组信息获取。
  8. 根据权利要求7所述的报文处理方法,其中,所述响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且所述第二报文包括第二报文标签,发送所述第二报文,包括:
    响应于所述第二五元组信息与第二访问控制列表匹配、所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配、且所述第二报文包括第二报文标签,发送所述第二报文。
  9. 根据权利要求7所述的报文处理方法,其中,所述响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且所述第二报文包括第二报文标签,发送所述第二报文之前,所述方法还包括:
    检查所述第二报文是否包括所述第二报文标签,以获取第二检查结果;
    所述响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且所述第二报文包括第二报文标签,发送所述第二报文,包括:
    响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且根据所述第二检查结果确定所述第二报文包括所述第二报文标签,发送所述第二报文。
  10. 根据权利要求9所述的报文处理方法,其中,所述方法还包括:
    响应于所述第二五元组信息中的目的信息与所述第一五元组信息中的源信息匹配,且根据所述第二检查结果确定所述第二报文不包括所述第二报文标签,将所述第二报文标签插入所述第二报文,并发送插入所述第二报文标签后的第二报文。
  11. 根据权利要求10所述的报文处理方法,其中,所述获取第二报文,包括:
    接收第二会话端发送的第二报文:
    所述方法还包括:
    发送第二报文标识更新信息,所述第二报文标识更新信息用于指示所述第二五元组信息以及所述第一交换机与所述第二报文标签之间的对应关系。
  12. 一种报文处理方法,其中,所述方法应用于第二会话端,所述方法包括:
    响应于第一会话端与所述第二会话端之间的目标会话已建立,获取所述第一会话端发送的第一报文;
    确定用于将所述第一会话端接入网络的第一交换机,并获取属于所述目标会话的第二待发送报文的第二五元组信息;
    获取与所述第二五元组信息以及所述第一交换机对应的第二报文标签,并将所述第二报文标签插入所述第二待发送报文中,以获取所述第二报文;
    发送所述第二报文。
  13. 一种电子设备,其中,包括存储器和至少一个处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述至少一个处理器执行以实现权利要求1-12任一项所述的方法步骤。
PCT/CN2023/078954 2022-03-08 2023-03-01 报文处理方法及电子设备 WO2023169270A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210220453.XA CN115065735A (zh) 2022-03-08 2022-03-08 报文处理方法及电子设备
CN202210220453.X 2022-03-08

Publications (1)

Publication Number Publication Date
WO2023169270A1 true WO2023169270A1 (zh) 2023-09-14

Family

ID=83196571

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/078954 WO2023169270A1 (zh) 2022-03-08 2023-03-01 报文处理方法及电子设备

Country Status (2)

Country Link
CN (1) CN115065735A (zh)
WO (1) WO2023169270A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065735A (zh) * 2022-03-08 2022-09-16 阿里巴巴(中国)有限公司 报文处理方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546363A (zh) * 2010-12-21 2012-07-04 深圳市恒扬科技有限公司 一种报文处理方法、装置及设备
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN109361608A (zh) * 2018-11-23 2019-02-19 北京六方领安网络科技有限公司 报文处理方法、系统及存储介质
CN110912825A (zh) * 2018-09-18 2020-03-24 阿里巴巴集团控股有限公司 一种报文的转发方法、装置、设备及系统
WO2022037571A1 (zh) * 2020-08-21 2022-02-24 深圳市中兴微电子技术有限公司 报文转发方法及装置,和计算机可读存储介质
CN115065735A (zh) * 2022-03-08 2022-09-16 阿里巴巴(中国)有限公司 报文处理方法及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583828C (zh) * 2007-02-14 2010-01-20 华为技术有限公司 分片报文处理方法与装置
EP2345212B1 (en) * 2008-11-07 2014-01-08 Telefonaktiebolaget L M Ericsson (publ) Method and apparatus for forwarding data packets using aggregating router keys
CN102821032B (zh) * 2011-06-10 2016-12-28 中兴通讯股份有限公司 一种快速转发数据包的方法及三层设备
CN104579948A (zh) * 2013-10-29 2015-04-29 国家计算机网络与信息安全管理中心 一种报文分片处理方法及装置
WO2016115698A1 (zh) * 2015-01-21 2016-07-28 华为技术有限公司 数据报文的转发方法、装置及设备
CN107948076B (zh) * 2017-12-29 2021-08-24 杭州迪普科技股份有限公司 一种转发报文的方法及装置
CN108683635A (zh) * 2018-04-12 2018-10-19 国家计算机网络与信息安全管理中心 一种基于网络处理芯片实现ip分片包同源同宿的系统及方法
CN108540492A (zh) * 2018-04-27 2018-09-14 新华三信息安全技术有限公司 一种报文处理方法
CN109802951B (zh) * 2018-12-28 2020-12-29 东软集团股份有限公司 一种报文转发方法、设备及存储设备
CN112152924A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 一种在数据中心网络中转发报文的方法及相关装置
CN112399412B (zh) * 2019-08-19 2023-03-21 阿里巴巴集团控股有限公司 会话建立的方法及装置、通信系统
CN111371549B (zh) * 2020-03-05 2023-03-24 浙江双成电气有限公司 一种报文数据传输方法、装置及系统
CN112615784B (zh) * 2020-12-17 2023-03-07 北京天融信网络安全技术有限公司 一种转发报文的方法、装置、存储介质和电子设备
CN112788116A (zh) * 2020-12-30 2021-05-11 杭州迪普科技股份有限公司 一种报文转发的方法及装置
CN113438176B (zh) * 2021-05-17 2022-08-23 翱捷科技股份有限公司 一种处理分片ip数据包的方法及装置
CN113726795B (zh) * 2021-09-01 2023-06-09 北京天融信网络安全技术有限公司 报文转发方法、装置、电子设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546363A (zh) * 2010-12-21 2012-07-04 深圳市恒扬科技有限公司 一种报文处理方法、装置及设备
CN103237039A (zh) * 2013-05-10 2013-08-07 汉柏科技有限公司 一种报文转发方法及设备
CN110912825A (zh) * 2018-09-18 2020-03-24 阿里巴巴集团控股有限公司 一种报文的转发方法、装置、设备及系统
CN109361608A (zh) * 2018-11-23 2019-02-19 北京六方领安网络科技有限公司 报文处理方法、系统及存储介质
WO2022037571A1 (zh) * 2020-08-21 2022-02-24 深圳市中兴微电子技术有限公司 报文转发方法及装置,和计算机可读存储介质
CN115065735A (zh) * 2022-03-08 2022-09-16 阿里巴巴(中国)有限公司 报文处理方法及电子设备

Also Published As

Publication number Publication date
CN115065735A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
US9397901B2 (en) Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers
CN102104541B (zh) 报头处理引擎
US9325630B2 (en) Wild card flows for switches and virtual switches based on hints from hypervisors
US9110884B2 (en) Message publishing and subscribing method and apparatus
US11212176B2 (en) Consistent processing of transport node network data in a physical sharding architecture
WO2021226948A1 (zh) 基于开放虚拟软交换机ovs的数据包处理方法及设备
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US11102171B2 (en) Virtual distributed domain name server
WO2023169270A1 (zh) 报文处理方法及电子设备
CN111585863A (zh) 虚拟可扩展局域网报文处理设备及其数据处理方法
WO2024093064A1 (zh) 一种大规模多模态网络中标识管理及优化转发方法和装置
CN111740910A (zh) 一种报文处理方法、装置、网络传输设备及报文处理系统
CN114629842A (zh) 流表处理方法、电子设备、可读存储介质及产品
EP3542518B1 (en) Enabling connections in a content centric network
EP2629492A1 (en) Method, switch, and system for processing a message
CN109672594B (zh) IPoE报文处理方法、装置及宽带远程接入服务器
US11064021B2 (en) Method, device and computer program product for managing network system
CN114785733B (zh) 一种实现跨vpc网络流量转发中会话溯源的方法
CN111294316B (zh) 基于用户态协议栈虚拟路由器的网络隔离方法和装置
US10541914B2 (en) Data packet forwarding method and network device
CN109413118B (zh) 一种实现会话同步的方法、装置及存储介质、程序产品
US11949660B2 (en) Methods for enabling enhanced firewall rules via ARP-based annotations
CN113364684B (zh) 一种信息处理方法、边缘计算平台及存储介质
US10715440B1 (en) Distributed next hop resolution
US11336557B2 (en) System and method for managing computing resources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23765848

Country of ref document: EP

Kind code of ref document: A1