WO2019114586A1 - Information transmission method and device - Google Patents

Information transmission method and device Download PDF

Info

Publication number
WO2019114586A1
WO2019114586A1 PCT/CN2018/119368 CN2018119368W WO2019114586A1 WO 2019114586 A1 WO2019114586 A1 WO 2019114586A1 CN 2018119368 W CN2018119368 W CN 2018119368W WO 2019114586 A1 WO2019114586 A1 WO 2019114586A1
Authority
WO
WIPO (PCT)
Prior art keywords
byte
network device
indication information
sequence number
stream
Prior art date
Application number
PCT/CN2018/119368
Other languages
French (fr)
Chinese (zh)
Inventor
周兴旺
李峰
王伟光
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019114586A1 publication Critical patent/WO2019114586A1/en

Links

Images

Classifications

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

Definitions

  • the present application relates to the field of communications, and more particularly to a method and apparatus for information transmission in the field of communications.
  • the transmission control protocol is a connection-oriented, reliable, byte stream-based transport layer communication protocol.
  • a TCP connection is established between the sender device and the receiver device, and the sender device uses a byte stream.
  • the form sends the data to be transmitted to the receiving device.
  • the sending end device sends a byte stream to the receiving end device, and after receiving the byte included in the first part of the byte stream, the receiving end device sends an acknowledgement to the sending end device (acknowledgement). , ACK) message to confirm successful receipt of the first part.
  • ACK acknowledgement
  • the sending end device deletes the byte included in the first part from the retransmission queue, and sends the byte included in the next part to the receiving end device, otherwise the transmitting end device will always try to retransmit. Until the receiving device acknowledges receipt of each byte in the byte stream.
  • the byte stream is forwarded between the sender device and the receiver device through the proxy server, so that the TCP connection between the sender device and the receiver device is divided into the sender device and the A first TCP connection between the proxy servers and a second TCP connection between the proxy server and the sink device.
  • the sending end device sends the byte stream to the proxy server
  • the proxy server confirms the successfully received byte to the sending end device
  • the proxy server forwards the byte stream to the receiving end device
  • the receiving end The device acknowledges the successfully received byte to the proxy server.
  • the proxy server deletes the successfully received byte by the ACK message from the retransmission queue, and thus may cause an error in subsequent forwarding. For example, packet loss, etc., affect the normal transmission of the byte stream.
  • the present application provides a method and apparatus for information transmission, which is beneficial for ensuring normal transmission of a byte stream.
  • the application provides a method for information transmission, the method comprising:
  • the first network device receives the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first part of the first byte stream, where The second indication information is used to indicate a second part in the first byte stream, the second part includes a byte that is part or all of a byte included in the first part, and the second part includes a byte and a The byte successfully received by the third network device is associated;
  • the first network device deletes the target byte stored in the cache according to the second indication information.
  • the first network device determines, according to the first indication information, that the second network device successfully receives the first part, and deletes a target byte stored in the cache according to the second indication information, Since the byte included in the second part is associated with the byte successfully received by the third network device, it is advantageous to ensure normal transmission of the byte stream.
  • the first network device before the first network device sends the first byte stream to the second network device, the first network device establishes a first communication connection with the second network device, and the second network device and the third network device Establish a second communication connection.
  • first communication connection and the second communication connection are communication connections that support a reliable feedback mechanism, such as a TCP connection.
  • the first byte stream can be understood as a TCP byte stream.
  • the first network device transmits the data to be transmitted in the form of a byte stream, for example, the first byte stream may be a 10,000-byte video file, a 1000-byte audio file, or the like.
  • the first network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers.
  • Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the first by the first network device
  • the initial sequence number (ISN) the sequence number of the subsequent byte will be set by the first network device to the first ISN plus the offset of the byte in the first byte stream.
  • the first byte stream includes 1000 bytes
  • the sequence number of the first byte in the first byte stream (ie, the initial sequence number) is 1, and the sequence number of the second byte is 2.
  • the sequence number of the 1000th byte is 1000
  • the first network device sequentially sends the first byte stream to the second network device according to the sequence number from 1 to 1000.
  • the sequence number of the first byte of the first byte stream may also be initialized to other values by the first network device, for example, the first byte stream includes 1000 bytes, the first word The serial number of the first byte in the throttle (ie, the initial serial number) is 1500, the serial number of the second byte is 1501, ..., and the serial number of the 1000th byte is 2499.
  • serial number of each byte in the first byte stream sent by the first network device illustrated herein is merely exemplary, and should not be construed as limiting the application.
  • a successfully received byte can be understood as a serial number consecutive byte received from the first byte of the first byte stream.
  • the second indication information may explicitly indicate or implicitly indicate the byte included in the second part, and the indication manner is more flexible, which is not limited by the embodiment of the present application.
  • the second indication information includes information about a sequence number of a byte included in the second part.
  • the information about the sequence number of the byte included in the second part includes: The serial number of the byte; or the serial number of the first byte of the second part and the byte length of the second part; or the serial number of the first byte of the second part and the second part The serial number of the last byte.
  • the second portion includes a byte that is the target byte.
  • the second indication information includes a sequence number of the second byte, and the sequence number of the second byte is the same as the sequence number of the next byte of the second part.
  • the method further includes: the first network device, the word whose sequence number is smaller than the sequence number of the second byte Section, determined as the target byte.
  • sequence number of the second byte may also be the same as the sequence number of the last byte of the second part.
  • the method further includes: the first network device, the serial number is less than or equal to the serial number of the second byte The byte is determined as the target byte.
  • the third network device successfully receives The byte is part or all of the bytes included in the second portion.
  • the byte included in the second part is associated with the byte successfully received by the third network device, and it can be understood that the byte successfully received by the third network device is part of the byte included in the second part or All. That is, the byte included in the second part is a byte that the first network device can delete.
  • the target byte deleted by the first network device is the byte included in the second part.
  • the second indication information includes a byte length of the second portion.
  • the first network device deletes the target byte stored in the cache according to the second indication information
  • the method further includes: determining, by the first network device, the second part, the sequence number of the last byte of the second part, and the first part according to the first indication information and the byte length of the second part The last byte of the sequence number is the same; the first network device determines the byte of the byte included in the first part except the byte included in the second part as the target byte.
  • the sequence number of the first byte of the second part is greater than the third The serial number of the last byte successfully received by the network device, the sequence number of the last byte of the second part being the same as the sequence number of the last byte of the first part.
  • the second part includes a byte associated with the byte successfully received by the third network device, and can also be understood that the sequence number of the first byte of the second part is greater than the third network device successfully receives.
  • the serial number of the last byte of the second byte, and the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part. That is to say, the byte included in the second part is a byte that the first network device cannot delete.
  • the target byte deleted by the first network device is a byte of the byte included in the first part except the byte included in the second part.
  • the eighth possible implementation of the first aspect when the first byte stream is The method further includes: receiving, by the first network device, the third indication information that is sent by the fourth network device, where the third indication information includes the first a sequence number of the first byte, the sequence number of the first byte being greater than or equal to the sequence number of the first byte stored in the cache of the second network; the first network device according to the third indication information The fourth network device sends a third portion of the first byte stream, the sequence number of the first byte in the third portion being the same as the sequence number of the first byte.
  • the method for transmitting information in the embodiment of the present application is beneficial to ensure normal transmission of the first byte stream in a scenario in which the second network device and the fourth network device are switched.
  • the first network device and the second network device may notify each other whether there is a way to perform various possible implementations of the first aspect.
  • the first network device and the second network device together perform various possible implementations of the first aspect when the first network device and the second network device both have the capability.
  • the first indication information and the first Both indication information is carried in the acknowledgement ACK message.
  • the first indication information is carried in the ACK In the message, the second indication information is carried in an in-band message or an out-of-band message.
  • the first byte stream is Transmission Control Protocol TCP byte stream.
  • the application provides a method for information transmission, the method comprising:
  • the second network device determines to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
  • the second network device sends first indication information to the first network device, where the first indication information is used to indicate that the first part is successfully received;
  • the second network device sends second indication information to the first network device, where the second indication information is used to indicate a second part in the first byte stream, and the second part includes a byte that is included in the first part Part or all of the bytes, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
  • the second network device determines to successfully receive the first part of the first byte stream sent by the first network device, and sends the first indication information and the second information to the first network device. Instructing the first network device to determine, according to the first indication information, that the second network device successfully receives the first part, and deleting the target byte stored in the cache according to the second indication information, thereby facilitating protection of the byte stream Normal transmission.
  • the second indication information includes information about a sequence number of a byte included in the second part.
  • the information about the sequence number of the byte included in the second part includes: The serial number of the byte; or the serial number of the first byte of the second part and the byte length of the second part; or the serial number of the first byte of the second part and the second part The serial number of the last byte.
  • the second portion includes a byte that is the target byte.
  • the third network device successfully receives The byte is part or all of the bytes included in the second portion.
  • the second indication information includes a byte length of the second portion.
  • the sequence number of the first byte of the second part is greater than the third network device successfully receiving The serial number of the last byte of the second byte, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part.
  • the method further includes: sending, by the second network device, status information to the fourth network device, where the second network device forwards the packet to the second network device, where the second network device sends the status information to the fourth network device, where the status information includes the cache of the second network The serial number of the first byte stored in .
  • the first indication information and the first Both indication information is carried in the acknowledgement ACK message.
  • the first indication information is carried in the ACK In the message, the second indication information is carried in an in-band message or an out-of-band message.
  • the first byte stream is a transmission Control protocol TCP byte stream.
  • the application provides a method for information transmission, the method comprising:
  • the fourth network device receives the status information sent by the second network device, where the status information includes the sequence number of the first byte stored in the cache of the fourth network;
  • the fourth network device sends third indication information to the first network device according to the status information, where the third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the second A sequence number of a first byte stored in a cache of the network, wherein the first network device is switched by forwarding the byte in the first byte stream by the second network device to be forwarded by the fourth network device.
  • the method further includes:
  • the fourth network device receives a third part of the first byte stream that is sent by the first network device according to the third indication information, a sequence number of the first byte in the third part, and the first word
  • the serial numbers of the sections are the same.
  • the present application provides an apparatus for transmitting information for performing the method of any of the above first aspect or any possible implementation of the first aspect.
  • the present application provides an apparatus for transmitting information for performing the method of any of the foregoing second aspect or any of the possible implementations of the second aspect.
  • the present application provides an apparatus for transmitting information for performing the method in any of the foregoing third aspect or any possible implementation of the third aspect.
  • the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instructions to cause the apparatus to implement the method of any of the first aspect or the first aspect of the first aspect.
  • the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instruction to cause the apparatus to implement the method of any of the second aspect or the second aspect of the second aspect.
  • the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instruction to cause the apparatus to implement the method of any of the third aspect or the third aspect of the third aspect.
  • the present application provides a computer readable medium for storing a computer program, the computer program comprising instructions for implementing the method of any of the first aspect or the first aspect of the first aspect.
  • the present application provides a computer readable medium for storing a computer program, the computer program comprising instructions for implementing the method of any of the second aspect or the second aspect of the second aspect.
  • the present application provides a computer readable medium for storing a computer program comprising instructions for implementing the method of any of the above-described third aspect or any of the possible implementations of the third aspect.
  • the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the first aspect or the first aspect of the first aspect.
  • the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the above-described second aspect or any of the possible implementations of the second aspect.
  • the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the above-described third or third aspect of the possible implementation.
  • the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path.
  • the processor is operative to execute code in the memory, and when the processor executes the code, the chip device implements the method of any of the first aspect or the first aspect of the first aspect.
  • the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path.
  • the processor is operative to execute code in the memory, and when the processor executes the code, the chip device implements the method of any of the second aspect or the second aspect of the second aspect.
  • the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path.
  • the processor is operative to execute code in the memory, the chip device implementing the method in any of the possible implementations of the third aspect or the third aspect described above when the processor executes the code.
  • FIG. 1 is a schematic block diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 2 is a schematic block diagram of another application scenario provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for information transmission provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of transmission of a first byte stream according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another method for information transmission provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an apparatus for information transmission provided by an embodiment of the present application.
  • FIG. 7 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application.
  • FIG. 9 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application.
  • GSM global system of mobile communication
  • CDMA code division multiple access
  • WCDMA Wideband code division multiple access
  • GPRS general packet radio service
  • LTE long term evolution
  • FDD LTE frequency division duplex
  • TDD LTE time division duplex
  • UMTS universal mobile telecommunication system
  • WiMAX worldwide interoperability for microwave access
  • FIG. 1 is a schematic block diagram of an application scenario provided by an embodiment of the present application. As shown in FIG. 1, a first communication connection is established between a sender device and a proxy server, and the proxy server establishes a second communication connection with the receiver device. .
  • the sending end device is configured to generate data to be sent, and send the to-be-sent data to the proxy server in the form of a byte stream.
  • the proxy server is configured to receive the byte stream sent by the sender device, and forward the byte stream to the receiver device.
  • the sender device may be, for example, a server
  • the proxy server may be, for example, a base station
  • the receiver device may be, for example, a client
  • the server forwards a byte stream to the client through the base station.
  • first communication connection and the second communication connection may be a communication connection supporting a reliable feedback mechanism, such as a TCP connection, that is, a byte stream transmitted through the first communication connection and the second communication connection may be Is a stream of TCP bytes.
  • a reliable feedback mechanism such as a TCP connection
  • the first communication connection supports a reliable feedback mechanism, which can be understood as if the sending end device sends a first byte stream to the proxy server, and the proxy server determines to successfully receive the first part of the first byte stream, The sender device sends an ACK message, and the ACK message is used to confirm that the first part is successfully received. After receiving the ACK message, the sending end device deletes the byte included in the first part stored in the retransmission queue, and The next part of the byte is sent to the proxy server, otherwise the sender device will always try to retransmit until the receiving device confirms that each byte in the first byte stream is successfully received.
  • a reliable feedback mechanism can be understood as if the sending end device sends a first byte stream to the proxy server, and the proxy server determines to successfully receive the first part of the first byte stream, The sender device sends an ACK message, and the ACK message is used to confirm that the first part is successfully received. After receiving the ACK message, the sending end device deletes the byte included
  • the source device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers, for example, a small to large sequence, in which each byte in the first byte stream is sequentially transmitted, wherein the sequence number of the first byte of the first byte stream is initialized by the source device to an initial sequence number value (initial Sequence number, ISN), the sequence number of the subsequent byte will be set by the sender device to the ISN plus the offset of the byte in the first byte stream.
  • ISN initial Sequence number
  • the first byte in the first byte stream is identical to the first byte of the first portion.
  • a successfully received byte can be understood as a contiguous sequence of serial numbers received from the first byte of the first byte stream.
  • the transmitting end device directly deletes the byte included in the first part stored in the retransmission queue after receiving the ACK message, as shown in FIG. 2, in the subsequent transmission process, when the The proxy server cannot continue to forward the first byte stream for the receiving device, and needs to switch to another proxy server to continue forwarding the first byte stream for the receiving device for the receiving device, which may result in the first A one-byte stream cannot continue to transmit normally, and may even cause the transmission of the first byte stream to fail.
  • the scene in which the proxy server is down, or the scenario in which the proxy server needs to be switched due to the movement of the receiving device may cause the proxy server to continue forwarding the first for the receiving device.
  • the byte stream is switched to continue forwarding by the target proxy server for the first byte stream for the sink device.
  • the method for transmitting information provided by the embodiment of the present application is beneficial for ensuring normal transmission of a byte stream.
  • FIG. 3 is a schematic flowchart of a method 300 for information transmission provided by an embodiment of the present application. The method 300 may be applied to an application scenario as described in FIG. 1 and/or FIG. 2.
  • the first network device sends a first byte stream to the second network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device.
  • the first network device may be the sending end device shown in FIG. 1 and FIG. 2
  • the second network device may be the proxy server shown in FIG. 1 and FIG. 2
  • the third network device may be The receiving end device shown in FIG. 1 and FIG. 2 is not limited in this embodiment of the present application.
  • the first network device establishes a first communication connection with the second network device
  • the second network device establishes a second communication connection with the third network device.
  • first communication connection and the second communication connection are communication connections that support a reliable feedback mechanism, such as a TCP connection.
  • the first byte stream can be understood as a TCP byte stream.
  • the first network device transmits the data to be transmitted in the form of a byte stream, for example, the first byte stream may be a 10,000-byte video file, a 1000-byte audio file, or the like.
  • the first network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers.
  • Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the first by the first network device
  • the ISN, the sequence number of the subsequent byte will in turn be set by the first network device to the first ISN plus the offset of the byte in the first byte stream.
  • the first byte stream includes 1000 bytes, and the sequence number of the first byte in the first byte stream (ie, the initial sequence number) is 1, the second byte.
  • the sequence number is 2, ..., and the sequence number of the 1000th byte is 1000.
  • the first network device sequentially transmits the first byte stream to the second network device according to the sequence number from 1 to 1000.
  • the sequence number of the first byte of the first byte stream may also be initialized to other values by the first network device, for example, the first byte stream includes 1000 bytes, the first word The serial number of the first byte in the throttle (ie, the initial serial number) is 1500, the serial number of the second byte is 1501, ..., and the serial number of the 1000th byte is 2499, the first network device The first byte stream is transmitted to the second network device in sequence according to the sequence number from 1500 to 2499.
  • serial number of each byte in the first byte stream sent by the first network device illustrated herein is merely exemplary, and should not be construed as limiting the application.
  • the second network device determines to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device.
  • a successfully received byte can be understood as a serial number consecutive byte received from the first byte of the first byte stream.
  • the second network device receives the byte included in the first part, the first part includes 300 bytes, and the sequence number of the 300 bytes is from 1 to 300, that is, the first part The continuous 300 bytes are included, so the second network device can determine that the byte included in the first portion is successfully received.
  • first byte of the first portion of the first byte stream is identical to the first byte of the first byte stream.
  • the second network device may also receive the byte of the sequence number 400 to the sequence number 500, but since the byte between the sequence number 400 and the sequence number 300 is not received, that is, the sequence number 300 to the sequence The numbers 400 are not continuous. Therefore, the bytes successfully received by the second network device are the bytes of the serial number 1 to the serial number 300.
  • the second network device sends the first indication information to the first network device, where the first indication information is used to indicate that the first part is successfully received; correspondingly, the first network device receives the First indication information.
  • the first indication information may be carried in an ACK message or other message, which is not limited by the embodiment of the present application.
  • the first indication information may be an acknowledgment number in the ACK message, where the acknowledgment number is used to indicate that the second network device successfully receives the byte included in the first part.
  • the first network device may consider that all bytes whose sequence number is smaller than the acknowledgement number in the ACK message are successfully received by the second network device.
  • the second network device when the second network device confirms that the byte of sequence number 1 to sequence number 300 is successfully received, an ACK message is sent to the first network device, and the acknowledgement number in the ACK message is 301, indicating The second network device successfully receives a byte having a sequence number less than 301.
  • the ACK message can also be understood as an implementation indicating that the second network device does not successfully receive the byte, or can be understood as an implementation of request retransmission for the lost byte, this application The embodiment does not limit this.
  • the first network device may also consider that the byte whose sequence number is less than or equal to the acknowledgement number in the ACK message is successfully received by the second network device.
  • the second network device when the second network device confirms that the byte of sequence number 1 to sequence number 300 is successfully received, an ACK message is sent to the first network device, and the acknowledgement number in the ACK message is 300, indicating The second network device successfully receives a byte whose sequence number is less than or equal to 300.
  • the first network device and the second network device may agree, by using a protocol, the relationship between the confirmation number and the serial number, or the first network device and the second network device may pre-negotiate the confirmation number and the sequence.
  • the relationship of the number, or the second network device may indicate the relationship between the confirmation number and the serial number by using the indication information, which is not limited by the embodiment of the present application.
  • the first network device may perform a plurality of different operations after receiving the ACK message, which is not limited in this embodiment of the present application.
  • the operation that the first network device can perform after receiving the first indication information does not include deleting the cache, for example, storing the first part of the stored byte in the retransmission queue, for example, deleting the storage in the retransmission queue.
  • the first part includes the bytes.
  • the first network device may continue to send the byte in the byte stream to the second network device according to the first indication information.
  • the first network device may wait for feedback of the second network device to receive the remaining bytes according to the first indication information.
  • the second network device sends, to the first network device, second indication information, where the second indication information is used to indicate a second part in the first byte stream, where the second part includes a byte Part or all of the included bytes, and the second portion includes a byte associated with the byte successfully received by the third network device; correspondingly, the first network device receives the second network device Second indication information.
  • first byte of the second portion is identical to the first byte of the first portion.
  • the first network device deletes the target byte stored in the cache according to the second indication information.
  • the byte included in the second part is associated with the byte successfully received by the third network device, and it can be understood that the byte included in the second part is positively correlated with the byte successfully received by the third network device. Or, it can be understood that the byte included in the second part is negatively related to the byte successfully received by the third network device, which is not limited in this embodiment of the present application.
  • the byte included in the second part is positively correlated with the byte successfully received by the third network device, and it can be understood that the byte successfully received by the third network device is part or all of the bytes included in the second part, That is, the byte included in the second part is a byte that the first network device can delete.
  • the target byte deleted by the first network device is the byte included in the second part.
  • the first network device and the second network device may pre-arrange that the byte included in the second part is positively related to the byte successfully received by the third network device, or the second network device may pass the first
  • the second indication information indicates that the byte included in the second part is deleted, which is not limited in this embodiment of the present application.
  • the second portion includes bytes that are identical to the bytes successfully received by the third network device.
  • the second portion may include the bytes of sequence number 1 to sequence number 149.
  • the second portion includes a byte including an additional at least one byte in addition to the byte successfully received by the third network device.
  • the additional at least one byte may be at least one byte that is consecutive to the byte successfully received by the third network device, where the at least one byte may be, for example, that the second network device has been to the third network.
  • the device sends, but has not received the acknowledgment byte of the third network device, or the second network device predicts the byte that can be successfully received by the third network device, which is not limited in this embodiment of the present application.
  • the second portion may include the bytes of sequence number 1 to sequence number 160.
  • the second indication information may explicitly indicate the byte included in the second part, or the second indication information may implicitly indicate the byte included in the second part, which is not limited by the embodiment of the present application.
  • the second indication information includes information about bytes included in the second part.
  • the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
  • the first network device may determine a sequence number of each byte in the second part according to the second indication information.
  • the second indication information may include the sequence number 1 to the sequence number 160; or the second indication information may include The serial number 1 and the byte length 160; or the second indication information may include the serial number 1 and the serial number 160.
  • Implicit indication mode the second indication information includes a sequence number of the second byte, and the sequence number of the second byte is the same as the sequence number of the next byte of the second part.
  • the first network device may determine a byte whose sequence number is smaller than the sequence number of the second byte as the target byte.
  • the second indication information may include the sequence number 161, and the first network device shall have a sequence number less than 161 bytes. Determined as the target byte.
  • the second indication information may further include a sequence number of the last byte of the second part.
  • the first network device can determine the byte of the sequence number whose sequence number is less than or equal to the last byte of the second part as the target byte.
  • the second indication information may include the serial number 160, and the first network device sets the serial number to be less than or equal to 160.
  • the byte is determined as the target byte.
  • the byte included in the second part is negatively correlated with the byte successfully received by the third network device, and it can be understood that the sequence number of the first byte of the second part is greater than the last word successfully received by the third network device.
  • the serial number of the section, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part, that is, the byte included in the second part is a word that the first network device cannot delete. Section.
  • the target byte deleted by the first network device is a byte of the byte included in the first part except the byte included in the second part.
  • the first network device and the second network device may pre-arrange that the byte included in the second part is negatively related to the byte successfully received by the third network device, or the second network device may pass the first
  • the second indication information indicates that the byte other than the byte included in the second part is deleted, which is not limited in this embodiment of the present application.
  • the second indication information may explicitly indicate the byte included in the second part, or the second indication information may implicitly indicate the byte included in the second part, which is not limited by the embodiment of the present application.
  • the second indication information includes information about bytes included in the second part.
  • the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
  • the first network device may determine, according to the second indication information, a sequence number of each byte included in the second part, and divide the word included in the first part by the word included in the second part.
  • the bytes outside the section are determined as the target bytes.
  • the second indication information may include the serial number 161 to the serial number 300; or the second indication information may include The serial number 161 and the byte length 140; or the second indication information may include the serial number 161 and the serial number 300.
  • the first network device can determine the byte of sequence number 1 to sequence number 160 as the target byte.
  • Implicit indication mode the second indication information includes the byte length of the second part.
  • the first network device determines, according to the first indication information and a byte length of the second part, the second part, the sequence number of the last byte of the second part and the last word of the first part
  • the sequence number of the section is the same; the first network device determines the byte of the byte included in the first part except the byte included in the second part as the target byte.
  • the second indication information may include a byte length of 140; the first network device divides the sequence in the first part. A byte other than 140 bytes before the number 300 is determined as the target byte.
  • the first network device deletes the target byte stored in the cache according to the second indication information, and the first network device only deletes the target byte stored in the retransmission queue, but the The target byte is still stored in the local disk or the hard disk of the first network device, so as to send the first byte stream to other receiving devices.
  • the second network device may send, to the third network device, a byte in the first byte stream that is successfully received by the second network device.
  • the second network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers.
  • Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the second by the second network device
  • the ISN, the sequence number of the subsequent byte will in turn be set by the second network device to the second ISN plus the offset of the byte in the first byte stream.
  • the second network device successfully receives a byte included in the first portion of the first byte stream, the first portion including 300 bytes, and the first byte in the first portion
  • the serial number ie, the initial serial number
  • the second byte has a serial number of 2
  • ... the serial number of the 300th byte is 300
  • the second network device sequentially follows the sequence number from 1 to 300.
  • the byte included in the first portion is transmitted to the third network device.
  • the sequence number of the first byte of the first part may also be initialized to other values by the second network device, for example, the second network device successfully receives the first part of the first byte stream.
  • the first part includes 300 bytes
  • the serial number of the first byte in the first part ie, the initial serial number
  • the serial number of the second byte is 322, ...
  • the 300th The sequence number of the byte is 621
  • the second network device sequentially sends the byte included in the first part to the third network device according to the sequence number from 1 to 300.
  • serial number of each byte in the first portion sent by the second network device illustrated herein is merely exemplary and should not be construed as limiting the application.
  • the first SNI determined when the first byte stream is sent by the first network device and the second SNI determined when the second network device forwards the first byte stream may be the same or different.
  • the application embodiment does not limit this.
  • the manner in which the second network device confirms the byte received by the third network device is the same as the manner in which the first network device determines that the second network device receives the byte included in the first part, to avoid repetition. , will not repeat them here.
  • the second network device after confirming the byte successfully received by the third network device, may delete the byte successfully received by the third network device stored in the cache.
  • the second indication information may be carried in an ACK message, such as an option field of an ACK message, or the second indication information may be carried in an in-band message, an out-of-band message, or other message. This example does not limit this.
  • the first network device and the second network device may negotiate a buffer capacity value that can be supported.
  • the second network device sends the first cache information to the first network device, where the first cache information includes a first cache capacity value supported by the second network device; the first network device sends the first network device to the second network The device sends the second cache information, where the second cache information includes a second cache capacity value supported by the first network device, where the first network device and the second network device compare the first cache capacity value and the second cache
  • the minimum value of the capacity values is configured as its own cache capacity value.
  • both the first network device and the second network device configure their own cache capacity. It is 500 bytes.
  • the first network device and the second network device may negotiate a buffer capacity value that can be supported during the handshake phase, for example, the first cache information and the second cache information may be carried in the synchronization message.
  • the first network device and the second network device may notify each other whether the capability of performing S310-S350 is performed.
  • the first network device and the second network device both have the capability, the The first network device and the second network device jointly perform S310 to S350.
  • the first network device and the second network device may mutually notify whether the capability is supported during the handshake phase.
  • the first network device may be a proxy server of the sender device supporting the capability, and the sender terminal
  • the proxy server may for example be a packet data network (PDN) gateway (PGW).
  • PDN packet data network gateway
  • the proxy server successfully receives the first part of the first byte stream sent by the sending end device, and forwards the byte included in the first part to the receiving end device,
  • the receiving end device successfully receives a partial byte in the byte included in the first part, sending an ACK message to the proxy server for confirming successful reception of the partial byte, after receiving the ACK message, the receiving end device receives the ACK message.
  • the partial bytes stored in the retransmission queue are deleted, and the remaining bytes of the bytes included in the first part except the partial bytes are further forwarded.
  • the proxy server forwards the remaining bytes to the receiving device, a handover as shown in FIG. 2 occurs, due to bandwidth and/or switching time limitations between the proxy server and the target proxy server, The remaining bytes stored in the proxy server cache cannot be switched to the target proxy server, and the sender device has also deleted the bytes included in the first portion, so that the remaining bytes cannot be transmitted to the sink device, thereby Affecting the normal transmission of the first byte stream.
  • FIG. 5 illustrates a method 500 for information transmission, which is applied to an application scenario as shown in FIG. 2 .
  • the second network device sends status information to the fourth network device, where the status information includes a sequence number of a first byte stored in a cache of the second network; correspondingly, the fourth network device receives the The status information sent by the second network device.
  • the second network device may be the proxy server described in FIG. 2, and the fourth network device may be the target proxy server described in FIG. 2.
  • the second network device successfully receives the bytes included in the first part, that is, the bytes of the serial number 1 to the serial number 300, sent by the first network device, and the third network device successfully receives the data.
  • a byte of serial number 1 to serial number 149 forwarded by the second network device at this time, the second network device deletes a byte of serial number 1 to serial number 149 stored in the cache, that is, the second network device
  • the status information includes the serial number 150.
  • the fourth network device sends third indication information to the first network device according to the status information, where the third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the The sequence number of the first byte stored in the cache of the second network; correspondingly, the first network device receives the third indication information sent by the fourth network device.
  • the fourth network device determines the sequence number of the first byte according to the state information.
  • the second network device may transfer a part of the byte storage stored in the cache to the fourth network device by using the X2 interface or the communication connection state information during the switching process of the second network device and the fourth network device; or The second network device may send the partial byte to the third network device, but has not received the acknowledgement of the third network device, therefore, the sequence number of the first byte may be greater than or equal to the second network.
  • the sequence number of the first byte may be 150, or the sequence number of the first byte. Can be greater than 150.
  • the communication connection status information may include status information of the first communication connection (ie, a communication connection between the first network device and the second network device) and the second communication connection (ie, the second network device) Status information of the communication connection with the third network device.
  • the status information of the first communication connection may include a source internet protocol (IP) address, a source port number, a target IP address, a target port number, and a protocol type of the first communication connection;
  • the status information may include a source IP address, a source port number, a destination IP address, a destination port number, and a protocol type of the second communication connection.
  • IP internet protocol
  • the communication connection status information may further include status information of the second network device.
  • the status information of the second network device includes a sequence number of the first byte and a sequence number of the last byte successfully received by the second network device, and the second network device sends the third network device to the third network device.
  • the serial number of the first byte and the serial number of the last byte are included in the status information of the second network device.
  • the first network device sends, according to the third indication information, a third part in the first byte stream to the fourth network device, where the sequence number of the first byte in the third part is The one-byte serial number is the same.
  • the fourth network device receives the third part of the first byte stream that is sent by the first network device according to the third indication information, and the sequence number of the first byte in the third part is The first byte has the same serial number.
  • the fourth network device completes the handover and handover with the second network device, and the fourth network device continues to forward the word included in the third portion sent by the first network device to the third network device.
  • the method for transmitting information provided by the embodiment of the present application can ensure normal transmission of the first byte stream in the scenario in which the second network device and the fourth network device are switched.
  • the information transmission method provided by the embodiment of the present application is described in detail with reference to FIG. 1 to FIG. 5 .
  • the apparatus for information transmission provided by the embodiment of the present application will be described below with reference to FIG. 6 to FIG.
  • FIG. 6 is a schematic block diagram of an apparatus 600 for information transmission provided by an embodiment of the present application.
  • the device 600 includes:
  • the sending unit 610 is configured to send, to the second network device, a first byte stream, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
  • the receiving unit 620 is configured to receive the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first part of the first byte stream,
  • the second indication information is used to indicate a second part in the first byte stream, the second part includes a byte that is part or all of a byte included in the first part, and the second part includes a byte Associated with a byte successfully received by the third network device;
  • the processing unit 630 is configured to delete the target byte stored in the cache according to the second indication information received by the receiving unit 620.
  • the second indication information includes information about a sequence number of a byte included in the second part.
  • the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
  • the second part includes a byte that is the target byte.
  • the byte successfully received by the third network device is part or all of the bytes included in the second part.
  • the second indication information includes a byte length of the second part.
  • the processing unit is further configured to: before the deleting the target byte stored in the cache according to the second indication information, determining the second according to the first indication information and a byte length of the second part Part, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part; the byte included in the first part except the byte included in the second part , determined as the target byte.
  • sequence number of the first byte of the second part is greater than the sequence number of the last byte successfully received by the third network device, and the sequence number of the last byte of the second part is related to the first part The last byte of the sequence number is the same.
  • the receiving unit is further configured to: when the first byte stream is forwarded by the second network device, to be forwarded by the fourth network device, receive the third indication information sent by the fourth network device, where the The third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the sequence number of the first byte stored in the cache of the second network; the sending unit is further configured to The third indication information is sent to the fourth network device, the third part of the first byte stream, the sequence number of the first byte in the third part is the same as the sequence number of the first byte.
  • the first indication information and the second indication information are both carried in the acknowledgement ACK message.
  • the first indication information is carried in an ACK message
  • the second indication information is carried in an inband message or an outband message.
  • the first byte stream is a Transmission Control Protocol TCP byte stream.
  • the apparatus 600 herein is embodied in the form of a functional unit.
  • the term "unit” as used herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (eg, a shared processor, a proprietary processor, or a group) for executing one or more software or firmware programs. Processors, etc.) and memory, merge logic, and/or other suitable components that support the described functionality.
  • ASIC application specific integrated circuit
  • the device 600 may be specifically the first network device in the foregoing method 300 and method 500, and the device 600 may be used to perform the foregoing method 300 and method 500 in the embodiment.
  • the various processes and/or steps corresponding to the first network device are not repeated here to avoid repetition.
  • FIG. 7 is a schematic block diagram of an apparatus 700 for information transmission provided by an embodiment of the present application.
  • the device 700 includes:
  • the processing unit 710 is configured to determine to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
  • the sending unit 720 is configured to send the first indication information to the first network device, where the first indication information is used to indicate that the processing unit 710 determines to successfully receive the first part;
  • the sending unit 720 is further configured to send, to the first network device, second indication information, where the second indication information is used to indicate a second part in the first byte stream, where the second part includes a byte A portion of or all of the included bytes, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
  • the second indication information includes information about a sequence number of a byte included in the second part.
  • the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
  • the second part includes a byte that is the target byte.
  • the byte successfully received by the third network device is part or all of the bytes included in the second part.
  • the second indication information includes a byte length of the second part.
  • sequence number of the first byte of the second part is greater than the sequence number of the last byte successfully received by the third network device, and the sequence number of the last byte of the second part is related to the first part The last byte of the sequence number is the same.
  • the sending unit is further configured to: when the first byte stream is forwarded by the second network device to be forwarded by the fourth network device, send status information to the fourth network device, where the status information includes The serial number of the first byte stored in the cache of the second network.
  • the first indication information and the second indication information are both carried in the acknowledgement ACK message.
  • the first indication information is carried in an ACK message
  • the second indication information is carried in an inband message or an outband message.
  • the first byte stream is a Transmission Control Protocol TCP byte stream.
  • the apparatus 700 herein is embodied in the form of a functional unit.
  • the term "unit" herein may refer to an ASIC, an electronic circuit, a processor (eg, a shared processor, a proprietary processor, or a group processor, etc.) and memory, a merge logic, and a processor for executing one or more software or firmware programs. / or other suitable components that support the described functionality.
  • the device 700 may be specifically the second network device in the foregoing method 300 and the method 500.
  • the device 700 may be used to perform the foregoing method 300 and method 500.
  • the various processes and/or steps corresponding to the second network device are not repeated here to avoid repetition.
  • FIG. 8 shows an apparatus 800 for data transmission provided by an embodiment of the present application.
  • the apparatus 800 may be the first network device described in FIG. 3 and FIG. 5, and the apparatus 800 may adopt a hardware architecture as shown in FIG. 8.
  • the apparatus can include a processor 810, a transceiver 820, and a memory 830 that communicate with one another via internal connection paths.
  • the related functions implemented by the processing unit 630 in FIG. 6 may be implemented by the processor 810, and the related functions implemented by the transmitting unit 710 and the receiving unit 720 may be implemented by the processor 810 controlling the transceiver 820.
  • the processor 810 may include one or more processors, for example, including one or more central processing units (CPUs).
  • processors for example, including one or more central processing units (CPUs).
  • CPUs central processing units
  • the CPU may be a single core CPU, and It can be a multi-core CPU.
  • the transceiver 820 is configured to transmit and receive data and/or signals, as well as to receive data and/or signals.
  • the transceiver can include a transmitter and a receiver for transmitting data and/or signals, and a receiver for receiving data and/or signals.
  • the memory 830 includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read only memory (EPROM), and a read only memory.
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read only memory
  • CD-ROM compact disc read-only memory
  • the memory 830 is used to store the program code and data of the device, and may be a separate device or integrated in the processor 810.
  • the processor 810 is configured to control the transceiver to perform information transmission with the second network device and/or the fourth network device.
  • the processor 810 is configured to control the transceiver to perform information transmission with the second network device and/or the fourth network device.
  • Figure 8 only shows a simplified design of the device.
  • the device may also include other necessary components, including but not limited to any number of transceivers, processors, controllers, memories, etc., and all devices that can implement the present application are within the scope of the present application.
  • device 800 can be replaced with a chip device, such as a communication chip that can be used in the device for implementing the relevant functions of processor 810 in the device.
  • the chip device can be a field programmable gate array for implementing related functions, a dedicated integrated chip, a system chip, a central processing unit, a network processor, a digital signal processing circuit, a microcontroller, or a programmable controller or other integrated chip.
  • the chip may include one or more memories for storing program code that, when executed, causes the processor to perform the corresponding functions.
  • FIG. 9 shows an apparatus 900 provided by an embodiment of the present application.
  • the apparatus 900 may be the second network device described in FIG. 3 and FIG. 5, and the apparatus 900 may adopt a hardware architecture as shown in FIG. 9.
  • the apparatus can include a processor 910, a transceiver 920, and a memory 930, the processor 910, the transceiver 920, and the memory 930 communicating with one another via internal connection paths.
  • the related functions implemented by the processing unit 710 in FIG. 7 may be implemented by the processor 910, and the related functions implemented by the transmitting unit 720 may be implemented by the processor 910 controlling the transceiver 920.
  • the processor 910 may include one or more processors, for example, including one or more CPUs.
  • the processor may be a single core CPU or a multi-core CPU.
  • the transceiver 920 is configured to transmit and receive data and/or signals, as well as to receive data and/or signals.
  • the transceiver can include a transmitter and a receiver for transmitting data and/or signals, and a receiver for receiving data and/or signals.
  • the memory 930 includes, but is not limited to, a RAM, a ROM, an EPROM, a CD-ROM, and the memory 930 is used to store related instructions and data.
  • the memory 930 is used to store the program code and data of the device, and may be a separate device or integrated in the processor 910.
  • the processor 910 is configured to control, by the transceiver, information transmission with the first network device and/or the fourth network device.
  • the processor 910 is configured to control, by the transceiver, information transmission with the first network device and/or the fourth network device.
  • Figure 9 only shows a simplified design of the device.
  • the device may also include other necessary components, including but not limited to any number of transceivers, processors, controllers, memories, etc., and all devices that can implement the present application are within the scope of the present application.
  • device 900 can be replaced with a chip device, such as a communication chip that can be used in the device for implementing the relevant functions of processor 910 in the device.
  • the chip device can be a field programmable gate array for implementing related functions, a dedicated integrated chip, a system chip, a central processing unit, a network processor, a digital signal processing circuit, a microcontroller, or a programmable controller or other integrated chip.
  • the chip may include one or more memories for storing program code that, when executed, causes the processor to perform the corresponding functions.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • 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, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.

