WO2020233249A1 - 一种报文传输方法以及相关装置 - Google Patents
一种报文传输方法以及相关装置 Download PDFInfo
- Publication number
- WO2020233249A1 WO2020233249A1 PCT/CN2020/083114 CN2020083114W WO2020233249A1 WO 2020233249 A1 WO2020233249 A1 WO 2020233249A1 CN 2020083114 W CN2020083114 W CN 2020083114W WO 2020233249 A1 WO2020233249 A1 WO 2020233249A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- proxy server
- network information
- tcp tunnel
- target server
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000013507 mapping Methods 0.000 claims abstract description 81
- 238000004891 communication Methods 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004931 aggregating effect Effects 0.000 abstract description 6
- 238000010295 mobile communication Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 22
- 238000013461 design Methods 0.000 description 18
- 230000004044 response Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 17
- 238000005538 encapsulation Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Definitions
- This application relates to the field of communications, and in particular to a message transmission method and related devices.
- the Linux native protocol stack uses the transmission control protocol (TCP) congestion control algorithm for each stream of each user.
- TCP transmission control protocol
- Each stream of each user is uniquely determined by a group of five-tuples.
- the five-tuple includes: source Internet protocol address (IP address), destination IP address, source port number, destination port number, and protocol type.
- IP address Internet protocol address
- destination IP address destination IP address
- protocol type protocol type
- HTTP Hypertext Transfer Protocol
- HTTP2.0 is the upper layer protocol carried by TCP
- certain characteristics of the upper layer protocol HTTP2.0 carried by TCP are used to solve the TCP layer problem, and the applicable scenarios have great limitations (only applicable to In the HTTP2.0 protocol), it cannot solve the problem of low message transmission efficiency caused by idle packet transmission caused by other protocols carried on TCP, such as the file transfer protocol (FTP).
- FTP file transfer protocol
- the embodiment of the present application provides a message transmission method.
- By aggregating messages from multiple TCP streams from multiple terminals into a TCP tunnel using one TCP tunnel for transmission can fully avoid the idle time of the TCP tunnel. appear.
- the problem of low message transmission efficiency caused by idle packet transmission can be solved, and TCP tunnel resources can be fully utilized to improve TCP transmission efficiency.
- an embodiment of the present application provides a message transmission method, which may include:
- the proxy server receives one or more messages from one or more terminal devices, and calls this batch of messages the first message, where the first message carries the network information of the terminal device and the target server Network information, specifically, the network information of the terminal device and the network information of the target server include the IP address of the terminal device and the IP address of the target server;
- the proxy server generates a second message according to the first message and the first network information mapping relationship, where the second message carries the network information of the target server and the network information of the proxy server, and the first network information
- the mapping relationship includes the IP address of the proxy server, the IP address of the target server, the source port number of the proxy server, the destination port number of the target server, and the communication protocol type;
- the proxy server sends the second message to the target server through a first transmission control protocol TCP tunnel, where the first TCP tunnel corresponds to the first network information mapping relationship.
- the proxy server may be a network device or other combined device
- the target server may be a network device, chip or other combined device.
- the proxy server can re-encapsulate the multiple messages according to the first network information mapping relationship to generate a second message, because the first network information maps The relationship is the network information mapping relationship corresponding to the first TCP tunnel, so the second packet can be transmitted in the first TCP tunnel. It can make full use of TCP tunnel resources to improve TCP transmission efficiency.
- the proxy server after the proxy server receives at least one first message from at least one terminal device, it further includes:
- the proxy server or the first network element detects whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet according to the service type identifier of the first packet. If the first network element detects whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet based on the service type identification of the first packet, if it is less than or equal to the bandwidth required by the first packet, the proxy server establishes a second with the target server TCP tunnel, wherein the second TCP tunnel corresponds to a second network information mapping relationship, and the second network information mapping relationship further includes the IP address of the proxy server, the IP address of the target server, the source port number of the proxy server, the The destination port number and communication protocol type of the target server, the second network information mapping relationship is inconsistent with the first network information mapping relationship;
- the proxy server generates a third message according to the first message and the second network information mapping relationship, where the third message carries the network information of the target server and the network information of the proxy server;
- the proxy server sends the third message to the target server through the second TCP tunnel.
- the proxy server If it is greater than, the proxy server generates the second message according to the first message and the first network information mapping relationship, wherein the second message carries the network information of the target server and the network information of the proxy server ;
- the proxy server sends the second message to the target server through the first transmission control protocol TCP tunnel, where the first TCP tunnel corresponds to the first network information mapping relationship.
- the proxy server detects the bandwidth required by the first packet according to the service type identifier of the first packet, and compares it with the remaining bandwidth of the first TCP tunnel. Only when the bandwidth required by the first packet is less than the remaining bandwidth of the first TCP tunnel, the first TCP tunnel is used to transmit the processed first packet, and the packet transmitted in the first TCP tunnel is called the second packet , In the case that the bandwidth required by the first message is greater than or equal to the remaining bandwidth of the first TCP tunnel, a new TCP tunnel is established between the proxy server and the target server. This TCP tunnel is called the second TCP tunnel. 2.
- the TCP tunnel transmits the processed first message, which is called the third message. Before transmitting the first message, the proxy server detects whether the remaining bandwidth of the first TCP tunnel meets the bandwidth required by the first message, so as to ensure that the first message can be successfully transmitted to the target server.
- the method before the proxy server receives at least one first message from the terminal device, the method further includes:
- the proxy server receives a link establishment message from the terminal device, where the link establishment message carries network information of the terminal device and network information of the target server;
- the proxy server detects whether a transmission control protocol TCP tunnel is established between the proxy server and the target server according to the network information of the target server in the link establishment message;
- the proxy server establishes the TCP tunnel with the target server, and the specific method for establishing the TCP tunnel is a three-way handshake to build a chain;
- the proxy server sends a message to the target server through the TCP tunnel, and the TCP tunnel is called the first TCP tunnel.
- the proxy server Before transmitting the first message, the proxy server will receive the link establishment message from the terminal device, and the proxy server will base on the terminal device network information carried in the link establishment message and the network information of the target server. , To detect whether a TCP tunnel is established between the proxy server and the target server. If it is not established, a TCP tunnel is established, which is called the first TCP tunnel; if a TCP tunnel has been established, one of them is selected as the first TCP tunnel. In order to ensure that the message is transmitted in the TCP tunnel, the data transmission efficiency is improved.
- the proxy server receives the first message from the terminal device through a dedicated GBR bearer with a guaranteed bit rate, wherein the transmission rate of the message in the dedicated GBR bearer is stable.
- the GBR dedicated bearer is established by a first network element and the terminal device, where the first network element is used to forward the first message transmitted in the GBR dedicated bearer to the proxy server.
- the message transmitted in the GBR dedicated bearer carries the identifier of the GBR dedicated bearer.
- the message transmitted between the terminal device and the proxy server is a special service
- the message has a special identifier
- the message can be transmitted in a GBR dedicated bearer.
- the GBR dedicated bearer Through the GBR dedicated bearer, the transmission rate of these special service messages is guaranteed, and the decrease in transmission efficiency caused by the drastic fluctuation of network bandwidth is avoided.
- the method further includes:
- the proxy server receives a fourth message sent by the target server through the first TCP tunnel, where the fourth message is the mapping relationship of the target server according to the second message and the first network information in the target server It is generated that the fourth message carries the network information of the target server and the network information of the proxy server;
- the proxy server sends a fifth message to the terminal device, where the fifth message is generated by the proxy server according to the fourth message, and the fifth message carries network information of the terminal device.
- the proxy server can also transmit new messages in the first TCP tunnel. Messages from the terminal device can be transmitted to the target server through the TCP tunnel, ensuring Improve the stability of data transmission.
- an embodiment of the present application provides a message transmission method, which may include:
- the target server receives the second message sent by the proxy server through the first transmission control protocol TCP tunnel, where the proxy server generates the second message by receiving at least one first message from at least one terminal device and the first network information mapping relationship.
- the first message carries the network information of the terminal device and the network information of the target server
- the second message carries the network information of the target server and the network information of the proxy server
- the first TCP tunnel and The first network information mapping relationship corresponds
- the first network information mapping relationship also includes the IP address of the proxy server, the IP address of the target server, the source port number of the proxy server, the destination port number of the target server, and the communication protocol Types of.
- the proxy server can re-encapsulate the multiple messages according to the first network information mapping relationship to generate a second message, because the first network information maps The relationship is the network information mapping relationship corresponding to the first TCP tunnel, so the second message can be transmitted in the first TCP tunnel, and the target server can receive the message. It can make full use of TCP tunnel resources to improve TCP transmission efficiency.
- the method before the target server receives the second message sent by the proxy server through the first transmission control protocol TCP tunnel, the method further includes:
- the proxy server detects according to the first packet that the remaining bandwidth of the first TCP tunnel is less than or equal to the bandwidth required by the first packet
- the proxy server establishes a second TCP tunnel with the target server, where the second TCP tunnel corresponds to a second network information mapping relationship, and the second network information mapping relationship is inconsistent with the first network information mapping relationship;
- the target server receives the third message sent by the proxy server through the second TCP tunnel, where the proxy server generates the third message according to the first message and the second network information mapping relationship, and the third message
- the text carries the network information of the target server and the network information of the proxy server.
- the second network information mapping relationship also includes the IP address of the proxy server, the IP address of the target server, the source port number of the proxy server, and the target server. The server's destination port number and communication protocol type.
- the proxy server detects according to the first packet that the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet
- the target server receives the second message sent by the proxy server through the first transmission control protocol TCP tunnel.
- the proxy server detects the bandwidth required by the first packet according to the service type identifier of the first packet, and compares it with the remaining bandwidth of the first TCP tunnel. Only when the bandwidth required by the first packet is less than the remaining bandwidth of the first TCP tunnel, the first TCP tunnel is used to transmit the processed first packet, and the packet transmitted in the first TCP tunnel is called the second packet , In the case that the bandwidth required by the first message is greater than or equal to the remaining bandwidth of the first TCP tunnel, a new TCP tunnel is established between the proxy server and the target server. This TCP tunnel is called the second TCP tunnel. 2.
- the TCP tunnel transmits the processed first message, which is called the third message. Before transmitting the first message, the proxy server detects whether the remaining bandwidth of the first TCP tunnel meets the bandwidth required by the first message, so as to ensure that the first message can be successfully transmitted to the target server.
- the method further includes:
- the target server generates a fourth message according to the second message and the first network information mapping relationship in the target server, wherein the fourth message carries the network information of the target server and the network information of the proxy server information;
- the target server sends the fourth message to the proxy server through the first TCP tunnel, so that the proxy server sends a fifth message to the terminal device, where the fifth message is the proxy server according to the fourth message.
- the message is generated, and the fifth message carries the network information of the terminal device.
- the proxy server can also transmit new messages in the first TCP tunnel. Messages from the terminal device can be transmitted to the target server through the TCP tunnel, ensuring Improve the stability of data transmission.
- a proxy server for executing the method in the first aspect or any possible implementation of the first aspect.
- the proxy server includes a module for executing the foregoing first aspect or any one of the possible implementations of the first aspect.
- a target server for executing the second aspect or any possible implementation of the second aspect.
- the terminal device includes a module for executing the above-mentioned second aspect or any one of the possible implementation manners of the second aspect.
- a communication device in a fifth aspect, has the function of realizing the behavior of the terminal device or the network device or the core network device in the above method, and it includes means for executing the steps or functions described in the above method.
- This step or function can be realized by software, or by hardware (such as a circuit), or by a combination of hardware and software.
- the aforementioned communication device includes one or more processors and communication units.
- the one or more processors are configured to support the communication device to perform corresponding functions of the proxy server in the foregoing method.
- the proxy server generates a second message according to the mapping relationship between the first message and the first network information.
- the communication unit is used to support the communication device to communicate with other devices, and realize the receiving and/or sending functions.
- the proxy server sends the second message to the target server through the first transmission control protocol TCP tunnel.
- the communication device may also include one or more memories, which are used for coupling with the processor and store program instructions and/or data necessary for the communication device.
- the one or more memories may be integrated with the processor, or may be provided separately from the processor. This application is not limited.
- the communication device may be a smart terminal or a wearable device, etc.
- the communication unit may be a transceiver or a transceiver circuit.
- the transceiver may also be an input/output circuit or interface.
- the communication device may also be a communication chip.
- the communication unit may be an input/output circuit or interface of a communication chip.
- the aforementioned communication device includes a transceiver, a processor, and a memory.
- the processor is used to control the transceiver or the input/output circuit to send and receive signals
- the memory is used to store a computer program
- the processor is used to run the computer program in the memory so that the communication device executes the first aspect or any one of the first aspect This is the method that the network device completes in a possible implementation.
- the aforementioned communication device includes one or more processors and communication units.
- the one or more processors are configured to support the communication device to perform corresponding functions of the target server in the foregoing method. For example, generating reference signal indication information.
- the communication unit is used to support the communication device to communicate with other devices, and realize the receiving and/or sending functions.
- the target server receives the second packet sent by the proxy server through the first transmission control protocol TCP tunnel.
- the communication device may also include one or more memories, which are used for coupling with the processor and store necessary program instructions and/or data for the network device.
- the one or more memories may be integrated with the processor, or may be provided separately from the processor. This application is not limited.
- the communication device may be a base station, and the communication unit may be a transceiver or a transceiver circuit.
- the transceiver may also be an input/output circuit or interface.
- the communication device may also be a communication chip.
- the communication unit may be an input/output circuit or interface of a communication chip.
- the above device includes a transceiver, a processor, and a memory.
- the processor is used to control the transceiver or the input/output circuit to send and receive signals
- the memory is used to store a computer program
- the processor is used to run the computer program in the memory, so that the device executes any one of the second aspect or the second aspect. The method that the terminal device completes in the implementation mode.
- a system which includes the aforementioned network equipment, terminal equipment, and communication device.
- a computer-readable storage medium for storing a computer program, and the computer program includes any one of the possible implementation manners of the first aspect to the second aspect and the third aspect to the sixth aspect. Method of instruction.
- a computer program product includes: computer program code, which when the computer program code runs on a computer, causes the computer to execute the first aspect to the second aspect, and the third aspect to the third aspect. Any one of the six possible implementation methods.
- the present application provides a chip device that includes a processor for supporting a proxy server to implement the functions involved in the above aspects, for example, sending or processing data and/or data involved in the above methods information.
- the chip device further includes a memory, which is used to store necessary program instructions and data of the network device.
- the chip device may be composed of chips, or may include chips and other discrete devices.
- this application provides a chip device that includes a processor for supporting a target server to implement the functions involved in the above aspects, for example, sending or processing data and/or data involved in the above methods information.
- the chip device further includes a memory for storing necessary program instructions and data of the terminal device.
- the chip device may be composed of chips, or may include chips and other discrete devices.
- the idle time of the TCP tunnel can be fully avoided. Without relying on the HTTP2.0 protocol and being compatible with other protocols carried on TCP, the problem of low message transmission efficiency caused by idle packet transmission can be solved, and TCP tunnel resources can be fully utilized to improve TCP transmission efficiency.
- FIG. 1a is a schematic structural diagram of a possible radio access network according to an embodiment of this application.
- Figure 1b is a schematic structural diagram of a core network according to an embodiment of the application.
- Figure 1c is a schematic diagram of a TCP slow start process in an embodiment of the application.
- Figure 1d is a schematic diagram of HTTP2.0 message transmission in an embodiment of the application
- Figure 2 is a schematic diagram of an embodiment of a message transmission method in an embodiment of the application
- FIG. 3 is a schematic diagram of a three-way handshake chain construction process in an embodiment of the application.
- FIG. 4 is a schematic diagram of a message encapsulation in an embodiment of the application.
- Fig. 5 is a schematic diagram of another message encapsulation in an embodiment of the application.
- FIG. 6 is a schematic diagram of a process for establishing a GBR dedicated bearer provided by an embodiment of the application
- FIG. 7 is a schematic diagram of an embodiment of a proxy server in an embodiment of the application.
- FIG. 8 is a schematic diagram of an embodiment of a target server in an embodiment of the application.
- FIG. 9 is a schematic diagram of the hardware structure of the communication device in an embodiment of the application.
- the embodiments of the present application provide a message transmission method and related devices.
- TCP tunnels can be fully avoided.
- free time Without relying on the HTTP2.0 protocol and being compatible with other protocols carried on TCP, the problem of low message transmission efficiency caused by idle packet transmission can be solved, and TCP tunnel resources can be fully utilized to improve TCP transmission efficiency.
- IP Internet protocol
- source port number 10000
- transport layer protocol 10000
- destination IP address 121.14.88.76
- destination port number 80, which forms a five-tuple.
- the meaning is that a device with an IP address of 121.168.1.1 is connected through a port number of 10000, using TCP protocol and a device with an IP address of 121.14.88.76 and a port number of 80.
- Network tunnel refers to the use of one network protocol to transmit another network protocol. It mainly uses network tunneling protocol to realize this function.
- Network tunneling technology involves three network protocols, namely network tunneling protocol and tunneling protocol The following bearer protocol and the bearer protocol carried by the tunnel protocol.
- Guaranteed bit rate (guaranteed bit rate, GBR) dedicated bearer defined in accordance with the 3GPP protocol, is used for services that require high real-time performance.
- the scheduler is required to guarantee the lowest bit rate for this type of bearer, and its quality of service identifier ( The range of quality of service class identifier (QCI) is 1-4.
- QCI quality of service class identifier
- a maximum rate is also required for limitation.
- MBR maximum bit rate
- the MBR parameter defines the upper limit of the rate that the GBR dedicated bearer can reach under the condition of sufficient time-frequency resource block (RB) resources.
- the value of MBR is greater than or equal to the value of GBR.
- TCP slow start After the initial TCP connection is established successfully, the client will send a large number of data packets to the network (server), which can easily cause the router buffer space in the network to run out and congestion occurs. Therefore, the newly established connection cannot send a large number of data packets at the beginning, but can only gradually increase the amount of data sent each time according to the network situation.
- the congestion window (CWND) window in the initial computer network is small (that is, the number of packets sent at one time is small), until the confirmation ( After the Acknowledgement (ACK) message, the size of the CWND is gradually increased.
- MSS maximum segment size
- the maximum amount of data (number of bytes), which facilitates the end-to-end transmission of messages without re-fragmentation and reassembly at the TCP layer.
- FIG. 1a is a schematic structural diagram of a possible radio access network according to an embodiment of this application.
- the RAN can be the base station access system of the fourth-generation mobile communication (4th-generation, 4G) network (that is, the RAN includes the eNB and the radio network controller (RNC)), or it can be the fifth-generation mobile communication (5th-generation, 4G) network controller.
- -generation, 5G) network base station access system The core network may be a mobility management entity (MME) and/or a serving gateway (SGW) of a 4G network, or may be a next-generation core network (NG-Core) of a 5G network.
- MME mobility management entity
- SGW serving gateway
- NG-Core next-generation core network
- the RAN includes one or more network devices 12.
- the radio access network may be connected to a core network (core network, CN) device 13.
- the network device 12 may be any device with a wireless transceiver function, or a chip set in a device with a specific wireless transceiver function.
- the network equipment 12 includes but is not limited to: base station (BS), base station NodeB, evolved base station (evolved Node B, eNode B/eNB), base station gNodeB or gNB in the fifth-generation 5G communication system, and future communication systems
- the base station may be: a macro base station, a micro base station, a pico base station, a small station or a relay station, etc. Multiple base stations can support the network of one or more technologies mentioned above, or the future evolution network.
- the core network can support the network of one or more of the aforementioned technologies, or the future evolution network.
- the base station may include one or more co-site or non co-site transmission receiving points (transmission receiving points, TRP).
- the network device 12 may also be a wireless controller, a centralized unit (CU) or a distributed unit (DU) in a cloud radio access network (cloud radio access network, CRAN) scenario.
- the network device can also be a server, a wearable device, or a vehicle-mounted device.
- the network device 12 takes the network device 12 as a base station as an example for description.
- the multiple network devices 12 may be base stations of the same type, or base stations of different types.
- the base station can communicate with the terminal device 11, and can also communicate with the terminal device 11 through a relay station.
- the terminal device 11 can support communication with multiple base stations of different technologies.
- the terminal device can support communication with a base station supporting a long-term evolution (LTE) network, and can also support communication with a base station supporting a 5G network. Supports dual connections with base stations in LTE networks and base stations in 5G networks.
- the terminal is connected to the radio access network (RAN) node of the wireless network.
- RAN radio access network
- RAN nodes are: gNB, transmission reception point (TRP), evolved Node B (evolved Node B, eNB), radio network controller (RNC), Node B (Node B) B, NB), base station controller (BSC), base transceiver station (BTS), home base station (for example, home evolved NodeB, or home Node B, HNB), baseband unit (baseband unit) , BBU), or wireless fidelity (Wifi) access point (AP), etc.
- a network device may include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node.
- the terminal device 11 also known as user equipment (UE), mobile station (MS), mobile terminal (MT), terminal, etc.
- UE user equipment
- MS mobile station
- MT mobile terminal
- terminal is a way to provide users with voice and/or data connectivity Sexual devices, or chips installed in the device, for example, handheld devices with wireless connection capabilities, vehicle-mounted devices, etc.
- terminal devices are: mobile phones (mobile phones), tablet computers, notebook computers, palmtop computers, mobile internet devices (MID), wearable devices, virtual reality (VR) devices, augmented Augmented reality (AR) equipment, wireless terminals in industrial control (industrial control), wireless terminals in self-driving (self-driving), wireless terminals in remote medical surgery, and smart grid (smart grid)
- the core network equipment 13 may be a packet data network gateway (PGW) in a 4G network, specifically, a TCP proxy gateway deployed on a PGW, a mobility management entity (MME), or 5G Access management function entities (AMF) in the network, user plane functions (UPF), specifically, TCP proxy gateways deployed on UPF, etc.
- PGW packet data network gateway
- MME mobility management entity
- AMF 5G Access management function entities
- UPF user plane functions
- TCP proxy gateways deployed on UPF etc.
- the core network device 13 may be a physical entity, a functional entity, or a chip set in the physical entity.
- FIG. 1b is a schematic structural diagram of a core network according to an embodiment of the application.
- SGW Serving gateway
- SGW is a user plane entity, responsible for user plane data routing processing, terminating the downlink data of the UE in an idle state, managing and storing UE bearer information, such as IP bearer service parameters and network internal routing information .
- the GBR dedicated bearer is established between the terminal device and the PGW to ensure the transmission rate of the service with the special identifier.
- Mobility management entity MME is a control plane functional entity, a server that temporarily stores user data, and is responsible for managing and storing UE-related information, such as UE user identification, mobility management status, and user security parameters. Assign a temporary identity. When the UE is camped on the tracking area or the network, it is responsible for authenticating the user and processing all non-access stratum messages between the MME and the UE.
- Packet data network gateway PGW is responsible for allocating IP addresses for UEs, and is also responsible for quality of service (QoS) execution and according to the corresponding rules of policy and charging rules (policy and charging rules function, CRF) Traffic accounting.
- the PGW is responsible for allocating downlink user messages to bearers based on different QoS. This function is performed through traffic flow templates (TFT).
- TFT traffic flow templates
- PGW provides QoS enforcement for the guaranteed bit rate (GBR).
- a TCP proxy server (tcp-proxy, TO), referred to as a proxy server for short, may be a server deployed between the PGW and the target server, or may be a network element integrated in the PGW and connected to the target server. It can be a physical network element or the sum of some software in the PGW, which is not limited here.
- the functions of the PGW can be implemented by other network elements.
- PGW and SGW The function of processing terminal service messages is implemented through a user plane function (UPF).
- UPF user plane function
- the TCP aggregation tunnel (TCP tunnel for short) proposed in the embodiment of the present application is specifically a network tunnel between a proxy server and a target server.
- the GBR dedicated bearer proposed in the embodiment of this application is established by the first network element between the terminal device and the proxy server.
- the first network element is PGW, and in the 5G network, the first network element is The session management function (session management function, SMF) is not limited here.
- a transmission control protocol (TCP) congestion control algorithm is used for each stream of each user in the Linux native protocol stack.
- TCP congestion control algorithm since the packets of each stream are not necessarily continuous, the probability of transmission idle occurrence is high.
- the initial transmission rate of the next batch of packets is set to be lower than the transmission rate when the transmission of the previous batch of packets ends. This process is called the TCP slow start process.
- the specific slow start process can be seen in Fig. 1c, which is a schematic diagram of the TCP slow start process in an embodiment of the application.
- Whether to start the slow start process is determined by the kernel switch net.ipv4.tcp_slow_start_after_idle of the TCP protocol stack.
- the kernel switch When the kernel switch is turned on, if the above conditions are met, the slow start process is started. The slow start process will cause the problem of low message transmission efficiency. Therefore, the kernel switch can also be turned off. When the kernel switch is turned off, no matter what the situation, the slow start process will not be started. Although this will not cause the problem of low message transmission efficiency due to the start of the slow start process, message interruption usually causes changes in the quality of the link between the client and the server. If there is no slow start process, the previous The rate at the end of the transmission is used as the initial rate of this transmission, which easily leads to a large amount of packet loss, and the rate drops to the bottom, which also causes the problem of low message transmission efficiency.
- FIG. 1d is a schematic diagram of HTTP 2.0 packet transmission in an embodiment of the application.
- HTTP2.0 multiple streams are transmitted in a TCP tunnel, and the streams are interleaved in parallel, and the stream id is used to identify the corresponding message.
- HTTP2.0 is the upper layer protocol carried by TCP
- certain characteristics of the upper layer protocol HTTP2.0 carried by TCP are used to solve the TCP layer problem, and the applicable scenarios have great limitations (only applicable to In the HTTP2.0 protocol), it cannot solve the problem of low message transmission efficiency caused by idle packet transmission caused by other protocols carried on TCP, such as the file transfer protocol (FTP).
- FTP file transfer protocol
- this application proposes a message transmission method and related device.
- TCP tunnel By aggregating multiple messages from multiple terminals into one TCP tunnel, using one TCP tunnel to transmit multiple messages, the TCP tunnel can be fully avoided.
- free time Without relying on the HTTP2.0 protocol and being compatible with other protocols carried on TCP, the problem of low message transmission efficiency caused by idle packet transmission can be solved, and TCP tunnel resources can be fully utilized to improve TCP transmission efficiency.
- FIG. 2 is a schematic diagram of an embodiment of a message transmission method in an embodiment of this application.
- the proxy server receives a link establishment message from a terminal device.
- the IP address of the proxy server is IP1
- the IP address of the terminal device is IP3
- the IP address of the target server is IP2.
- IP1 IP address of the proxy server
- IP3 IP address of the terminal device
- IP2 IP address of the target server
- the proxy server receives the link establishment message from the terminal device (IP3), and the destination of the link establishment message is the target server (IP2).
- the link building message carries the network information of the terminal device and the network information of the target server. Specifically, the network information of the terminal device includes the IP address (IP3) of the terminal device, and the network information of the target server includes the IP address of the target server. (IP2).
- the proxy server After the proxy server receives the link establishment message from the terminal device (IP3), it determines whether a TCP tunnel needs to be established according to the IP address of the target server, and if necessary, proceeds to step 202.
- the proxy server detects whether a TCP tunnel is established between the proxy server and the target server.
- the proxy server detects whether a TCP tunnel is established between the proxy server (IP1) and the target server (IP3). If there is a TCP tunnel established, proceed to step 204. If there is only one TCP tunnel established, the TCP tunnel is named the first TCP tunnel. If there are multiple TCP tunnels established, the TCP with the largest remaining bandwidth is selected. Tunnel, named the first TCP tunnel. If the TCP tunnel is not established, step 203 is entered.
- the proxy server when the proxy server detects that no TCP tunnel is established between the proxy server and the target server, it establishes a TCP tunnel through a three-way handshake, and this TCP tunnel is called the first TCP tunnel.
- the network information mapping relationship corresponding to the first TCP tunnel is called the first network information mapping relationship, and the first network information mapping relationship includes a set of determined five-tuples.
- the first The TCP tunnel includes: the IP address of the proxy server (IP1), the IP address of the target server (IP3), the source port number of the proxy server, the destination port number of the target server, and the type of communication protocol.
- the destination port number of the target server is a well-known port, which can be any port number from 10000-65535.
- the destination port number of the target server can be pre-defined in the proxy server, or it can be notified to the proxy server by the target server during the three-way handshake chain establishment, which is not limited here.
- the mapping relationship of the first network information corresponding to the first TCP tunnel can be seen in Table 1.
- FIG. 3 is a schematic diagram of the three-way handshake chain establishment process in an embodiment of this application.
- Step 301 The client sends a SYN message to the network.
- the client is in the request connection state (SYN_SEND) and is waiting for the confirmation from the network.
- SYN message also carries an MSS cell, which is used to negotiate the maximum message segment length transmitted between the client and the network.
- Step 302 The network sends a SYN-ACK message to the user.
- the network terminal After receiving the SYN message, the network terminal obtains the MSS cell of the SYN message to determine the maximum segment length of the subsequent packet. Specifically, when the maximum segment length of the packet sent by the network is less than the value indicated by the MSS cell of the SYN message, the MSS cell of the SYN-ACK message sent by the network to the user uses the original configuration and the maximum message of the network.
- the segment length for example, when the MSS cell originally configured on the network is 1400 and the MSS cell in the SYN message is 1401, the MSS cell of the SYN-ACK message is 1400. Conversely, when the MSS cell originally configured on the network is 1401 and the MSS cell in the SYN message is 1400, the MSS cell in the SYN-ACK message is 1400.
- Step 303 The user end sends an ACK message to the network end.
- the client in FIG. 3 is a proxy server
- the network is a target server (IP2).
- the proxy server establishes a TCP connection with the terminal device and the target server through a three-way handshake.
- the proxy server (user side) corresponding to step 301 sends the SYN packet to the target server (network side) .
- the value of the MSS cell is smaller than the value of the MSS cell in the original three-way handshake link establishment process. Specifically, it can be 40 bytes smaller than the original MSS, which is not limited here.
- the proxy server receives the first message of the terminal device.
- step 205 is entered.
- the first message may be one or more messages, where each message is composed of three parts: an IP header, a TCP header, and a message payload.
- the IP header of the first message includes the IP address of the terminal device and the IP address of the target server.
- the proxy server When the proxy server receives a message from the terminal device (IP3) and the destination is another server (IP address is not IP2), it goes to step 202 to check whether the proxy server and other servers (IP address is not IP2) are established For the TCP tunnel, the subsequent steps are similar to step 202, and will not be repeated here.
- the proxy server may receive the first message sent by the terminal device through the dedicated GBR bearer.
- the first message transmitted in the GBR dedicated bearer carries the identifier of the GBR dedicated bearer. details as follows:
- the first network element When the first network element receives a message from the terminal device, the first network element detects the message through service awareness (SA) technology.
- the first network element can learn the service identifier in the message, and the specific service identifier of the message may be the IP address of the source of the message or the suffix name of the data transmitted in the message.
- the service ID of the message is a service ID that requires the use of GBR dedicated bearer (for example, the service ID is a video file, the IP address of a video website, etc.)
- the establishment of the GBR dedicated bearer is initiated between the first network element and the terminal device Steps, please refer to the subsequent embodiments for the specific establishment process.
- This type of service identifier that needs to use the GBR dedicated bearer is called the GBR dedicated bearer identifier.
- the message from the terminal device can also be detected in the proxy server through the SA technology, which is not limited here.
- the proxy server detects a message from a terminal device through SA technology
- the proxy server forwards the detection result to the first network element, and then the first network element establishes a dedicated GBR connection with the terminal device based on the detection result.
- Bearer In a single GBR dedicated bearer, the transmission rate is: 1 megabit per second Mbps, 2 Mbps, or 5 Mbps, etc., which are determined according to the type of service corresponding to the message, which is not limited here.
- GBR dedicated bearer is only a broadband guarantee technology between the terminal equipment and the first network element, and other broadband guarantee technologies can also be used to guarantee the transmission rate.
- the embodiment of this application only uses GBR technology as an example for illustration, and will not be described here. limited.
- the quality of service flow ID (qos flow id, QFI) technology can also be used.
- the proxy server detects, according to the first packet, whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet.
- the proxy server uses SA technology to detect the service type of the first message and obtains the bandwidth required by these messages.
- the proxy server detects the traffic of the first TCP tunnel. Whether the remaining bandwidth is greater than the bandwidth required by the first packet. For example, when the first message is a video service, the proxy server uses SA technology to learn that the first message requires a transmission bandwidth of 5 Mbps. At this time, the remaining bandwidth of the first TCP tunnel is 6 Mbps, and the remaining bandwidth of the first TCP tunnel is greater than Bandwidth required for the first message.
- step 206 is entered to use the first TCP tunnel to transmit the first packet.
- step 212 is entered to create a new TCP tunnel to transmit the first packet.
- the bandwidth required by the proxy server to detect the first message is the sum of the bandwidth required by the multiple messages.
- the proxy server generates a second message according to the first message.
- FIG. 4 is a schematic diagram of a packet encapsulation in an embodiment of this application. The specific process is as follows:
- the first message received by the proxy server contains three parts, an IP header (IP3-IP2), a first TCP header, and a message payload, where the IP header (IP3-IP2) corresponds to the first TCP header
- IP3-IP2 corresponds to the first TCP header
- IP3-IP2 corresponds to the first TCP header
- IP3-IP2 The network information mapping relationship between the terminal device and the target server. Since the proxy server needs to send the first message to the target server through the first TCP tunnel, it needs to encapsulate the IP header (IP1-IP2) and the second TCP header before the IP header (IP3-IP2).
- IP header (IP1-IP2) and the second TCP header are called the network information of the target server and the network information of the proxy server.
- the second TCP header includes the source port number of the proxy server and the destination port number of the target server, and the source port number and the destination port number are consistent with the first network information mapping relationship corresponding to the first TCP tunnel.
- the message payload of the second message is consistent with the message payload of the first message.
- the source port number of the proxy server and the destination port number corresponding to the target server determine a TCP tunnel.
- the source port number is different between different TCP tunnels.
- the source port number can be selected from 10000-65535
- the source port number of the first TCP tunnel is 10001, and the destination port number is 20000.
- the source port number of the second TCP tunnel is 10002, and the destination port number is 20000.
- the destination port number can also be selected according to actual needs.
- the source port number of the first TCP tunnel is 10001, and the destination port number is 20000.
- the source port number of the second TCP tunnel is 10001, and the destination port number is 20001. There is no limitation here.
- the encapsulation process where the first message is multiple messages is similar to the encapsulation process where the first message is one message, and the number of generated second messages is the same as the number of the first messages, and the specific encapsulation process is not repeated here.
- the proxy server sends the second packet to the target server through the first TCP tunnel.
- the proxy server can send the second message to the target server through the first TCP tunnel.
- the target server generates a fourth message according to the second message.
- the target server after receiving the second message, decapsulates the second message to obtain the original message (IP header (IP3-IP2), first TCP header, and message payload) , The target server processes the original message.
- IP header IP3-IP2
- the target server When the target server needs to return a message corresponding to the first message to the terminal device, the target server generates a fourth message according to the second message and the first network information mapping relationship corresponding to the first TCP tunnel, wherein the fourth message
- the text carries the network information of the target server and the network information of the proxy server.
- the target server sends a fourth packet to the proxy server through the first TCP tunnel.
- the proxy server may send the fourth message to the target server through the first TCP tunnel.
- the proxy server generates a fifth message according to the fourth message.
- the proxy server re-encapsulates the message after receiving the fourth message sent by the target server.
- a fifth packet is generated according to the first network information mapping relationship corresponding to the first TCP tunnel, where the fifth packet carries network information of the terminal device.
- FIG. 5 is a schematic diagram of another message encapsulation in an embodiment of this application. The specific process is as follows:
- the fourth message received by the proxy server contains three parts, the IP header (IP2-IP1), the fourth TCP header, and the message payload.
- the IP header (IP2-IP1) and the fourth TCP header correspond to The network information mapping relationship between the terminal device and the target server, such as the network information shown in Table 2. Since the proxy server needs to send the fourth packet to the terminal device, it needs to remove the IP header (IP2-IP1) and the fourth TCP header.
- the decapsulated message is called the fifth message.
- the IP header (IP2-IP3) and the fifth TCP header indicate that they are sent from the proxy server to the terminal device.
- the IP header (IP2-IP3) and the fifth TCP header Including terminal equipment network information.
- the proxy server sends a fifth message to the terminal device.
- the proxy server sends the fifth message to the terminal device. Specifically, if a GBR dedicated bearer related to the first packet is established between the first network element and the terminal device, the proxy server may send the fifth packet to the terminal device through the GBR dedicated bearer.
- the proxy server when the remaining bandwidth of the first TCP tunnel is less than or equal to the bandwidth required by the first packet, the proxy server needs to establish a new TCP tunnel with the target server for transmitting the first packet.
- This TCP tunnel is called the second TCP tunnel, and the specific steps for establishing the second TCP tunnel are similar to step 203, which will not be repeated here.
- the second TCP tunnel also has a corresponding second network information mapping relationship.
- the second network information mapping relationship corresponding to the second TCP tunnel can be referred to Table 3.
- the difference between the second TCP tunnel and the first TCP tunnel is usually the source port number.
- the destination port number may also be different, which is not limited here.
- the proxy server generates a third message according to the first message.
- the proxy server generates the third packet according to the first packet and the second network information mapping relationship corresponding to the second TCP tunnel.
- the method for generating the third message is similar to step 206, and will not be repeated here.
- the third message carries the network information of the target server and the network information of the proxy server.
- the number of third messages is equal to the number of first messages.
- the TCP header in the third message is different from the TCP header in the second message.
- the proxy server sends the third packet to the target server through the second TCP tunnel.
- the proxy server may send the third message to the target server through the second TCP tunnel.
- the proxy server detects the bandwidth required by the first packet according to the service type identifier of the first packet, and compares it with the remaining bandwidth of the first TCP tunnel.
- the first TCP tunnel is used to transmit the processed first packet, and the packet transmitted in the first TCP tunnel is called the second packet .
- the bandwidth required by the first message is greater than or equal to the remaining bandwidth of the first TCP tunnel.
- the TCP tunnel transmits the processed first message, which is called the third message.
- the proxy server detects whether the remaining bandwidth of the first TCP tunnel meets the bandwidth required by the first message, so as to ensure that the first message can be successfully transmitted to the target server.
- Fig. 6 is a schematic diagram of a process for establishing a GBR dedicated bearer provided by an embodiment of the application.
- the first network element uses SA technology to detect a message from a terminal device. Specifically, the first network element identifies the service type of the message. For example, when the message is a video service message, the message carries the suffix information of the video file or the IP address of the video website. When the message is an audio service message, the message carries the suffix information of the audio file or the IP address of the audio website.
- the message can also be used to access certain specific web pages and perform certain downloads and other services. According to preset rules, certain service types can be set as special services.
- the first network element When the first network element recognizes that the message from the terminal device is a special service message, the first network element can initiate a GBR dedicated bearer creation request to The GBR dedicated bearer between the first network element and the terminal device is established, and these special service messages are transmitted in the GBR dedicated bearer.
- GBR dedicated bearer identifier the relevant information that can identify the message service type is referred to as GBR dedicated bearer identifier.
- the first network element PGW sends a GBR dedicated bearer creation request to a serving gateway (serving gateway, SGW), and the SGW sends the request to the MME after receiving the request.
- the request is carried in the create bear request (create bear request).
- step 602 after receiving the GBR dedicated bearer creation request from the PGW, the SGW sends the request to the MME.
- the request is carried in the create bear request (create bear request).
- step 603 after receiving the request, the MME sends the request to the eNodeB, and the request is carried in a bearer setup request (bearer setup request).
- step 604 after receiving the request, the eNodeB sends the request to the UE, and the request is carried in the RRC connection reconfiguration (radio resource control connection reconfiguration, RRC connection reconfiguration).
- RRC connection reconfiguration radio resource control connection reconfiguration, RRC connection reconfiguration
- step 605 after the UE receives the GBR dedicated bearer, it successfully creates a GBR dedicated bearer with the first network element. After the GBR dedicated bearer is successfully created, other network elements need to be notified in turn that the GBR dedicated bearer has been successfully created. First, send a GBR dedicated bearer creation success response to the eNodeB, which is carried in the RRC connection reconfiguration complete (radio resource control connection reconfiguration complete, RRC connection e configuration complete).
- RRC connection reconfiguration complete radio resource control connection reconfiguration complete, RRC connection e configuration complete
- the GBR dedicated bearer creates a successful response.
- step 606 after receiving the GBR dedicated bearer creation success response sent by the UE, the eNodeB sends the GBR dedicated bearer creation success response to the MME, and the response is carried in the bearer setup response (bearer setup response).
- the GBR dedicated bearer creates a successful response.
- step 607 after receiving the GBR dedicated bearer creation success response sent by the eNodeB, the MME sends the GBR dedicated bearer creation success response to the SGW, and the response is carried in the create bearer response.
- the GBR dedicated bearer creates a successful response.
- step 608 after receiving the GBR dedicated bearer creation success response sent by the MME, the SGW sends the GBR dedicated bearer creation success response to the PGW, and the response is carried in the create bearer response.
- the terminal device and the PGW can transmit the message with the GBR dedicated bearer identifier through the GBR dedicated bearer.
- a GBR dedicated bearer is established between the first network element and the terminal device to guarantee bandwidth for special service packets, so as to avoid violent fluctuations in the bandwidth between the terminal device and the first network element.
- the TCP slow start process can be closed to improve data transmission efficiency.
- an embodiment of the present application further provides a proxy server 700, including:
- the receiving module 701 is configured to receive at least one first message from at least one terminal device, where the first message carries network information of the terminal device and network information of the target server;
- the processing module 702 is configured to generate a second message according to the first message and the first network information mapping relationship, where the second message carries the network information of the target server and the network information of the proxy server 700;
- the sending module 703 is configured to send a second message to the target server through the first transmission control protocol TCP tunnel, where the first TCP tunnel corresponds to the first network information mapping relationship.
- the proxy server 700 further includes a detection module 704,
- the detecting module 704 is configured to detect whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet according to the first packet;
- the processing module 702 is further configured to, if less than or equal to, the processing module 702 establishes a second TCP tunnel with the target server, where the second TCP tunnel corresponds to the second network information mapping relationship, and the second network information mapping relationship corresponds to the first network information
- the mapping relationship is inconsistent;
- the processing module 702 is further configured to generate a third message according to the first message and the second network information mapping relationship, where the third message carries the network information of the target server and the network information of the proxy server 700;
- the sending module 703 is further configured to send a third packet to the target server through the second TCP tunnel.
- the detecting module 704 detects whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet according to the first packet, which specifically includes:
- the detection module 704 is specifically configured to detect whether the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet according to the service type identifier of the first packet.
- the method further includes:
- the processing module 702 is further configured to, if it is greater than, the processing module 702 generates a second message according to the first message and the first network information mapping relationship, where the second message carries the network information of the target server and the proxy server 700 Internet Information;
- the sending module 703 is further configured to send the second message to the target server through the first transmission control protocol TCP tunnel by the sending module 703, where the first TCP tunnel corresponds to the first network information mapping relationship.
- the method before the receiving module 701 receives at least one first message from the terminal device, the method further includes:
- the receiving module 701 is also configured to receive a link establishment message from a terminal device, where the link establishment message carries network information of the terminal device and network information of the target server;
- the detection module 704 is also configured to detect whether a TCP tunnel is established between the proxy server 700 and the target server according to the network information of the target server in the link establishment message;
- the processing module 702 establishes a TCP tunnel with the target server
- the sending module 703 sends the message to the target server through the TCP tunnel, and the TCP tunnel is called the first TCP tunnel.
- the receiving module 701 receives the first message from the terminal device, which specifically includes:
- the receiving module 701 is specifically configured to receive the first message from the terminal device through a dedicated GBR bearer with a guaranteed bit rate, where the transmission rate of the message in the dedicated GBR bearer is stable.
- the GBR dedicated bearer is established by the first network element and the terminal device, where the first network element is used to forward the first message transmitted in the GBR dedicated bearer to the proxy server 700.
- the first network information mapping relationship further includes the IP address of the proxy server 700, the IP address of the target server, the source port number of the proxy server 700, the destination port number of the target server, and the communication protocol type;
- the second network information mapping relationship also includes the IP address of the proxy server 700, the IP address of the target server, the source port number of the proxy server 700, the destination port number of the target server, and the communication protocol type.
- the message transmitted in the GBR dedicated bearer carries the identifier of the GBR dedicated bearer.
- the method further includes:
- the receiving module 701 is further configured to receive a fourth message sent by the target server through the first TCP tunnel, where the fourth message is generated by the target server according to the second message and the first network information mapping relationship in the target server, The fourth message carries the network information of the target server and the network information of the proxy server 700;
- the sending module 703 is further configured to send a fifth message to the terminal device, where the fifth message is generated by the proxy server 700 according to the fourth message, and the fifth message carries network information of the terminal device.
- an embodiment of the present application also provides a target server 800, including:
- the receiving module 801 is configured to receive a second message sent by a proxy server through a first transmission control protocol TCP tunnel, where the proxy server generates by receiving at least one first message from at least one terminal device and a first network information mapping relationship
- the second message the first message carries the network information of the terminal device and the network information of the target server 800
- the second message carries the network information of the target server 800 and the network information of the proxy server
- the first TCP tunnel and the first The network information mapping relationship corresponds.
- the target server 800 before the receiving module 801 receives the second message sent by the proxy server through the first transmission control protocol TCP tunnel, the target server 800 further includes a processing module 802,
- the processing module 802 is used for establishing a second TCP tunnel between the proxy server and the processing module 802 when the proxy server detects according to the first packet that the remaining bandwidth of the first TCP tunnel is less than or equal to the bandwidth required by the first packet, where the second TCP tunnel The tunnel corresponds to the second network information mapping relationship, and the second network information mapping relationship is inconsistent with the first network information mapping relationship;
- the receiving module 801 is further configured to receive a third message sent by the proxy server through the second TCP tunnel, where the proxy server generates a third message according to the mapping relationship between the first message and the second network information, and the third message is Carry the network information of the target server 800 and the network information of the proxy server.
- the method before the receiving module 801 receives the second packet sent by the proxy server through the first transmission control protocol TCP tunnel, the method further includes:
- the receiving module 801 is further configured to: when the proxy server detects according to the first packet that the remaining bandwidth of the first TCP tunnel is greater than the bandwidth required by the first packet, the receiving module 801 receives the first transmission control protocol TCP tunnel sent by the proxy server. Two messages.
- the first network information mapping relationship further includes the IP address of the proxy server, the IP address of the target server 800, the source port number of the proxy server, the destination port number of the target server 800, and the communication protocol type;
- the second network information mapping relationship also includes the IP address of the proxy server, the IP address of the target server 800, the source port number of the proxy server, the destination port number of the target server 800, and the communication protocol type.
- the target server 800 further includes a sending module 803,
- the processing module 802 is further configured to generate a fourth message according to the second message and the first network information mapping relationship in the target server 800, where the fourth message carries the network information of the target server 800 and the network information of the proxy server. information;
- the sending module 803 is configured to send a fourth message to the proxy server through the first TCP tunnel, so that the proxy server sends a fifth message to the terminal device, where the fifth message is generated by the proxy server according to the fourth message,
- the fifth message carries the network information of the terminal device.
- FIG. 9 is a schematic diagram of the hardware structure of the communication device in an embodiment of the present application. As shown in Fig. 9, the communication device may include:
- the communication device includes at least one processor 901, a communication line 907, a memory 903, and at least one communication interface 904.
- the processor 901 can be a general-purpose central processing unit (central processing unit, CPU), microprocessor, application-specific integrated circuit (server IC), or one or more programs for controlling the execution of the program of this application Integrated circuits.
- CPU central processing unit
- server IC application-specific integrated circuit
- the communication line 907 may include a path to transmit information between the above-mentioned components.
- the communication interface 904 uses any device such as a transceiver to communicate with other devices or communication networks, such as Ethernet.
- the memory 903 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
- ROM read-only memory
- RAM random access memory
- the memory can exist independently and is connected to the processor through the communication line 907.
- the memory can also be integrated with the processor.
- the memory 903 is used to store computer-executable instructions for executing the solutions of the present application, and the processor 901 controls the execution.
- the processor 901 is configured to execute computer-executable instructions stored in the memory 903, so as to implement the message transmission method provided in the foregoing embodiment of the present application.
- the computer-executable instructions in the embodiments of the present application may also be referred to as application program code, which is not specifically limited in the embodiments of the present application.
- the communication device may include multiple processors, such as the processor 901 and the processor 902 in FIG. 9.
- processors can be a single-CPU (single-CPU) processor or a multi-core (multi-CPU) processor.
- the processor here may refer to one or more devices, circuits, and/or processing cores for processing data (for example, computer program instructions).
- the communication device may further include an output device 905 and an input device 906.
- the output device 905 communicates with the processor 901, and can display information in a variety of ways.
- the input device 906 communicates with the processor 901, and can receive user input in various ways.
- the input device 906 may be a mouse, a touch screen device, a sensor device, or the like.
- the aforementioned communication device may be a general-purpose device or a dedicated device.
- the communication device may be a desktop computer, a portable computer, a network server, a wireless terminal device, an embedded device, or a device with a similar structure in FIG. 9.
- the embodiment of the present application does not limit the type of communication device.
- the disclosed system, device, and method may be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or It can be integrated into another system, or some features can be ignored or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种报文传输方法,可以应用于系统架构演进-长期演进SAE-LTE网络或第五代移动通信网络中,代理服务器接收终端设备的至少一个第一报文;代理服务器根据第一报文以及第一网络信息映射关系生成第二报文;代理服务器通过第一传输控制协议TCP隧道向目标服务器发送第二报文,其中,第一TCP隧道与第一网络信息映射关系对应。通过将来自多个终端的多个报文聚合到一个TCP隧道中,使用一个TCP隧道传输多个报文,可以充分的避免TCP隧道的空闲时间的出现。在兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。
Description
本申请要求于2019年05月23日提交中国专利局、申请号为201910434968.8、发明名称为“一种报文传输方法以及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,尤其涉及一种报文传输方法以及相关装置。
Linux原生协议栈中对每个用户的每条流(stream)分别使用传输控制协议(transmission control protocol,TCP)拥塞控制算法,其中,每个用户的每条流由一组五元组唯一确定,五元组包括:源互联网协议地址(internet protocol address,IP address)、目的IP地址、源端口号、目的端口号以及协议类型。当使用TCP拥塞控制算法后,由于每条流的报文不一定是连续的,因此传输空闲发生几率很高。而当出现传输空闲时,后一批报文的初始传输速率低于前一批报文传输结束时的传输速率。该现象称为由发包空闲所引起的报文传输效率低的问题。
现有技术方案为:超文本传输协议(hyper text transfer protocol,HTTP)2.0中,试图通过在一个TCP连接中传输多条流(stream),流间并行交织,流标识符(stream id)用来标识对应的报文。让更多的资源尽可能复用一条TCP连接,来减少TCP连接中传输的空闲机率,避免发生TCP空闲后报文传输效率低的问题。
然而,现有技术中,由于HTTP2.0为TCP所承载的上层协议,因此通过TCP承载的上层协议HTTP2.0的某个特性解决TCP层问题,适用场景具有很大的局限性(仅适用于HTTP2.0协议中),无法解决承载在TCP上的其它协议如文件传输协议(file transfer protocol,FTP)因发包空闲所引起的报文传输效率低的问题。
发明内容
本申请实施例提供了一种报文传输方法,通过将来自多个终端的多条TCP流的报文聚合到一个TCP隧道中,使用一个TCP隧道传输,可以充分的避免TCP隧道的空闲时间的出现。在无需依靠HTTP2.0协议并且兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。
第一方面,本申请实施例提供了一种报文传输方法,可以包括:
代理服务器接收来自一个或多个终端设备的一个或多个报文,将这一批报文称为第一报文,其中,该第一报文中携带该终端设备的网络信息和目标服务器的网络信息,具体的,终端设备的网络信息和目标服务器的网络信息包括终端设备的IP地址以及目标服务器的IP地址;
该代理服务器根据该第一报文以及第一网络信息映射关系生成第二报文,其中,该第二报文中携带该目标服务器的网络信息和该代理服务器的网络信息,该第一网络信息映射关系包括该代理服务器的IP地址、该目标服务器的IP地址、该代理服务器的源端口号、该目标服务器的目的端口号以及通信协议类型;
该代理服务器通过第一传输控制协议TCP隧道向该目标服务器发送该第二报文,其中,该第一TCP隧道与该第一网络信息映射关系对应。
其中,代理服务器可以是网络设备或者其他组合器件,目标服务器可以是网络设备、芯片或其他组合器件。
由以上第一方面可知,代理服务器在接收到多个终端设备的多个报文后,可以将多个报文根据第一网络信息映射关系重新封装生成第二报文,由于第一网络信息映射关系为第一TCP隧道对应的网络信息映射关系,因此第二报文可以在第一TCP隧道中传输。可以充分利用TCP隧道资源,提升TCP的传输效率。
在一种可选设计中,该代理服务器接收来自至少一个终端设备的至少一个第一报文之后,还包括:
该代理服务器或第一网元根据该第一报文的业务类型标识,检测该第一TCP隧道的剩余带宽是否大于该第一报文需要的带宽。若是由第一网元根据第一报文的业务类型标识,检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽,若小于或等于,则该代理服务器与该目标服务器建立第二TCP隧道,其中该第二TCP隧道与第二网络信息映射关系对应,该第二网络信息映射关系还包括该代理服务器的IP地址、该目标服务器的IP地址、该代理服务器的源端口号、该目标服务器的目的端口号以及通信协议类型,该第二网络信息映射关系与该第一网络信息映射关系不一致;
该代理服务器根据该第一报文以及该第二网络信息映射关系生成第三报文,其中,该第三报文中携带该目标服务器的网络信息和该代理服务器的网络信息;
该代理服务器通过该第二TCP隧道向该目标服务器发送该第三报文。
若大于,则该代理服务器根据该第一报文以及该第一网络信息映射关系生成该第二报文,其中,该第二报文中携带该目标服务器的网络信息和该代理服务器的网络信息;
该代理服务器通过该第一传输控制协议TCP隧道向该目标服务器发送该第二报文,其中,该第一TCP隧道与该第一网络信息映射关系对应。
由该种可能的设计可知,代理服务器根据第一报文的业务类型标识,检测第一报文需要的带宽,并与第一TCP隧道的剩余带宽之间进行对比。只有在第一报文需要的带宽小于第一TCP隧道剩余带宽的情况下,使用第一TCP隧道传输经过处理的第一报文,在第一TCP隧道中传输的报文称为第二报文,在第一报文需要的带宽大于或等于第一TCP隧道剩余带宽的情况下,代理服务器与目标服务器之间建立新的TCP隧道,这条TCP隧道称为第二TCP隧道,代理服务器使用第二TCP隧道传输经过处理的第一报文,该报文称为第三报文。代理服务器在传输第一报文前,会检测第一TCP隧道的剩余带宽是否满足第一报文所需的带宽,以保证第一报文能成功的传输至目标服务器。
在一种可选设计中,该代理服务器接收来自该终端设备的至少一个该第一报文之前,还包括:
该代理服务器接收来自该终端设备的建链报文,其中,该建链报文中携带该终端设备的网络信息以及该目标服务器的网络信息;
该代理服务器根据该建链报文中该目标服务器的网络信息,检测该代理服务器与该目 标服务器之间是否建立传输控制协议TCP隧道;
若否,则该代理服务器建立与该目标服务器之间的该TCP隧道,具体建立TCP隧道的方法是三次握手建链;
若是,则该代理服务器通过该TCP隧道向该目标服务器发送报文,该TCP隧道称为该第一TCP隧道。
由该种可能的设计可知,在传输第一报文前,代理服务器会接收到来自终端设备的建链报文,代理服务器根据建链报文中携带的终端设备网络信息以及目标服务器的网络信息,检测代理服务器与目标服务器之间是否建立TCP隧道。若没有建立,则建立TCP隧道,该TCP隧道称为第一TCP隧道;若已建立TCP隧道,则选择其中的一条称为第一TCP隧道。以保证报文在TCP隧道中传输,提升数据传输效率。
在一种可选设计中,该代理服务器通过保证比特速率GBR专用承载接收来自该终端设备的该第一报文,其中,该GBR专用承载中报文的传输速率稳定。该GBR专用承载由第一网元与该终端设备建立,其中,该第一网元用于将该GBR专用承载中传输的该第一报文转发至该代理服务器。该GBR专用承载中传输的报文携带该GBR专用承载的标识。
由该种可能的设计可知,终端设备与代理服务器之间传输的报文,若为特殊业务时,该报文有特殊的标识,该报文可以在GBR专用承载中传输。通过GBR专用承载,保证了这些特殊业务报文的传输速率,避免了因网络带宽的剧烈波动,导致的传输效率下降。
在一种可选设计中,该代理服务器通过该第一传输控制协议TCP隧道向该目标服务器发送该第二报文之后,还包括:
该代理服务器通过该第一TCP隧道接收该目标服务器发送的第四报文,其中,该第四报文为该目标服务器根据该第二报文以及该目标服务器中的该第一网络信息映射关系生成得到,该第四报文中携带该目标服务器的网络信息和该代理服务器的网络信息;
该代理服务器向该终端设备发送第五报文,其中,该第五报文为该代理服务器根据该第四报文生成得到,该第五报文中携带该终端设备的网络信息。
由这种可能的设计可知,在传输完第一报文后,代理服务器还可以在第一TCP隧道中传输新的报文,来自终端设备的报文都可以通过TCP隧道传输至目标服务器,保证了数据传输的稳定性。
第二方面,本申请实施例提供了一种报文传输方法,可以包括:
目标服务器通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文,其中,该代理服务器通过接收来自至少一个终端设备的至少一个第一报文以及第一网络信息映射关系生成该第二报文,该第一报文中携带该终端设备的网络信息和该目标服务器的网络信息,该第二报文中携带目标服务器的网络信息和该代理服务器的网络信息,该第一TCP隧道与该第一网络信息映射关系对应,该第一网络信息映射关系还包括该代理服务器的IP地址、该目标服务器的IP地址、该代理服务器的源端口号、该目标服务器的目的端口号以及通信协议类型。
由以上第二方面可知,代理服务器在接收到多个终端设备的多个报文后,可以将多个报文根据第一网络信息映射关系重新封装生成第二报文,由于第一网络信息映射关系为第 一TCP隧道对应的网络信息映射关系,因此第二报文可以在第一TCP隧道中传输,目标服务器可以接收到该报文。可以充分利用TCP隧道资源,提升TCP的传输效率。
在一种可选设计中,该目标服务器通过该第一传输控制协议TCP隧道接收该代理服务器发送的该第二报文之前,该方法还包括:
当该代理服务器根据该第一报文检测该第一TCP隧道的剩余带宽小于或等于该第一报文需要的带宽时;
则该代理服务器与该目标服务器建立第二TCP隧道,其中该第二TCP隧道与第二网络信息映射关系对应,该第二网络信息映射关系与该第一网络信息映射关系不一致;
该目标服务器通过该第二TCP隧道接收该代理服务器发送的第三报文,其中,该代理服务器根据该第一报文以及该第二网络信息映射关系生成该第三报文,该第三报文中携带该目标服务器的网络信息和该代理服务器的网络信息,该第二网络信息映射关系还包括该代理服务器的IP地址、该目标服务器的IP地址、该代理服务器的源端口号、该目标服务器的目的端口号以及通信协议类型。
当该代理服务器根据该第一报文检测该第一TCP隧道的剩余带宽大于该第一报文需要的带宽时;
则该目标服务器通过该第一传输控制协议TCP隧道接收该代理服务器发送的该第二报文。
由该种可能的设计可知,代理服务器根据第一报文的业务类型标识,检测第一报文需要的带宽,并与第一TCP隧道的剩余带宽之间进行对比。只有在第一报文需要的带宽小于第一TCP隧道剩余带宽的情况下,使用第一TCP隧道传输经过处理的第一报文,在第一TCP隧道中传输的报文称为第二报文,在第一报文需要的带宽大于或等于第一TCP隧道剩余带宽的情况下,代理服务器与目标服务器之间建立新的TCP隧道,这条TCP隧道称为第二TCP隧道,代理服务器使用第二TCP隧道传输经过处理的第一报文,该报文称为第三报文。代理服务器在传输第一报文前,会检测第一TCP隧道的剩余带宽是否满足第一报文所需的带宽,以保证第一报文能成功的传输至目标服务器。
在一种可选设计中,该目标服务器通过该第一传输控制协议TCP隧道接收该代理服务器发送的该第二报文之后,还包括:
该目标服务器根据该第二报文以及该目标服务器中的该第一网络信息映射关系生成得到第四报文,其中,该第四报文中携带该目标服务器的网络信息和该代理服务器的网络信息;
该目标服务器通过该第一TCP隧道向该代理服务器发送该第四报文,以使得该代理服务器向该终端设备发送第五报文,其中,该第五报文为该代理服务器根据该第四报文生成得到,该第五报文中携带该终端设备的网络信息。
由这种可能的设计可知,在传输完第一报文后,代理服务器还可以在第一TCP隧道中传输新的报文,来自终端设备的报文都可以通过TCP隧道传输至目标服务器,保证了数据传输的稳定性。
第三方面,提供了一种代理服务器,用于执行第一方面或第一方面任意可能的实现方式中的方法。具体地,该代理服务器包括用于执行上述第一方面或第一方面的任一种可能的实现方式中的方法的模块。
第四方面,提供了一种目标服务器,用于执行第二方面或第二方面任意可能的实现方式中的方法。具体地,该终端设备包括用于执行上述第二方面或第二方面的任一种可能的实现方式中的方法的模块。
第五方面,提供了一种通信装置。本申请提供的通信装置具有实现上述方法方面中终端设备或网络设备或核心网设备行为的功能,其包括用于执行上述方法方面所描述的步骤或功能相对应的部件(means)。该步骤或功能可以通过软件实现,或硬件(如电路)实现,或者通过硬件和软件结合来实现。
在一种可能的设计中,上述通信装置包括一个或多个处理器和通信单元。该一个或多个处理器被配置为支持该通信装置执行上述方法中代理服务器相应的功能。例如该代理服务器根据该第一报文以及第一网络信息映射关系生成第二报文。该通信单元用于支持该通信装置与其他设备通信,实现接收和/或发送功能。例如,该代理服务器通过第一传输控制协议TCP隧道向该目标服务器发送该第二报文。
该通信装置还可以包括一个或多个存储器,该存储器用于与处理器耦合,其保存通信装置必要的程序指令和/或数据。该一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
该通信装置可以为智能终端或者可穿戴设备等,该通信单元可以是收发器,或收发电路。可选的,该收发器也可以为输入/输出电路或者接口。
该通信装置还可以为通信芯片。该通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述通信装置,包括收发器、处理器和存储器。该处理器用于控制收发器或输入/输出电路收发信号,该存储器用于存储计算机程序,该处理器用于运行该存储器中的计算机程序,使得该通信装置执行第一方面或第一方面中任一种可能实现方式中网络设备完成的方法。
在一种可能的设计中,上述通信装置包括一个或多个处理器和通信单元。该一个或多个处理器被配置为支持该通信装置执行上述方法中目标服务器相应的功能。例如,生成参考信号指示信息。该通信单元用于支持该通信装置与其他设备通信,实现接收和/或发送功能。例如,目标服务器通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文。
该通信装置还可以包括一个或多个存储器,该存储器用于与处理器耦合,其保存网络设备必要的程序指令和/或数据。该一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
该通信装置可以为基站,该通信单元可以是收发器,或收发电路。可选的,该收发器也可以为输入/输出电路或者接口。
该通信装置还可以为通信芯片。该通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述装置,包括收发器、处理器和存储器。该处理器用于控制收发器或输入/输出电路收发信号,该存储器用于存储计算机程序,该处理器用于运行存储器中的计算机程序,使得该装置执行第二方面或第二方面中任一种可能实现方式中终端设备完成的方法。
第六方面,提供了一种系统,该系统包括上述网络设备、终端设备以及通信装置。
第七方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面至第二方面、第三方面至第六方面中任一种可能实现方式中的方法的指令。
第八方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面至第二方面、第三方面至第六方面中任一种可能实现方式中的方法。
第九方面,本申请提供了一种芯片装置,该芯片装置包括处理器,用于支持代理服务器实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片装置还包括存储器,该存储器,用于保存网络设备必要的程序指令和数据。该芯片装置,可以由芯片构成,也可以包括芯片和其他分立器件。
第十方面,本申请提供了一种芯片装置,该芯片装置包括处理器,用于支持目标服务器实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片装置还包括存储器,该存储器,用于保存终端设备必要的程序指令和数据。该芯片装置,可以由芯片构成,也可以包括芯片和其他分立器件。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过将来自多个终端的多个报文聚合到一个TCP隧道中,使用一个TCP隧道传输多个报文,可以充分的避免TCP隧道的空闲时间的出现。在无需依靠HTTP2.0协议并且兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。
图1a为本申请实施例的一种可能的无线接入网的结构示意图;
图1b为本申请实施例的一种核心网的结构示意图;
图1c为本申请实施例中TCP慢启动流程示意图;
图1d为本申请实施例中HTTP2.0报文传输示意图;
图2为本申请实施例中一种报文传输方法的实施例示意图;
图3为本申请实施例中三次握手建链的流程示意图;
图4为本申请实施例中一种报文封装的示意图;
图5为本申请实施例中另一种报文封装的示意图;
图6为本申请实施例提供的一种建立GBR专用承载流程示意图;
图7为本申请实施例中代理服务器的一个实施例示意图;
图8为本申请实施例中目标服务器的一个实施例示意图;
图9为本申请实施例中的通信装置的硬件结构一个示意图。
本申请实施例提供了一种报文传输方法以及相关装置,通过将来自多个终端的多个报文聚合到一个TCP隧道中,使用一个TCP隧道传输多个报文,可以充分的避免TCP隧道的空闲时间的出现。在无需依靠HTTP2.0协议并且兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
为了方便理解,首先对本申请实施例中涉及的词语进行简要说明:
五元组:源网际互联协议(internet protocol,IP)地址,源端口号,目的IP地址,目的端口号以及传输层协议这五个量组成的一个集合例如:源IP地址为:121.168.1.1,源端口号为:10000,传输层协议为:TCP,目的IP地址为:121.14.88.76,目标端口号为:80,这就构成了一个五元组。其意义是,一个IP地址为121.168.1.1的设备通过端口号10000,利用TCP协议和IP地址为121.14.88.76,端口号为80的设备进行连接。
隧道:即网络隧道,是指利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能,网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。
保证比特速率(guaranteed bit rate,GBR)专有承载,按照3GPP协议定义,用于对实时性要求较高的业务,需要调度器对该类承载保证最低的比特速率,其服务质量类标识符(quality of service class identifier,QCI)的范围是1-4。有了这个最低速率外,还需要一个最高速率进行限制。对于GBR专有承载来说,使用最大比特速率(maximum bit rate,MBR)来限制该承载的最大速率。MBR参数定义了GBR专用承载在时频资源块(resource block,RB)资源充足的条件下,能够达到的速率上限。MBR的值大于或等于GBR的值。
TCP慢启动:最初的TCP在连接建立成功后用户端(client)会向网络端(server)发送大量的数据包,这样很容易导致网络端中路由器缓存空间耗尽,从而发生拥塞。因此新建立的连接不能够一开始就大量发送数据包,而只能根据网络情况逐步增加每次发送的数据量。以避免上述现象的发生,当新建连接时,初始计算机网络中拥塞窗口(congestion window,CWND)窗口较小(也就是一次发送的报文数较少),直到在收到网络端发出的确认(Acknowledgement,ACK)报文后,再逐渐增加CWND的大小。
最大报文段长度:最大报文段长度(maxitum segment size,MSS)是TCP报文头部的一个信元,用于用户端和网络端握手时,双方协商传输过程中一个报文能够封装的最大数 据量(字节数),便于报文在端到端的传输中,在TCP层不重新分片和重组。
其次,介绍本申请实施例所应用的无线接入网(radio access network,RAN)场景,请参阅图1a,图1a为本申请实施例的一种可能的无线接入网的结构示意图。RAN可以为第四代移动通信(4th-generation,4G)网络的基站接入系统(即RAN包括eNB和无线网络控制器(radio network controller,RNC)),或可以为第五代移动通信(5th-generation,5G)网络的基站接入系统。核心网可以为4G网络的移动性管理实体(mobility management entity,MME)和/或服务网关(serving gateway,SGW),或可以为5G网络的下一代核心网(NG-Core)。
RAN包括一个或多个网络设备12。无线接入网可以与核心网(core network,CN)设备13相连。网络设备12可以是任意一种具有无线收发功能的设备,或,设置于具体无线收发功能的设备内的芯片。网络设备12包括但不限于:基站(base station,BS)、基站NodeB、演进型基站(evolved Node B,eNode B/eNB)、第五代5G通信系统中的基站gNodeB或gNB、未来通信系统中的基站、无线保真(wireless fidelity,WiFi)系统中的接入节点、无线中继节点或无线回传节点等。基站可以是:宏基站、微基站、微微基站、小站或中继站等。多个基站可以支持上述提及的一种或者多种技术的网络,或者未来演进网络。核心网可以支持上述提及一种或者多种技术的网络,或者未来演进网络。基站可以包含一个或多个共站或非共站的传输接收点(transmission receiving point,TRP)。网络设备12还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器、集中单元(centralized unit,CU)或者分布单元(distributed unit,DU)等。网络设备还可以是服务器,可穿戴设备,或车载设备等。以下以网络设备12为基站为例进行说明。多个网络设备12可以为同一类型的基站,也可以为不同类型的基站。基站可以与终端设备11进行通信,也可以通过中继站与终端设备11进行通信。终端设备11可以支持与不同技术的多个基站进行通信,例如,终端设备可以支持与支持长期演进(long term evolution,LTE)网络的基站通信,也可以支持与支持5G网络的基站通信,还可以支持与LTE网络的基站以及5G网络的基站的双连接。例如将终端接入到无线网络的无线接入网(radio access network,RAN)节点。目前,一些RAN节点的举例为:gNB、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP)等。在一种网络结构中,网络设备可以包括集中单元(centralized unit,CU)节点、或分布单元(distributed unit,DU)节点、或包括CU节点和DU节点的RAN设备。
终端设备11,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功允许的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、 掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
核心网设备13,具体可以是4G网络中的分组网关(packet data network gateway,PGW),具体的,PGW上部署的TCP代理网关,移动性管理实体(mobility management entity,MME),也可以是5G网络中的接入管理功能实体(access management function,AMF),用户面功能(user plane function,UPF),具体的,UPF上部署的TCP代理网关,等。核心网设备13,可以是物理实体,也可以是功能实体,还可以是设置于物理实体内的芯片。
由于本申请实施例提出的技术方案主要应用于系统架构演进-长期演进(system architecture evolution-long term evolution,SAE-LTE)网络,下面结合附图对SAE-LTE网络进行说明,请参阅图1b,图1b为本申请实施例的一种核心网的结构示意图。
服务网关(serving gateway,SGW):SGW为用户面实体,负责用户面数据路由处理,终结处于空闲状态的UE的下行数据,管理和存储UE的承载信息,比如IP承载业务参数和网络内部路由信息。
在本申请实施例中,GBR专用承载建立在终端设备和PGW之间,用以保障带有特殊标识的业务的传输速率。
移动性管理实体(mobility management entity,MME):MME为控制面功能实体,临时存储用户数据的服务器,负责管理和存储UE相关信息,比如UE用户标识、移动性管理状态、用户安全参数,为用户分配临时标识。当UE驻扎在该跟踪区域或者该网络时负责对该用户进行鉴权,处理MME和UE之间的所有非接入层消息。
分组网关(packet data network gateway,PGW):PGW负责为UE分配IP地址,同时负责服务质量(quality of service,QoS)执行和根据策略与计费规则(policy and charging rules function,CRF)相应规则进行流量计费。PGW负责将下行链路的用户报文分配给基于不同QoS的承载。该功能通过业务流模板(traffic flow templates,TFT)来执行。PGW为比特保证承载(guaranteed bit rate,GBR)提供QoS强制执行。
在本申请实施例中,TCP代理服务器(tcp-proxy,TO),简称为代理服务器,可以为PGW与目标服务器之间部署的服务器,也可以为集成于PGW中与目标服务器连接的网元,既可以是实体的网元,也可以是PGW中的某些软件总和,此处不作限定。需要说明的是,当本申请实施例提出的技术方案应用于其它网络时,PGW的功能可以通过其它网元实现,例如,当本申请实施例提出的技术方案应用于5G网络时,PGW与SGW处理终端业务报文的功能通过用户面功能(user plane function,UPF)实现。本申请实施例提出的TCP聚合隧道(简称TCP隧道)具体为代理服务器与目标服务器之间的网络隧道。本申请实施例提出的GBR专用承载由终端设备与代理服务器之间的第一网元建立,在SAE-LTE网络中,该第一网元为PGW,在5G网络中,该第一网元为会话管理功能(session management function, SMF),此处不作限定。
现有技术中,Linux原生协议栈中对每个用户的每条流(stream)分别使用传输控制协议(transmission control protocol,TCP)拥塞控制算法。当使用TCP拥塞控制算法后,由于每条流的报文不一定是连续的,因此传输空闲发生几率很高。而当出现传输空闲并且传输空闲的时间大于一个阈值后,设定后一批报文的初始传输速率低于前一批报文传输结束时的传输速率。这一流程称为TCP慢启动流程。具体的慢启动流程可参见图1c,图1c为本申请实施例中TCP慢启动流程示意图。
是否启动慢启动流程是由TCP协议栈的内核开关net.ipv4.tcp_slow_start_after_idle决定的。当打开该内核开关,在满足上述条件的情况下,则启动慢启动流程。而慢启动流程会引起报文传输效率低的问题。因此还可以关闭该内核开关,当关闭该内核开关后,无论什么情况,都不会启动慢启动流程。虽然这样并不会因为启动慢启动流程而引发报文传输效率低的问题,但是报文中断通常会引起用户端与服务端之间链路质量的变化,若没有慢启动流程,直接将前次传输结束时的速率作为此次传输的初始速率,容易导致大量丢包,速率掉底,同样会引发报文传输效率低的问题。
因此,是否启动慢启动流程是一件两难的事情。现有技术中,为了避免引发报文传输效率低的问题,可采用如下方法。具体的,请参见图1d,图1d为本申请实施例中HTTP2.0报文传输示意图。在HTTP2.0中,通过在一个TCP隧道中传输多个流(stream),流间并行交织,流标识符(stream id)用来标识对应的报文。让更多的流尽可能复用一条TCP连接,来减少TCP隧道中发生传输空闲的机率,避免发生TCP空闲后报文传输效率低的问题。
然而,现有技术中,由于HTTP2.0为TCP所承载的上层协议,因此通过TCP承载的上层协议HTTP2.0的某个特性解决TCP层问题,适用场景具有很大的局限性(仅适用于HTTP2.0协议中),无法解决承载在TCP上的其它协议如文件传输协议(file transfer protocol,FTP)因发包空闲所引起的报文传输效率低的问题。
因此,本申请提出了一种报文传输方法以及相关装置,通过将来自多个终端的多个报文聚合到一个TCP隧道中,使用一个TCP隧道传输多个报文,可以充分的避免TCP隧道的空闲时间的出现。在无需依靠HTTP2.0协议并且兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。
下面结合附图介绍本申请实施例的具体方案。具体的,请参阅图2,图2为本申请实施例中一种报文传输方法的实施例示意图。
201、代理服务器接收终端设备的建链报文。
本实施例中,代理服务器(TCP proxy)的IP地址为IP1,终端设备的IP地址为IP3,目标服务器的IP地址为IP2。本申请实施例中,仅以一个终端设备为例进行说明,当存在多个终端设备时,具体步骤与一个终端设备的情况类似,此处不再赘述。
代理服务器接收到来自终端设备(IP3)的建链报文,该建链报文的目的地为目标服务器(IP2)。该建链报文中携带终端设备的网络信息以及目标服务器的网络信息,具体的,该终端设备的网络信息包括终端设备的IP地址(IP3),该目标服务器的网络信息包括目标 服务器的IP地址(IP2)。
当代理服务器接收到来自终端设备(IP3)的建链报文后,根据目标服务器的IP地址,判断是否需要建立TCP隧道,若需要,则进入步骤202。
202、代理服务器检测代理服务器与目标服务器之间是否建立TCP隧道。
本实施例中,代理服务器检测代理服务器(IP1)与目标服务器(IP3)之间是否建立TCP隧道。若建立有TCP隧道,则进入步骤204,若已建立的只有一条TCP隧道,则该TCP隧道命名为第一TCP隧道,若已建立的有多条TCP隧道,则选择其中的剩余带宽最大的TCP隧道,命名为第一TCP隧道。若没有建立TCP隧道,则进入步骤203。
203、代理服务器与目标服务器之间建立第一TCP隧道。
本实施例中,当代理服务器检测代理服务器与目标服务器之间没有建立TCP隧道时,通过三次握手,建立TCP隧道,该TCP隧道称为第一TCP隧道。
需要说明的是,与第一TCP隧道对应的网络信息映射关系称为第一网络信息映射关系,该第一网络信息映射关系包括一组确定的五元组,例如在本实施例中,第一TCP隧道包括:代理服务器的IP地址(IP1),目标服务器的IP地址(IP3)、代理服务器的源端口号、目标服务器的目的端口号以及通信协议类型。目标服务器的目的端口号为知名端口,具体的可以为端口号10000-65535中的任意端口号。目标服务器的目的端口号可以是预定义于代理服务器,也可以是三次握手建链中目标服务器告知给代理服务器,此处不作限定。第一TCP隧道所对应的第一网络信息映射关系可参见表1。
表1
具体的三次握手建链过程,请参阅图3,图3为本申请实施例中三次握手建链的流程示意图。
步骤301、用户端向网络端发送SYN报文。
步骤301中,用户端向网络端发送同步序列编号(synchronize sequence numbers,SYN)报文,用户端向网络端发送的SYN报文中,syn=j。此时用户端为请求连接状态(SYN_SEND),并等待网络端的确认。该SYN报文中还携带MSS信元,该信元用于协商用户端与网络端之间传输的最大报文段长度。
步骤302、网络端向用户端发送SYN-ACK报文。
步骤302中,网络端收到SYN报文后,必须确认用户端的SYN报文(ack=j+1),同时网络端向用户端也发送一个SYN报文(syn=k),该报文也称为SYN-ACK报文,此时服务器进入SYN_RECV状态。网络端在收到SYN报文后,通过获取SYN报文的MSS信元,确定后续发包的最大报文段长度。具体的,当网络端发包的最大报文段长度小于SYN报文的MSS信元指示的数值时,网络端向用户端发送的SYN-ACK报文的MSS信元使用原配置与网络端的最大报文段长度,例如当网络端原配置的MSS信元为1400,SYN报文中MSS信元为1401时, SYN-ACK报文的MSS信元为1400。反之,当网络端原配置的MSS信元为1401,SYN报文中MSS信元为1400时,SYN-ACK报文的MSS信元为1400。
步骤303、用户端向网络端发送ACK报文。
步骤303中,用户端收到网络端的SYN+ACK报文后,向网络端发送ACK报文(ack=k+1),该报文发送完毕后,用户端和网络端进入连接成功(established)状态,完成三次握手建链。
需要说明的是,在步骤203中,图3中的用户端为代理服务器,网络端为目标服务器(IP2)。在步骤201之前,代理服务器分别与终端设备和目标服务器通过三次握手建立TCP连接。
可选的,由于后续步骤需要通过TCP隧道传输报文,因此,建立TCP隧道的三次握手建链过程中,步骤301对应的代理服务器(用户端)向目标服务器(网络端)发送的SYN报文中,MSS信元的数值小于原有三次握手建链过程中的MSS信元的数值。具体的,可以比原有MSS小40字节,此处不作限定。
204、代理服务器接收终端设备的第一报文。
本实施例中,当代理服务器接收到来自终端设备(IP3)且目的地为目标服务器(IP2)的第一报文,进入步骤205。该第一报文可以为一个或多个报文,其中,每个报文由三部分组成:IP头部、TCP头部以及报文净荷。第一报文的IP头部包括终端设备的IP地址以及目标服务器的IP地址。
当代理服务器接收到来自终端设备(IP3)且目的地为其它服务器(IP地址不为IP2)的报文时,进入步骤202,检测代理服务器与其它服务器(IP地址不为IP2)之间是否建立TCP隧道,后续步骤与步骤202类似,此处不再赘述。
需要说明的是,代理服务器可以通过GBR专用承载接收终端设备发送的第一报文。在GBR专用承载中传输的第一报文中,携带GBR专用承载的标识。具体如下:
当第一网元接收到来自终端设备的报文时,第一网元通过业务感知技术(service awareness,SA)检测该报文。第一网元可以获知该报文中的业务标识,具体的该报文的业务标识可以为报文来源地的IP地址或报文中传输数据的后缀名等。当该报文的业务标识为需要使用GBR专用承载的业务标识时(例如该业务标识为视频文件、视频网站的IP地址等),则第一网元与终端设备之间启动建立GBR专用承载的步骤,具体的建立过程请参阅后续实施例。将这类需要使用GBR专用承载的业务标识称为GBR专用承载的标识。除了在第一网元通过SA技术检测来自终端设备的报文外,还可以在代理服务器中通过SA技术检测来自终端设备的报文,此处不作限定。其实,属于代理服务器中通过SA技术检测来自终端设备的报文的情况时,代理服务器将该检测结果转发给第一网元,然后第一网元根据该检测结果与终端设备之间建立GBR专用承载。在单条GBR专用承载中,传输速率为:1兆比特每秒Mbps、2Mbps或5Mbps等,根据报文所对应的业务类型决定,此处不作限定。
GBR专用承载仅是一种保障终端设备与第一网元之间的宽带保障技术,还可以使用其它宽带保障技术以保证传输速率,本申请实施例仅以GBR技术为例进行说明,此处不作限定。例如当本申请实施例应用于5G网络中时,还可以使用服务质量流标识(qos flow id, QFI)技术。
205、代理服务器根据第一报文检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽。
本实施例中,代理服务器在接收到一个或多个第一报文后,使用SA技术检测第一报文的业务类型,并获取这些报文所需的带宽,代理服务器检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽。例如,当第一报文为视频业务时,代理服务器使用SA技术可获知该第一报文需要5Mbps传输带宽,此时第一TCP隧道的剩余带宽为6Mbps,则第一TCP隧道的剩余带宽大于第一报文需要的带宽。当第一TCP隧道的剩余带宽大于第一报文需要的带宽时,进入步骤206,使用第一TCP隧道传输第一报文。当第一TCP隧道的剩余带宽小于或等于第一报文需要的带宽时,进入步骤212,创建新的TCP隧道传输第一报文。
需要说明的是,当第一报文为多个报文时,代理服务器检测第一报文所需的带宽为多个报文所需带宽之和。
206、代理服务器根据第一报文生成第二报文。
本实施例中,当第一TCP隧道的剩余带宽大于第一报文需要的带宽时,代理服务器可以通过第一TCP隧道传输第一报文。但是代理服务器不能直接将第一报文传输给目标服务器,因此代理服务器需要对第一报文进行处理。为了便于理解,请参阅图4,图4为本申请实施例中一种报文封装的示意图,具体过程如下:
代理服务器接收到的第一报文包含三部分,IP头部(IP3-IP2)、第一TCP头部以及报文净荷,其中,IP头部(IP3-IP2)与第一TCP头部对应于终端设备与目标服务器之间的网络信息映射关系。由于代理服务器需要通过第一TCP隧道向目标服务器发送该第一报文,因此需要在IP头部(IP3-IP2)前封装IP头部(IP1-IP2)以及第二TCP头部。IP头部(IP1-IP2)以及第二TCP头部称为目标服务器的网络信息和代理服务器的网络信息。具体的,第二TCP头部中包括代理服务器的源端口号与目标服务器的目的端口号,该源端口号和目的端口号与第一TCP隧道对应的第一网络信息映射关系一致。第二报文的报文净荷与第一报文的报文净荷一致。
需要说明的是,代理服务器的源端口号与目标服务器对应的目的端口号确定一条TCP隧道,一般情况下,不同的TCP隧道之间源端口号不同,例如,源端口号可选择10000-65535之间的任意一个端口号,第一TCP隧道的源端口号为10001,目的端口号为20000。第二TCP隧道的源端口号为10002,目的端口号为20000。但是,目的端口号也可以根据实际需求选取不同的端口号,例如第一TCP隧道的源端口号为10001,目的端口号为20000。第二TCP隧道的源端口号为10001,目的端口号为20001。此处不作限定。
第一报文为多个报文的封装过程与第一报文为一个报文的封装过程类似,生成的第二报文数目与第一报文数目一致,具体封装过程此处不再赘述。
207、代理服务器通过第一TCP隧道向目标服务器发送第二报文。
本实施例中,由于第二报文中携带目标服务器的网络信息和代理服务器的网络信息,因此代理服务器可以通过第一TCP隧道向目标服务器发送第二报文。
208、目标服务器根据第二报文生成第四报文。
本实施例中,目标服务器在接收到第二报文后,对第二报文进行解封装得到原始的报文(IP头部(IP3-IP2)、第一TCP头部以及报文净荷),目标服务器对原始的报文进行处理。当目标服务器需要向终端设备返回与第一报文对应的报文时,目标服务器根据第二报文以及第一TCP隧道对应的第一网络信息映射关系生成第四报文,其中,第四报文中携带目标服务器的网络信息和代理服务器的网络信息。
为了便于理解,请参阅表2。
源IP地址 | 目的IP地址 | 源端口号 | 目的端口号 | 通信协议类型 | |
第二报文 | 121.168.1.1 | 121.168.1.2 | 10001 | 20000 | 文件传输协议 |
第四报文 | 121.168.1.2 | 121.168.1.1 | 20000 | 10001 | 文件传输协议 |
表2
209、目标服务器通过第一TCP隧道向代理服务器发送第四报文。
本实施例中,由于第四报文中携带目标服务器的网络信息和代理服务器的网络信息,因此代理服务器可以通过第一TCP隧道向目标服务器发送第四报文。
210、代理服务器根据第四报文生成第五报文。
本实施例中,代理服务器在接收到目标服务器发送的第四报文后,对报文进行重新封装。根据第一TCP隧道对应的第一网络信息映射关系生成第五报文,其中,第五报文携带终端设备的网络信息。为了便于理解,请参阅图5,图5为本申请实施例中另一种报文封装的示意图,具体过程如下:
代理服务器接收到的第四报文包含三部分,IP头部(IP2-IP1)、第四TCP头部以及报文净荷,其中,IP头部(IP2-IP1)、第四TCP头部对应于终端设备与目标服务器之间的网络信息映射关系,例如表2所示的网络信息。由于代理服务器需要向终端设备发送该第四报文,因此需要移除IP头部(IP2-IP1)以及第四TCP头部。解封装后的报文称为第五报文,IP头部(IP2-IP3)与第五TCP头部指示从代理服务器发送至终端设备,IP头部(IP2-IP3)与第五TCP头部包括终端设备的网络信息。
211、代理服务器向终端设备发送第五报文。
本实施例中,代理服务器向终端设备发送第五报文。具体的,若第一网元与终端设备之间建立有第一报文相关的GBR专用承载,代理服务器可以通过该GBR专用承载向终端设备发送第五报文。
212、代理服务器与目标服务器之间建立第二TCP隧道。
本实施例中,当第一TCP隧道的剩余带宽小于或等于第一报文需要的带宽时,代理服务器需要与目标服务器之间建立新的TCP隧道用于传输第一报文。该TCP隧道称为第二TCP隧道,具体建立第二TCP隧道的步骤与步骤203类似,此处不再赘述。
需要说明的是,第二TCP隧道也具有与之对应的第二网络信息映射关系,具体的,第二TCP隧道所对应的第二网络信息映射关系可参见表3。
表3
第二TCP隧道与第一TCP隧道之间的不同,通常为源端口号,在一些情况下,也可以是目的端口号不同,此处不作限定。
213、代理服务器根据第一报文生成第三报文。
本实施例中,代理服务器根据第一报文以及与第二TCP隧道对应的第二网络信息映射关系生成第三报文。生成第三报文的方法与步骤206类似,此处不再赘述。第三报文携带目标服务器的网络信息和代理服务器的网络信息。第三报文的数目与第一报文的数目相等。
需要说明的是,由于第三报文为代理服务器根据第二网络信息映射关系生成的,因此第三报文中的TCP头部与第二报文中的TCP头部不同。
214、代理服务器通过第二TCP隧道向目标服务器发送第三报文。
本实施例中,由于第三报文中携带目标服务器的网络信息和代理服务器的网络信息,因此代理服务器可以通过第二TCP隧道向目标服务器发送第三报文。
本申请实施例中,通过将来自多个终端的多个报文聚合到一个TCP隧道中,使用一个TCP隧道传输多个报文,可以充分的避免TCP隧道的空闲时间的出现。在无需依靠HTTP2.0协议并且兼容承载在TCP上的其它协议的条件下,解决因发包空闲所引起的报文传输效率低的问题,可以充分利用TCP隧道资源,提升TCP的传输效率。代理服务器根据第一报文的业务类型标识,检测第一报文需要的带宽,并与第一TCP隧道的剩余带宽之间进行对比。只有在第一报文需要的带宽小于第一TCP隧道剩余带宽的情况下,使用第一TCP隧道传输经过处理的第一报文,在第一TCP隧道中传输的报文称为第二报文,在第一报文需要的带宽大于或等于第一TCP隧道剩余带宽的情况下,代理服务器与目标服务器之间建立新的TCP隧道,这条TCP隧道称为第二TCP隧道,代理服务器使用第二TCP隧道传输经过处理的第一报文,该报文称为第三报文。代理服务器在传输第一报文前,会检测第一TCP隧道的剩余带宽是否满足第一报文所需的带宽,以保证第一报文能成功的传输至目标服务器。
当终端设备与第一网元之间的宽带保障技术为GBR专用承载,且第一网元为PGW时,第一网元与终端设备之间启动建立GBR专用承载的流程,请参阅图6,图6为本申请实施例提供的一种建立GBR专用承载流程示意图。
601、GBR专用承载创建请求。
步骤601中,第一网元(PGW)使用SA技术检测来自终端设备的报文。具体的,第一网元识别该报文的业务类型,例如,当该报文为视频业务报文时,该报文携带视频文件的后缀名信息或视频网站的IP地址等。当该报文为音频业务报文时,该报文携带音频文件的后缀名信息或音频网站的IP地址等。该报文还可以为访问某些特定的网页,进行某些下载等业务。根据预设规则,某些业务类型的可以设置为特殊业务,当第一网元识别出来自终端设备的报文为特殊业务报文时,第一网元可以通过发起GBR专用承载创建请求,以建立第一网元与终端设备之间的GBR专用承载,GBR专用承载中传输这些特殊业务报文。本申请实施例中,将可识别出该报文业务类型的相关信息称为GBR专用承载标识。
第一网元PGW向服务网关(serving gateway,SGW)发送GBR专用承载创建请求,SGW 接收该请求后向MME发送该请求。该请求承载于创建承载请求中(create bear request)。
602、GBR专用承载创建请求。
步骤602中、SGW接收到来自PGW的GBR专用承载创建请求后,向MME发送该请求。该请求承载于创建承载请求中(create bear request)。
603、GBR专用承载创建请求。
步骤603中,MME接收到该请求后,向eNodeB发送该请求,该请求承载于承载设置请求(bearer setup request)中。
604、RRC连接重配置。
步骤604中,eNodeB接收到该请求后,向UE发送该请求,该请求承载于RRC连接重配(radio resource control connection reconfiguration,RRC connection reconfiguration)中。
605、完成RRC连接重配置。
步骤605中,UE接收到GBR专用承载后,成功创建与第一网元之间的GBR专用承载。当成功创建GBR专用承载后,需要依次通知其它网元GBR专用承载已创建成功。首先向eNodeB发送GBR专用承载创建成功响应,该响应承载于RRC连接重配完成(radio resource control connection reconfiguration complete,RRC connection econfiguration complete)。
606、GBR专用承载创建成功响应。
步骤606中,eNodeB收到UE发送的GBR专用承载创建成功响应后,向MME发送该GBR专用承载创建成功响应,该响应承载于承载设置响应(bearer setup respone)中。
607、GBR专用承载创建成功响应。
步骤607中,MME收到eNodeB发送的GBR专用承载创建成功响应后,向SGW发送该GBR专用承载创建成功响应,该响应承载于创建承载响应中(create bear respone)中。
608、GBR专用承载创建成功响应。
步骤608中,SGW收到MME发送的GBR专用承载创建成功响应后,向PGW发送该GBR专用承载创建成功响应,该响应承载于创建承载响应中(create bear respone)中。PGW接收该响应后,终端设备与PGW之间可以通过GBR专用承载传输具有GBR专用承载标识的报文。
本申请实施例中,第一网元与终端设备之间通过建立GBR专有承载,对特殊业务报文做带宽保障,避免终端设备与第一网元之间带宽的剧烈波动。当建立了GBR专用承载后,可以关闭TCP慢启动流程,提高数据传输效率。
接下来,请参阅图7所示,本申请实施例还提供一种代理服务器700,包括:
接收模块701,用于接收来自至少一个终端设备的至少一个第一报文,其中,第一报文中携带终端设备的网络信息和目标服务器的网络信息;
处理模块702,用于根据第一报文以及第一网络信息映射关系生成第二报文,其中,第二报文中携带目标服务器的网络信息和代理服务器700的网络信息;
发送模块703,用于通过第一传输控制协议TCP隧道向目标服务器发送第二报文,其 中,第一TCP隧道与第一网络信息映射关系对应。
在本申请的一些实施例中,接收模块701接收来自至少一个终端设备的至少一个第一报文之后,代理服务器700还包括检测模块704,
检测模块704,用于根据第一报文检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽;
处理模块702,还用于若小于或等于,则处理模块702与目标服务器建立第二TCP隧道,其中第二TCP隧道与第二网络信息映射关系对应,第二网络信息映射关系与第一网络信息映射关系不一致;
处理模块702,还用于根据第一报文以及第二网络信息映射关系生成第三报文,其中,第三报文中携带目标服务器的网络信息和代理服务器700的网络信息;
发送模块703,还用于通过第二TCP隧道向目标服务器发送第三报文。
在本申请的一些实施例中,检测模块704根据第一报文检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽,具体包括:
检测模块704,具体用于根据第一报文的业务类型标识,检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽。
在本申请的一些实施例中,检测模块704根据第一报文的业务类型标识,检测第一TCP隧道的剩余带宽是否大于第一报文需要的带宽之后,还包括:
处理模块702,还用于若大于,则处理模块702根据第一报文以及第一网络信息映射关系生成第二报文,其中,第二报文中携带目标服务器的网络信息和代理服务器700的网络信息;
发送模块703,还用于发送模块703通过第一传输控制协议TCP隧道向目标服务器发送第二报文,其中,第一TCP隧道与第一网络信息映射关系对应。
在本申请的一些实施例中,接收模块701接收来自终端设备的至少一个第一报文之前,还包括:
接收模块701,还用于接收来自终端设备的建链报文,其中,建链报文中携带终端设备的网络信息以及目标服务器的网络信息;
检测模块704,还用于根据建链报文中目标服务器的网络信息,检测代理服务器700与目标服务器之间是否建立传输控制协议TCP隧道;
若否,则处理模块702建立与目标服务器之间的TCP隧道;
若是,则发送模块703通过TCP隧道向目标服务器发送报文,TCP隧道称为第一TCP隧道。
在本申请的一些实施例中,接收模块701接收来自终端设备的第一报文,具体包括:
接收模块701,具体用于通过保证比特速率GBR专用承载接收来自终端设备的第一报文,其中,GBR专用承载中报文的传输速率稳定。
在本申请的一些实施例中,GBR专用承载由第一网元与终端设备建立,其中,第一网元用于将GBR专用承载中传输的第一报文转发至代理服务器700。
在本申请的一些实施例中,第一网络信息映射关系还包括代理服务器700的IP地址、 目标服务器的IP地址、代理服务器700的源端口号、目标服务器的目的端口号以及通信协议类型;
第二网络信息映射关系还包括代理服务器700的IP地址、目标服务器的IP地址、代理服务器700的源端口号、目标服务器的目的端口号以及通信协议类型。
在本申请的一些实施例中,GBR专用承载中传输的报文携带GBR专用承载的标识。
在本申请的一些实施例中,发送模块703通过第一传输控制协议TCP隧道向目标服务器发送第二报文之后,还包括:
接收模块701,还用于通过第一TCP隧道接收目标服务器发送的第四报文,其中,第四报文为目标服务器根据第二报文以及目标服务器中的第一网络信息映射关系生成得到,第四报文中携带目标服务器的网络信息和代理服务器700的网络信息;
发送模块703,还用于向终端设备发送第五报文,其中,第五报文为代理服务器700根据第四报文生成得到,第五报文中携带终端设备的网络信息。
接下来,请参阅图8所示,本申请实施例还提供一种目标服务器800,包括:
接收模块801,用于通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文,其中,代理服务器通过接收来自至少一个终端设备的至少一个第一报文以及第一网络信息映射关系生成第二报文,第一报文中携带终端设备的网络信息和目标服务器800的网络信息,第二报文中携带目标服务器800的网络信息和代理服务器的网络信息,第一TCP隧道与第一网络信息映射关系对应。
在本申请的一些实施例中,接收模块801通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文之前,目标服务器800还包括处理模块802,
处理模块802,用于当代理服务器根据第一报文检测第一TCP隧道的剩余带宽小于或等于第一报文需要的带宽时,代理服务器与处理模块802建立第二TCP隧道,其中第二TCP隧道与第二网络信息映射关系对应,第二网络信息映射关系与第一网络信息映射关系不一致;
接收模块801,还用于器通过第二TCP隧道接收代理服务器发送的第三报文,其中,代理服务器根据第一报文以及第二网络信息映射关系生成第三报文,第三报文中携带目标服务器800的网络信息和代理服务器的网络信息。
在本申请的一些实施例中,接收模块801通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文之前,还包括:
接收模块801,还用于当代理服务器根据第一报文检测第一TCP隧道的剩余带宽大于第一报文需要的带宽时,接收模块801通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文。
在本申请的一些实施例中,第一网络信息映射关系还包括代理服务器的IP地址、目标服务器800的IP地址、代理服务器的源端口号、目标服务器800的目的端口号以及通信协议类型;
第二网络信息映射关系还包括代理服务器的IP地址、目标服务器800的IP地址、代理服务器的源端口号、目标服务器800的目的端口号以及通信协议类型。
在本申请的一些实施例中,接收模块801通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文之后,目标服务器800还包括发送模块803,
处理模块802,还用于根据第二报文以及目标服务器800中的第一网络信息映射关系生成得到第四报文,其中,第四报文中携带目标服务器800的网络信息和代理服务器的网络信息;
发送模块803,用于通过第一TCP隧道向代理服务器发送第四报文,以使得代理服务器向终端设备发送第五报文,其中,第五报文为代理服务器根据第四报文生成得到,第五报文中携带终端设备的网络信息。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
上面从模块化功能实体的角度对本申请实施例中的代理服务器以及目标服务器进行描述,下面从硬件处理的角度对本申请实施例中的代理服务器以及目标服务器进行描述。图9是本申请实施例中的通信装置的硬件结构一个示意图。如图9所示,该通信装置可以包括:
该通信装置包括至少一个处理器901,通信线路907,存储器903以及至少一个通信接口904。
处理器901可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路907可包括一通路,在上述组件之间传送信息。
通信接口904,使用任何收发器一类的装置,用于与其他装置或通信网络通信,如以太网等。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储装置,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储装置,存储器可以是独立存在,通过通信线路907与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器903用于存储执行本申请方案的计算机执行指令,并由处理器901来控制执行。处理器901用于执行存储器903中存储的计算机执行指令,从而实现本申请上述实施例提供的报文传输的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,通信装置可以包括多个处理器,例如图9中的处理器901和处理器902。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个装置、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,通信装置还可以包括输出装置905和输入装置906。 输出装置905和处理器901通信,可以以多种方式来显示信息。输入装置906和处理器901通信,可以以多种方式接收用户的输入。例如,输入装置906可以是鼠标、触摸屏装置或传感装置等。
上述的通信装置可以是一个通用装置或者是一个专用装置。在具体实现中,通信装置可以是台式机、便携式电脑、网络服务器、无线终端装置、嵌入式装置或有图9中类似结构的装置。本申请实施例不限定通信装置的类型。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部 分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
- 一种报文传输方法,其特征在于,包括:代理服务器接收来自至少一个终端设备的至少一个第一报文,其中,所述第一报文中携带所述终端设备的网络信息和目标服务器的网络信息;所述代理服务器根据所述第一报文以及第一网络信息映射关系生成第二报文,其中,所述第二报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息;所述代理服务器通过第一传输控制协议TCP隧道向所述目标服务器发送所述第二报文,其中,所述第一TCP隧道与所述第一网络信息映射关系对应。
- 根据权利要求1所述的方法,其特征在于,所述代理服务器接收来自至少一个终端设备的至少一个第一报文之后,所述方法还包括:所述代理服务器根据所述第一报文检测所述第一TCP隧道的剩余带宽是否大于所述第一报文需要的带宽;若小于或等于,则所述代理服务器与所述目标服务器建立第二TCP隧道,其中所述第二TCP隧道与第二网络信息映射关系对应,所述第二网络信息映射关系与所述第一网络信息映射关系不一致;所述代理服务器根据所述第一报文以及所述第二网络信息映射关系生成第三报文,其中,所述第三报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息;所述代理服务器通过所述第二TCP隧道向所述目标服务器发送所述第三报文。
- 根据权利要求2所述的方法,其特征在于,所述代理服务器根据所述第一报文检测所述第一TCP隧道的剩余带宽是否大于所述第一报文需要的带宽,具体包括:所述代理服务器根据所述第一报文的业务类型标识,检测所述第一TCP隧道的剩余带宽是否大于所述第一报文需要的带宽。
- 根据权利要求3所述的方法,其特征在于,所述代理服务器根据所述第一报文的业务类型标识,检测所述第一TCP隧道的剩余带宽是否大于所述第一报文需要的带宽之后,所述方法还包括:若大于,则所述代理服务器根据所述第一报文以及所述第一网络信息映射关系生成所述第二报文,其中,所述第二报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息;所述代理服务器通过所述第一传输控制协议TCP隧道向所述目标服务器发送所述第二报文,其中,所述第一TCP隧道与所述第一网络信息映射关系对应。
- 根据权利要求1所述的方法,其特征在于,所述代理服务器接收来自所述终端设备的至少一个所述第一报文之前,所述方法还包括:所述代理服务器接收来自所述终端设备的建链报文,其中,所述建链报文中携带所述终端设备的网络信息以及所述目标服务器的网络信息;所述代理服务器根据所述建链报文中所述目标服务器的网络信息,检测所述代理服务器与所述目标服务器之间是否建立传输控制协议TCP隧道;若否,则所述代理服务器建立与所述目标服务器之间的所述TCP隧道;若是,则所述代理服务器通过所述TCP隧道向所述目标服务器发送报文,所述TCP隧道称为所述第一TCP隧道。
- 根据权利要求4所述的方法,其特征在于,所述代理服务器接收来自所述终端设备的所述第一报文,具体包括:所述代理服务器通过保证比特速率GBR专用承载接收来自所述终端设备的所述第一报文,其中,所述GBR专用承载中报文的传输速率稳定。
- 根据权利要求6所述的方法、其特征在于,所述GBR专用承载由第一网元与所述终端设备建立,其中,所述第一网元用于将所述GBR专用承载中传输的所述第一报文转发至所述代理服务器。
- 根据权利要求2-7中任一项所述的方法,其特征在于,所述第一网络信息映射关系还包括所述代理服务器的IP地址、所述目标服务器的IP地址、所述代理服务器的源端口号、所述目标服务器的目的端口号以及通信协议类型;所述第二网络信息映射关系还包括所述代理服务器的IP地址、所述目标服务器的IP地址、所述代理服务器的源端口号、所述目标服务器的目的端口号以及通信协议类型。
- 根据权利要求8所述的方法,其特征在于,所述GBR专用承载中传输的报文携带所述GBR专用承载的标识。
- 根据权利要求1所述的方法,其特征在于,所述代理服务器通过所述第一传输控制协议TCP隧道向所述目标服务器发送所述第二报文之后,所述方法还包括:所述代理服务器通过所述第一TCP隧道接收所述目标服务器发送的第四报文,其中,所述第四报文为所述目标服务器根据所述第二报文以及所述目标服务器中的所述第一网络信息映射关系生成得到,所述第四报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息;所述代理服务器向所述终端设备发送第五报文,其中,所述第五报文为所述代理服务器根据所述第四报文生成得到,所述第五报文中携带所述终端设备的网络信息。
- 一种报文传输方法,其特征在于,包括:目标服务器通过第一传输控制协议TCP隧道接收代理服务器发送的第二报文,其中,所述代理服务器根据来自至少一个终端设备的至少一个第一报文以及第一网络信息映射关系生成所述第二报文,所述第一报文中携带所述终端设备的网络信息和所述目标服务器的网络信息,所述第二报文中携带目标服务器的网络信息和所述代理服务器的网络信息,所述第一TCP隧道与所述第一网络信息映射关系对应。
- 根据权利要求11所述的方法,其特征在于,所述目标服务器通过所述第一传输控制协议TCP隧道接收所述代理服务器发送的所述第二报文之前,所述方法还包括:当所述代理服务器根据所述第一报文检测所述第一TCP隧道的剩余带宽小于或等于所述第一报文需要的带宽时,所述代理服务器与所述目标服务器建立第二TCP隧道,其中所述第二TCP隧道与第二网络信息映射关系对应,所述第二网络信息映射关系与所述第一网络信息映射关系不一致;所述目标服务器通过所述第二TCP隧道接收所述代理服务器发送的第三报文,其中, 所述代理服务器根据所述第一报文以及所述第二网络信息映射关系生成所述第三报文,所述第三报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息。
- 根据权利要求12所述的方法,其特征在于,所述目标服务器通过所述第一传输控制协议TCP隧道接收所述代理服务器发送的所述第二报文之前,所述方法还包括:当所述代理服务器根据所述第一报文检测所述第一TCP隧道的剩余带宽大于所述第一报文需要的带宽时;则所述目标服务器通过所述第一传输控制协议TCP隧道接收所述代理服务器发送的所述第二报文。
- 根据权利要求12-13中任一项所述的方法,其特征在于,所述第一网络信息映射关系还包括所述代理服务器的IP地址、所述目标服务器的IP地址、所述代理服务器的源端口号、所述目标服务器的目的端口号以及通信协议类型;所述第二网络信息映射关系还包括所述代理服务器的IP地址、所述目标服务器的IP地址、所述代理服务器的源端口号、所述目标服务器的目的端口号以及通信协议类型。
- 根据权利要求11-13中任一项所述的方法,其特征在于,所述目标服务器通过所述第一传输控制协议TCP隧道接收所述代理服务器发送的所述第二报文之后,所述方法还包括:所述目标服务器根据所述第二报文以及所述目标服务器中的所述第一网络信息映射关系生成得到第四报文,其中,所述第四报文中携带所述目标服务器的网络信息和所述代理服务器的网络信息;所述目标服务器通过所述第一TCP隧道向所述代理服务器发送所述第四报文,以使得所述代理服务器向所述终端设备发送第五报文,其中,所述第五报文为所述代理服务器根据所述第四报文生成得到,所述第五报文中携带所述终端设备的网络信息。
- 一种通信装置,其特征在于,包括:处理器,所述处理器与存储器耦合;存储器,用于存储计算机程序或指令;处理器,用于执行所述存储器中存储的计算机程序或指令,以使得所述装置执行如权利要求1-15中任一项所述的方法。
- 一种可读存储介质,包括程序或指令,当所述程序或指令在通信装置上运行时,使得所述同行装置执行如权利要求1-15中任意一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910434968.8 | 2019-05-23 | ||
CN201910434968.8A CN111988212B (zh) | 2019-05-23 | 2019-05-23 | 一种报文传输方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020233249A1 true WO2020233249A1 (zh) | 2020-11-26 |
Family
ID=73437414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/083114 WO2020233249A1 (zh) | 2019-05-23 | 2020-04-03 | 一种报文传输方法以及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111988212B (zh) |
WO (1) | WO2020233249A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143771A (zh) * | 2021-11-25 | 2022-03-04 | 京信网络系统股份有限公司 | 数据传输方法、系统、装置、计算机设备和存储介质 |
CN114363311A (zh) * | 2021-12-22 | 2022-04-15 | 广西交控智维科技发展有限公司 | 道岔智能运维监测系统仿真工具的报文上报方法及系统 |
CN114630292A (zh) * | 2021-09-29 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种消息转发的方法、装置、设备及存储介质 |
CN115774601A (zh) * | 2022-12-30 | 2023-03-10 | 天翼云科技有限公司 | 一种虚拟机热升级的方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979964B (zh) * | 2021-02-26 | 2023-04-04 | 华为技术有限公司 | 一种通信方法及装置 |
CN114301968B (zh) * | 2021-12-31 | 2024-03-08 | 苏州科达特种视讯有限公司 | 服务端的访问方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005369A1 (en) * | 2010-07-02 | 2012-01-05 | Netgear, Inc. | System and method of tcp tunneling |
CN102438273A (zh) * | 2011-12-28 | 2012-05-02 | 华为技术有限公司 | 集群网元间ip通信方法及相关装置和通信系统 |
CN109120540A (zh) * | 2017-06-23 | 2019-01-01 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN109600293A (zh) * | 2018-12-24 | 2019-04-09 | 青岛海信电子设备股份有限公司 | 一种gre隧道建立方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340338B (zh) * | 2008-08-07 | 2011-05-04 | 中国科学院计算技术研究所 | 一种用于移动互联网的业务流管理方法 |
CN101534302B (zh) * | 2009-04-16 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种提供tcp服务的方法、系统和相关装置 |
CN102946450B (zh) * | 2012-12-06 | 2015-06-24 | 中国科学技术大学苏州研究院 | 树形泛在网络中资源受限节点的地址分配方法 |
CN107294711B (zh) * | 2017-07-11 | 2021-03-30 | 国网辽宁省电力有限公司 | 一种基于vxlan技术的电力信息内网报文加密发布方法 |
-
2019
- 2019-05-23 CN CN201910434968.8A patent/CN111988212B/zh active Active
-
2020
- 2020-04-03 WO PCT/CN2020/083114 patent/WO2020233249A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005369A1 (en) * | 2010-07-02 | 2012-01-05 | Netgear, Inc. | System and method of tcp tunneling |
CN102438273A (zh) * | 2011-12-28 | 2012-05-02 | 华为技术有限公司 | 集群网元间ip通信方法及相关装置和通信系统 |
CN109120540A (zh) * | 2017-06-23 | 2019-01-01 | 华为技术有限公司 | 传输报文的方法、代理服务器和计算机可读存储介质 |
CN109600293A (zh) * | 2018-12-24 | 2019-04-09 | 青岛海信电子设备股份有限公司 | 一种gre隧道建立方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114630292A (zh) * | 2021-09-29 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种消息转发的方法、装置、设备及存储介质 |
CN114143771A (zh) * | 2021-11-25 | 2022-03-04 | 京信网络系统股份有限公司 | 数据传输方法、系统、装置、计算机设备和存储介质 |
CN114143771B (zh) * | 2021-11-25 | 2024-02-27 | 京信网络系统股份有限公司 | 数据传输方法、系统、装置、计算机设备和存储介质 |
CN114363311A (zh) * | 2021-12-22 | 2022-04-15 | 广西交控智维科技发展有限公司 | 道岔智能运维监测系统仿真工具的报文上报方法及系统 |
CN114363311B (zh) * | 2021-12-22 | 2024-04-12 | 广西交控智维科技发展有限公司 | 道岔智能运维监测系统仿真工具的报文上报方法及系统 |
CN115774601A (zh) * | 2022-12-30 | 2023-03-10 | 天翼云科技有限公司 | 一种虚拟机热升级的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111988212A (zh) | 2020-11-24 |
CN111988212B (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233249A1 (zh) | 一种报文传输方法以及相关装置 | |
EP3718335B1 (en) | Methods and network nodes of packet aggregation in a session management function, smf. | |
US11272555B2 (en) | Data transmission channel processing method, apparatus, and system | |
US10587498B2 (en) | Methods and arrangements for multipath traffic aggregation | |
US9942748B2 (en) | Service provisioning system and method, and mobile edge application server and support node | |
JP2021520742A (ja) | 却下時の周期的な無線アクセスネットワーク通知エリア(rna)アップデート構成をハンドリングするための方法 | |
US11356294B2 (en) | Packet processing method and device | |
US10511640B2 (en) | Providing cellular-specific transport layer service by way of cell-site proxying in a network environment | |
WO2013152472A1 (zh) | 通信方法与系统,以及接入网设备与应用服务器 | |
JP2019525553A (ja) | 低頻度の小さいデータのための効率的な送達方法および装置 | |
JP6646585B2 (ja) | ある範囲のシーケンスナンバーの確認 | |
WO2021134446A1 (zh) | 一种信息处理方法和通信装置以及通信系统 | |
WO2021004191A1 (zh) | 一种支持时间敏感网络的方法及装置 | |
GB2551485A (en) | Providing service data flow description | |
US20230254729A1 (en) | Migration method and apparatus for iab-node | |
US20170099229A1 (en) | Relay device and relay method | |
US10419542B2 (en) | Transmission control protocol (TCP) synchronize (SYN) signaling passthrough for TCP proxy servers | |
WO2022206007A1 (zh) | 中继通信方法及装置、存储介质、中继设备 | |
WO2020078248A1 (zh) | 无线通信方法及设备 | |
CN111373834B (zh) | 用于建立数据无线承载的客户端设备、接入网设备、方法及计算机程序 | |
WO2016154831A1 (zh) | 一种实现传输控制协议tcp传输的方法及装置 | |
US20190082482A1 (en) | Resource access method, apparatus, and system | |
WO2018107368A1 (zh) | 数据传输的连接建立方法及装置 | |
WO2019085888A1 (zh) | 专有承载流的处理方法、装置及系统 | |
WO2018202204A1 (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: 20809736 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: 20809736 Country of ref document: EP Kind code of ref document: A1 |