WO2023284231A1 - 报文处理方法和报文处理系统 - Google Patents

报文处理方法和报文处理系统 Download PDF

Info

Publication number
WO2023284231A1
WO2023284231A1 PCT/CN2021/135677 CN2021135677W WO2023284231A1 WO 2023284231 A1 WO2023284231 A1 WO 2023284231A1 CN 2021135677 W CN2021135677 W CN 2021135677W WO 2023284231 A1 WO2023284231 A1 WO 2023284231A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
virtual machine
tunnel
session
terminal device
Prior art date
Application number
PCT/CN2021/135677
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 WO2023284231A1 publication Critical patent/WO2023284231A1/zh

Links

Images

Classifications

    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present application relates to the field of computer technology, and in particular to a message processing method and a message processing system.
  • the user's service request is exchanged in the server through the message, so as to realize the different service request of the user.
  • each user corresponds to a device, and each device needs an IP address, so that a large number of IP addresses are occupied, resulting in a waste of IP addresses.
  • Embodiments of the present application provide a message processing method and a message processing system, aiming to solve the problem of wasting IP addresses caused by users occupying a large number of IP addresses in a message processing system in the prior art.
  • an embodiment of the present application provides a message processing method, which is applied to a message processing system, and the message processing system includes a session processing process, at least two terminal devices, and a server, and the at least two terminal devices are A device that can send/receive messages, the at least two terminal devices include a first terminal device and a second terminal device, and a virtual machine process is bound to each of the at least two terminal devices, and the virtual machine process Including a virtual port, each of the at least two terminal devices includes a physical port, each of the at least two terminal devices manages multiple users, and the at least two terminal devices are connected to the server;
  • the message processing method includes:
  • the virtual machine process establishes a tunnel between the at least two terminal devices
  • the virtual machine process receives at least one service request from the multiple users;
  • the virtual machine process establishes at least one session in the tunnel according to the at least one service request, the tunnel includes at least one session, and the at least one service request corresponds to the at least one session;
  • the session processing process uses the session to process the at least one service request to obtain a processed message
  • the virtual machine process sends the processed message to users respectively corresponding to the at least one service request.
  • the virtual machine process establishes a tunnel between the at least two terminal devices, including:
  • a tunnel is established between the first terminal device and the second terminal device.
  • the establishing a tunnel between the first terminal device and the second terminal device includes:
  • the virtual machine process generates a tunnel protocol packet corresponding to the source IP address
  • the virtual machine process sends the tunnel protocol packet to the physical port of the first terminal device
  • the virtual machine process acquires the tunneling protocol message at the physical port of the first terminal device
  • the virtual machine process establishes the tunnel according to the tunnel protocol message.
  • the method further includes:
  • the virtual machine process generates at least one dial request corresponding to the at least one service request, and the number of the at least one dial request is the same as the number of the at least one service request.
  • the virtual machine process establishes at least one session in the tunnel according to the at least one service request, including:
  • the first virtual machine process sends the at least one dial request to the second terminal device
  • the second terminal device receives the at least one dialing request, at least one session is established between the first terminal device and the second terminal device.
  • the message processing method includes the user's initial message, and the initial message includes a message pointer and an inner message;
  • the processing of the at least one service request by using the session to obtain the processed message includes:
  • the virtual machine process obtains the message pointer of the initial message
  • the virtual machine process sends the message pointer to the session processing process
  • the session processing process processes the initial message according to the message pointer to obtain a first message
  • the session processing process After the session processing process finishes processing the initial message, the session processing process sends the message pointer to the virtual port.
  • the method also includes:
  • the virtual machine process reads the message pointer in the virtual port
  • the virtual machine process judges whether the first message needs to add a tunnel message header according to the message pointer
  • the tunnel message header If the first message needs to add the tunnel message header, then add the tunnel message header at the front end of the inner layer message to obtain the second message.
  • the method also includes:
  • the virtual machine process sends the second packet to the second terminal device through the server;
  • the second terminal device responds to the second packet to obtain a third packet.
  • the virtual machine process sends the processed message to the user respectively corresponding to the at least one service request, including:
  • the virtual machine process receives the third message
  • the session processing process identifies the third message, and determines the user corresponding to the third message
  • the virtual machine process sends the third packet to the corresponding user.
  • the present application also provides a message processing system, the message processing system includes a session processing process, at least two terminal devices and a server, and the at least two terminal devices are devices capable of sending/receiving messages , the at least two terminal devices include a first terminal device and a second terminal device, a virtual machine process is bound to each of the at least two terminal devices, the virtual machine process includes a virtual port, and the at least two Each of the terminal devices includes a physical port, each of the at least two terminal devices manages multiple users, and the at least two terminal devices are connected to the server;
  • the virtual machine process is used to establish a tunnel between the at least two terminal devices
  • the virtual machine process receives at least one service request for the plurality of users
  • the virtual machine process is configured to establish at least one session in the tunnel according to the at least one service request, the tunnel includes at least one session, and the at least one service request corresponds to the at least one session;
  • the session processing process is used to process the at least one service request by using the session to obtain a processed message
  • the virtual machine process is configured to send the processed message to users respectively corresponding to the at least one service request.
  • This application provides a message processing method, by processing multiple sessions corresponding to different users in the same tunnel, and decoupling tunnel services and user session services in the tunnel; so that multiple users can share one tunnel Conduct sessions to realize the sharing of IP addresses by multiple different users, thereby saving public network IPs and avoiding IP waste.
  • FIG. 1 is a schematic diagram of a scenario of an embodiment of a message processing system provided by an embodiment of the present application
  • FIG. 2 is a schematic flowchart of an embodiment of a message processing method provided by an embodiment of the present application
  • FIG. 3 is a schematic flow diagram of an embodiment of establishing a tunnel provided by the embodiment of the present application.
  • FIG. 4 is a schematic flowchart of an embodiment of establishing a tunnel between a first terminal device and a second terminal device according to an embodiment of the present application
  • FIG. 5 is a schematic flowchart of an embodiment of processing a service request by using a session provided by the embodiment of the present application
  • FIG. 6 is a schematic flowchart of another embodiment of processing a service request by using a session processing process provided by the embodiment of the present application.
  • first and second are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features.
  • a feature defined as “first” or “second” may explicitly or implicitly include one or more of said features.
  • “plurality” means two or more, unless otherwise specifically defined.
  • Embodiments of the present application provide a packet processing method and a packet processing system, which will be described in detail below.
  • Tunneling is a method of passing data between networks by using the infrastructure of the internetwork.
  • the data (or payload) transmitted through the tunnel may be data frames or packets of different protocols.
  • the tunneling protocol re-encapsulates the data frames or packets of these other protocols in new packet headers and sends them.
  • the new header provides routing information so that the encapsulated payload data can be passed across the Internet.
  • the encapsulated packets are routed through the public internetwork between the two endpoints of the tunnel.
  • the logical path through which the encapsulated data packets are transmitted on the public Internet is called a tunnel. Once at the end of the network, the data is unpacked and forwarded to the final destination.
  • Tunnel technology refers to the whole process including data encapsulation, transmission and unpacking.
  • a message is a data unit exchanged and transmitted in the network, that is, a data block to be sent by a station at one time.
  • the message contains the complete data information to be sent, its length is inconsistent, and the length is unlimited and variable.
  • Session Session (session) is called "session control" in computers, especially in network applications.
  • the Session object stores attributes and configuration information required for a specific user session. In this way, when the user jumps between web pages of the application, the variables stored in the session object will not be lost, but will always exist throughout the user session.
  • the web server When a user requests a web page from an application, the web server will automatically create a session object if the user does not already have one. When a session expires or is abandoned, the server will terminate the session.
  • FIG. 1 is a schematic diagram of a scenario of a packet processing system provided by an embodiment of the present application.
  • the packet processing system may include a session processing process 100 , at least two terminal devices 200 , and a server 300 .
  • at least two terminal devices are devices capable of sending/receiving messages
  • at least two terminal devices include a first terminal device and a second terminal device
  • at least two terminal devices are bound with a virtual machine process
  • each of the at least two terminal devices includes a physical port
  • each of the at least two terminal devices manages multiple users, and at least two of the terminal devices are connected to the server.
  • the virtual machine process is used to establish a tunnel between at least two terminal devices; the virtual machine process receives at least one service request for multiple users; the virtual machine process is used to establish at least one session in the tunnel according to at least one service request , the tunnel includes at least one session, and at least one service request corresponds to at least one session; the session processing process is used to use the session to process at least one service request to obtain the processed message; the virtual machine process is used to process the processed message The text is sent to users respectively corresponding to at least one service request.
  • the server 300 can be an independent server, or a server network or server cluster composed of servers, for example, the server 300 described in the embodiment of the present application, which includes but not limited to computers, network hosts, A single web server, multiple web server sets, or a cloud server composed of multiple servers.
  • the cloud server is composed of a large number of computers or network servers based on cloud computing (Cloud Computing).
  • the terminal device 200 used in this embodiment of the present application may be a device including both receiving and transmitting hardware, that is, a device having receiving and transmitting hardware capable of performing bidirectional communication on a bidirectional communication link.
  • Such devices may include cellular or other communication devices having a single line display or a multi-line display or a cellular or other communication device without a multi-line display.
  • the specific terminal device 200 may specifically be a desktop terminal or a mobile terminal, and the terminal device 200 may specifically be one of a mobile phone, a tablet computer, a notebook computer, and the like.
  • FIG. 1 is only an application scenario related to the solution of this application, and does not constitute a limitation on the application scenario of the solution of this application. More or fewer servers are shown, for example, only one server is shown in FIG. 1 , it can be understood that the message processing system may also include one or more other terminal devices, which is not specifically limited here.
  • the message processing system may further include a memory 400 for storing data, such as storing user service requests or message data.
  • the memory may be a read-only memory (ROM, Read Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and the like.
  • an embodiment of the present application provides a message processing method, which is applied to a message processing system, and the message processing method includes: a virtual machine process establishes a tunnel between at least two terminal devices; The process receives at least one service request from multiple users; the virtual machine process establishes at least one session in the tunnel according to the at least one service request, the tunnel includes at least one session, and the at least one service request corresponds to at least one session; the session processing process utilizes the session At least one service request is processed to obtain a processed message; the virtual machine process sends the processed message to users respectively corresponding to the at least one service request.
  • the virtual machine process establishes a tunnel between at least two terminal devices.
  • the sessions between users are processed through tunnels.
  • Multiple users can be bound to one terminal device, and multiple users use the same terminal device to process or exchange messages with other terminal devices or servers. If packets need to be exchanged between two terminal devices, a tunnel needs to be established between the two terminal devices first.
  • the tunneling protocol may include Layer Two Tunneling Protocol (Layer Two Tunneling Protocol, L2TP) or Layer 3 Tunneling Protocol (Layer Three Tunneling Protocol, L3TP) as the basis.
  • L2TP Layer Two Tunneling Protocol
  • L3TP Layer Three Tunneling Protocol
  • the Layer 2 Tunneling Protocol uses multiple tunnels for message transmission; and L2TP provides packet header compression and tunnel authentication to ensure the security of message transmission.
  • each terminal device is bound with a virtual machine process, so the virtual machine process can be used to implement the establishment of a tunnel between two terminal devices.
  • the number of terminal devices is greater than two, tunnels can be established between any two terminal devices, so as to realize packet exchange and processing through the tunnels.
  • the virtual machine process receives at least one service request from multiple users.
  • one virtual machine process is bound to one terminal device, and multiple users may be bound to one terminal device, and the service requests of these multiple users are all processed by the same terminal device. Therefore, the IP addresses corresponding to different service requests of multiple users are consistent, that is, multiple users share the same IP address.
  • the user When a user needs to perform operations such as surfing the Internet, the user generates and sends out a service request, and the virtual machine process bound in the terminal device can receive service requests from all users under the terminal device. That is, the virtual machine process can accept at least one service request from multiple users at a time.
  • the virtual machine process establishes at least one session in the tunnel according to at least one service request.
  • the service request when a user sends a service request, the service request needs to be transmitted between the terminal device and the server by using a session, so at least one session corresponding to at least one service request needs to be established.
  • Sessions store attributes and configuration information required for a particular user session. In this way, when the user jumps between web pages of the application, the variables stored in the session will not be lost, but will always exist throughout the user session.
  • the web server When a user requests a web page from an application, the web server will automatically create a session if the user does not already have one. When a session expires or is abandoned, the server will terminate the session.
  • At least one session is established in the tunnel, and at least one service request corresponds to at least one session. That is, the session in the embodiment of the present application is dynamic, not fixed and unchanged.
  • the multiple sessions are correspondingly generated in the tunnel, and the multiple sessions are in one-to-one correspondence with multiple service requests.
  • the number of service requests is the same as the number of sessions generated in the tunnel.
  • the session processing process uses the session to process at least one service request, and obtains the processed message.
  • the virtual machine process sends the processed packets to users respectively corresponding to at least one service request.
  • the virtual machine process will receive the response corresponding to the service request or the processed message; and the virtual machine process also needs to send the received response or processed message The messages are then sent to the corresponding users who send out service requests to complete the whole process of message processing.
  • This application provides a message processing method, by processing multiple sessions corresponding to different users in the same tunnel, and decoupling tunnel services and user session services in the tunnel; so that multiple users can share one tunnel Conduct sessions to realize the sharing of IP addresses by multiple different users, thereby saving public network IPs and avoiding IP waste.
  • FIG. 3 it is a schematic flow diagram of an embodiment of establishing a tunnel provided by the embodiment of the present application.
  • a virtual machine process establishes a tunnel between at least two terminal devices, which may include:
  • At least two terminal devices are included, and the at least two terminal devices include a first terminal device and a second terminal device.
  • the first terminal device is bound with multiple users, and the first terminal user is bound with a virtual machine process and a session handler.
  • the first terminal device When the first terminal device is activated, a tunnel needs to be established between the first terminal device and the second terminal device to facilitate subsequent processing of messages or service requests; therefore, it is first necessary to determine whether the first terminal is activated.
  • the virtual machine process since the virtual machine process is bound in the terminal device, when the terminal device is started, the virtual machine process in the terminal device is also started. At this time, the terminal device can generate and send a starting signal to the virtual machine process, and if the virtual machine process receives the starting signal, the virtual machine can determine that the terminal device is started.
  • the first terminal device may send a start signal to the virtual machine process bound in the first terminal device, if the virtual machine process bound in the first terminal device When the process receives the start signal, the virtual machine process may consider that the first terminal device is started.
  • a listener may be added to the message processing system, and the listener may be used to determine whether the terminal device is started. Specifically, the listener may regularly send a monitoring signal to the terminal device, and if the terminal device is activated, the terminal device may receive the monitoring signal and reply to the monitoring signal. If the listener receives the feedback signal from the terminal device within the preset time period of sending out the monitoring signal, the listener can confirm that the terminal device is started.
  • the listener may consider that the terminal device has failed, causing the terminal device to process the monitoring signal And feedback has gone wrong. Then the listener can generate fault prompt information to prompt the operator that the terminal device has a fault, so as to facilitate inspection of the terminal device.
  • the length of the preset time period can be confirmed according to the actual message processing system processing conditions, the length of the preset time period is variable, and there is no limitation here .
  • the virtual machine process bound in the first terminal device can obtain the source IP address corresponding to the first terminal device; meanwhile, the virtual machine process bound in the first terminal device can also obtain the The destination IP address corresponding to the address.
  • obtaining the destination IP address corresponding to the source IP address may include: obtaining an IP address correspondence table; and confirming the destination IP address corresponding to the source IP address according to the IP address correspondence table.
  • the correspondence between IPs of multiple terminal devices can be configured in advance to obtain an IP address correspondence table, wherein the IP address correspondence table includes correspondences between different IP addresses. Therefore, the destination IP address corresponding to the source IP address can be confirmed directly in the IP address correspondence table according to the IP address correspondence table.
  • obtaining the destination IP address corresponding to the source IP address may include: obtaining all available IP addresses; among all available IP addresses except the source IP address, confirming that the destination IP address corresponds to the source IP address destination IP address.
  • each terminal device when multiple terminal devices in the packet processing system are started, each terminal device needs to establish a tunnel with other terminal devices; therefore, the IP address corresponding to each terminal device can be obtained. That is, all IP addresses corresponding to all activated terminal devices at this time can be obtained, and all available IP addresses also include the source IP address corresponding to the first terminal device. According to the IP address, the destination IP address corresponding to the source IP address can be confirmed among all available IP addresses except the source IP address.
  • the IP address corresponding to the terminal device is generally configured in advance, a terminal device only corresponds to a unique IP address, so after confirming the IP address, the terminal device corresponding to the IP address is also confirmed, and the terminal device corresponding to the IP address is confirmed.
  • Different terminal devices can perform different processing on service requests or messages. Therefore, the destination IP address corresponding to the source IP address can be confirmed among all available IP addresses except the source IP address according to the service request of the user.
  • the second terminal device corresponding to the destination IP can also be confirmed; at this time, a tunnel can be established between the first terminal device and the second terminal device.
  • FIG. 4 it is a schematic flowchart of an embodiment of establishing a tunnel between the first terminal device and the second terminal device provided in the embodiment of the present application, which may include:
  • the virtual machine process generates a tunnel protocol packet corresponding to the source IP address.
  • the virtual machine process sends the tunnel protocol packet to the physical port of the first terminal device.
  • the virtual machine process obtains the tunneling protocol packet from the physical port of the first terminal device.
  • the virtual machine process establishes a tunnel according to the tunnel protocol message.
  • the configuration information of the two endpoints of the tunnel must be known before the tunnel is established, such as the IP addresses of the terminal devices corresponding to the two endpoints; and the tunnel attributes related to the tunnel, such as the security level required by the tunnel. Once this information is obtained, the tunnel can be established.
  • the corresponding virtual machine process in the first terminal device can construct a tunnel protocol message about the tunnel attribute by itself.
  • the tunnel protocol message may include message information such as tunnel establishment, teardown, and heartbeat; and after the corresponding virtual machine process in the first terminal device generates the tunnel protocol message, it sends the tunnel protocol message to the first terminal device in the physical port.
  • the corresponding virtual machine process in the first terminal device also needs to read the message in the physical port, if the read message is a tunnel protocol message, then the corresponding virtual machine process in the first terminal device can report according to the tunnel protocol text to establish the tunnel.
  • an L2TP tunneling protocol may be used to establish a tunnel.
  • Point to Point Protocol defines an encapsulation mechanism for how to transmit multi-protocol packets on point-to-point links.
  • users get a Layer 2 connection to a network access server (NAS) and run the PPP protocol on it.
  • NAS network access server
  • PPP and Layer 2 links are terminated on the same physical device.
  • L2TP extends the PPP mode, which allows the termination endpoints of the second-layer link and PPP to be located in different places connected by the switching network.
  • the user obtains a layer 2 connection of an access concentrator (Access Concentrator), and then the access concentrator forwards the PPP frame to the NAS through a tunnel.
  • an access concentrator Access Concentrator
  • the L2TP protocol also defines some tunnel management and maintenance operations, such as periodically sending Hello packets to judge the connectivity of the tunnel, using the sending sequence number (Ns) field and receiving sequence number (Nr) field provided by the protocol to control the flow of the tunnel and congestion control etc.
  • the L2TP protocol also supports header compression. When the header compression is enabled, the L2TP overhead can be only four bytes.
  • the L2TP protocol also provides authentication of the tunnel to ensure the consistency of the tunnel.
  • the first terminal device and the second terminal device are respectively the two endpoints of the tunnel, and multiple tunnels can be established between the first terminal device and the second terminal device to realize tunnel multiplexing.
  • the L2TP protocol uses two types of messages: control messages and data messages. Among them, the control message is used in the process of calling and establishing, maintaining and clearing the tunnel. Control messages use a dedicated reliable control channel in L2TP to ensure the transmission of control messages.
  • vxlan protocol may also be used to establish a tunnel.
  • vxlan protocol may also be used to establish a tunnel.
  • the virtual machine process in the first terminal device After the tunnel between the first terminal device and the second terminal device is established, before establishing a session in the tunnel, the virtual machine process in the first terminal device also needs to generate at least one dialing request corresponding to at least one service request; and the first The virtual machine process in the terminal device also needs to send at least one dialing request to the second terminal device corresponding to the first terminal device. After receiving at least one dialing request, the second terminal device establishes at least one session between the first terminal device and the second terminal device. Only when a session is established can the user's service request or message be processed.
  • the PPPoE protocol can be used to dial up to establish a session.
  • the PPPoE data packet is encapsulated in the data field of the Ethernet frame.
  • the Ethernet frame header includes: source IP address, destination IP address, and Ethernet protocol type.
  • Ethernet protocol type in this application may be the L2TP protocol.
  • the format of the PPPoE data message can include: 1.
  • the first 4 bits of the PPPoE data message are the version field (Version), and the content filled in the version field is 0x01; 2.
  • the code field (Code) occupies one byte, and the content of the code field is different for different stages of PPPoE.
  • the session ID (Session ID) occupies two bytes. When the access concentrator has not assigned a unique session ID to the user host, the content of this field must be filled with 0x0000; once the session ID is obtained, then in the subsequent All packets must be filled with that unique session ID. 5.
  • the Payload length (Length) of PPPoE occupies two bytes.
  • the process of using PPPoE to establish a session can be divided into a discovery (Discover) phase and a PPP session phase.
  • the discovery stage is a stateless stage, which mainly selects the access server, determines the PPP session identifier SessionID to be established, and obtains the point-to-point connection information of the other party at the same time.
  • LCP Link Control Protocol
  • the PPP session phase may include: negotiation phase, authentication phase and IPCP negotiation phase.
  • the LCP negotiation stage completes the negotiation on the maximum transmission unit, whether to perform authentication and which authentication method to use; the data frame in the LCP negotiation stage consists of three parts: Ethernet header, PPPoE header and PPP header.
  • the two parties in the session authenticate through the authentication method negotiated by the LCP. If the authentication passes, the subsequent network layer negotiation can be performed. The authentication process is carried out after the link negotiation is completed; however, the link quality negotiation may still be in progress at this time, so the authentication process will be delayed.
  • a tunnel needs to be established between the activated terminal device and other activated terminal devices; when the tunnel is established, a session is established in the tunnel according to different service requests of users, Process business requests according to sessions.
  • the tunnel after the tunnel is established, the tunnel will include a tunnel ID, which indicates the identifier of the control link, and only locally effective identifiers can be used to name the tunnel. That is to say, the same tunnel will be given different tunnel IDs by different ends, and the tunnel ID of each tunnel is given by the receiver of the information, not the sender. That is, in the embodiment of the present application, the tunnel ID is given by the second terminal device instead of the first terminal device.
  • each session also corresponds to a session ID, which is an identifier within the session. Similar to the tunnel ID, the same session will be given different session IDs by different ends, and the session ID of each session is given by the receiver of the information, not the sender. That is, in the embodiment of the present application, the session ID is given by the second terminal device instead of the first terminal device.
  • the user's service request includes the user's initial message, and the initial message includes a message pointer and an inner message.
  • FIG. 5 it is a schematic flowchart of an embodiment of processing a service request by using a session provided in the embodiment of the present application, which may include:
  • the virtual machine process obtains the packet pointer of the initial packet.
  • the virtual machine process sends the message pointer to the session processing process.
  • the session processing process processes the initial message according to the message pointer.
  • the session processing process After the session processing process finishes processing the initial message, the session processing process sends the message pointer to the virtual port.
  • the virtual machine in the first terminal device when the virtual machine in the first terminal device receives the user's service request, it will establish a session corresponding to the service request according to the service request; then use the session to process the service request.
  • the virtual machine process in the first terminal device can obtain the message pointer in the user's initial message, and send the message pointer to the session processing process.
  • the session processing process can determine the memory information corresponding to each message according to the message pointer, and find the corresponding inner layer message.
  • the session processing process can process each inner layer message differently to obtain the processed first message; wherein, the processed first The message does not include a message pointer.
  • processing the inner layer message may include performing processing such as speed limit and charging on the inner layer message.
  • the session processing process finishes processing the initial message, that is, after the session processing process finishes processing the inner layer message, the session processing process will send the message pointer to the virtual port of the virtual machine process again.
  • the message pointer when the virtual machine process sends the message pointer in the user's initial message to the session processing process, the message pointer points to the inner message in the initial message. And when the session processing process sends the message pointer to the virtual port in the virtual machine process, the message pointer at this moment points to the first message processed by the session processing process. In the process of message transmission, only the message pointer is transmitted, and the message pointer is used to confirm the memory of the inner message before processing the inner message, so that the transmitted message is smaller and the message transmission efficiency will be improved.
  • a schematic flow chart of another embodiment of utilizing a session processing process to process a service request may include:
  • the virtual machine process reads the message pointer in the virtual port.
  • the virtual machine process judges whether a tunnel header needs to be added to the first packet according to the packet pointer.
  • a tunnel header is added to the front end of the inner layer packet to obtain a second packet.
  • the virtual machine process can read the message pointer in the virtual port. If the first packet is an uplink packet, that is, the first packet is sent by the user and sent to the server or other terminal equipment; since the first packet still needs to be transmitted in the tunnel, the first packet also needs to A tunnel packet header is added so that the first packet can find a corresponding tunnel.
  • the tunnel packet header may include identification information such as a tunnel ID that can identify the tunnel.
  • a tunnel packet header may be added to the front end of the inner packet to obtain the second packet.
  • the tunnel packet headers are also different, so the tunnel packet headers in the second packet are also different.
  • the tunnel can be established by using the L2TP tunneling protocol, so the tunnel header added to the front end of the inner layer message is the L2TP header.
  • the first message is a downlink message, that is, the first message is a message returned in response to the user's service request after being transmitted to other terminals by the server; then the first message needs to be returned to the user It does not need to be transmitted in the tunnel; therefore, when the first packet is a downlink packet, there is no need to add a tunnel packet header to the first packet.
  • the virtual machine process in the first terminal device needs to send the second packet. Since each terminal device is connected to the server, the virtual machine process in the first terminal device can send the second message to the second terminal device through the server; and the second terminal device responds to the second message and obtains the third message.
  • the second message may be sent to the server first, and the server then determines the tunnel corresponding to the second message according to the tunnel message header, and uses the tunnel to send the second message to the second terminal device.
  • the second terminal device After receiving the second message, the second terminal device needs to untangle the tunnel message header in the second message to obtain the inner message in the second message. Then different processing is performed on the message according to the inner layer message to obtain the third message. That is, the second terminal device responds to the second packet to obtain the third packet.
  • the third message still needs to be transmitted in the tunnel, and for the terminal device that generates the third message, the third message is an uplink message, and needs to be transmitted in the tunnel.
  • a tunnel header is added to the third packet, so that the third packet can find a corresponding tunnel for transmission.
  • neither the second message nor the third message includes the message pointer of the message, that is, the message transmitted in the tunnel does not include the message pointer. However, only the message pointer is transmitted between the terminal device and the server, and the server determines the message information corresponding to the message according to the message pointer.
  • the virtual machine process sends the processed message to the user corresponding to at least one service request, which may include: the virtual machine process receives the third message; the session processing process identifies the third message, and determines the third message. The user corresponding to the message; the virtual machine process sends the third message to the corresponding user.
  • the second terminal device may also use the server and the tunnel established between the first terminal device and the second terminal device to send the third message obtained in response to the virtual machine process in the first terminal device.
  • the virtual machine process in the first terminal device may associate the third message with the message pointers, and confirm the third message corresponding to each message pointer.
  • the virtual machine process in the first terminal device still sends the message pointer to the session processing process bound to the first terminal device.
  • the session processing process confirms the memory information of each third message according to the message pointer, and confirms the user corresponding to each third message.
  • the message transmitted in the tunnel does not include a message pointer, but is only an inner message in the initial message corresponding to the service request. And if the message is an uplink message, the message also includes a tunnel message header; if the message is a downlink message, the message does not include a tunnel message header.
  • what is transmitted between the virtual machine process and the session processing process is only the message pointer, and both the virtual machine process and the session processing process find the memory information corresponding to the message through the message pointer.
  • each of the above units or structures can be implemented as an independent entity, or can be combined arbitrarily as the same or several entities.
  • each of the above units or structures please refer to the previous method embodiments, here No longer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文处理方法和报文处理系统,该方法包括:虚拟机进程在至少两个终端设备之间建立隧道;虚拟机进程接收多个用户的至少一个业务请求;虚拟机进程根据至少一个业务请求,在隧道中建立至少一个会话,隧道中包括至少一个会话,至少一个业务请求与至少一个会话对应;会话处理进程利用会话对至少一个业务请求进行处理,得到处理后的报文;虚拟机进程将处理后的报文发送给与至少一个业务请求分别对应的用户。本申请提供的方法,将不同用户对应的多个会话在同一个隧道中进行处理,在隧道中实现隧道业务和用户会话业务的解耦;使得多个用户可以共用一个隧道进行会话,以实现多个不同的用户共用IP地址,从而节省公网IP,避免IP的浪费。

Description

报文处理方法和报文处理系统 技术领域
本申请涉及计算机技术领域,具体涉及一种报文处理方法和报文处理系统。
背景技术
用户的业务请求通过报文的方式在服务器中实现交换,以实现用户不同的业务请求。现有技术下的服务器中,每一个用户均对应一个设备,而一个设备均需要一个IP地址,使得IP地址大量被占用,造成IP地址的浪费。
发明内容
本申请实施例提供一种报文处理方法和报文处理系统,旨在解决现有技术下的报文处理系统中的用户占用大量的IP地址,导致IP地址浪费的问题。
第一方面,本申请实施例提供一种报文处理方法,应用于报文处理系统,所述报文处理系统包括会话处理进程、至少两个终端设备和服务器,所述至少两个终端设备为可发送/接收报文的设备,所述至少两个终端设备包括第一终端设备和第二终端设备,所述至少两个所述终端设备中均绑定有虚拟机进程,所述虚拟机进程包括虚拟口,所述至少两个终端设备中每一个终端设备包括物理口,所述至少两个终端设备中每一个终端设备管理多个用户,所述至少两个终端设备与所述服务器连接;
所述报文处理方法包括:
所述虚拟机进程在所述至少两个终端设备之间建立隧道;
所述虚拟机进程接收所述多个用户的至少一个业务请求;
所述虚拟机进程根据所述至少一个业务请求,在所述隧道中建立至少一个会话,所述隧道中包括至少一个会话,所述至少一个业务请求与所述至少一个会话对应;
所述会话处理进程利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文;
所述虚拟机进程将所述处理后的报文发送给与所述至少一个业务请求分 别对应的用户。
进一步的,所述虚拟机进程在所述至少两个终端设备之间建立隧道,包括:
判断所述第一终端设备是否启动;
若所述第一终端设备启动,获取所述第一终端设备的源IP地址;
获取与所述源IP地址对应的目的IP地址;
确定与所述目的IP地址对应的第二终端设备;
在所述第一终端设备和所述第二终端设备之间建立隧道。
进一步的,所述在所述第一终端设备和所述第二终端设备之间建立隧道,包括:
所述虚拟机进程生成与所述源IP地址对应的隧道协议报文;
所述虚拟机进程将所述隧道协议报文发送至所述第一终端设备的物理口;
所述虚拟机进程在所述第一终端设备的物理口,获取所述隧道协议报文;
所述虚拟机进程根据所述隧道协议报文,建立所述隧道。
进一步的,在所述根据所述至少一个业务请求,在所述隧道中建立会话之前,所述方法还包括:
所述虚拟机进程生成与所述至少一个业务请求对应的至少一个拨号请求,所述至少一个拨号请求的数量与所述至少一个业务请求的数量相同。
进一步的,所述虚拟机进程根据所述至少一个业务请求,在所述隧道中建立至少一个会话,包括:
所述第一虚拟机进程将所述至少一个拨号请求发送至所述第二终端设备;
若所述第二终端设备接收到所述至少一个拨号请求,则在所述第一终端设备和所述第二终端设备中建立至少一个会话。
进一步的,根据权利要求1所述的报文处理方法,其特征在于,所述用户的业务请求包括所述用户的初始报文,所述初始报文包括报文指针和内层报文;
所述利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文,包括:
所述虚拟机进程获取所述初始报文的报文指针;
所述虚拟机进程将所述报文指针发送至所述会话处理进程;
所述会话处理进程根据所述报文指针,对所述初始报文进行处理,得到第一报文;
在所述会话处理进程处理所述初始报文结束后,所述会话处理进程发送所述报文指针至所述虚拟口。
进一步的,所述方法还包括:
所述虚拟机进程读取所述虚拟口中的所述报文指针;
所述虚拟机进程根据所述报文指针,判断所述第一报文是否需要增加隧道报文头;
若所述第一报文需要增加所述隧道报文头,则在所述内层报文前端增加所述隧道报文头,得到第二报文。
进一步的,所述方法还包括:
所述虚拟机进程将所述第二报文通过所述服务器发送至所述第二终端设备;
所述第二终端设备响应所述第二报文,得到第三报文。
进一步的,所述虚拟机进程将所述处理后的报文发送给与所述至少一个业务请求分别对应的用户,包括:
所述虚拟机进程接收所述第三报文;
所述会话处理进程对所述第三报文进行识别,确定所述第三报文对应的用户;
所述虚拟机进程将所述第三报文发给对应的用户。
第二方面,本申请还提供一种报文处理系统,所述报文处理系统包括会话处理进程、至少两个终端设备和服务器,所述至少两个终端设备为可发送/接收报文的设备,所述至少两个终端设备包括第一终端设备和第二终端设备,所述至少两个所述终端设备中均绑定有虚拟机进程,所述虚拟机进程包括虚拟口,所述至少两个终端设备中每一个终端设备包括物理口,所述至少两个终端设备中每一个终端设备管理多个用户,所述至少两个终端设备与所述服务器连接;
所述虚拟机进程用于在所述至少两个终端设备之间建立隧道;
所述虚拟机进程接收用于所述多个用户的至少一个业务请求;
所述虚拟机进程用于根据所述至少一个业务请求,在所述隧道中建立至少一个会话,所述隧道中包括至少一个会话,所述至少一个业务请求与所述至少一个会话对应;
所述会话处理进程用于利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文;
所述虚拟机进程用于将所述处理后的报文发送给与所述至少一个业务请求分别对应的用户。
本申请提供一种报文处理方法,通过将不同用户对应的多个会话在同一个隧道中进行处理,并在隧道中实现隧道业务和用户会话业务的解耦;使得多个用户可以共用一个隧道进行会话,以实现多个不同的用户共用IP地址,从而节省公网IP,避免IP的浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的报文处理系统一实施例场景示意图;
图2为本申请实施例提供的报文处理方法一实施例流程示意图;
图3为本申请实施例提供的建立隧道一实施例流程示意图;
图4为本申请实施例提供的在第一终端设备和第二终端设备之间建立隧道的一实施例流程示意图;
图5为本申请实施例提供的利用会话对业务请求进行处理的一实施例流程示意图;
图6为本申请实施例提供的利用会话处理进程处理业务请求的另一实施例流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在电子设备中执行,各电子设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
本申请实施例提供一种报文处理方法和报文处理系统,以下分别进行详细说明。
以下介绍本申请所涉及到的名词解释:
隧道:隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。隧道技术是指包括数据封装、传输和解包在内的全过程。
报文:报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短不一致,长度不限且可变。
会话:会话(session)在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的网页之间跳转时,存储在session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的网页时,如果该用户还没有会话,则网络服务器将自动创建一个session对象。当会话过期或被放弃后,服务器将终止该会话。
请参阅图1,图1为本申请实施例所提供的报文处理系统的场景示意图,该报文处理系统可以包括会话处理进程100、至少两个终端设备200、和服务器300。其中,至少两个终端设备为可发送/接收报文的设备,至少两个终端设备包括第一终端设备和第二终端设备,至少两个终端设备中均绑定有虚拟机进程,虚拟机进程包括虚拟口,至少两个终端设备中每一个终端设备包括物理口,至少两个终端设备中每一个终端设备管理多个用户,至少两个终端设备与服务器连接。
且虚拟机进程用于在至少两个终端设备之间建立隧道;虚拟机进程接收用于多个用户的至少一个业务请求;虚拟机进程用于根据至少一个业务请求,在隧道中建立至少一个会话,隧道中包括至少一个会话,至少一个业务请求与至少一个会话对应;会话处理进程用于利用会话对至少一个业务请求进行处理,得到处理后的报文;虚拟机进程用于将处理后的报文发送给与至少一个业务请 求分别对应的用户。
本申请实施例中,该服务器300可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的服务器300,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
可以理解的是,本申请实施例中所使用的终端设备200可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端设备200具体可以是台式终端或移动终端,终端设备200具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的服务器,例如图1中仅示出1个服务器,可以理解的,该报文处理系统还可以包括一个或多个其他终端设备,具体此处不作限定。
另外,如图1所示,该报文处理系统还可以包括存储器400,用于存储数据,如存储用户的业务请求或报文数据。其中,存储器可以为只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
需要说明的是,图1所示的报文处理系统的场景示意图仅仅是一个示例,本申请实施例描述的报文处理系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着报文处理系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
首先,本申请实施例中提供一种报文处理方法,该报文处理方法应用于报文处理系统,该报文处理方法包括:虚拟机进程在至少两个终端设备之间建立 隧道;虚拟机进程接收多个用户的至少一个业务请求;虚拟机进程根据至少一个业务请求,在隧道中建立至少一个会话,隧道中包括至少一个会话,至少一个业务请求与至少一个会话对应;会话处理进程利用会话对至少一个业务请求进行处理,得到处理后的报文;虚拟机进程将处理后的报文发送给与至少一个业务请求分别对应的用户。
如图2所示,为本申请实施例中报文处理方法的一个实施例流程示意图,该报文处理方法包括:
21、虚拟机进程在至少两个终端设备之间建立隧道。
在本申请的实施例中,用户之间的会话均利用隧道进行处理。在一个终端设备中可以绑定多个用户,多个用户利用同一个终端设备与其他的终端设备或是服务器之间进行报文的处理或交换。若是需要在两个终端设备之间进行报文的交换,需要先在两个终端设备之间建立隧道。
同时,为了建立隧道,隧道两端的通信方(一般角色为设备终端和服务器)必须使用相同的隧道协议。隧道协议可以包括第二层隧道协议(Layer Two Tunneling Protocol,L2TP)或第3层隧道协议(Layer Three Tunneling Protocol,L3TP)为基础。第二层隧道协议使用多隧道进行报文的传输;且L2TP提供包头压缩、隧道验证,保证了报文传输过程中的安全性。
且在本申请的实施例中,每一个终端设备中均绑定有虚拟机进程,因此可以利用虚拟机进程来实现两个终端设备之间的隧道的建立。当终端设备的数量大于两个时,任意两个终端设备之间均可以建立隧道,以通过隧道实现报文的交换和处理。
22、虚拟机进程接收多个用户的至少一个业务请求。
在本申请的实施例中,一个终端设备中绑定有一个虚拟机进程,而一个终端设备中可以绑定有多个用户,这多个用户的业务请求均利用同一个终端设备进行处理。因此,多个用户的不同业务请求对应的IP地址是一致的,即多个用户共用同一个IP地址。
当用户需要进行上网等操作时,用户生成业务请求并发出,而绑定在终端设备中的虚拟机进程可以接受到该终端设备下所有用户的业务请求。即虚拟机进程一次可以接受多个用户发出的至少一个业务请求。
23、虚拟机进程根据至少一个业务请求,在隧道中建立至少一个会话。
在本申请的实施例中,当用户发出业务请求时,业务请求需要利用会话在终端设备与服务器之前进行传输,因此需要建立与至少一个业务请求对应的至少一个会话。会话中会存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的网页之间跳转时,存储在会话中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的网页时,如果该用户还没有会话,则网络服务器将自动创建一个会话。当会话过期或被放弃后,服务器将终止该会话。
即当用户发出业务请求时,若此时的隧道中没有与业务请求对应的会话,那么隧道中会生成与该业务请求对应的会话,并在后续过程中利用该会话实现对报文或业务请求的处理。当用户停止发出业务请求时,会话也会随之停止,会话消失。
由于一个终端设备中绑定有多个用户,且多个用户会生成并发出至少一个业务请求,因此隧道中会建立至少一个会话,且至少一个业务请求与至少一个会话对应。即本申请实施例中的会话是动态的,并不是固定保持不变的。
具体的,当多个用户生成多个业务请求时,隧道中也会对应生成多个会话,而这多个会话和多个业务请求一一对应。在本申请的实施例中,业务请求的数量与隧道中生成的会话的数量相同。
24、会话处理进程利用会话对至少一个业务请求进行处理,得到处理后的报文。
25、虚拟机进程将处理后的报文发送给与至少一个业务请求分别对应的用户。
具体的,当用户发出的业务请求处理结束后,虚拟机进程会接收到与业务请求对应的响应或是处理后的报文;而虚拟机进程还需要将接收到的响应或是处理后的报文再分别发送给对应的发出业务请求的用户,完成整个报文处理的过程。
本申请提供一种报文处理方法,通过将不同用户对应的多个会话在同一个隧道中进行处理,并在隧道中实现隧道业务和用户会话业务的解耦;使得多个用户可以共用一个隧道进行会话,以实现多个不同的用户共用IP地址,从而 节省公网IP,避免IP的浪费。
如图3所示,为本申请实施例提供的建立隧道一实施例流程示意图,虚拟机进程在至少两个终端设备之间建立隧道,可以包括:
31、判断第一终端设备是否启动。
32、若第一终端设备启动,获取第一终端设备的源IP地址。
33、获取与源IP地址对应的目的IP地址。
34、确定与目的IP地址对应的第二终端设备。
35、在第一终端设备和第二终端设备之间建立隧道。
其中,在本申请的实施例中,包括至少两个终端设备,而至少两个终端设备包括第一终端设备和第二终端设备。在本申请的一个具体实施例中,以第一终端设备发送用户的业务请求为例,第一终端设备中绑定有多个用户,且第一终端用户中绑定有一个虚拟机进程和一个会话处理进程。
当第一终端设备启动时,就需要在第一终端设备和第二终端设备之间建立隧道,便于后续进行报文或业务请求的处理;因此首先需要判断第一终端是否启动。在本申请的实施例中,由于虚拟机进程绑定在终端设备中,因此当终端设备启动后,终端设备中的虚拟机进程也启动。此时终端设备可以生成并发送启动信号至虚拟机进程,若是虚拟机进程接收到了启动信号,则虚拟机可以确定终端设备启动。
在本申请的一个具体实施例中,若是第一终端设备启动,则第一终端设备可以发送启动信号至第一终端设备中绑定的虚拟机进程,若是第一终端设备中绑定的虚拟机进程接收到了启动信号,则虚拟机进程可以认为第一终端设备启动。
在本申请的另一些实施例中,可以在报文处理系统中增加监听器,利用监听器来判断终端设备是否启动。具体的,监听器可以定时发送监听信号至终端设备,若是终端设备启动,则终端设备可以接受监听信号,并对监听信号进行回复。若是监听器在发送出监听信号的预设时间段内接收到了来自终端设备的反馈信号,则监听器可以确认终端设备启动。
在上述实施例中,若是监听器接受到了来自终端设备的反馈信号,却不是在预设时间段内接受到的,则监听器可以认为是终端设备出现了故障,导致终 端设备对监听信号的处理和反馈出现了问题。则监听器可以生成故障提示信息以提示操作人员,终端设备出现了故障,便于对终端设备进行检查。
需要说明的是,在上述实施例中,预设时间段的长短可以根据实际的报文处理系统处理报文的情况来确认,预设时间段的长短是可变的,此处不做任何限定。
当确认第一终端设备启动后,第一终端设备中绑定的虚拟机进程可以获取第一终端设备对应的源IP地址;同时第一终端设备中绑定的虚拟机进程还可以获取与源IP地址对应的目的IP地址。
在本申请的一些实施例中,获取与源IP地址对应的目的IP地址可以包括:获取IP地址对应表;根据所述IP地址对应表,确认与源IP地址对应的目的IP地址。
在上述实施例中,多个终端设备的IP之间的对应关系可以提前配置好,得到一个IP地址对应表,其中IP地址对应表包括不同的IP地址之间的对应关系。因此可以根据IP地址对应表,直接在IP地址对应表中确认与源IP地址对应的目的IP地址。
在本申请的另一些实施例中,获取与源IP地址对应的目的IP地址可以包括:获取可用的所有的IP地址;在除源IP地址的其他所有可用IP地址中,确认与源IP地址对应的目的IP地址。
在上述实施例中,当报文处理系统中的多个终端设备均启动时,每一个终端设备均需要与其他的终端设备之间建立隧道;因此每一个终端设备对应的IP地址均可以获取。即可以获取此时所有启动的终端设备各自对应的所有的IP地址,可用的所有的IP地址中也包括第一终端设备对应的源IP地址。根据IP地址,可以在除源IP地址外的其他所有可用的IP地址中,确认与源IP地址对应的目的IP地址。
具体的,由于终端设备对应的IP地址一般都是提前配置好的,一个终端设备仅对应唯一的IP地址,因此在确认了IP地址后,也就确认了IP地址对应的终端设备,也就确认了不同的终端设备可以对业务请求或报文进行的不同的处理。因此可以根据用户的业务请求,在除源IP地址外的其他所有可用IP地址中,确认与源IP地址对应的目的IP地址。
当确认了与源IP地址对应的目的IP地址后,也就可以确认与目的IP对应的第二终端设备;这时,可以在第一终端设备和第二终端设备之间建立隧道。
如图4所示,为本申请实施例提供的在第一终端设备和第二终端设备之间建立隧道的一实施例流程示意图,可以包括:
41、虚拟机进程生成与源IP地址对应的隧道协议报文。
42、虚拟机进程将隧道协议报文发送至第一终端设备的物理口。
43、虚拟机进程在第一终端设备的物理口,获取隧道协议报文。
44、虚拟机进程根据隧道协议报文,建立隧道。
在本申请的实施例中,在隧道建立之前必须知道隧道两个端点的配置信息,例如两个端点各自对应的终端设备的IP地址;以及隧道相关的隧道属性,例如隧道所需要的安全等级。一旦获得这些信息,那么就可以建立隧道。
具体的,当第一终端设备中对应的虚拟机进程确认了与源IP地址对应的第二终端设备后,第一终端设备中对应的虚拟机进程可以自己构造关于隧道属性的隧道协议报文。其中,隧道协议报文可以包括隧道的建立、拆除、心跳等报文信息;且第一终端设备中对应的虚拟机进程生成了隧道协议报文后,将隧道协议报文发送至第一终端设备中的物理口。
而第一终端设备中对应的虚拟机进程还需要在物理口中读取报文,若是读取到的报文为隧道协议报文,则第一终端设备中对应的虚拟机进程可以根据隧道协议报文来建立隧道。
在本申请的一个具体实施例中,可以利用L2TP隧道协议来建立隧道。点对点协议(Point to Point Protocol,PPP)定义了一种如何在点对点链路上传输多协议分组的封装机制。通常情况下,用户可以获得一个网络访问服务器(NAS)的第二层连接,并在其上运行PPP协议。在这样的配置中,PPP和第二层链路在同一个物理设备上终结。
而L2TP将PPP这种模式进行了扩展,它允许第二层链路和PPP的终止端点分别位于由交换网络所连接的不同地方。使用L2TP的时候,用户获得一个访问集中器(AccessConcentrator)的第二层连接,然后该访问集中器再将PPP帧用隧道的方式转发到NAS。
L2TP协议还定义了一些隧道的管理与维护操作,如定期发送Hello报文以 判断隧道的连通性,利用协议提供的发送序号(Ns)域和接收序号(Nr)域进行隧道的流量控制和拥塞控制等。且L2TP协议还支持头压缩,当开启头压缩时,L2TP的开销可以仅为四个字节。L2TP协议还提供隧道的验证,以保证隧道的一致性。
在本申请的实施例中,第一终端设备和第二终端设备分别为隧道的两个端点,且在第一终端设备和第二终端设备之间可以建立多条隧道,实现隧道的复用。隧道中包括两种信道:控制信道和数据信道;一般来说,隧道中会有多条并发的数据信道。
L2TP协议使用两种类型的消息:控制消息和数据消息。其中,控制消息用在隧道的呼叫和建立、维护和清除等过程当中。控制消息使用L2TP中一个专门的可靠控制信道来保证控制消息的传输。
在本申请的另一些实施例中,也可以利用其它协议例如vxlan协议等建立隧道,具体建立隧道的过程可以参考现有技术,此处不做限定。
在第一终端设备和第二终端设备之前的隧道建立后,在隧道中建立会话之前,第一终端设备中的虚拟机进程还需要生成与至少一个业务请求对应的至少一个拨号请求;而第一终端设备中的虚拟机进程还需要将至少一个拨号请求,发送至于第一终端设备对应的第二终端设备。而第二终端设备在接收到至少一个拨号请求后,再在第一终端设备和第二终端设备之间建立至少一个会话。只有会话建立,才能对用户的业务请求或报文进行处理。
在本申请的实施例中,可以利用PPPoE协议进行拨号以建立会话。其中,PPPoE的数据报文是被封装在以太网帧的数据域内的。
以太网帧头包括:源IP地址、目的IP地址、以太网协议类型。其中,本申请中的以太网协议类型可以为L2TP协议。
PPPoE数据报文的格式可以包括:1、PPPoE数据报文最开始的4位为版本域(Version),版本域中填充的内容为0x01;2、版本域后4位的类型域(Type),类型域中填充的内容也是0x01;3、代码域(Code)占用一个字节,对于PPPoE的不同阶段代码域的内容也不一样。4、会话ID(Session ID)占用两个字节,当访问集中器还没有分配唯一的会话ID给用户主机的话,该域的内容必须填充为0x0000;一旦获取了会话ID后,那么在后续的所有报文里面必须填充那个唯 一的会话ID。5、PPPoE的Payload长度(Length)占两个字节。
利用PPPoE建立会话的过程可以分为发现(Discover)阶段和PPP会话阶段。发现阶段是一个无状态的阶段,该阶段主要是选择接入服务器,确定所要建立的PPP会话标识符SessionID,同时获得对方点到点的连接信息。
而PPP会话的建立,需要两端的设备都发送LCP(Link ControlProtocol)数据包来配置和测试数据通信链路。LCP报文可以分为三类:链路配置报文、链路终止报文和链路维护报文。
而PPP会话阶段又可以包括:协商阶段,认证阶段和IPCP协商阶段。其中,LCP协商阶段完成最大传输单元,是否进行认证和采用何种认证方式的协商;LCP协商阶段的数据帧由三部分组成:以太网头,PPPoE头和PPP头。会话双方通过LCP协商好的认证方法进行认证,如果认证通过了,才可以进行后续的网络层的协商。认证过程在链路协商结束后就进行;但此时可能链路质量的协商还在进行,所以会延缓认证过程。
在本申请的实施例中,当终端设备启动后,就需要在启动的终端设备与其他启动的终端设备之间建立隧道;当隧道建立后,再根据用户的不同业务请求在隧道中建立会话,根据会话对业务请求进行处理。
在上述实施例中,隧道建立后,隧道将包括隧道ID,隧道ID指示控制链接的标识符,只有本地有效的标识符才能用来给隧道命名。也就是说,相同的隧道会由不同端给予不同的隧道ID,每个隧道的隧道ID由信息的接受者给出,而不是发送者。即在本申请的实施例中,隧道ID是由第二终端设备给出的,而不是第一终端设备。
同时,每个会话也会对应一个会话ID,会话ID是会话内的一个标识符。与隧道ID相似,相同的会话会由不同端给予不同的会话ID,每个会话的会话ID由信息的接受者给出,而不是发送者。即在本申请的实施例中,会话ID是由第二终端设备给出的,而不是第一终端设备。
用户的业务请求包括用户的初始报文,而初始报文中包括报文指针和内层报文。如图5所示,为本申请实施例提供的利用会话对业务请求进行处理的一实施例流程示意图,可以包括:
51、虚拟机进程获取初始报文的报文指针。
52、虚拟机进程将报文指针发送至会话处理进程。
53、会话处理进程根据报文指针,对初始报文进行处理。
54、在会话处理进程处理初始报文结束后,会话处理进程发送报文指针至虚拟口。
具体的,在本申请的实施例中的,当第一终端设备中的虚拟机接收到了用户的业务请求后,会根据业务请求建立与业务请求对应的会话;接着利用会话对业务请求进行处理。
当会话建立后,第一终端设备中的虚拟机进程可以获取用户的初始报文中的报文指针,并将报文指针发送至会话处理进程。而会话处理进程在接受到报文指针后,可以根据报文指针确定每个报文对应的内存信息,并找到对应的内层报文。
在会话处理进程找到每个报文指针对应的内层报文后,会话处理进程可以对每个内层报文进行不同的处理,得到处理后的第一报文;其中,处理后的第一报文不包括报文指针。其中,对内层报文进行处理可以包括对内层报文进行限速、收费等处理。而在会话处理进程处理初始报文结束,即会话处理进程处理内层报文结束后,会话处理进程会再将报文指针发送给虚拟机进程的虚拟口中。
需要说明的是,在上述实施例中,在虚拟机进程和会话处理进程之间传输的是初始报文对应的报文指针,而不是完整的报文。且虚拟机进程和会话处理进行均是根据报文指针寻找到与报文指针对应的内层报文。在整个报文指针的传输过程中,报文指针并没有发生变化,但报文指针指向的信息即指向的内层报文发生了改变。
在上述实施例中,虚拟机进程将用户的初始报文中的报文指针发送给会话处理进程时,报文指针指向的是初始报文中的内层报文。而在会话处理进程将报文指针发送给虚拟机进程中的虚拟口时,此时的报文指针指向的进过会话处理进程处理后的第一报文。在报文传输的过程中,仅进行报文指针的传输,利用报文指针确认内层报文的内存再处理内层报文,这样传输的报文较小,报文的传输效率会提高。
如图6所示,为本申请实施例提供的利用会话处理进程处理业务请求的另 一实施例流程示意图,可以包括:
61、虚拟机进程读取虚拟口中的报文指针。
62、虚拟机进程根据报文指针,判断第一报文是否需要增加隧道报文头。
63、若第一报文需要增加隧道报文头,则在内层报文前端增加隧道报文头,得到第二报文。
具体的,在本申请的实施例中,当会话处理进程将报文指针发送给虚拟机进程中的虚拟口后,虚拟机进程可以读取虚拟口中的报文指针。若第一报文为上行报文,即第一报文为用户发出,发送给服务器或其他终端设备的报文;由于第一报文还需要在隧道中传输,因此第一报文中还需要增加隧道报文头,以便于第一报文寻找对应的隧道。其中,隧道报文头可以包括隧道ID等可以识别隧道的标识信息。
在上述实施例中,可以在内层报文的前端增加隧道报文头,得到第二报文。对于利用不同隧道协议建立的报文来说,隧道报文头也不同,因此第二报文中的隧道报文头也不同。在本申请的一个具体实施例中,可以利用L2TP隧道协议建立隧道,因此在内层报文前端加入的隧道报文头为L2TP头。
在上述实施例中,若是第一报文为下行报文,即第一报文为用户的业务请求经过服务器传输到其他终端后,响应返回的报文;那么第一报文是需要返回给用户的,不需要在到隧道中进行传输;因此,当第一报文为下行报文时,无需在第一报文中增加隧道报文头。
在本申请的实施例中,若是第一报文为上行报文,则在内层报文前端加入隧道报文头,得到第二报文后,第二报文仍需要在隧道中进行传输,因此第一终端设备中的虚拟机进程需要将第二报文发出。由于每个终端设备均与服务器连接,因此,第一终端设备中的虚拟机进程可以将第二报文通过服务器发送给第二终端设备;而第二终端设备响应第二报文,得到第三报文。
具体的,由于第一终端设备和第二终端设备之间已经建立了隧道,而第二报文中也加入了隧道报文头。因此,可以先将第二报文发送给服务器,而服务器再根据隧道报文头确定与第二报文对应的隧道,利用隧道将第二报文发送给第二终端设备。
当第二终端设备接收到第二报文后,需要先将第二报文中的隧道报文头解 开,获取第二报文中的内层报文。再根据内层报文对报文进行不同的处理,得到第三报文。即第二终端设备响应第二报文,得到第三报文。
在上述实施例中,对于第三报文来说,第三报文仍然需要在隧道中进行传输,且对于生成第三报文的终端设备来说,第三报文是上行报文,需要在第三报文中增加隧道报文头,使得第三报文可以找到对应的隧道进行传输。对第三报文增加隧道报文头的步骤,可以参考前述对第一报文增加隧道报文头的步骤,此处不再赘述。
需要说明的是,第二报文和第三报文中均不包括报文的报文指针,即在隧道中传输的报文不包括报文指针。但在终端设备与服务器之间进行传输的仅为报文指针,服务器根据报文指针确定报文对应的报文信息。
而第二终端设备响应第二报文,得到第三报文后,还需要量第三报文返回给用户,响应用户的业务请求。具体的,虚拟机进程将处理后的报文发送给与至少一个业务请求分别对应的用户,可以包括:虚拟机进程接收第三报文;会话处理进程对第三报文进行识别,确定第三报文对应的用户;虚拟机进程将第三报文发送给对应的用户。
具体的,第二终端设备同样可以利用服务器和已经建立在第一终端设备和第二终端设备之间的隧道,将响应得到的第三报文发送给第一终端设备中的虚拟机进程。第一终端设备中的虚拟机进程接收到了第三报文后,可以将第三报文与报文指针对应起来,确认每一个报文指针各自对应的第三报文。
同时,第一终端设备中的虚拟机进程仍然会将报文指针发送给第一终端设备绑定的会话处理进程。会话处理进程根据报文指针,确认每一个第三报文的内存信息,并确认每一个第三报文对应的用户。
由于用户发出的业务请求可以为多个,用户请求对应的初始报文、第二报文和第三报文也为多个。不同的第三报文对应不同的用户的不同业务请求。因此可以根据报文指针确认每个报文指针对应的第三报文;并将第三报文返回给对应的用户。用户在接受到第三报文后,才完成整个业务请求的响应。
需要说明的是,在本申请的实施例中,在隧道中传输的报文不包括报文指针,仅为业务请求对应的初始报文中的内层报文。且若是报文为上行报文,则报文中还包括隧道报文头;若是报文为下行报文,则报文中不包括隧道报文头。 而在虚拟机进程和会话处理进程之间传输的仅为报文指针,虚拟机进程和会话处理进程均是通过报文指针寻找到报文对应的内存信息。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种报文处理方法和报文处理系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

  1. 一种报文处理方法,其特征在于,应用于报文处理系统,所述报文处理系统包括会话处理进程、至少两个终端设备和服务器,所述至少两个终端设备为可发送/接收报文的设备,所述至少两个终端设备包括第一终端设备和第二终端设备,所述至少两个所述终端设备中均绑定有虚拟机进程,所述虚拟机进程包括虚拟口,所述至少所述两个终端设备中每一个终端设备包括物理口,所述至少两个终端设备中每一个终端设备管理多个用户,所述至少两个终端设备与所述服务器连接;
    所述报文处理方法包括:
    所述虚拟机进程在所述至少两个终端设备之间建立隧道;
    所述虚拟机进程接收所述多个用户的至少一个业务请求;
    所述虚拟机进程根据所述至少一个业务请求,在所述隧道中建立至少一个会话,所述隧道中包括至少一个会话,所述至少一个业务请求与所述至少一个会话对应;
    所述会话处理进程利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文;
    所述虚拟机进程将所述处理后的报文发送给与所述至少一个业务请求分别对应的用户。
  2. 根据权利要求1所述的报文处理方法,其特征在于,所述虚拟机进程在所述至少两个终端设备之间建立隧道,包括:
    判断所述第一终端设备是否启动;
    若所述第一终端设备启动,获取所述第一终端设备的源IP地址;
    获取与所述源IP地址对应的目的IP地址;
    确定与所述目的IP地址对应的第二终端设备;
    在所述第一终端设备和所述第二终端设备之间建立隧道。
  3. 根据权利要求2所述的报文处理方法,其特征在于,所述在所述第一终端设备和所述第二终端设备之间建立隧道,包括:
    所述虚拟机进程生成与所述源IP地址对应的隧道协议报文;
    所述虚拟机进程将所述隧道协议报文发送至所述第一终端设备的物理口;
    所述虚拟机进程在所述第一终端设备的物理口,获取所述隧道协议报文;
    所述虚拟机进程根据所述隧道协议报文,建立所述隧道。
  4. 根据权利要求1所述的报文处理方法,其特征在于,在所述根据所述至少一个业务请求,在所述隧道中建立会话之前,所述方法还包括:
    所述虚拟机进程生成与所述至少一个业务请求对应的至少一个拨号请求,所述至少一个拨号请求的数量与所述至少一个业务请求的数量相同。
  5. 根据权利要求4所述的报文处理方法,其特征在于,所述虚拟机进程根据所述至少一个业务请求,在所述隧道中建立至少一个会话,包括:
    所述第一虚拟机进程将所述至少一个拨号请求发送至所述第二终端设备;
    若所述第二终端设备接收到所述至少一个拨号请求,则在所述第一终端设备和所述第二终端设备中建立至少一个会话。
  6. 根据权利要求1所述的报文处理方法,其特征在于,所述用户的业务请求包括所述用户的初始报文,所述初始报文包括报文指针和内层报文;
    所述利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文,包括:
    所述虚拟机进程获取所述初始报文的报文指针;
    所述虚拟机进程将所述报文指针发送至所述会话处理进程;
    所述会话处理进程根据所述报文指针,对所述初始报文进行处理,得到第一报文;
    在所述会话处理进程处理所述初始报文结束后,所述会话处理进程发送所述报文指针至所述虚拟口。
  7. 根据权利要求6所述的报文处理方法,其特征在于,所述方法还包括:
    所述虚拟机进程读取所述虚拟口中的所述报文指针;
    所述虚拟机进程根据所述报文指针,判断所述第一报文是否需要增加隧道报文头;
    若所述第一报文需要增加所述隧道报文头,则在所述内层报文前端增加所述隧道报文头,得到第二报文。
  8. 根据权利要求7所述的报文处理方法,其特征在于,所述方法还包括:
    所述虚拟机进程将所述第二报文通过所述服务器发送至所述第二终端设备;
    所述第二终端设备响应所述第二报文,得到第三报文。
  9. 根据权利要求8所述的报文处理方法,其特征在于,所述虚拟机进程将所述处理后的报文发送给与所述至少一个业务请求分别对应的用户,包括:
    所述虚拟机进程接收所述第三报文;
    所述会话处理进程对所述第三报文进行识别,确定所述第三报文对应的用户;
    所述虚拟机进程将所述第三报文发给对应的用户。
  10. 一种报文处理系统,其特征在于,所述报文处理系统包括会话处理进程、至少两个终端设备和服务器,所述至少两个终端设备为可发送/接收报文的设备,所述至少两个终端设备包括第一终端设备和第二终端设备,所述至少两个所述终端设备中均绑定有虚拟机进程,所述虚拟机进程包括虚拟口所述至少两个终端设备中每一个终端设备包括物理口,所述至少两个终端设备中每一个终端设备管理多个用户,所述至少两个终端设备与所述服务器连接;
    所述虚拟机进程用于在所述至少两个终端设备之间建立隧道;
    所述虚拟机进程接收用于所述多个用户的至少一个业务请求;
    所述虚拟机进程用于根据所述至少一个业务请求,在所述隧道中建立至少一个会话,所述隧道中包括至少一个会话,所述至少一个业务请求与所述至少一个会话对应;
    所述会话处理进程用于利用所述会话对所述至少一个业务请求进行处理,得到处理后的报文;
    所述虚拟机进程用于将所述处理后的报文发送给与所述至少一个业务请求分别对应的用户。
PCT/CN2021/135677 2021-07-13 2021-12-06 报文处理方法和报文处理系统 WO2023284231A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110788800.4A CN113542395B (zh) 2021-07-13 2021-07-13 报文处理方法和报文处理系统
CN202110788800.4 2021-07-13

Publications (1)

Publication Number Publication Date
WO2023284231A1 true WO2023284231A1 (zh) 2023-01-19

Family

ID=78098782

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/135677 WO2023284231A1 (zh) 2021-07-13 2021-12-06 报文处理方法和报文处理系统

Country Status (2)

Country Link
CN (1) CN113542395B (zh)
WO (1) WO2023284231A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542395B (zh) * 2021-07-13 2022-07-12 武汉绿色网络信息服务有限责任公司 报文处理方法和报文处理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206568A1 (en) * 2006-03-02 2007-09-06 Andrew Silver Call flow system and method use in legacy telecommunication system
CN106130867A (zh) * 2016-08-30 2016-11-16 锐捷网络股份有限公司 跨数据中心的虚拟机通信方法及装置
CN107211038A (zh) * 2014-12-01 2017-09-26 瑞典爱立信有限公司 用于nfvi的enf选择
CN109639458A (zh) * 2018-11-19 2019-04-16 迈普通信技术股份有限公司 实现qos策略的方法及装置
CN113542395A (zh) * 2021-07-13 2021-10-22 武汉绿色网络信息服务有限责任公司 报文处理方法和报文处理系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980086889A (ko) * 1997-05-15 1998-12-05 이데이 노부유끼 데이터 통신방법, 데이터 통신단말, 데이터 통신시스템 및 통신 제어시스템
IT1320031B1 (it) * 2000-04-12 2003-11-12 Marconi Comm Spa Disposizione di reti.
FI116017B (fi) * 2002-01-22 2005-08-31 Netseal Mobility Technologies Menetelmä viestien lähettämiseksi turvallisten mobiiliviestintäyhteyksien läpi
CN1780294B (zh) * 2004-11-26 2010-07-07 中兴通讯股份有限公司 基于以太网上的点到点协议实现虚拟专网的方法
CN100484034C (zh) * 2006-08-15 2009-04-29 华为技术有限公司 采用虚拟路由器冗余协议接入用户的方法和系统
CN101309284B (zh) * 2007-05-14 2012-09-05 华为技术有限公司 一种远程接入的通信方法、设备和系统
CN101374334A (zh) * 2007-08-22 2009-02-25 华为技术有限公司 传递分组数据网络标识信息的方法和系统
CN101741605B (zh) * 2008-11-11 2013-04-24 华为技术有限公司 一种处理报文的方法、设备和系统
CN101753525A (zh) * 2008-12-17 2010-06-23 华为技术有限公司 实现dhcp用户业务批发的方法、系统和设备
CN101931936B (zh) * 2009-06-22 2014-01-01 中兴通讯股份有限公司 业务数据的传输方法和系统、终端、用户数据处理实体
CN102480421A (zh) * 2010-11-30 2012-05-30 同济大学 车辆网络数据传输方法及其系统
CN104980347B (zh) * 2014-04-04 2019-02-12 华为技术有限公司 一种建立隧道的方法及装置
CN103986638B (zh) * 2014-05-27 2017-08-08 新华三技术有限公司 Advpn隧道绑定多公网链路的方法和装置
CN108667695B (zh) * 2017-09-06 2020-12-29 新华三技术有限公司 一种bras转控分离的备份方法和装置
CN112702252B (zh) * 2019-10-23 2024-02-02 华为云计算技术有限公司 一种报文处理方法、系统及相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206568A1 (en) * 2006-03-02 2007-09-06 Andrew Silver Call flow system and method use in legacy telecommunication system
CN107211038A (zh) * 2014-12-01 2017-09-26 瑞典爱立信有限公司 用于nfvi的enf选择
CN106130867A (zh) * 2016-08-30 2016-11-16 锐捷网络股份有限公司 跨数据中心的虚拟机通信方法及装置
CN109639458A (zh) * 2018-11-19 2019-04-16 迈普通信技术股份有限公司 实现qos策略的方法及装置
CN113542395A (zh) * 2021-07-13 2021-10-22 武汉绿色网络信息服务有限责任公司 报文处理方法和报文处理系统

Also Published As

Publication number Publication date
CN113542395A (zh) 2021-10-22
CN113542395B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
JP6908334B2 (ja) モノのインターネット通信方法、モノのインターネット装置、及びモノのインターネットシステム
CN114124618B (zh) 一种报文传输方法及电子设备
CN109587275A (zh) 一种通信连接的建立方法及代理服务器
JP2019526983A (ja) ブロードバンドリモートアクセスサーバの制御プレーン機能と転送プレーン機能の分離
US11134009B2 (en) Packet processing method and apparatus
WO2016180020A1 (zh) 一种报文处理方法、设备和系统
US8971311B2 (en) Methods, systems and computer readable media for supporting a plurality of real-time transport protocol (RTP) multiplexing enablement methods in a media gateway
WO2021174943A1 (zh) 数据转发方法、装置、设备和存储介质
WO2020083269A1 (zh) 一种建立多路径连接的子流的方法、装置和系统
US11582113B2 (en) Packet transmission method, apparatus, and system utilizing keepalive packets between forwarding devices
WO2021254001A1 (zh) 会话建立方法、装置、系统及计算机存储介质
CN109936492A (zh) 一种通过隧道传输报文的方法、装置和系统
US8156209B1 (en) Aggregation devices processing keep-alive messages of point-to-point sessions
WO2023284231A1 (zh) 报文处理方法和报文处理系统
CN109818901B (zh) 报文头压缩机制确定方法、设备及系统
WO2013185696A2 (zh) 一种数据处理的方法与设备
KR102055911B1 (ko) 세션 연결을 위한 시그널링 방법, 그리고 이를 구현한 장치
WO2019041332A1 (zh) 一种加速网络传输优化方法以及系统
WO2017161866A1 (zh) 网络连接方法及装置
WO2015096734A1 (zh) 一种业务数据的下行传输方法及分组数据网关
WO2022007749A1 (zh) 一种数据传输方法和装置
WO2014169590A1 (zh) 一种数据业务通信方法、设备及系统
CN110620999B (zh) 用户面数据处理方法及装置
CN112887185B (zh) 一种叠加网络的通信方法及装置
WO2020164451A1 (zh) 建立承载的方法、装置及可读存储介质

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: 21950003

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21950003

Country of ref document: EP

Kind code of ref document: A1