Abstract

The present application provides an information transmission method and a device. The method comprises: a first network apparatus sending a first byte stream to a second network apparatus, the first byte stream being a byte stream to be forwarded to a third network apparatus via the second network apparatus; the first network apparatus receiving first indication information and second indication information sent by the second network apparatus, the first indication information indicating that the second network apparatus has successfully received a first portion of the first byte stream, the second indication information indicating a second portion of the first byte stream, bytes included in the second portion being a portion of or all of the bytes included in the first portion, and the bytes included in the second portion being associated with bytes having been successfully received by the third network apparatus; and the first network apparatus deleting target bytes stored in a buffer according to the second indication information. The information transmission method and the device provided by the present application facilitate and ensure normal transmission of a byte stream.

Description

信息传输的方法和装置Method and device for information transmission
本申请要求于2017年12月11日提交中国专利局、申请号为201711308010.1、申请名称为“信息传输的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. PCT Application No. No. No. No. No. No. No. No. No. No. No. No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
技术领域Technical field
本申请涉及通信领域,更具体地,涉及通信领域中信息传输的方法和装置。The present application relates to the field of communications, and more particularly to a method and apparatus for information transmission in the field of communications.
背景技术Background technique
传输控制协议(transmission control protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,发送端设备与接收端设备之间建立TCP连接,发送端设备以字节流的形式将待传输数据发送给该接收端设备。The transmission control protocol (TCP) is a connection-oriented, reliable, byte stream-based transport layer communication protocol. A TCP connection is established between the sender device and the receiver device, and the sender device uses a byte stream. The form sends the data to be transmitted to the receiving device.
在数据传输过程中,发送端设备向接收端设备发送字节流,该接收端设备在成功接收到该字节流中的第一部分包括的字节后,会向该发送端设备发送确认(acknowledgement,ACK)消息,以确认成功接收该第一部分。该发送端设备在接收到该ACK消息后,从重传队列中删除该第一部分包括的字节,并向该接收端设备发送下一个部分包括的字节,否则该发送端设备会一直尝试重传,直到接收端设备确认收到该字节流中的每个字节。In the data transmission process, the sending end device sends a byte stream to the receiving end device, and after receiving the byte included in the first part of the byte stream, the receiving end device sends an acknowledgement to the sending end device (acknowledgement). , ACK) message to confirm successful receipt of the first part. After receiving the ACK message, the sending end device deletes the byte included in the first part from the retransmission queue, and sends the byte included in the next part to the receiving end device, otherwise the transmitting end device will always try to retransmit. Until the receiving device acknowledges receipt of each byte in the byte stream.
为了提高数据传输的性能,发送端设备和接收端设备之间通过代理服务器转发字节流,这样一来,该发送端设备到接收端设备之间的TCP连接被分为该发送端设备和该代理服务器之间的第一TCP连接和该代理服务器和该接收端设备之间的第二TCP连接。具体而言,该发送端设备向该代理服务器发送该字节流,该代理服务器向该发送端设备确认成功接收的字节,该代理服务器向该接收端设备转发该字节流,该接收端设备向该代理服务器确认成功接收的字节。In order to improve the performance of the data transmission, the byte stream is forwarded between the sender device and the receiver device through the proxy server, so that the TCP connection between the sender device and the receiver device is divided into the sender device and the A first TCP connection between the proxy servers and a second TCP connection between the proxy server and the sink device. Specifically, the sending end device sends the byte stream to the proxy server, the proxy server confirms the successfully received byte to the sending end device, and the proxy server forwards the byte stream to the receiving end device, and the receiving end The device acknowledges the successfully received byte to the proxy server.
然而,由于该发送端设备只要接收到该代理服务器发送的ACK消息,就会从重传队列中删除该代理服务器通过该ACK消息确认成功接收的字节,因此,可能导致后续的转发过程中发生错误,例如丢包等,影响字节流的正常传输。However, since the sending end device only receives the ACK message sent by the proxy server, the proxy server deletes the successfully received byte by the ACK message from the retransmission queue, and thus may cause an error in subsequent forwarding. For example, packet loss, etc., affect the normal transmission of the byte stream.
发明内容Summary of the invention
本申请提供一种信息传输的方法和装置,有利于保障字节流的正常传输。The present application provides a method and apparatus for information transmission, which is beneficial for ensuring normal transmission of a byte stream.
第一方面,本申请提供一种信息传输的方法,该方法包括:In a first aspect, the application provides a method for information transmission, the method comprising:
第一网络设备向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;Transmitting, by the first network device, a first byte stream to the second network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
该第一网络设备接收该第二网络设备发送的第一指示信息和第二指示信息,该第一指示信息用于指示该第二网络设备成功接收该第一字节流中的第一部分,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部 分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;The first network device receives the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first part of the first byte stream, where The second indication information is used to indicate a second part in the first byte stream, the second part includes a byte that is part or all of a byte included in the first part, and the second part includes a byte and a The byte successfully received by the third network device is associated;
该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节。The first network device deletes the target byte stored in the cache according to the second indication information.
本申请实施例提供的信息传输的方法,该第一网络设备根据该第一指示信息确定该第二网络设备成功接收该第一部分,并根据该第二指示信息删除缓存中存储的目标字节,由于该第二部分包括的字节与该第三网络设备成功接收的字节相关联,因此,有利于保障字节流的正常传输。The method for transmitting information according to the embodiment of the present application, the first network device determines, according to the first indication information, that the second network device successfully receives the first part, and deletes a target byte stored in the cache according to the second indication information, Since the byte included in the second part is associated with the byte successfully received by the third network device, it is advantageous to ensure normal transmission of the byte stream.
可选地,在第一网络设备向第二网络设备发送第一字节流之前,该第一网络设备与该第二网络设备建立第一通信连接,该第二网络设备与该第三网络设备建立第二通信连接。Optionally, before the first network device sends the first byte stream to the second network device, the first network device establishes a first communication connection with the second network device, and the second network device and the third network device Establish a second communication connection.
应理解,该第一通信连接和该第二通信连接为支持可靠反馈机制的通信连接,例如TCP连接。It should be understood that the first communication connection and the second communication connection are communication connections that support a reliable feedback mechanism, such as a TCP connection.
还应理解,该第一通信连接和该第二通信连接均为TCP连接时,该第一字节流可以理解为TCP字节流。It should also be understood that when the first communication connection and the second communication connection are both TCP connections, the first byte stream can be understood as a TCP byte stream.
还应理解,该第一网络设备将待传输数据以字节流的形式传输,例如该第一字节流可以为一个10000字节大小的视频文件、一个1000字节大小的音频文件等。It should also be understood that the first network device transmits the data to be transmitted in the form of a byte stream, for example, the first byte stream may be a 10,000-byte video file, a 1000-byte audio file, or the like.
还应理解,该第一网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第一网络设备初始化为第一初始序号值(initial sequence number,ISN),后续的字节的序列号依次将被该第一网络设备设置成第一ISN加上该字节在该第一字节流中的偏移。It should also be understood that the first network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers. Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the first by the first network device The initial sequence number (ISN), the sequence number of the subsequent byte will be set by the first network device to the first ISN plus the offset of the byte in the first byte stream.
例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第1000个字节的序列号为1000,该第一网络设备按照序列号从1至1000的顺序依次向该第二网络设备发送该第一字节流。For example, the first byte stream includes 1000 bytes, the sequence number of the first byte in the first byte stream (ie, the initial sequence number) is 1, and the sequence number of the second byte is 2. The sequence number of the 1000th byte is 1000, and the first network device sequentially sends the first byte stream to the second network device according to the sequence number from 1 to 1000.
可选地,该第一字节流的第一个字节的序列号还可以被该第一网络设备初始化为其它值,例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1500、第2个字节的序列号为1501、…、第1000个字节的序列号为2499。Optionally, the sequence number of the first byte of the first byte stream may also be initialized to other values by the first network device, for example, the first byte stream includes 1000 bytes, the first word The serial number of the first byte in the throttle (ie, the initial serial number) is 1500, the serial number of the second byte is 1501, ..., and the serial number of the 1000th byte is 2499.
应理解,这里所示例的该第一网络设备发送的该第一字节流中的每个字节的序列号仅为示例性说明,而不应对本申请构成任何限定。It should be understood that the serial number of each byte in the first byte stream sent by the first network device illustrated herein is merely exemplary, and should not be construed as limiting the application.
还应理解,在本申请实施例中,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。It should also be understood that in the embodiment of the present application, a successfully received byte can be understood as a serial number consecutive byte received from the first byte of the first byte stream.
可选地,该第二指示信息可以显式指示或隐式指示该第二部分包括的字节,指示方式的灵活性较强,本申请实施例对此不作限定。Optionally, the second indication information may explicitly indicate or implicitly indicate the byte included in the second part, and the indication manner is more flexible, which is not limited by the embodiment of the present application.
结合该第一方面,在该第一方面的第一种可能的实现方式中,该第二指示信息中包含该第二部分包括的字节的序列号的信息。With reference to the first aspect, in a first possible implementation manner of the first aspect, the second indication information includes information about a sequence number of a byte included in the second part.
结合该第一方面的第一种可能的实现方式,在该第一方面的第二种可能的实现方式中,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the information about the sequence number of the byte included in the second part includes: The serial number of the byte; or the serial number of the first byte of the second part and the byte length of the second part; or the serial number of the first byte of the second part and the second part The serial number of the last byte.
结合该第一方面的第一种或第二种可能的实现方式,在该第一方面的第三种可能的实现方式中,该第二部分包括的字节为该目标字节。In conjunction with the first or second possible implementation of the first aspect, in a third possible implementation of the first aspect, the second portion includes a byte that is the target byte.
可选地,该第二指示信息中包含第二字节的序列号,该第二字节的序列号与该第二部分的下一个字节的序列号相同。Optionally, the second indication information includes a sequence number of the second byte, and the sequence number of the second byte is the same as the sequence number of the next byte of the second part.
相应地,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备将序列号小于该第二字节的序列号的字节,确定为该目标字节。Correspondingly, before the first network device deletes the target byte stored in the cache according to the second indication information, the method further includes: the first network device, the word whose sequence number is smaller than the sequence number of the second byte Section, determined as the target byte.
可选地,该第二字节的序列号还可以与该第二部分的最后一个字节的序列号相同。Optionally, the sequence number of the second byte may also be the same as the sequence number of the last byte of the second part.
相应地,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备将序列号小于或等于该第二字节的序列号的字节,确定为该目标字节。Correspondingly, before the first network device deletes the target byte stored in the cache according to the second indication information, the method further includes: the first network device, the serial number is less than or equal to the serial number of the second byte The byte is determined as the target byte.
结合该第一方面的第一种至第三种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第四种可能的实现方式中,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。In conjunction with any one of the possible implementations of the first to third possible implementations of the first aspect, in a fourth possible implementation of the first aspect, the third network device successfully receives The byte is part or all of the bytes included in the second portion.
应理解,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,可以理解为该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。也就是说,该第二部分包括的字节为该第一网络设备可以删除的字节。It should be understood that the byte included in the second part is associated with the byte successfully received by the third network device, and it can be understood that the byte successfully received by the third network device is part of the byte included in the second part or All. That is, the byte included in the second part is a byte that the first network device can delete.
相应地,该第一网络设备删除的目标字节即为该第二部分包括的字节。Correspondingly, the target byte deleted by the first network device is the byte included in the second part.
结合该第一方面,在该第一方面的第五种可能的实现方式中,该第二指示信息中包含该第二部分的字节长度。In conjunction with the first aspect, in a fifth possible implementation manner of the first aspect, the second indication information includes a byte length of the second portion.
结合该第一方面的第五种可能的实现方式,在该第一方面的第六种可能的实现方式中,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;该第一网络设备将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。In conjunction with the fifth possible implementation of the first aspect, in a sixth possible implementation manner of the first aspect, the first network device deletes the target byte stored in the cache according to the second indication information The method further includes: determining, by the first network device, the second part, the sequence number of the last byte of the second part, and the first part according to the first indication information and the byte length of the second part The last byte of the sequence number is the same; the first network device determines the byte of the byte included in the first part except the byte included in the second part as the target byte.
结合该第一方面的第五种或第六种可能的实现方式,在该第一方面的第七种可能的实现方式中,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。In conjunction with the fifth or sixth possible implementation of the first aspect, in a seventh possible implementation manner of the first aspect, the sequence number of the first byte of the second part is greater than the third The serial number of the last byte successfully received by the network device, the sequence number of the last byte of the second part being the same as the sequence number of the last byte of the first part.
应理解,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,还可以理解为该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,且该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。也就是说,该第二部分包括的字节为该第一网络设备不能删除的字节。It should be understood that the second part includes a byte associated with the byte successfully received by the third network device, and can also be understood that the sequence number of the first byte of the second part is greater than the third network device successfully receives. The serial number of the last byte of the second byte, and the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part. That is to say, the byte included in the second part is a byte that the first network device cannot delete.
相应地,该第一网络设备删除的目标字节即为该第一部分包括的字节中除该第二部分包括的字节以外的字节。Correspondingly, the target byte deleted by the first network device is a byte of the byte included in the first part except the byte included in the second part.
结合该第一方面的第一种至第七种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第八种可能的实现方式中,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,该方法还包括:该第一网络设备接收该第四网络设备发送的第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号;该第一网络设备根据该第三指示 信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。In conjunction with any one of the possible implementations of the first to seventh possible implementations of the first aspect, in the eighth possible implementation of the first aspect, when the first byte stream is The method further includes: receiving, by the first network device, the third indication information that is sent by the fourth network device, where the third indication information includes the first a sequence number of the first byte, the sequence number of the first byte being greater than or equal to the sequence number of the first byte stored in the cache of the second network; the first network device according to the third indication information The fourth network device sends a third portion of the first byte stream, the sequence number of the first byte in the third portion being the same as the sequence number of the first byte.
当该第三网络设备从该第二网络设备的服务范围移动至第四网络设备的服务范围时,从由第二网络设备为该第三网络设备转发该第一字节流切换至由第四网络设备为该第三网络设备转发该第一字节流。When the third network device moves from the service range of the second network device to the service range of the fourth network device, switching from the second network device forwarding the first byte stream to the third network device to switch to the fourth The network device forwards the first byte stream for the third network device.
本申请实施例提供的信息传输的方法,在该第二网络设备与该第四网络设备发生切换的场景下有利于保障该第一字节流的正常传输。The method for transmitting information in the embodiment of the present application is beneficial to ensure normal transmission of the first byte stream in a scenario in which the second network device and the fourth network device are switched.
可选地,在第一网络设备向第二网络设备发送第一字节流之前,该第一网络设备和该第二网络设备可以互相通知是否具备执行该第一方面的各种可能实现的方式的能力,当该第一网络设备和该第二网络设备均具备该能力时,该第一网络设备和该第二网络设备共同执行该第一方面的各种可能的实现方式。Optionally, before the first network device sends the first byte stream to the second network device, the first network device and the second network device may notify each other whether there is a way to perform various possible implementations of the first aspect. The first network device and the second network device together perform various possible implementations of the first aspect when the first network device and the second network device both have the capability.
结合该第一方面的第一种至第八种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第九种可能的实现方式中,该第一指示信息和该第二指示信息均承载在确认ACK消息中。With reference to any one of the possible implementations of the first to the eighth possible implementations of the first aspect, in the ninth possible implementation manner of the first aspect, the first indication information and the first Both indication information is carried in the acknowledgement ACK message.
结合该第一方面的第一种至第九种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十种可能的实现方式中,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。With reference to any one of the first to the ninth possible implementation manners of the first aspect, in the tenth possible implementation manner of the first aspect, the first indication information is carried in the ACK In the message, the second indication information is carried in an in-band message or an out-of-band message.
结合该第一方面的第一种至第十种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十一种可能的实现方式中,该第一字节流为传输控制协议TCP字节流。With reference to any one of the first to the tenth possible implementation manners of the first aspect, in the eleventh possible implementation manner of the first aspect, the first byte stream is Transmission Control Protocol TCP byte stream.
第二方面,本申请提供一种信息传输的方法,该方法包括:In a second aspect, the application provides a method for information transmission, the method comprising:
第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;The second network device determines to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
该第二网络设备向该第一网络设备发送第一指示信息,该第一指示信息用于指示成功接收该第一部分;The second network device sends first indication information to the first network device, where the first indication information is used to indicate that the first part is successfully received;
该第二网络设备向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联。The second network device sends second indication information to the first network device, where the second indication information is used to indicate a second part in the first byte stream, and the second part includes a byte that is included in the first part Part or all of the bytes, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
本申请实施例提供的信息传输的方法,该第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,并向该第一网络设备发送第一指示信息和第二指示信息,以便于该第一网络设备根据该第一指示信息确定该第二网络设备成功接收该第一部分,并根据该第二指示信息删除缓存中存储的目标字节,有利于保障字节流的正常传输。The method for transmitting information provided by the embodiment of the present application, the second network device determines to successfully receive the first part of the first byte stream sent by the first network device, and sends the first indication information and the second information to the first network device. Instructing the first network device to determine, according to the first indication information, that the second network device successfully receives the first part, and deleting the target byte stored in the cache according to the second indication information, thereby facilitating protection of the byte stream Normal transmission.
结合该第二方面,在该第二方面的第一种可能的实现方式中,该第二指示信息中包含该第二部分包括的字节的序列号的信息。With reference to the second aspect, in a first possible implementation manner of the second aspect, the second indication information includes information about a sequence number of a byte included in the second part.
结合该第二方面的第一种可能的实现方式,在该第二方面的第二种可能的实现方式中,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。With reference to the first possible implementation of the second aspect, in a second possible implementation manner of the second aspect, the information about the sequence number of the byte included in the second part includes: The serial number of the byte; or the serial number of the first byte of the second part and the byte length of the second part; or the serial number of the first byte of the second part and the second part The serial number of the last byte.
结合该第二方面的第一种或第二种可能的实现方式,在该第二方面的第三种可能的实现方式中,该第二部分包括的字节为该目标字节。In conjunction with the first or second possible implementation of the second aspect, in a third possible implementation of the second aspect, the second portion includes a byte that is the target byte.
结合该第二方面的第一种至第三种可能的实现方式中的任意一种可能的实现方式,在该第二方面的第四种可能的实现方式中,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。In conjunction with any one of the possible implementations of the first to third possible implementations of the second aspect, in a fourth possible implementation of the second aspect, the third network device successfully receives The byte is part or all of the bytes included in the second portion.
结合该第二方面,在该第二方面的第五种可能的实现方式中,该第二指示信息中包含该第二部分的字节长度。In conjunction with the second aspect, in a fifth possible implementation manner of the second aspect, the second indication information includes a byte length of the second portion.
结合该第二方面的第五种可能的实现方式,在该第二方面的第六种可能的实现方式中,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。With the fifth possible implementation of the second aspect, in a sixth possible implementation manner of the second aspect, the sequence number of the first byte of the second part is greater than the third network device successfully receiving The serial number of the last byte of the second byte, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part.
结合该第二方面的第一种至第六种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第七种可能的实现方式中,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,该方法还包括:该第二网络设备向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号。In conjunction with any one of the possible implementations of the first to sixth possible implementations of the second aspect, in the seventh possible implementation of the first aspect, when the first byte stream is The method further includes: sending, by the second network device, status information to the fourth network device, where the second network device forwards the packet to the second network device, where the second network device sends the status information to the fourth network device, where the status information includes the cache of the second network The serial number of the first byte stored in .
结合该第二方面的第一种至第七种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第八种可能的实现方式中,该第一指示信息和该第二指示信息均承载在确认ACK消息中。In conjunction with any one of the possible implementations of the first to seventh possible implementations of the second aspect, in the eighth possible implementation of the first aspect, the first indication information and the first Both indication information is carried in the acknowledgement ACK message.
结合该第二方面的第一种至第八种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第九种可能的实现方式中,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。With reference to any one of the first to the eighth possible implementation manners of the second aspect, in the ninth possible implementation manner of the first aspect, the first indication information is carried in the ACK In the message, the second indication information is carried in an in-band message or an out-of-band message.
结合该第二方面的第一种至第九种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十种可能的实现方式中,该第一字节流为传输控制协议TCP字节流。With reference to any one of the first to the ninth possible implementation manners of the second aspect, in the tenth possible implementation manner of the first aspect, the first byte stream is a transmission Control protocol TCP byte stream.
第三方面,本申请提供一种信息传输的方法,该方法包括:In a third aspect, the application provides a method for information transmission, the method comprising:
第四网络设备接收第二网络设备发送的状态信息,该状态信息中包含该第四网络的缓存中存储的第一个字节的序列号;The fourth network device receives the status information sent by the second network device, where the status information includes the sequence number of the first byte stored in the cache of the fourth network;
该第四网络设备根据该状态信息,向第一网络设备发送第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号,其中,该第一网络设备由通过该第二网络设备转发第一字节流中的字节切换为通过第四网络设备转发。The fourth network device sends third indication information to the first network device according to the status information, where the third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the second A sequence number of a first byte stored in a cache of the network, wherein the first network device is switched by forwarding the byte in the first byte stream by the second network device to be forwarded by the fourth network device.
结合第三方面,在该第三方面的第一种可能的实现方式中,该方法还包括:In conjunction with the third aspect, in a first possible implementation manner of the third aspect, the method further includes:
该第四网络设备接收该第一网络设备根据该第三指示信息发送的该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。The fourth network device receives a third part of the first byte stream that is sent by the first network device according to the third indication information, a sequence number of the first byte in the third part, and the first word The serial numbers of the sections are the same.
第四方面,本申请提供了一种信息传输的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。In a fourth aspect, the present application provides an apparatus for transmitting information for performing the method of any of the above first aspect or any possible implementation of the first aspect.
第五方面,本申请提供了一种信息传输的装置,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。In a fifth aspect, the present application provides an apparatus for transmitting information for performing the method of any of the foregoing second aspect or any of the possible implementations of the second aspect.
第六方面,本申请提供了一种信息传输的装置,用于执行上述第三方面或第三方面的任意可能的实现方式中的方法。In a sixth aspect, the present application provides an apparatus for transmitting information for performing the method in any of the foregoing third aspect or any possible implementation of the third aspect.
第七方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置 实现上述第一方面或第一方面的任意可能的实现方式中的方法。In a seventh aspect, the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instructions to cause the apparatus to implement the method of any of the first aspect or the first aspect of the first aspect.
第八方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置实现上述第二方面或第二方面的任意可能的实现方式中的方法。In an eighth aspect, the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instruction to cause the apparatus to implement the method of any of the second aspect or the second aspect of the second aspect.
第九方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置实现上述第三方面或第三方面的任意可能的实现方式中的方法。In a ninth aspect, the present application provides an apparatus for information transmission, the apparatus comprising: a memory, a processor, a transceiver, and instructions stored on the memory and executable on the processor, wherein the memory, the processing And the communication interface communicate with each other through an internal connection path, wherein the processor executes the instruction to cause the apparatus to implement the method of any of the third aspect or the third aspect of the third aspect.
第十方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或第一方面的任意可能的实现方式中的方法的指令。In a tenth aspect, the present application provides a computer readable medium for storing a computer program, the computer program comprising instructions for implementing the method of any of the first aspect or the first aspect of the first aspect.
第十一方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第二方面或第二方面的任意可能的实现方式中的方法的指令。In an eleventh aspect, the present application provides a computer readable medium for storing a computer program, the computer program comprising instructions for implementing the method of any of the second aspect or the second aspect of the second aspect.
第十二方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第三方面或第三方面的任意可能的实现方式中的方法的指令。In a twelfth aspect, the present application provides a computer readable medium for storing a computer program comprising instructions for implementing the method of any of the above-described third aspect or any of the possible implementations of the third aspect.
第十三方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第一方面或第一方面的任意可能的实现方式中的方法。In a thirteenth aspect, the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the first aspect or the first aspect of the first aspect.
第十四方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第二方面或第二方面的任意可能的实现方式中的方法。In a fourteenth aspect, the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the above-described second aspect or any of the possible implementations of the second aspect.
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第三方面或第三方面的任意可能的实现方式中的方法。In a fifteenth aspect, the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to implement the method of any of the above-described third or third aspect of the possible implementation.
第十六方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。In a sixteenth aspect, the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path. The processor is operative to execute code in the memory, and when the processor executes the code, the chip device implements the method of any of the first aspect or the first aspect of the first aspect.
第十七方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第二方面或第二方面的任意可能的实现方式中的方法。In a seventeenth aspect, the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path. The processor is operative to execute code in the memory, and when the processor executes the code, the chip device implements the method of any of the second aspect or the second aspect of the second aspect.
第十八方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第三方面或第三方面的任意可能的实现方式中的方法。In an eighteenth aspect, the present application provides a chip device, including: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path. The processor is operative to execute code in the memory, the chip device implementing the method in any of the possible implementations of the third aspect or the third aspect described above when the processor executes the code.
附图说明DRAWINGS
图1是本申请实施例提供的应用场景的示意性框图;1 is a schematic block diagram of an application scenario provided by an embodiment of the present application;
图2是本申请实施例提供的另一应用场景的示意性框图;2 is a schematic block diagram of another application scenario provided by an embodiment of the present application;
图3是本申请实施例提供的信息传输的方法的示意性流程图;3 is a schematic flowchart of a method for information transmission provided by an embodiment of the present application;
图4是本申请实施例提供的第一字节流的传输示意图;4 is a schematic diagram of transmission of a first byte stream according to an embodiment of the present application;
图5是本申请实施例提供的另一信息传输的方法的示意性流程图;FIG. 5 is a schematic flowchart of another method for information transmission provided by an embodiment of the present application;
图6是本申请实施例提供的信息传输的装置的示意性框图;6 is a schematic block diagram of an apparatus for information transmission provided by an embodiment of the present application;
图7是本申请实施例提供的另一信息传输的装置的示意性框图;FIG. 7 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application; FIG.
图8是本申请实施例提供的又一信息传输的装置的示意性框图;FIG. 8 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application; FIG.
图9是本申请实施例提供的又一信息传输的装置的示意性框图。FIG. 9 is a schematic block diagram of another apparatus for information transmission provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请中的技术方案进行描述。The technical solutions in the present application will be described below with reference to the accompanying drawings.
应理解,本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,GSM)系统、码分多址(code division multiple access,CDMA)系统、宽带码分多址(wideband code division multiple access,WCDMA)系统、通用分组无线业务(general packet radio service,GPRS)、长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobile telecommunication system,UMTS)、全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统、无线局域网(wireless local area network,WLAN)或未来第五代无线通信系统(the fifth Generation,5G)等。It should be understood that the technical solutions of the embodiments of the present application can be applied to various communication systems, for example, a global system of mobile communication (GSM) system, a code division multiple access (CDMA) system, and a wideband code. Wideband code division multiple access (WCDMA) system, general packet radio service (GPRS), long term evolution (LTE) system, LTE frequency division duplex (FDD) System, LTE time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, wireless local area network (wireless local area) Network, WLAN) or the fifth generation of the fifth generation wireless communication system (the fifth generation, 5G).
图1是本申请实施例提供的应用场景的示意性框图,如图1所示,发送端设备与代理服务器之间建立了第一通信连接,该代理服务器与接收端设备建立了第二通信连接。1 is a schematic block diagram of an application scenario provided by an embodiment of the present application. As shown in FIG. 1, a first communication connection is established between a sender device and a proxy server, and the proxy server establishes a second communication connection with the receiver device. .
该发送端设备用于生成待发送数据,并将该待发送数据以字节流的形式发送给该代理服务器。The sending end device is configured to generate data to be sent, and send the to-be-sent data to the proxy server in the form of a byte stream.
该代理服务器用于接收该发送端设备发送的该字节流,并向该接收端设备转发该字节流。The proxy server is configured to receive the byte stream sent by the sender device, and forward the byte stream to the receiver device.
可选地,该发送端设备例如可以为服务器,该代理服务器例如可以为基站,该接收端设备例如可以为客户端,该服务器通过该基站向该客户端转发字节流。Optionally, the sender device may be, for example, a server, and the proxy server may be, for example, a base station, and the receiver device may be, for example, a client, and the server forwards a byte stream to the client through the base station.
应理解,该第一通信连接和该第二通信连接可以为支持可靠反馈机制的通信连接,例如TCP连接,也就是说,通过该第一通信连接和该第二通信连接传输的字节流可以为TCP字节流。It should be understood that the first communication connection and the second communication connection may be a communication connection supporting a reliable feedback mechanism, such as a TCP connection, that is, a byte stream transmitted through the first communication connection and the second communication connection may be Is a stream of TCP bytes.
例如,该第一通信连接支持可靠反馈机制,可以理解为若该发送端设备向该代理服务器发送第一字节流,该代理服务器确定成功接收该第一字节流中的第一部分时,向该发送端设备发送ACK消息,该ACK消息用于确认成功接收该第一部分,该发送端设备只有收到该ACK消息后,才会删除重传队列中存储的该第一部分包括的字节,并向该代理服务器发送下一个部分包括的字节,否则该发送端设备会一直尝试重传,直到该接收端设备确认成功接收该第一字节流中的每个字节。For example, the first communication connection supports a reliable feedback mechanism, which can be understood as if the sending end device sends a first byte stream to the proxy server, and the proxy server determines to successfully receive the first part of the first byte stream, The sender device sends an ACK message, and the ACK message is used to confirm that the first part is successfully received. After receiving the ACK message, the sending end device deletes the byte included in the first part stored in the retransmission queue, and The next part of the byte is sent to the proxy server, otherwise the sender device will always try to retransmit until the receiving device confirms that each byte in the first byte stream is successfully received.
应理解,该发送端设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该发送端设备初始化为初始序号值(initial sequence number,ISN),后续的字节的序列号依次将被该发送端设备设置成ISN加上该字节在该第一字节流中的偏移。It should be understood that the source device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers, for example, a small to large sequence, in which each byte in the first byte stream is sequentially transmitted, wherein the sequence number of the first byte of the first byte stream is initialized by the source device to an initial sequence number value (initial Sequence number, ISN), the sequence number of the subsequent byte will be set by the sender device to the ISN plus the offset of the byte in the first byte stream.
还应理解,该第一字节流中的第一个字节与该第一部分的第一个字节相同。It should also be understood that the first byte in the first byte stream is identical to the first byte of the first portion.
还应理解,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。It should also be understood that a successfully received byte can be understood as a contiguous sequence of serial numbers received from the first byte of the first byte stream.
然而,由于该发送端设备在接收到该ACK消息之后,直接删除了重传队列中存储的该第一部分包括的字节,这样一来,如图2所示,在后续传输过程中,当该代理服务器不能够继续为该接收端设备转发该第一字节流,需要切换为由另一代理服务器为该接收端设备继续为该接收端设备转发该第一字节流时,可能导致该第一字节流不能继续正常传输,甚至会导致该第一字节流的传输失败。However, since the transmitting end device directly deletes the byte included in the first part stored in the retransmission queue after receiving the ACK message, as shown in FIG. 2, in the subsequent transmission process, when the The proxy server cannot continue to forward the first byte stream for the receiving device, and needs to switch to another proxy server to continue forwarding the first byte stream for the receiving device for the receiving device, which may result in the first A one-byte stream cannot continue to transmit normally, and may even cause the transmission of the first byte stream to fail.
可选地,该代理服务器发生宕机的场景,或者由于该接收端设备的移动,需要进行代理服务器的切换的场景等,均可能导致该代理服务器不能够继续为该接收端设备转发该第一字节流,并切换为由目标代理服务器继续为该接收端设备转发该第一字节流。Optionally, the scene in which the proxy server is down, or the scenario in which the proxy server needs to be switched due to the movement of the receiving device may cause the proxy server to continue forwarding the first for the receiving device. The byte stream is switched to continue forwarding by the target proxy server for the first byte stream for the sink device.
本申请实施例提供的信息传输的方法,有利于保障字节流的正常传输。The method for transmitting information provided by the embodiment of the present application is beneficial for ensuring normal transmission of a byte stream.
图3是本申请实施例提供的信息传输的方法300的示意性流程图,该方法300可以应用于如图1和/或图2中所述的应用场景。FIG. 3 is a schematic flowchart of a method 300 for information transmission provided by an embodiment of the present application. The method 300 may be applied to an application scenario as described in FIG. 1 and/or FIG. 2.
S310,第一网络设备向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;S310. The first network device sends a first byte stream to the second network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device.
可选地,该第一网络设备可以为图1和图2中所示的发送端设备,该第二网络设备可以为图1和图2中所示的代理服务器,该第三网络设备可以为图1和图2中所示的接收端设备,本申请实施例对此不作限定。Optionally, the first network device may be the sending end device shown in FIG. 1 and FIG. 2, and the second network device may be the proxy server shown in FIG. 1 and FIG. 2, where the third network device may be The receiving end device shown in FIG. 1 and FIG. 2 is not limited in this embodiment of the present application.
可选地,在S310之前,该第一网络设备与该第二网络设备建立第一通信连接,该第二网络设备与该第三网络设备建立第二通信连接。Optionally, before S310, the first network device establishes a first communication connection with the second network device, and the second network device establishes a second communication connection with the third network device.
应理解,该第一通信连接和该第二通信连接为支持可靠反馈机制的通信连接,例如TCP连接。It should be understood that the first communication connection and the second communication connection are communication connections that support a reliable feedback mechanism, such as a TCP connection.
还应理解,该第一通信连接和该第二通信连接均为TCP连接时,该第一字节流可以理解为TCP字节流。It should also be understood that when the first communication connection and the second communication connection are both TCP connections, the first byte stream can be understood as a TCP byte stream.
还应理解,该第一网络设备将待传输数据以字节流的形式传输,例如该第一字节流可以为一个10000字节大小的视频文件、一个1000字节大小的音频文件等。It should also be understood that the first network device transmits the data to be transmitted in the form of a byte stream, for example, the first byte stream may be a 10,000-byte video file, a 1000-byte audio file, or the like.
还应理解,该第一网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第一网络设备初始化为第一ISN,后续的字节的序列号依次将被该第一网络设备设置成第一ISN加上该字节在该第一字节流中的偏移。It should also be understood that the first network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers. Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the first by the first network device The ISN, the sequence number of the subsequent byte, will in turn be set by the first network device to the first ISN plus the offset of the byte in the first byte stream.
例如,如图4所示,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第1000个字节的序列号为1000,该第一网络设备按照序列号从1至1000的顺序依次向该第二网络设备发送该第一字节流。For example, as shown in FIG. 4, the first byte stream includes 1000 bytes, and the sequence number of the first byte in the first byte stream (ie, the initial sequence number) is 1, the second byte. The sequence number is 2, ..., and the sequence number of the 1000th byte is 1000. The first network device sequentially transmits the first byte stream to the second network device according to the sequence number from 1 to 1000.
可选地,该第一字节流的第一个字节的序列号还可以被该第一网络设备初始化为其它值,例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1500、第2个字节的序列号为1501、…、第1000个字节的序列号为2499, 该第一网络设备按照序列号从1500至2499的顺序依次向该第二网络设备发送该第一字节流。Optionally, the sequence number of the first byte of the first byte stream may also be initialized to other values by the first network device, for example, the first byte stream includes 1000 bytes, the first word The serial number of the first byte in the throttle (ie, the initial serial number) is 1500, the serial number of the second byte is 1501, ..., and the serial number of the 1000th byte is 2499, the first network device The first byte stream is transmitted to the second network device in sequence according to the sequence number from 1500 to 2499.
应理解,这里所示例的该第一网络设备发送的该第一字节流中的每个字节的序列号仅为示例性说明,而不应对本申请构成任何限定。It should be understood that the serial number of each byte in the first byte stream sent by the first network device illustrated herein is merely exemplary, and should not be construed as limiting the application.
S320,第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流。S320. The second network device determines to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device.
应理解,在本申请实施例中,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。It should be understood that in the embodiment of the present application, a successfully received byte can be understood as a serial number consecutive byte received from the first byte of the first byte stream.
例如,如图4所示,该第二网络设备接收到该第一部分包括的字节,该第一部分包括300个字节,且这300个字节的序列号从1至300,即该第一部分包括连续的300个字节,因此该第二网络设备可以确定成功接收到该第一部分包括的字节。For example, as shown in FIG. 4, the second network device receives the byte included in the first part, the first part includes 300 bytes, and the sequence number of the 300 bytes is from 1 to 300, that is, the first part The continuous 300 bytes are included, so the second network device can determine that the byte included in the first portion is successfully received.
还应理解,该第一字节流中的第一部分的第一个字节与该第一字节流的第一个字节相同。It should also be understood that the first byte of the first portion of the first byte stream is identical to the first byte of the first byte stream.
可选地,该第二网络设备可能还接收到序列号400至序列号500的字节,但由于该序列号400与该序列号300之间的字节未接收到,即序列号300至序列号400之间不连续,因此,该第二网络设备成功接收的字节为序列号1至序列号300的字节。Optionally, the second network device may also receive the byte of the sequence number 400 to the sequence number 500, but since the byte between the sequence number 400 and the sequence number 300 is not received, that is, the sequence number 300 to the sequence The numbers 400 are not continuous. Therefore, the bytes successfully received by the second network device are the bytes of the serial number 1 to the serial number 300.
S330,该第二网络设备向该第一网络设备发送第一指示信息,该第一指示信息用于指示成功接收该第一部分;相应地,该第一网络设备接收该第二网络设备发送的该第一指示信息。S330, the second network device sends the first indication information to the first network device, where the first indication information is used to indicate that the first part is successfully received; correspondingly, the first network device receives the First indication information.
可选地,该第一指示信息可以承载在ACK消息或者其它消息中,本申请实施例对此不作限定。Optionally, the first indication information may be carried in an ACK message or other message, which is not limited by the embodiment of the present application.
作为一个可选实施例,该第一指示信息可以为ACK消息中的确认号,该确认号用于指示该第二网络设备成功接收到该第一部分包括的字节。As an optional embodiment, the first indication information may be an acknowledgment number in the ACK message, where the acknowledgment number is used to indicate that the second network device successfully receives the byte included in the first part.
可选地,该第一网络设备可以认为序列号小于该ACK消息中的确认号的所有字节被该第二网络设备成功接收到。Optionally, the first network device may consider that all bytes whose sequence number is smaller than the acknowledgement number in the ACK message are successfully received by the second network device.
例如,如图4所示,当该第二网络设备确认成功接收序列号1至序列号300的字节时,向该第一网络设备发送ACK消息,该ACK消息中的确认号为301,指示该第二网络设备成功接收序列号小于301的字节。For example, as shown in FIG. 4, when the second network device confirms that the byte of sequence number 1 to sequence number 300 is successfully received, an ACK message is sent to the first network device, and the acknowledgement number in the ACK message is 301, indicating The second network device successfully receives a byte having a sequence number less than 301.
换句话说,该ACK消息还可以理解为指示该第二网络设备未成功接收的字节的一种实现方式,或者可以理解为针对丢失的字节的请求重传的一种实现方式,本申请实施例对此不作限定。In other words, the ACK message can also be understood as an implementation indicating that the second network device does not successfully receive the byte, or can be understood as an implementation of request retransmission for the lost byte, this application The embodiment does not limit this.
可选地,该第一网络设备还可以认为序列号小于或等于该ACK消息中的确认号的字节被该第二网络设备成功接收到。Optionally, the first network device may also consider that the byte whose sequence number is less than or equal to the acknowledgement number in the ACK message is successfully received by the second network device.
例如,如图4所示,当该第二网络设备确认成功接收序列号1至序列号300的字节时,向该第一网络设备发送ACK消息,该ACK消息中的确认号为300,指示该第二网络设备成功接收序列号小于或等于300的字节。For example, as shown in FIG. 4, when the second network device confirms that the byte of sequence number 1 to sequence number 300 is successfully received, an ACK message is sent to the first network device, and the acknowledgement number in the ACK message is 300, indicating The second network device successfully receives a byte whose sequence number is less than or equal to 300.
应理解,这里所示例的ACK消息中的确认号与成功接收的字节的序列号的关系仅为示例性说明,而不应对本申请构成任何限定。It should be understood that the relationship between the acknowledgment number in the ACK message illustrated herein and the sequence number of the successfully received byte is merely exemplary and should not be construed as limiting the application.
可选地,该第一网络设备和该第二网络设备可以通过协议约定该确认号与该序列号的 关系,或者该第一网络设备和该第二网络设备可以预先协商该确认号与该序列号的关系,或者该第二网络设备可以通过指示信息指示该确认号与该序列号的关系,本申请实施例对此不作限定。Optionally, the first network device and the second network device may agree, by using a protocol, the relationship between the confirmation number and the serial number, or the first network device and the second network device may pre-negotiate the confirmation number and the sequence. The relationship of the number, or the second network device, may indicate the relationship between the confirmation number and the serial number by using the indication information, which is not limited by the embodiment of the present application.
可选地,若该第一指示信息为ACK消息中的确认号,该第一网络设备在接收到该ACK消息之后,可以进行多种不同的操作,本申请实施例对此不作限定。Optionally, if the first indication information is an acknowledgment number in the ACK message, the first network device may perform a plurality of different operations after receiving the ACK message, which is not limited in this embodiment of the present application.
应理解,该第一网络设备在接收到该第一指示信息之后可以进行的操作不包括删除缓存中,例如重传队列中,存储的该第一部分包括的字节,例如删除重传队列中存储该第一部分包括的字节。It should be understood that the operation that the first network device can perform after receiving the first indication information does not include deleting the cache, for example, storing the first part of the stored byte in the retransmission queue, for example, deleting the storage in the retransmission queue. The first part includes the bytes.
作为一个可选实施例,该第一网络设备可以根据该第一指示信息,继续向该第二网络设备发送该字节流中的字节。As an optional embodiment, the first network device may continue to send the byte in the byte stream to the second network device according to the first indication information.
作为另一个可选实施例,该第一网络设备可以根据该第一指示信息,等待该第二网络设备对剩余字节的接收情况的反馈。As another optional embodiment, the first network device may wait for feedback of the second network device to receive the remaining bytes according to the first indication information.
S340,该第二网络设备向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;相应地,该第一网络设备接收该第二网络设备发送的该第二指示信息。S340, the second network device sends, to the first network device, second indication information, where the second indication information is used to indicate a second part in the first byte stream, where the second part includes a byte Part or all of the included bytes, and the second portion includes a byte associated with the byte successfully received by the third network device; correspondingly, the first network device receives the second network device Second indication information.
还应理解,该第二部分的第一个字节与该第一部分的第一个字节相同。It should also be understood that the first byte of the second portion is identical to the first byte of the first portion.
S350,该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节。S350. The first network device deletes the target byte stored in the cache according to the second indication information.
可选地,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,可以理解为该第二部分包括的字节与该第三网络设备成功接收的字节正相关,或可以理解为该第二部分包括的字节与该第三网络设备成功接收的字节负相关,本申请实施例对此不作限定。Optionally, the byte included in the second part is associated with the byte successfully received by the third network device, and it can be understood that the byte included in the second part is positively correlated with the byte successfully received by the third network device. Or, it can be understood that the byte included in the second part is negatively related to the byte successfully received by the third network device, which is not limited in this embodiment of the present application.
(1)正相关:(1) Positive correlation:
该第二部分包括的字节与该第三网络设备成功接收的字节正相关,可以理解为该第三网络设备成功接收的字节为该第二部分包括的字节中的部分或全部,即该第二部分包括的字节为该第一网络设备可以删除的字节。The byte included in the second part is positively correlated with the byte successfully received by the third network device, and it can be understood that the byte successfully received by the third network device is part or all of the bytes included in the second part, That is, the byte included in the second part is a byte that the first network device can delete.
相应地,S350中,第一网络设备删除的目标字节即为该第二部分包括的字节。Correspondingly, in S350, the target byte deleted by the first network device is the byte included in the second part.
可选地,该第一网络设备与该第二网络设备可以预先约定该第二部分包括的字节与该第三网络设备成功接收的字节正相关,或者该第二网络设备可以通过该第二指示信息指示删除该第二部分包括的字节,本申请实施例对此不作限定。Optionally, the first network device and the second network device may pre-arrange that the byte included in the second part is positively related to the byte successfully received by the third network device, or the second network device may pass the first The second indication information indicates that the byte included in the second part is deleted, which is not limited in this embodiment of the present application.
作为一个可选实施例,该第二部分包括的字节与该第三网络设备成功接收的字节相同。As an alternative embodiment, the second portion includes bytes that are identical to the bytes successfully received by the third network device.
例如,如图4所示,该第三网络设备成功接收到序列号1至序列号149的字节时,该第二部分可以包括序列号1至序列号149的字节。For example, as shown in FIG. 4, when the third network device successfully receives the bytes of sequence number 1 to sequence number 149, the second portion may include the bytes of sequence number 1 to sequence number 149.
作为另一个可选实施例,该第二部分包括的字节除了包括该第三网络设备成功接收的字节外,还包括额外的至少一个字节。As another optional embodiment, the second portion includes a byte including an additional at least one byte in addition to the byte successfully received by the third network device.
可选地,该额外的至少一个字节可以为与该第三网络设备成功接收的字节连续的至少一个字节,该至少一个字节例如可以为该第二网络设备已经向该第三网络设备发送,但还未收到该第三网络设备的确认的字节,或者该第二网络设备预测该第三网络设备能够成功接收的字节,本申请实施例对此不作限定。Optionally, the additional at least one byte may be at least one byte that is consecutive to the byte successfully received by the third network device, where the at least one byte may be, for example, that the second network device has been to the third network. The device sends, but has not received the acknowledgment byte of the third network device, or the second network device predicts the byte that can be successfully received by the third network device, which is not limited in this embodiment of the present application.
例如,如图4所示,该第三网络设备成功接收到序列号1至序列号149的字节时,该第二部分可以包括序列号1至序列号160的字节。For example, as shown in FIG. 4, when the third network device successfully receives the bytes of sequence number 1 to sequence number 149, the second portion may include the bytes of sequence number 1 to sequence number 160.
可选地,该第二指示信息可以显式指示该第二部分包括的字节,或该第二指示信息可以隐式指示该第二部分包括的字节,本申请实施例对此不作限定。Optionally, the second indication information may explicitly indicate the byte included in the second part, or the second indication information may implicitly indicate the byte included in the second part, which is not limited by the embodiment of the present application.
显式指示方式:该第二指示信息中包含该第二部分包括的字节的信息。Explicit indication mode: the second indication information includes information about bytes included in the second part.
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。Optionally, the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
相应地,该第一网络设备可以根据该第二指示信息,确定该第二部分中的每个字节的序列号。Correspondingly, the first network device may determine a sequence number of each byte in the second part according to the second indication information.
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含序列号1至序列号160;或该第二指示信息中可以包含序列号1和字节长度160;或该第二指示信息中可以包含该序列号1和该序列号160。For example, as shown in FIG. 4, when the second part includes the bytes of the sequence number 1 to the sequence number 160, the second indication information may include the sequence number 1 to the sequence number 160; or the second indication information may include The serial number 1 and the byte length 160; or the second indication information may include the serial number 1 and the serial number 160.
隐式指示方式:该第二指示信息中包含第二字节的序列号,该第二字节的序列号与该第二部分的下一个字节的序列号相同。Implicit indication mode: the second indication information includes a sequence number of the second byte, and the sequence number of the second byte is the same as the sequence number of the next byte of the second part.
相应地,该第一网络设备可以将序列号小于该第二字节的序列号的字节,确定为该目标字节。Correspondingly, the first network device may determine a byte whose sequence number is smaller than the sequence number of the second byte as the target byte.
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含序列号161,该第一网络设备将序列号小于161的字节确定为目标字节。For example, as shown in FIG. 4, when the second part includes the byte of the sequence number 1 to the sequence number 160, the second indication information may include the sequence number 161, and the first network device shall have a sequence number less than 161 bytes. Determined as the target byte.
可选地,该第二指示信息中还可以包含该第二部分的最后一个字节的序列号。Optionally, the second indication information may further include a sequence number of the last byte of the second part.
相应地,该第一网络设备可以将序列号小于或等于该第二部分的最后一个字节的序列号的字节,确定为该目标字节。Correspondingly, the first network device can determine the byte of the sequence number whose sequence number is less than or equal to the last byte of the second part as the target byte.
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含该序列号160,该第一网络设备将序列号小于或等于160的字节确定为目标字节。For example, as shown in FIG. 4, when the second part includes the byte of the serial number 1 to the serial number 160, the second indication information may include the serial number 160, and the first network device sets the serial number to be less than or equal to 160. The byte is determined as the target byte.
应理解,这里所示例的该第二指示信息中包含的序列号与该第二部分包括的序列号的关系仅为示例性说明,而不应对本申请构成任何限定。It should be understood that the relationship between the serial number included in the second indication information and the serial number included in the second portion is only exemplary, and should not be construed as limiting the application.
(2)负相关:(2) Negative correlation:
该第二部分包括的字节与该第三网络设备成功接收的字节负相关,可以理解为该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同,即该第二部分包括的字节为该第一网络设备不能删除的字节。The byte included in the second part is negatively correlated with the byte successfully received by the third network device, and it can be understood that the sequence number of the first byte of the second part is greater than the last word successfully received by the third network device. The serial number of the section, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part, that is, the byte included in the second part is a word that the first network device cannot delete. Section.
相应地,S350中,第一网络设备删除的目标字节即为该第一部分包括的字节中除该第二部分包括的字节以外的字节。Correspondingly, in S350, the target byte deleted by the first network device is a byte of the byte included in the first part except the byte included in the second part.
可选地,该第一网络设备与该第二网络设备可以预先约定该第二部分包括的字节与该第三网络设备成功接收的字节负相关,或者该第二网络设备可以通过该第二指示信息指示删除该第二部分包括的字节以外的字节,本申请实施例对此不作限定。Optionally, the first network device and the second network device may pre-arrange that the byte included in the second part is negatively related to the byte successfully received by the third network device, or the second network device may pass the first The second indication information indicates that the byte other than the byte included in the second part is deleted, which is not limited in this embodiment of the present application.
可选地,该第二指示信息可以显式指示该第二部分包括的字节,或该第二指示信息可以隐式指示该第二部分包括的字节,本申请实施例对此不作限定。Optionally, the second indication information may explicitly indicate the byte included in the second part, or the second indication information may implicitly indicate the byte included in the second part, which is not limited by the embodiment of the present application.
显式指示方式:该第二指示信息中包含该第二部分包括的字节的信息。Explicit indication mode: the second indication information includes information about bytes included in the second part.
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。Optionally, the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
相应地,该第一网络设备可以根据该第二指示信息,确定该第二部分中包括的每个字节的序列号,并将该第一部分包括的字节中除该第二部分包括的字节外的字节确定为目标字节。Correspondingly, the first network device may determine, according to the second indication information, a sequence number of each byte included in the second part, and divide the word included in the first part by the word included in the second part. The bytes outside the section are determined as the target bytes.
例如,如图4所示,该第二部分包括序列号161至序列号300的字节时,该第二指示信息中可以包含序列号161至序列号300;或该第二指示信息中可以包含序列号161和字节长度140;或该第二指示信息中可以包含该序列号161和该序列号300。For example, as shown in FIG. 4, when the second part includes the byte of the serial number 161 to the serial number 300, the second indication information may include the serial number 161 to the serial number 300; or the second indication information may include The serial number 161 and the byte length 140; or the second indication information may include the serial number 161 and the serial number 300.
相应地,该第一网络设备可以将序列号1至序列号160的字节确定为目标字节。Accordingly, the first network device can determine the byte of sequence number 1 to sequence number 160 as the target byte.
隐式指示方式:该第二指示信息中包含该第二部分的字节长度。Implicit indication mode: the second indication information includes the byte length of the second part.
相应地,该第一网络设备根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;该第一网络设备将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。Correspondingly, the first network device determines, according to the first indication information and a byte length of the second part, the second part, the sequence number of the last byte of the second part and the last word of the first part The sequence number of the section is the same; the first network device determines the byte of the byte included in the first part except the byte included in the second part as the target byte.
例如,如图4所示,该第二部分包括序列号161至序列号300的字节时,该第二指示信息中可以包含字节长度140;该第一网络设备将该第一部分中除序列号300之前的140个字节以外的字节确定为该目标字节。For example, as shown in FIG. 4, when the second part includes the byte of the sequence number 161 to the sequence number 300, the second indication information may include a byte length of 140; the first network device divides the sequence in the first part. A byte other than 140 bytes before the number 300 is determined as the target byte.
可选地,S350,该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节,可以理解为该第一网络设备仅删除重传队列中存储的该目标字节,但是该第一网络设备的本地磁盘或硬盘中仍存储该目标字节,以便于向其它接收端设备发送该第一字节流。Optionally, the first network device deletes the target byte stored in the cache according to the second indication information, and the first network device only deletes the target byte stored in the retransmission queue, but the The target byte is still stored in the local disk or the hard disk of the first network device, so as to send the first byte stream to other receiving devices.
可选地,S350之前该第二网络设备可以向该第三网络设备发送该第二网络设备成功接收的该第一字节流中的字节。Optionally, before the S350, the second network device may send, to the third network device, a byte in the first byte stream that is successfully received by the second network device.
还应理解,该第二网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第二网络设备初始化为第二ISN,后续的字节的序列号依次将被该第二网络设备设置成第二ISN加上该字节在该第一字节流中的偏移。It should also be understood that the second network device may sequence the sequence number of each byte in the first byte stream according to the order in which the bytes included in the first byte stream are sent, and according to the sequence order of the sequence numbers. Each byte in the first byte stream is sequentially transmitted, for example, from small to large, wherein the sequence number of the first byte of the first byte stream is initialized to the second by the second network device The ISN, the sequence number of the subsequent byte, will in turn be set by the second network device to the second ISN plus the offset of the byte in the first byte stream.
例如,如图4所示,该第二网络设备成功接收该第一字节流中的第一部分包括的字节,该第一部分包括300个字节,该第一部分中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第300个字节的序列号为300,该第二网络设备按照序列号从1至300的顺序依次向该第三网络设备发送该第一部分包括的字节。For example, as shown in FIG. 4, the second network device successfully receives a byte included in the first portion of the first byte stream, the first portion including 300 bytes, and the first byte in the first portion The serial number (ie, the initial serial number) is 1, the second byte has a serial number of 2, ..., and the serial number of the 300th byte is 300, and the second network device sequentially follows the sequence number from 1 to 300. The byte included in the first portion is transmitted to the third network device.
可选地,该第一部分的第一个字节的序列号还可以被该第二网络设备初始化为其它值,例如,该第二网络设备成功接收该第一字节流中的第一部分包括的字节,该第一部分包括300个字节,该第一部分中的第1个字节的序列号(即初始序列号)为321、第2个字节的序列号为322、…、第300个字节的序列号为621,该第二网络设备按照序列号从1至300的顺序依次向该第三网络设备发送该第一部分包括的字节。Optionally, the sequence number of the first byte of the first part may also be initialized to other values by the second network device, for example, the second network device successfully receives the first part of the first byte stream. Byte, the first part includes 300 bytes, the serial number of the first byte in the first part (ie, the initial serial number) is 321, the serial number of the second byte is 322, ..., the 300th The sequence number of the byte is 621, and the second network device sequentially sends the byte included in the first part to the third network device according to the sequence number from 1 to 300.
应理解,这里所示例的该第二网络设备发送的该第一部分中每个字节的序列号仅为示 例性说明,而不应对本申请构成任何限定。It should be understood that the serial number of each byte in the first portion sent by the second network device illustrated herein is merely exemplary and should not be construed as limiting the application.
可选地,该第一网络设备发送的该第一字节流时确定的第一SNI和该第二网络设备转发该第一字节流时确定的第二SNI可以相同,也可以不同,本申请实施例对此不作限定。Optionally, the first SNI determined when the first byte stream is sent by the first network device and the second SNI determined when the second network device forwards the first byte stream may be the same or different. The application embodiment does not limit this.
可选地,该第二网络设备确认该第三网络设备接收到的字节的方式与该第一网络设备确定该第二网络设备接收到该第一部分包括的字节的方式相同,为避免重复,此处不再赘述。Optionally, the manner in which the second network device confirms the byte received by the third network device is the same as the manner in which the first network device determines that the second network device receives the byte included in the first part, to avoid repetition. , will not repeat them here.
可选地,该第二网络设备在确认该第三网络设备成功接收的字节之后,可以删除缓存中存储的该第三网络设备成功接收到的字节。Optionally, the second network device, after confirming the byte successfully received by the third network device, may delete the byte successfully received by the third network device stored in the cache.
可选地,该第二指示信息可以承载在ACK消息,例如ACK消息的选项(option)字段中,或者该第二指示信息可以承载在带内消息、带外消息或其他消息中,本申请实施例对此不作限定。Optionally, the second indication information may be carried in an ACK message, such as an option field of an ACK message, or the second indication information may be carried in an in-band message, an out-of-band message, or other message. This example does not limit this.
可选地,在S310之前,该第一网络设备和该第二网络设备可以协商可支持的缓存容量值。Optionally, before S310, the first network device and the second network device may negotiate a buffer capacity value that can be supported.
具体地,该第二网络设备向该第一网络设备发送第一缓存信息,该第一缓存信息中包括该第二网络设备支持的第一缓存容量值;该第一网络设备向该第二网络设备发送第二缓存信息,该第二缓存信息中包括该第一网络设备支持的第二缓存容量值,该第一网络设备和该第二网络设备将该第一缓存容量值和该第二缓存容量值中的最小值配置为自身的缓存容量值。Specifically, the second network device sends the first cache information to the first network device, where the first cache information includes a first cache capacity value supported by the second network device; the first network device sends the first network device to the second network The device sends the second cache information, where the second cache information includes a second cache capacity value supported by the first network device, where the first network device and the second network device compare the first cache capacity value and the second cache The minimum value of the capacity values is configured as its own cache capacity value.
例如,若该第一网络设备支持的缓存容量为1000字节,该第二网络设备支持的缓存容量为500字节,则该第一网络设备和该第二网络设备均将自身的缓存容量配置为500字节。For example, if the first network device supports a cache capacity of 1000 bytes and the second network device supports a cache capacity of 500 bytes, both the first network device and the second network device configure their own cache capacity. It is 500 bytes.
可选地,该第一网络设备和该第二网络设备可以在握手阶段协商可支持的缓存容量值,例如该第一缓存信息和该第二缓存信息可以承载在同步消息中。Optionally, the first network device and the second network device may negotiate a buffer capacity value that can be supported during the handshake phase, for example, the first cache information and the second cache information may be carried in the synchronization message.
可选地,在S310之前,该第一网络设备和该第二网络设备可以互相通知是否具备执行S310~S350的能力,当该第一网络设备和该第二网络设备均具备该能力时,该第一网络设备和该第二网络设备共同执行S310~S350。Optionally, before S310, the first network device and the second network device may notify each other whether the capability of performing S310-S350 is performed. When the first network device and the second network device both have the capability, the The first network device and the second network device jointly perform S310 to S350.
作为一个可选实施例,该第一网络设备和该第二网络设备可以在握手阶段互相通知是否支持该能力。As an optional embodiment, the first network device and the second network device may mutually notify whether the capability is supported during the handshake phase.
可选地,若图1和图2中所示的发送端设备不具备执行S310~S350的能力,则该第一网络设备可以为支持该能力的、该发送端设备的代理服务器,该发送端的代理服务器例如可以为分组数据网络(packet data network,PDN)网关(PDN gateway,PGW)。Optionally, if the sender device shown in FIG. 1 and FIG. 2 does not have the capability of performing S310-S350, the first network device may be a proxy server of the sender device supporting the capability, and the sender terminal The proxy server may for example be a packet data network (PDN) gateway (PGW).
应理解,在如图2所示的场景下,假设该代理服务器成功接收该发送端设备发送的第一字节流中的第一部分,并向该接收端设备转发该第一部分包括的字节,当该接收端设备成功接收该第一部分包括的字节中的部分字节时,向该代理服务器发送用于确认成功接收该部分字节的ACK消息,该接收端设备接收到该ACK消息后,删除重传队列中存储的该部分字节,并继续转发该第一部分包括的字节中除该部分字节以外的剩余字节。It should be understood that, in the scenario shown in FIG. 2, it is assumed that the proxy server successfully receives the first part of the first byte stream sent by the sending end device, and forwards the byte included in the first part to the receiving end device, When the receiving end device successfully receives a partial byte in the byte included in the first part, sending an ACK message to the proxy server for confirming successful reception of the partial byte, after receiving the ACK message, the receiving end device receives the ACK message. The partial bytes stored in the retransmission queue are deleted, and the remaining bytes of the bytes included in the first part except the partial bytes are further forwarded.
然而,在该代理服务器向该接收端设备转发该剩余字节之前,发生如图2中所示的切换,由于该代理服务器与该目标代理服务器之间的带宽和/或切换时间的限制,该代理服务器缓存中存储的剩余字节无法倒换至该目标代理服务器,并且该发送端设备也已经删除 了该第一部分包括的字节,因此,这些剩余字节便无法传输至该接收端设备,从而影响该第一字节流的正常传输。However, before the proxy server forwards the remaining bytes to the receiving device, a handover as shown in FIG. 2 occurs, due to bandwidth and/or switching time limitations between the proxy server and the target proxy server, The remaining bytes stored in the proxy server cache cannot be switched to the target proxy server, and the sender device has also deleted the bytes included in the first portion, so that the remaining bytes cannot be transmitted to the sink device, thereby Affecting the normal transmission of the first byte stream.
这时,需要提供一种方案解决该代理服务器与该目标代理服务器发生切换的场景下如何保障该第一字节流的正常传输的问题。At this time, it is necessary to provide a solution to solve the problem of how to ensure the normal transmission of the first byte stream in the scenario where the proxy server and the target proxy server switch.
图5示出了本申请实施例提供了一种信息传输的方法500,该方法应用于如图2所示的应用场景。FIG. 5 illustrates a method 500 for information transmission, which is applied to an application scenario as shown in FIG. 2 .
S510,该第二网络设备向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号;相应地,该第四网络设备接收该第二网络设备发送的该状态信息。S510, the second network device sends status information to the fourth network device, where the status information includes a sequence number of a first byte stored in a cache of the second network; correspondingly, the fourth network device receives the The status information sent by the second network device.
可选地,该第二网络设备可以为图2中所述的代理服务器,该第四网络设备可以为图2中所述的目标代理服务器。Optionally, the second network device may be the proxy server described in FIG. 2, and the fourth network device may be the target proxy server described in FIG. 2.
应理解,在S510之前,该第二网络设备已将存储的该第三网络设备成功接收的字节删除。It should be understood that prior to S510, the second network device has deleted the stored bytes successfully received by the third network device.
例如,如图4所示,该第二网络设备成功接收到该第一网络设备发送的该第一部分包括的字节,即序列号1至序列号300的字节,该第三网络设备成功接收到该第二网络设备转发的序列号1至序列号149的字节,此时,该第二网络设备删除缓存中存储的序列号1至序列号149的字节,即该第二网络设备的缓存中存储序列号150至序列号300的字节,则该状态信息中包含序列号150。For example, as shown in FIG. 4, the second network device successfully receives the bytes included in the first part, that is, the bytes of the serial number 1 to the serial number 300, sent by the first network device, and the third network device successfully receives the data. a byte of serial number 1 to serial number 149 forwarded by the second network device, at this time, the second network device deletes a byte of serial number 1 to serial number 149 stored in the cache, that is, the second network device When the byte number of the serial number 150 to the serial number 300 is stored in the buffer, the status information includes the serial number 150.
S520,该第四网络设备根据该状态信息,向第一网络设备发送第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号;相应地,该第一网络设备接收该第四网络设备发送的该第三指示信息。S520, the fourth network device sends third indication information to the first network device according to the status information, where the third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the The sequence number of the first byte stored in the cache of the second network; correspondingly, the first network device receives the third indication information sent by the fourth network device.
可选地,在S520之前,该第四网络设备根据该状态信息,确定第一字节的序列号。Optionally, before S520, the fourth network device determines the sequence number of the first byte according to the state information.
由于在第二网络设备与该第四网络设备的切换过程中,该第二网络设备可以通过X2接口或者通信连接状态信息,将缓存中存储的一部分字节传输交接给该第四网络设备;或者该第二网络设备可能将该部分字节发送给该第三网络设备,但是还未收到该第三网络设备的确认,因此,该第一字节的序列号可以大于或等于该第二网络设备的缓存中存储的第一个字节的序列号。The second network device may transfer a part of the byte storage stored in the cache to the fourth network device by using the X2 interface or the communication connection state information during the switching process of the second network device and the fourth network device; or The second network device may send the partial byte to the third network device, but has not received the acknowledgement of the third network device, therefore, the sequence number of the first byte may be greater than or equal to the second network. The serial number of the first byte stored in the device's cache.
例如,如图4所示,该第二网络设备的缓存中存储序列号150至序列号300的字节时,该第一字节的序列号可以为150,或者该第一字节的序列号可以大于150。For example, as shown in FIG. 4, when the byte of the sequence number 150 to the serial number 300 is stored in the cache of the second network device, the sequence number of the first byte may be 150, or the sequence number of the first byte. Can be greater than 150.
可选地,该通信连接状态信息可以包括第一通信连接(即该第一网络设备和该第二网络设备之间的通信连接)的状态信息和该第二通信连接(即该第二网络设备和该第三网络设备之间的通信连接)的状态信息。Optionally, the communication connection status information may include status information of the first communication connection (ie, a communication connection between the first network device and the second network device) and the second communication connection (ie, the second network device) Status information of the communication connection with the third network device.
例如,该第一通信连接的状态信息可以包括该第一通信连接的源互联网协议(internet protocol,IP)地址、源端口号,目标IP地址、目标端口号和协议类型;该第二通信连接的状态信息可以包括该第二通信连接的源IP地址、源端口号、目标IP地址、目标端口号和协议类型。For example, the status information of the first communication connection may include a source internet protocol (IP) address, a source port number, a target IP address, a target port number, and a protocol type of the first communication connection; The status information may include a source IP address, a source port number, a destination IP address, a destination port number, and a protocol type of the second communication connection.
可选地,通信连接状态信息还可以包括该第二网络设备的状态信息。Optionally, the communication connection status information may further include status information of the second network device.
例如,该第二网络设备的状态信息包括该第二网络设备成功接收的第一个字节的序列 号和最后一个字节的序列号,以及该第二网络设备向该第三网络设备发送的第一个字节的序列号和最后一个字节的序列号。For example, the status information of the second network device includes a sequence number of the first byte and a sequence number of the last byte successfully received by the second network device, and the second network device sends the third network device to the third network device. The serial number of the first byte and the serial number of the last byte.
S530,该第一网络设备根据该第三指示信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。S530. The first network device sends, according to the third indication information, a third part in the first byte stream to the fourth network device, where the sequence number of the first byte in the third part is The one-byte serial number is the same.
相应地,该第四网络设备接收该第一网络设备根据该第三指示信息发送的该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。Correspondingly, the fourth network device receives the third part of the first byte stream that is sent by the first network device according to the third indication information, and the sequence number of the first byte in the third part is The first byte has the same serial number.
这样一来,该第四网络设备就完成了与该第二网络设备的切换和交接,该第四网络设备继续向该第三网络设备转发该第一网络设备发送的该第三部分包括的字节以及该第一字节流中的其他部分包括的字节。In this way, the fourth network device completes the handover and handover with the second network device, and the fourth network device continues to forward the word included in the third portion sent by the first network device to the third network device. The section and the bytes included in other parts of the first byte stream.
本申请实施例提供的信息传输的方法,该第二网络设备与该第四网络设备发生切换的该场景下能够保障该第一字节流的正常传输。The method for transmitting information provided by the embodiment of the present application can ensure normal transmission of the first byte stream in the scenario in which the second network device and the fourth network device are switched.
上面结合图1至图5详细介绍了本申请实施例提供的信息传输的方法,下面将结合图6至图9介绍本申请实施例提供的信息传输的装置。The information transmission method provided by the embodiment of the present application is described in detail with reference to FIG. 1 to FIG. 5 . The apparatus for information transmission provided by the embodiment of the present application will be described below with reference to FIG. 6 to FIG.
图6示出了本申请实施例提供的信息传输的装置600的示意性框图。该装置600包括:FIG. 6 is a schematic block diagram of an apparatus 600 for information transmission provided by an embodiment of the present application. The device 600 includes:
发送单元610,用于向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;The sending unit 610 is configured to send, to the second network device, a first byte stream, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
接收单元620,用于接收该第二网络设备发送的第一指示信息和第二指示信息,该第一指示信息用于指示该第二网络设备成功接收该第一字节流中的第一部分,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;The receiving unit 620 is configured to receive the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first part of the first byte stream, The second indication information is used to indicate a second part in the first byte stream, the second part includes a byte that is part or all of a byte included in the first part, and the second part includes a byte Associated with a byte successfully received by the third network device;
处理单元630,用于根据该接收单元620接收到的该第二指示信息,删除缓存中存储的目标字节。The processing unit 630 is configured to delete the target byte stored in the cache according to the second indication information received by the receiving unit 620.
可选地,该第二指示信息中包含该第二部分包括的字节的序列号的信息。Optionally, the second indication information includes information about a sequence number of a byte included in the second part.
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。Optionally, the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
可选地,该第二部分包括的字节为该目标字节。Optionally, the second part includes a byte that is the target byte.
可选地,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。Optionally, the byte successfully received by the third network device is part or all of the bytes included in the second part.
可选地,该第二指示信息中包含该第二部分的字节长度。Optionally, the second indication information includes a byte length of the second part.
可选地,该处理单元还用于:在该根据该第二指示信息,删除缓存中存储的目标字节之前,根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。Optionally, the processing unit is further configured to: before the deleting the target byte stored in the cache according to the second indication information, determining the second according to the first indication information and a byte length of the second part Part, the sequence number of the last byte of the second part is the same as the sequence number of the last byte of the first part; the byte included in the first part except the byte included in the second part , determined as the target byte.
可选地,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。Optionally, the sequence number of the first byte of the second part is greater than the sequence number of the last byte successfully received by the third network device, and the sequence number of the last byte of the second part is related to the first part The last byte of the sequence number is the same.
可选地,该接收单元还用于当该第一字节流由通过该第二网络设备转发切换为通过第四网络设备转发时,接收该第四网络设备发送的第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节 的序列号;该发送单元还用于根据该第三指示信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。Optionally, the receiving unit is further configured to: when the first byte stream is forwarded by the second network device, to be forwarded by the fourth network device, receive the third indication information sent by the fourth network device, where the The third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the sequence number of the first byte stored in the cache of the second network; the sending unit is further configured to The third indication information is sent to the fourth network device, the third part of the first byte stream, the sequence number of the first byte in the third part is the same as the sequence number of the first byte.
可选地,该第一指示信息和该第二指示信息均承载在确认ACK消息中。Optionally, the first indication information and the second indication information are both carried in the acknowledgement ACK message.
可选地,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。Optionally, the first indication information is carried in an ACK message, and the second indication information is carried in an inband message or an outband message.
可选地,该第一字节流为传输控制协议TCP字节流。Optionally, the first byte stream is a Transmission Control Protocol TCP byte stream.
应理解,这里的装置600以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置600可以具体为上述方法300和方法500实施例中的第一网络设备,装置600可以用于执行上述方法300和方法500实施例中与第一网络设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。It should be understood that the apparatus 600 herein is embodied in the form of a functional unit. The term "unit" as used herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (eg, a shared processor, a proprietary processor, or a group) for executing one or more software or firmware programs. Processors, etc.) and memory, merge logic, and/or other suitable components that support the described functionality. In an alternative example, those skilled in the art may understand that the device 600 may be specifically the first network device in the foregoing method 300 and method 500, and the device 600 may be used to perform the foregoing method 300 and method 500 in the embodiment. The various processes and/or steps corresponding to the first network device are not repeated here to avoid repetition.
图7示出了本申请实施例提供的信息传输的装置700的示意性框图。该装置700包括:FIG. 7 is a schematic block diagram of an apparatus 700 for information transmission provided by an embodiment of the present application. The device 700 includes:
处理单元710,用于确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;The processing unit 710 is configured to determine to successfully receive the first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
发送单元720,用于向该第一网络设备发送第一指示信息,该第一指示信息用于指示该处理单元710确定的成功接收该第一部分;The sending unit 720 is configured to send the first indication information to the first network device, where the first indication information is used to indicate that the processing unit 710 determines to successfully receive the first part;
该发送单元720还用于向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联。The sending unit 720 is further configured to send, to the first network device, second indication information, where the second indication information is used to indicate a second part in the first byte stream, where the second part includes a byte A portion of or all of the included bytes, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
可选地,该第二指示信息中包含该第二部分包括的字节的序列号的信息。Optionally, the second indication information includes information about a sequence number of a byte included in the second part.
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。Optionally, the information about the sequence number of the byte included in the second part includes: a sequence number of each byte of the second part; or a sequence number of the first byte of the second part and the second part The length of the part of the byte; or the sequence number of the first byte of the second part and the sequence number of the last byte of the second part.
可选地,该第二部分包括的字节为该目标字节。Optionally, the second part includes a byte that is the target byte.
可选地,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。Optionally, the byte successfully received by the third network device is part or all of the bytes included in the second part.
可选地,该第二指示信息中包含该第二部分的字节长度。Optionally, the second indication information includes a byte length of the second part.
可选地,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。Optionally, the sequence number of the first byte of the second part is greater than the sequence number of the last byte successfully received by the third network device, and the sequence number of the last byte of the second part is related to the first part The last byte of the sequence number is the same.
可选地,该发送单元还用于当该第一字节流由通过该第二网络设备转发切换为通过第四网络设备转发时,向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号。Optionally, the sending unit is further configured to: when the first byte stream is forwarded by the second network device to be forwarded by the fourth network device, send status information to the fourth network device, where the status information includes The serial number of the first byte stored in the cache of the second network.
可选地,该第一指示信息和该第二指示信息均承载在确认ACK消息中。Optionally, the first indication information and the second indication information are both carried in the acknowledgement ACK message.
可选地,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。Optionally, the first indication information is carried in an ACK message, and the second indication information is carried in an inband message or an outband message.
可选地,该第一字节流为传输控制协议TCP字节流。Optionally, the first byte stream is a Transmission Control Protocol TCP byte stream.
应理解,这里的装置700以功能单元的形式体现。这里的术语“单元”可以指ASIC、 电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置700可以具体为上述方法300和方法500实施例中的第二网络设备,装置700可以用于执行上述方法300和方法500实施例中与第二网络设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。It should be understood that the apparatus 700 herein is embodied in the form of a functional unit. The term "unit" herein may refer to an ASIC, an electronic circuit, a processor (eg, a shared processor, a proprietary processor, or a group processor, etc.) and memory, a merge logic, and a processor for executing one or more software or firmware programs. / or other suitable components that support the described functionality. In an alternative example, those skilled in the art may understand that the device 700 may be specifically the second network device in the foregoing method 300 and the method 500. The device 700 may be used to perform the foregoing method 300 and method 500. The various processes and/or steps corresponding to the second network device are not repeated here to avoid repetition.
图8示出了本申请实施例提供的数据传输的装置800,该装置800可以为图3和图5中所述的第一网络设备,该装置800可以采用如图8所示的硬件架构。该装置可以包括处理器810、收发器820和存储器830,该处理器810、收发器820和存储器830通过内部连接通路互相通信。图6中的处理单元630所实现的相关功能可以由处理器810来实现,发送单元710和接收单元720所实现的相关功能可以由处理器810控制收发器820来实现。FIG. 8 shows an apparatus 800 for data transmission provided by an embodiment of the present application. The apparatus 800 may be the first network device described in FIG. 3 and FIG. 5, and the apparatus 800 may adopt a hardware architecture as shown in FIG. 8. The apparatus can include a processor 810, a transceiver 820, and a memory 830 that communicate with one another via internal connection paths. The related functions implemented by the processing unit 630 in FIG. 6 may be implemented by the processor 810, and the related functions implemented by the transmitting unit 710 and the receiving unit 720 may be implemented by the processor 810 controlling the transceiver 820.
该处理器810可以包括是一个或多个处理器,例如包括一个或多个中央处理单元(central processing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。The processor 810 may include one or more processors, for example, including one or more central processing units (CPUs). In the case where the processor is a CPU, the CPU may be a single core CPU, and It can be a multi-core CPU.
该收发器820用于发送和接收数据和/或信号,以及接收数据和/或信号。该收发器可以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。The transceiver 820 is configured to transmit and receive data and/or signals, as well as to receive data and/or signals. The transceiver can include a transmitter and a receiver for transmitting data and/or signals, and a receiver for receiving data and/or signals.
该存储器830包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程存储器(erasable programmable read only memory,EPROM)、只读光盘(compact disc read-only memory,CD-ROM),该存储器830用于存储相关指令及数据。The memory 830 includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read only memory (EPROM), and a read only memory. A compact disc read-only memory (CD-ROM) for storing related instructions and data.
存储器830用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器810中。The memory 830 is used to store the program code and data of the device, and may be a separate device or integrated in the processor 810.
具体地,所述处理器810用于控制收发器与第二网络设备和/或第四网络设备进行信息传输。具体可参见方法实施例中的描述,在此不再赘述。Specifically, the processor 810 is configured to control the transceiver to perform information transmission with the second network device and/or the fourth network device. For details, refer to the description in the method embodiment, and details are not described herein again.
可以理解的是,图8仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。It will be appreciated that Figure 8 only shows a simplified design of the device. In practical applications, the device may also include other necessary components, including but not limited to any number of transceivers, processors, controllers, memories, etc., and all devices that can implement the present application are within the scope of the present application. Inside.
在一种可能的设计中,装置800可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器810的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。In one possible design, device 800 can be replaced with a chip device, such as a communication chip that can be used in the device for implementing the relevant functions of processor 810 in the device. The chip device can be a field programmable gate array for implementing related functions, a dedicated integrated chip, a system chip, a central processing unit, a network processor, a digital signal processing circuit, a microcontroller, or a programmable controller or other integrated chip. . Optionally, the chip may include one or more memories for storing program code that, when executed, causes the processor to perform the corresponding functions.
图9示出了本申请实施例提供的装置900,该装置900可以为图3和图5中所述的第二网络设备,该装置900可以采用如图9所示的硬件架构。该装置可以包括处理器910、收发器920和存储器930,该处理器910、收发器920和存储器930通过内部连接通路互相通信。图7中的处理单元710所实现的相关功能可以由处理器910来实现,发送单元720所实现的相关功能可以由处理器910控制收发器920来实现。FIG. 9 shows an apparatus 900 provided by an embodiment of the present application. The apparatus 900 may be the second network device described in FIG. 3 and FIG. 5, and the apparatus 900 may adopt a hardware architecture as shown in FIG. 9. The apparatus can include a processor 910, a transceiver 920, and a memory 930, the processor 910, the transceiver 920, and the memory 930 communicating with one another via internal connection paths. The related functions implemented by the processing unit 710 in FIG. 7 may be implemented by the processor 910, and the related functions implemented by the transmitting unit 720 may be implemented by the processor 910 controlling the transceiver 920.
该处理器910可以包括是一个或多个处理器,例如包括一个或多个CPU,在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。The processor 910 may include one or more processors, for example, including one or more CPUs. In the case where the processor is a CPU, the CPU may be a single core CPU or a multi-core CPU.
该收发器920用于发送和接收数据和/或信号,以及接收数据和/或信号。该收发器可 以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。The transceiver 920 is configured to transmit and receive data and/or signals, as well as to receive data and/or signals. The transceiver can include a transmitter and a receiver for transmitting data and/or signals, and a receiver for receiving data and/or signals.
该存储器930包括但不限于是RAM、ROM、EPROM、CD-ROM,该存储器930用于存储相关指令及数据。The memory 930 includes, but is not limited to, a RAM, a ROM, an EPROM, a CD-ROM, and the memory 930 is used to store related instructions and data.
存储器930用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器910中。The memory 930 is used to store the program code and data of the device, and may be a separate device or integrated in the processor 910.
具体地,所述处理器910用于控制收发器与第一网络设备和/或第四网络设备进行信息传输。具体可参见方法实施例中的描述,在此不再赘述。Specifically, the processor 910 is configured to control, by the transceiver, information transmission with the first network device and/or the fourth network device. For details, refer to the description in the method embodiment, and details are not described herein again.
可以理解的是,图9仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。It will be appreciated that Figure 9 only shows a simplified design of the device. In practical applications, the device may also include other necessary components, including but not limited to any number of transceivers, processors, controllers, memories, etc., and all devices that can implement the present application are within the scope of the present application. Inside.
在一种可能的设计中,装置900可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器910的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。In one possible design, device 900 can be replaced with a chip device, such as a communication chip that can be used in the device for implementing the relevant functions of processor 910 in the device. The chip device can be a field programmable gate array for implementing related functions, a dedicated integrated chip, a system chip, a central processing unit, a network processor, a digital signal processing circuit, a microcontroller, or a programmable controller or other integrated chip. . Optionally, the chip may include one or more memories for storing program code that, when executed, causes the processor to perform the corresponding functions.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。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, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程 序代码的介质。The functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The foregoing is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application. It should be covered by the scope of protection of this application. Therefore, the scope of protection of the present application should be determined by the scope of the claims.

Claims (38)

  1. 一种信息传输的方法,其特征在于,包括:A method for transmitting information, comprising:
    第一网络设备向第二网络设备发送第一字节流,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;Transmitting, by the first network device, a first byte stream to the second network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
    所述第一网络设备接收所述第二网络设备发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第二网络设备成功接收所述第一字节流中的第一部分,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;The first network device receives the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first byte stream. a first part, the second indication information is used to indicate a second part of the first byte stream, and the second part includes a byte that is part or all of a byte included in the first part, and The second portion includes a byte associated with a byte successfully received by the third network device;
    所述第一网络设备根据所述第二指示信息,删除缓存中存储的目标字节。The first network device deletes the target byte stored in the cache according to the second indication information.
  2. 根据权利要求1所述的方法,其特征在于,所述第二指示信息中包含所述第二部分包括的字节的序列号的信息。The method according to claim 1, wherein said second indication information includes information of a sequence number of a byte included in said second portion.
  3. 根据权利要求2所述的方法,其特征在于,所述第二部分包括的字节的序列号的信息包括:The method according to claim 2, wherein the information of the serial number of the bytes included in the second portion comprises:
    所述第二部分的每个字节的序列号;或a serial number of each byte of the second portion; or
    所述第二部分的第一个字节的序列号和所述第二部分的字节长度;或a sequence number of a first byte of the second portion and a byte length of the second portion; or
    所述第二部分的第一个字节的序列号和所述第二部分的最后一个字节的序列号。a sequence number of a first byte of the second portion and a sequence number of a last byte of the second portion.
  4. 根据权利要求2或3所述的方法,其特征在于,所述第二部分包括的字节为所述目标字节。The method according to claim 2 or 3, wherein the byte included in the second portion is the target byte.
  5. 根据权利要求2至4中任一项所述的方法,其特征在于,所述第三网络设备成功接收的字节为所述第二部分包括的字节的部分或全部。The method according to any one of claims 2 to 4, wherein the byte successfully received by the third network device is part or all of the bytes included in the second part.
  6. 根据权利要求1所述的方法,其特征在于,所述第二指示信息中包含所述第二部分的字节长度。The method according to claim 1, wherein the second indication information includes a byte length of the second portion.
  7. 根据权利要求6所述的方法,其特征在于,在所述第一网络设备根据所述第二指示信息,删除缓存中存储的目标字节之前,所述方法还包括:The method according to claim 6, wherein before the deleting, by the first network device, the target byte stored in the cache according to the second indication information, the method further includes:
    所述第一网络设备根据所述第一指示信息和所述第二部分的字节长度,确定所述第二部分,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同;Determining, by the first network device, the second part, a sequence number of a last byte of the second part, and a first part of the first part according to the first indication information and a byte length of the second part The last byte has the same serial number;
    所述第一网络设备将所述第一部分包括的字节中除所述第二部分包括的字节外的字节,确定为所述目标字节。The first network device determines, in the byte included in the first part, a byte other than the byte included in the second part as the target byte.
  8. 根据权利要求6或7所述的方法,其特征在于,所述第二部分的第一个字节的序列号大于所述第三网络设备成功接收的最后一个字节的序列号,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同。The method according to claim 6 or 7, wherein the sequence number of the first byte of the second portion is greater than the sequence number of the last byte successfully received by the third network device, The sequence number of the last byte of the two parts is the same as the sequence number of the last byte of the first part.
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,所述方法还包括:The method according to any one of claims 1 to 8, wherein when the first byte stream is switched by forwarding by the second network device to be forwarded by the fourth network device, the method further include:
    所述第一网络设备接收所述第四网络设备发送的第三指示信息,所述第三指示信息中包含第一字节的序列号,所述第一字节的序列号大于或等于所述第二网络设备的缓存中存 储的第一个字节的序列号;Receiving, by the first network device, the third indication information that is sent by the fourth network device, where the third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the a serial number of the first byte stored in the cache of the second network device;
    所述第一网络设备根据所述第三指示信息,向所述第四网络设备发送所述第一字节流中的第三部分,所述第三部分中的第一个字节的序列号与所述第一字节的序列号相同。Transmitting, by the first network device, the third part in the first byte stream to the fourth network device according to the third indication information, and the sequence number of the first byte in the third part The same as the serial number of the first byte.
  10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述第一指示信息和所述第二指示信息均承载在确认ACK消息中。The method according to any one of claims 1 to 9, wherein the first indication information and the second indication information are both carried in an acknowledgement ACK message.
  11. 根据权利要求1至10中任一项所述的方法,其特征在于,所述第一指示信息承载在ACK消息中,所述第二指示信息承载在带内消息或带外消息中。The method according to any one of claims 1 to 10, wherein the first indication information is carried in an ACK message, and the second indication information is carried in an in-band message or an out-of-band message.
  12. 根据权利要求1至11中任一项所述的方法,其特征在于,所述第一字节流为传输控制协议TCP字节流。The method according to any one of claims 1 to 11, wherein the first byte stream is a Transmission Control Protocol TCP byte stream.
  13. 一种信息传输的方法,其特征在于,包括:A method for transmitting information, comprising:
    第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;Determining, by the second network device, that the first part of the first byte stream sent by the first network device is successfully received, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
    所述第二网络设备向所述第一网络设备发送第一指示信息,所述第一指示信息用于指示成功接收所述第一部分;The second network device sends first indication information to the first network device, where the first indication information is used to indicate that the first part is successfully received;
    所述第二网络设备向所述第一网络设备发送第二指示信息,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联。The second network device sends second indication information to the first network device, where the second indication information is used to indicate a second part in the first byte stream, and the second part includes a byte And being part or all of the bytes included in the first portion, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
  14. 根据权利要求12所述的方法,其特征在于,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,所述方法还包括:The method according to claim 12, wherein when the first byte stream is forwarded by the second network device to be forwarded by the fourth network device, the method further includes:
    所述第二网络设备向所述第四网络设备发送状态信息,所述状态信息中包含所述第二网络设备的缓存中存储的第一个字节的序列号。The second network device sends status information to the fourth network device, where the status information includes a sequence number of a first byte stored in a cache of the second network device.
  15. 根据权利要求13或14所述的方法,其特征在于,所述第一字节流为传输控制协议TCP字节流。The method according to claim 13 or 14, wherein said first byte stream is a Transmission Control Protocol TCP byte stream.
  16. 一种信息传输的装置,其特征在于,包括:An apparatus for information transmission, comprising:
    发送单元,用于向第二网络设备发送第一字节流,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;a sending unit, configured to send, to the second network device, a first byte stream, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
    接收单元,用于接收所述第二网络设备发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第二网络设备成功接收所述第一字节流中的第一部分,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;a receiving unit, configured to receive the first indication information and the second indication information that are sent by the second network device, where the first indication information is used to indicate that the second network device successfully receives the first byte stream a first part, the second indication information is used to indicate a second part in the first byte stream, and the second part includes a byte that is part or all of a byte included in the first part, and Included in the second portion is a byte associated with a byte successfully received by the third network device;
    处理单元,用于根据所述接收单元接收到的所述第二指示信息,删除缓存中存储的目标字节。And a processing unit, configured to delete the target byte stored in the cache according to the second indication information received by the receiving unit.
  17. 根据权利要求16所述的装置,其特征在于,所述第二指示信息中包含所述第二部分包括的字节的序列号的信息。The apparatus according to claim 16, wherein said second indication information includes information of a sequence number of a byte included in said second portion.
  18. 根据权利要求17所述的装置,其特征在于,所述第二部分包括的字节的序列号的信息包括:The apparatus according to claim 17, wherein the information of the serial number of the bytes included in the second part comprises:
    所述第二部分的每个字节的序列号;或a serial number of each byte of the second portion; or
    所述第二部分的第一个字节的序列号和所述第二部分的字节长度;或a sequence number of a first byte of the second portion and a byte length of the second portion; or
    所述第二部分的第一个字节的序列号和所述第二部分的最后一个字节的序列号。a sequence number of a first byte of the second portion and a sequence number of a last byte of the second portion.
  19. 根据权利要求17或18所述的装置,其特征在于,所述第二部分包括的字节为所述目标字节。The apparatus according to claim 17 or 18, wherein said second portion comprises a byte of said target byte.
  20. 根据权利要求17至19中任一项所述的装置,其特征在于,所述第三网络设备成功接收的字节为所述第二部分包括的字节的部分或全部。The apparatus according to any one of claims 17 to 19, wherein the byte successfully received by the third network device is part or all of a byte included in the second part.
  21. 根据权利要求16所述的装置,其特征在于,所述第二指示信息中包含所述第二部分的字节长度。The apparatus according to claim 16, wherein said second indication information includes a byte length of said second portion.
  22. 根据权利要求21所述的装置,其特征在于,所述处理单元还用于:The device according to claim 21, wherein the processing unit is further configured to:
    在所述根据所述第二指示信息,删除缓存中存储的目标字节之前,根据所述第一指示信息和所述第二部分的字节长度,确定所述第二部分,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同;Determining, according to the first indication information and a byte length of the second part, the second part, the second part, before deleting the target byte stored in the cache according to the second indication information The sequence number of the last byte of the part is the same as the sequence number of the last byte of the first part;
    将所述第一部分包括的字节中除所述第二部分包括的字节外的字节,确定为所述目标字节。A byte other than the byte included in the second portion included in the first portion is determined as the target byte.
  23. 根据权利要求21或22所述的装置,其特征在于,所述第二部分的第一个字节的序列号大于所述第三网络设备成功接收的最后一个字节的序列号,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同。The apparatus according to claim 21 or 22, wherein the sequence number of the first byte of the second portion is greater than the sequence number of the last byte successfully received by the third network device, The sequence number of the last byte of the two parts is the same as the sequence number of the last byte of the first part.
  24. 根据权利要求16至23中任一项所述的装置,其特征在于,Apparatus according to any one of claims 16 to 23, wherein
    所述接收单元还用于当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,接收所述第四网络设备发送的第三指示信息,所述第三指示信息中包含第一字节的序列号,所述第一字节的序列号大于或等于所述第二网络设备的缓存中存储的第一个字节的序列号;The receiving unit is further configured to: when the first byte stream is forwarded by the second network device to be forwarded by the fourth network device, receive the third indication information sent by the fourth network device, The third indication information includes a sequence number of the first byte, where the sequence number of the first byte is greater than or equal to the sequence number of the first byte stored in the cache of the second network device;
    所述发送单元还用于根据所述第三指示信息,向所述第四网络设备发送所述第一字节流中的第三部分,所述第三部分中的第一个字节的序列号与所述第一字节的序列号相同。The sending unit is further configured to send, according to the third indication information, a third part in the first byte stream to the fourth network device, and a sequence of a first byte in the third part The number is the same as the serial number of the first byte.
  25. 根据权利要求16至24中任一项所述的装置,其特征在于,所述第一指示信息和所述第二指示信息均承载在确认ACK消息中。The apparatus according to any one of claims 16 to 24, wherein the first indication information and the second indication information are both carried in an acknowledgement ACK message.
  26. 根据权利要求16至25中任一项所述的装置,其特征在于,所述第一指示信息承载在ACK消息中,所述第二指示信息承载在带内消息或带外消息中。The apparatus according to any one of claims 16 to 25, wherein the first indication information is carried in an ACK message, and the second indication information is carried in an in-band message or an out-of-band message.
  27. 根据权利要求16至26中任一项所述的装置,其特征在于,所述第一字节流为传输控制协议TCP字节流。The apparatus according to any one of claims 16 to 26, wherein the first byte stream is a Transmission Control Protocol TCP byte stream.
  28. 一种信息传输的装置,其特征在于,包括:An apparatus for information transmission, comprising:
    处理单元,用于确定成功接收第一网络设备发送的第一字节流中的第一部分,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;a processing unit, configured to determine to successfully receive a first part of the first byte stream sent by the first network device, where the first byte stream is a byte stream that is forwarded by the second network device to the third network device;
    发送单元,用于向所述第一网络设备发送第一指示信息,所述第一指示信息用于指示所述处理单元确定的成功接收所述第一部分;a sending unit, configured to send the first indication information to the first network device, where the first indication information is used to indicate that the processing unit determines to successfully receive the first part;
    所述发送单元还用于向所述第一网络设备发送第二指示信息,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联。The sending unit is further configured to send, to the first network device, second indication information, where the second indication information is used to indicate a second part in the first byte stream, and the second part includes a word The section is part or all of the bytes included in the first portion, and the bytes included in the second portion are associated with bytes successfully received by the third network device.
  29. 根据权利要求28所述的装置,其特征在于,所述发送单元还用于当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,向所述第四网络设备 发送状态信息,所述状态信息中包含所述第二网络的缓存中存储的第一个字节的序列号。The apparatus according to claim 28, wherein the sending unit is further configured to: when the first byte stream is switched by forwarding by the second network device to be forwarded by the fourth network device, The fourth network device sends status information, where the status information includes a sequence number of the first byte stored in the cache of the second network.
  30. 根据权利要求28或29所述的装置,其特征在于,所述第一字节流为传输控制协议TCP字节流。The apparatus according to claim 28 or 29, wherein said first byte stream is a Transmission Control Protocol TCP byte stream.
  31. 一种信息传输的装置,所述装置包括存储器、处理器、通信接口及存储在所述存储器上并可在所述处理器上运行的指令,其中,所述存储器、所述处理器以及所述通信接口之间通过内部连接通路互相通信,其特征在于,所述处理器执行所述指令使得所述装置实现上述权利要求1至权利要求12中任一项所述的方法。An apparatus for information transmission, the apparatus comprising a memory, a processor, a communication interface, and instructions stored on the memory and executable on the processor, wherein the memory, the processor, and the The communication interfaces communicate with one another via internal connection paths, characterized in that the processor executes the instructions such that the apparatus implements the method of any of the preceding claims 1 to 12.
  32. 一种信息传输的装置,所述装置包括存储器、处理器、通信接口及存储在所述存储器上并可在所述处理器上运行的指令,其中,所述存储器、所述处理器以及所述通信接口之间通过内部连接通路互相通信,其特征在于,所述处理器执行所述指令使得所述装置实现上述权利要求13至权利要求15中任一项所述的方法。An apparatus for information transmission, the apparatus comprising a memory, a processor, a communication interface, and instructions stored on the memory and executable on the processor, wherein the memory, the processor, and the The communication interfaces communicate with one another via internal connection paths, characterized in that the processor executes the instructions such that the apparatus implements the method of any of the preceding claims 13 to 15.
  33. 一种计算机可读介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至权利要求12中任一项所述的方法的指令。A computer readable medium for storing a computer program, characterized in that the computer program comprises instructions for implementing the method of any of the preceding claims 1 to 12.
  34. 一种计算机可读介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求13至权利要求15中任一项所述的方法的指令。A computer readable medium for storing a computer program, characterized in that the computer program comprises instructions for implementing the method of any of the preceding claims 13 to 15.
  35. 一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机上运行时,使得计算机实现上述权利要求1至权利要求12中任一项所述的方法。A computer program product, the computer program product comprising instructions, wherein the computer, when executed on a computer, causes the computer to implement the method of any one of claims 1 to 12.
  36. 一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机上运行时,使得计算机实现上述权利要求13至权利要求15中任一项所述的方法。A computer program product, the computer program product comprising instructions, wherein the computer, when executed on a computer, causes the computer to implement the method of any one of claims 13 to 15.
  37. 一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求1至权利要求12中任一项所述的方法。A chip device includes: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path, and the processing The apparatus is operative to execute code in the memory, the chip apparatus implementing the method of any one of claims 1 to 12 when the processor executes the code.
  38. 一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求13至权利要求15中任一项所述的方法。A chip device includes: an input interface, an output interface, at least one processor, and a memory, wherein the input interface, the output interface, the processor, and the memory communicate with each other through an internal connection path, and the processing The chip device is operative to execute the code in the memory, and when the processor executes the code, the chip device implements the method of any one of the preceding claims 13 to 15.
PCT/CN2018/119368 2017-12-11 2018-12-05 Information transmission method and device WO2019114586A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711308010.1 2017-12-11
CN201711308010.1A CN109905447B (en) 2017-12-11 2017-12-11 Information transmission method and device

Publications (1)

Publication Number Publication Date
WO2019114586A1 true WO2019114586A1 (en) 2019-06-20

Family

ID=66819930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119368 WO2019114586A1 (en) 2017-12-11 2018-12-05 Information transmission method and device

Country Status (2)

Country Link
CN (1) CN109905447B (en)
WO (1) WO2019114586A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113906700B (en) * 2020-05-05 2023-09-12 华为技术有限公司 Apparatus and method for delivering acknowledgements in a network transport protocol

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070115894A1 (en) * 2003-07-11 2007-05-24 Koninklijke Philips Electronics N.V. Transmission of data packets from a transmitter to a receiver
CN101069378A (en) * 2004-08-31 2007-11-07 艾利森电话股份有限公司 Data unit sender and data unit relay device
CN103516694A (en) * 2012-06-28 2014-01-15 华为技术有限公司 Communication method, device and system
CN106254445A (en) * 2016-07-29 2016-12-21 深圳前海微众银行股份有限公司 Message method and service end

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005049931B4 (en) * 2005-10-19 2009-04-09 Atmel Germany Gmbh Transmitting / receiving device
KR101428041B1 (en) * 2007-10-03 2014-08-07 삼성전자주식회사 Apparatus and method to transmit/receive automatic retransmission request feedback information element in a communication system
CN101562506B (en) * 2008-04-14 2013-08-07 中兴通讯股份有限公司 Data transmission method
US9197380B2 (en) * 2010-12-17 2015-11-24 Cisco Technology, Inc. Repeater nodes in shared media networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070115894A1 (en) * 2003-07-11 2007-05-24 Koninklijke Philips Electronics N.V. Transmission of data packets from a transmitter to a receiver
CN101069378A (en) * 2004-08-31 2007-11-07 艾利森电话股份有限公司 Data unit sender and data unit relay device
CN103516694A (en) * 2012-06-28 2014-01-15 华为技术有限公司 Communication method, device and system
CN106254445A (en) * 2016-07-29 2016-12-21 深圳前海微众银行股份有限公司 Message method and service end

Also Published As

Publication number Publication date
CN109905447A (en) 2019-06-18
CN109905447B (en) 2022-05-13

Similar Documents

Publication Publication Date Title
JP4504977B2 (en) Data processing for TCP connection using offload unit
US11146362B2 (en) Internet of things data transmission method, device and system
US8953631B2 (en) Interruption, at least in part, of frame transmission
US9967193B2 (en) Method and system for increasing data flow transmission
JP6388464B2 (en) Data packet transmitting apparatus, data packet transmitting method, data processing apparatus and data processing method
US9081905B2 (en) Low latency interconnect bus protocol
WO2018130059A1 (en) Data packet transmission method and device
JP2020523908A (en) Method and device for transmitting data
EP3860013A1 (en) Message processing method and apparatus
WO2014186944A1 (en) Acknowledgement packet transmission method and device thereof
CN115543474B (en) NVMe-oF semi-unloading processing method and device and hardware acceleration equipment
US20220294858A1 (en) Packet transmission method, communication apparatus, and communication system
CN111211933B (en) Method and device for determining quality of transmission link
WO2019114586A1 (en) Information transmission method and device
CN110383787A (en) A kind of data migration method and device
WO2019213922A1 (en) Method for forwarding data among nodes in relay network, and network nodes
WO2020177642A1 (en) Ethernet message transmission method, apparatus, and system
WO2018218996A1 (en) Data packet transmission method and device
JP2004254039A (en) Mail communication relay system, mail communication relay apparatus, mail communication relay method, and mail communication relay program
WO2022061913A1 (en) Communication method and apparatus
WO2016109967A1 (en) Communication method and device in one machine to machine system
EP3780727B1 (en) Switching method and access network device
US20210385699A1 (en) Mobility management in information centric networking
JP2006101315A (en) Communication relay device, communication relay program, and communication relay system
KR20200097736A (en) Wireless communication method and device

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

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

Country of ref document: EP

Kind code of ref document: A1