WO2022205248A1 - 一种基于时间敏感传输协议的通信方法和相关装置 - Google Patents

一种基于时间敏感传输协议的通信方法和相关装置 Download PDF

Info

Publication number
WO2022205248A1
WO2022205248A1 PCT/CN2021/084785 CN2021084785W WO2022205248A1 WO 2022205248 A1 WO2022205248 A1 WO 2022205248A1 CN 2021084785 W CN2021084785 W CN 2021084785W WO 2022205248 A1 WO2022205248 A1 WO 2022205248A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
tstp
frame
bit
field
Prior art date
Application number
PCT/CN2021/084785
Other languages
English (en)
French (fr)
Inventor
黄南阳
李泉
李�杰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202180001441.1A priority Critical patent/CN113302887B/zh
Priority to PCT/CN2021/084785 priority patent/WO2022205248A1/zh
Publication of WO2022205248A1 publication Critical patent/WO2022205248A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • H04L1/1883Time-out mechanisms using multiple timers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling

Definitions

  • the present invention relates to the field of communication technologies, and in particular, to a communication method and related device based on a time-sensitive transmission protocol.
  • the IEEE802.1Qbv-Enhancements for Scheduled Traffic (Qbv) protocol is a member of the time-sensitive networking (TSN) protocol family. It is a protocol that allows Ethernet switches and terminals to schedule frame transmission based on time windows. Provides a time-based traffic shaping function to separate different traffic in the network by slicing time to meet the requirements of the scheduling plan of frame transmission.
  • TDM time division multiplex
  • Traditional Ethernet can schedule traffic according to its priority based on virtual local area network (VLAN) priority or other fields to sacrifice the performance of low-priority traffic to meet the bandwidth requirements of high-priority traffic. Ethernet cannot completely distinguish traffic of different priorities from the time level, and the Qbv protocol makes up for this shortcoming of traditional Ethernet. It can schedule frame transmission based on time windows and provide delay guarantee for upper-layer applications.
  • the Qbv protocol can guarantee the end-to-end delay of the traffic by dividing and assigning time to the traffic in the network, but only relying on the Qbv protocol cannot guarantee the reliable transmission of the traffic, and the traffic may lose frames and wrong frames during the transmission process. , out-of-order, etc.
  • the three-layer and lower protocols are not responsible for ensuring the reliable transmission of traffic.
  • Only the transport layer protocol, such as the transmission control protocol (TCP) can guarantee the reliable transmission of data. , so the combination of Qbv protocol and TCP can achieve reliable transmission of vehicle Ethernet traffic.
  • TCP transmission control protocol
  • the embodiment of the invention discloses a communication method and related device based on a time-sensitive transmission protocol, which can realize reliable data transmission, improve data transmission efficiency, correctly estimate RTT value and network congestion state, and improve bandwidth utilization rate.
  • the present application provides a communication method based on a time-sensitive transmission protocol, the method comprising: a first terminal device encapsulates data to be sent to obtain a time-sensitive transmission protocol TSTP frame, where the TSTP frame includes a TSTP header field, the TSTP header field instructs the first terminal device to establish a communication connection and flow control with the second terminal device; the first terminal device sends the TSTP frame.
  • the first terminal device uses the TSTP protocol to encapsulate the data at the application layer, which can improve data transmission efficiency while ensuring reliable data transmission, reduce the number of control packets sent, and improve bandwidth utilization.
  • the TSTP header field includes a sequence number field, an acknowledgement message field and a window field, where the sequence number field is used to indicate the first The position of the first byte of the data part in the TSTP frame currently transmitted by the terminal device; the confirmation message field is used to indicate the first byte of the data part in the TSTP frame transmitted by the first terminal device next time The corresponding sequence number; the window field is used to indicate the maximum value of the data amount in the TSTP frame that the first terminal device transmits next.
  • each field of the TSTP header is used to indicate the data location or data amount in the TSTP frame, which can ensure normal communication between the first terminal device and the second terminal device, and improve the reliability of communication. sex.
  • the TSTP header field further includes a flag bit field, and the flag bit field includes a start bit, an end bit, an error bit, and a buffer bit, wherein , the start bit is used to instruct the first terminal device to establish a communication connection with the second terminal device; the end bit is used to instruct the first terminal device to disconnect the communication connection from the second terminal device ; the error bit is used to indicate that an error occurs in the communication connection between the first terminal device and the second terminal device; the buffer bit is used to indicate that the TSTP frame is buffered during transmission.
  • the flag bit in the TSTP header to indicate the connection state between the first terminal device and the second terminal device or the buffering state of the TSTP frame, the number of sent control packets can be reduced, and the data can be increased.
  • the transmission efficiency is improved, and it is ensured that the first terminal device can correctly perceive the congestion state of the network and avoid erroneously estimating the value of the RTT.
  • the start bit and the end bit are set to 1 at the same time.
  • the establishment and destruction of the connection between the first terminal device and the second terminal device, and the transmission of data can be completed through two TSTP frames, so that This will greatly reduce the number of control packets sent and improve data transmission efficiency.
  • the first terminal device after the first terminal device sends the TSTP frame, the first terminal device maintains a first timer, if the first timer Timeout and the first terminal device does not receive the TSTP frame response message, the first terminal device retransmits the TSTP frame; when the number of retransmissions exceeds a preset value, the first terminal device confirms the connection Setup fails and stops sending the TSTP frame.
  • the first terminal device needs to maintain the first timer after sending the TSTP frame, and retransmit the TSTP frame after the timer expires, and confirm that the connection establishment fails when the number of retransmissions exceeds a preset threshold. It can ensure the establishment of a reliable connection with the second terminal device and realize the reliability of transmission.
  • the first terminal device records a sending time stamp when sending the TSTP frame; the first terminal device receives a response message of the TSTP frame and record the receiving timestamp; the first terminal device determines the round-trip communication delay RTT according to the sending timestamp and the receiving timestamp.
  • the first terminal device can calculate the RTT value by recording the sending time and the receiving time of the TSTP frame, so as to better estimate the congestion state of the network, so as to adjust the congestion control algorithm in time to avoid Packet loss ensures real-time communication.
  • the first terminal device checks the buffer bit of the response packet of the TSTP frame, and if the buffer bit is set to 0, the first terminal device checks the buffer bit of the response packet of the TSTP frame.
  • a terminal device determines the RTT according to the sending time stamp and the receiving time stamp; if the buffer bit is set to 1, the first terminal device determines that the response message of the TSTP frame does not meet the calculation conditions, and discards this times calculation.
  • the first terminal device determines whether the TSTP frame is buffered during the transmission process by checking the buffer bits of the received message, and only calculates the RTT for the TSTP frame that is not buffered during the transmission process, to ensure that the calculated The RTT value is accurate, thus providing a basis for adjusting the congestion control algorithm.
  • the first terminal device receives a response packet of the TSTP frame, and the response packet includes a receiving window value of the second terminal device,
  • the receiving window value indicates the amount of data that the second terminal device is allowed to receive;
  • the first terminal device determines the sending window value of the first terminal device according to the RTT and the receiving window value, and the sending The window value indicates the amount of data that the first terminal device is allowed to send.
  • the first terminal device uses the receiving window value and the RTT value of the second terminal device to decide its own sending window value through a specific congestion control algorithm to control the amount of data sent by itself, which can avoid the sent Data is queued during the transmission process, which increases the transmission delay and causes packet loss.
  • the first terminal device obtains a congestion window value according to the RTT and the transmission link bandwidth value, and the congestion window value indicates the transmission chain The amount of data allowed to be transmitted by the channel; the first terminal device determines the sending window value according to the congestion window value and the receiving window value, wherein the sending window value is the congestion window value and the receiving window value The smaller of the window values.
  • the first terminal device calculates the congestion window value by using the RTT value and the transmission link bandwidth value, and compares the congestion window value and the receiving window value, and uses the smaller one as the sending window value, which can avoid Packet loss ensures real-time communication, and always makes full use of link bandwidth, improving bandwidth utilization.
  • the present application provides a communication method based on a time-sensitive transmission protocol TSTP, the method comprising: a second terminal device receiving a TSTP frame, the TSTP frame including a TSTP header field, the TSTP header field indicating The first terminal device establishes a communication connection and flow control with the second terminal device; the second terminal device sends a response message of the TSTP frame.
  • a time-sensitive transmission protocol TSTP the method comprising: a second terminal device receiving a TSTP frame, the TSTP frame including a TSTP header field, the TSTP header field indicating
  • the first terminal device establishes a communication connection and flow control with the second terminal device; the second terminal device sends a response message of the TSTP frame.
  • the TSTP header field includes a sequence number field, an acknowledgement message field and a window field, wherein the sequence number field is used to indicate the first The position of the first byte of the data part in the TSTP frame currently transmitted by the terminal device; the confirmation message field is used to indicate the first byte of the data part in the TSTP frame transmitted by the first terminal device next time The corresponding sequence number; the window field is used to indicate the maximum value of the data amount in the TSTP frame that the first terminal device transmits next.
  • the TSTP header field further includes a flag bit field, and the flag bit field includes a start bit, an end bit, an error bit, and a buffer bit, wherein , the start bit is used to instruct the second terminal device to establish a communication connection with the first terminal device; the end bit is used to instruct the first terminal device to disconnect the communication connection from the second terminal device ; the error bit is used to indicate that an error occurs in the communication connection between the first terminal device and the second terminal device; the buffer bit is used to indicate that the TSTP frame is buffered during transmission.
  • the response message includes a receiving window value of the second terminal device, and the receiving window value indicates that the second terminal device is allowed to receive amount of data.
  • the present application provides a communication device based on a time-sensitive transmission protocol, and the device may be a terminal device or a vehicle-mounted device, or a chip in the terminal device or the vehicle-mounted device.
  • the apparatus has the function of the first terminal device in the first aspect.
  • the function can be implemented by hardware or by executing corresponding software in the hardware.
  • the hardware or software includes one or more units corresponding to the above functions.
  • the communication device when the communication device is the first terminal device, it includes: a processing module and a transceiver module, the processing module may be, for example, a processor, the transceiver module may be, for example, a transceiver, and the transceiver Radio frequency circuits and baseband circuits may be included.
  • the transceiver module is used to support communication between the first terminal device and a network device (eg, a switch) or other terminal devices.
  • the transceiver module may further include a sending module and a receiving module.
  • a receiving module is used to receive data sent by an upper-layer application; a processing module is used to encapsulate the data to obtain a time-sensitive transmission protocol TSTP frame, where the TSTP frame includes a TSTP header field, and the TSTP header field Instruct the first terminal device to establish a communication connection and flow control with the second terminal device; and a sending module, configured to send the TSTP frame to the second terminal device.
  • the apparatus may further include a memory, which is used for coupling with the processor, and which stores necessary program instructions and data of the communication apparatus.
  • the apparatus includes: a processor, a baseband circuit, a radio frequency circuit, and an antenna.
  • the processor is used to control the functions of various circuit parts, the baseband circuit, the radio frequency circuit and the antenna are used to instruct the communication between the device and other devices.
  • the radio frequency circuit can perform digital conversion, filtering, amplification, and down-conversion processing on the data packets sent by the switch received via the antenna, and then decode and decapsulate by the protocol through the baseband circuit to obtain TSTP frames.
  • the device further includes a memory, which saves the necessary program instructions and data of the device; in the uplink communication, the baseband circuit generates a message carrying the TSTP frame, and performs analog conversion, filtering, amplification, and up-conversion through the radio frequency circuit. After processing, it is sent to the switch by the antenna.
  • a memory which saves the necessary program instructions and data of the device; in the uplink communication, the baseband circuit generates a message carrying the TSTP frame, and performs analog conversion, filtering, amplification, and up-conversion through the radio frequency circuit. After processing, it is sent to the switch by the antenna.
  • the device includes a processor and a modem
  • the processor can be used for instructions or an operating system to control the function of the device
  • the modem can encapsulate, encode, decode, and modulate data according to a protocol Demodulation, equalization, etc. are used to generate an uplink message carrying a TSTP frame, so as to support the first terminal device to perform the corresponding function in the first aspect
  • the modem can also be used to receive a downlink message carrying a TSTP frame sent by the switch. Header field information in the frame for data transmission and flow control.
  • the chip when the device is a chip in the terminal device, the chip includes: a processing module and a transceiver module, the processing module may be, for example, a processor, and the processor may be used to perform data transmission via the transceiver module.
  • the data packets sent by the upper-layer application received by the module are processed by filtering, demodulation, power amplification, decoding, etc.
  • the transceiver module may be, for example, an input/output interface, pin or circuit on the chip.
  • the processing module can execute the computer-executed instructions stored in the storage unit, so as to support the terminal device to perform the corresponding functions of the first aspect.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit in the terminal device located outside the chip, such as a read-only memory.
  • read-only memory referred to as ROM
  • RAM random access memory
  • the apparatus includes a processor, which is configured to be coupled to the memory, and read instructions in the memory and execute the functions related to the first terminal device in the first aspect according to the instructions.
  • the memory may be internal to the processor or external to the processor.
  • the present application provides a communication device based on a time-sensitive transmission protocol, and the device may be a terminal device or a vehicle-mounted device, or a chip in the terminal device or the vehicle-mounted device.
  • the apparatus has the function of the second terminal device in the second aspect.
  • the function can be implemented by hardware or by executing corresponding software in the hardware.
  • the hardware or software includes one or more units corresponding to the above functions.
  • the communication device when the communication device is the second terminal device, it includes: a processing module and a transceiver module, the processing module may be a processor, for example, the transceiver module may be a transceiver, for example, the transceiver Radio frequency circuits and baseband circuits may be included.
  • the transceiver module is used to support communication between the second terminal device and a network device (such as a switch) or other terminal devices.
  • the transceiver module may further include a sending module and a receiving module.
  • the receiving module is used to receive the TSTP frame; the processing module is used to decapsulate the data to obtain the data carried in the TSTP frame; the sending module is used to send the response message of the TSTP frame to the first Terminal Equipment.
  • the apparatus may further include a memory, which is used for coupling with the processor, and which stores necessary program instructions and data of the communication apparatus.
  • the apparatus includes: a processor, a baseband circuit, a radio frequency circuit, and an antenna.
  • the processor is used to control the functions of various circuit parts, the baseband circuit, the radio frequency circuit and the antenna are used to instruct the communication between the device and other devices.
  • the radio frequency circuit can perform digital conversion, filtering, amplification, and down-conversion processing on the data packets sent by the switch received via the antenna, and then decode and decapsulate by the protocol through the baseband circuit to obtain TSTP frames.
  • the device also includes a memory, which saves the necessary program instructions and data of the device; in the uplink communication, the baseband circuit generates a response message carrying the TSTP frame, and performs analog conversion, filtering, amplification and up-conversion via the radio frequency circuit. After processing, it is sent to the switch by the antenna.
  • a memory which saves the necessary program instructions and data of the device; in the uplink communication, the baseband circuit generates a response message carrying the TSTP frame, and performs analog conversion, filtering, amplification and up-conversion via the radio frequency circuit. After processing, it is sent to the switch by the antenna.
  • the device includes a processor and a modem
  • the processor can be used for instructions or an operating system to control the function of the device
  • the modem can encapsulate, encode, decode, and modulate data according to a protocol Demodulation, equalization, etc. are used to generate uplink messages carrying TSTP frames, so as to support the second terminal device to perform the corresponding functions in the second aspect
  • the modem can also be used to receive downlink messages carrying TSTP frames sent by the switch.
  • the chip when the device is a chip in the terminal device, the chip includes: a processing module and a transceiver module, the processing module may be, for example, a processor, and the processor may be used to perform data transmission via the transceiver module.
  • the data packets received by the module are processed such as filtering, demodulation, power amplification, decoding, etc.
  • the transceiver module can be, for example, an input/output interface, a pin or a circuit on the chip.
  • the processing module can execute the computer-executed instructions stored in the storage unit, so as to support the terminal device to perform the corresponding functions of the second aspect.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., and the storage unit may also be a storage unit located outside the chip in the second terminal device, such as only Read-only memory (ROM for short) or other types of static storage devices that can store static information and instructions, random access memory (RAM for short), etc.
  • ROM Read-only memory
  • RAM random access memory
  • the apparatus includes a processor, which is configured to be coupled with the memory, and read instructions in the memory and perform the functions related to the terminal device in the second aspect above according to the instructions.
  • the memory may be internal to the processor or external to the processor.
  • the present application provides a communication system, the communication system includes a first terminal device and a second terminal device, and the first terminal device is configured to perform the above-mentioned first aspect in combination with any of the above-mentioned first aspects.
  • a method for an implementation manner wherein the second terminal device is configured to execute the second aspect and the method in combination with any one of the implementation manners of the second aspect.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and the instructions can be executed by one or more processors on a processing circuit, when the instructions are executed on a computer When running, the computer is made to execute the method described in the first aspect or any one of the optional implementation manners of the first aspect.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and the instructions can be executed by one or more processors on a processing circuit, when the instructions are executed on a computer When running, the computer is caused to execute the method described in the second aspect or any one of the optional implementation manners of the second aspect.
  • the present application provides a computer program product containing instructions, which, when running on a computer, causes the computer to execute the method described in the first aspect or any one of the optional implementations of the first aspect, the computer
  • the product may be stored in whole or in part on a storage medium packaged in the processor, and may also be stored in whole or in part in a storage medium packaged outside the processor.
  • the present application provides a computer program product containing instructions, which, when running on a computer, causes the computer to execute the method described in the second aspect or any one of the optional implementations of the second aspect, the computer
  • the product may be stored in whole or in part on a storage medium packaged in the processor, and may also be stored in whole or in part in a storage medium packaged outside the processor.
  • the present application provides a vehicle, the vehicle comprising the communication device described in the third aspect or any one of the optional implementations of the third aspect, and the fourth aspect or any of the fourth aspect.
  • An optional implementation of the described communication apparatus or includes the communication system described in the fifth aspect.
  • FIG. 1 is a schematic diagram of a connection establishment comparison provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a comparison of round-trip communication delay measurement provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a system architecture provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a TSTP-based communication method provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a TSTP frame format provided by an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a flag bit field provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a TSTP connection establishment provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a TSTP connection consumption provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of coexistence of a TSTP connection establishment and destruction provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of estimating RTT based on TSTP provided by an embodiment of the present application.
  • FIG. 11 is another schematic diagram of estimating RTT based on TSTP provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of another communication apparatus provided by an embodiment of the present application.
  • Time-sensitive networking defines a mechanism for time-sensitive transmission over Ethernet, emphasizing ultra-low latency and high availability of transmission.
  • TSN actually refers to a set of sub-standards based on specific application requirements under the framework of the IEEE802.1 standard. It aims to establish a general time-sensitive mechanism for the Ethernet protocol to ensure the time determinism of network data transmission, while utilizing data Shaping to ensure latency in the microsecond range, and frame duplication and elimination to ensure reliable communication is enforced regardless of link failures, cable breaks, and other errors.
  • Transmission Control Protocol is a connection-oriented, reliable, byte-stream-based transport layer communication protocol, specially designed to provide reliable end-to-end byte streams over unreliable internetwork.
  • a transport protocol designed.
  • TCP gives each packet a sequence number, and the sequence number ensures the orderly reception of the packets transmitted to the receiver entity, and then the receiver entity returns a corresponding acknowledgment (ACK) to the successfully received packet. ), if the sender entity does not receive an acknowledgment within the round-trip delay (RTT), it will retransmit.
  • RTT round-trip delay
  • the time sensitive transmission protocol is a reliable transport layer protocol used in the embodiments of the present application, and the protocol is located between the user datagram protocol (UDP) and the application layer protocol.
  • UDP user datagram protocol
  • the data of the upper-layer application is encapsulated into TSTP frames and transmitted to the UDP protocol stack, and the reliable and efficient data transmission is realized through its special frame format design.
  • the reliable transport layer protocol refers to the transport layer protocol that provides reliable communication functions in the Ethernet where frames may be wrong, lost, or out of sequence, so as to ensure that the data receiver can obtain the data sent by the sender in a complete and orderly manner.
  • TCP protocol TSTP protocol, etc.
  • the time window refers to the time segment allocated in the Qbv in-vehicle Ethernet to allow the communicating party to send and receive data.
  • the communicating party can send and receive data.
  • the time window is closed, the data will be cached, waiting for the time window to open again. , the buffered data is sent or received again.
  • the round-trip time is the time for the data sender's signal to propagate to the data receiver during the communication process, plus the time for the data receiver's response signal to propagate to the data sender.
  • in-vehicle Ethernet can provide higher The data transfer rate (up to 1000 megabits per second), and the network protocol stack (protocol stack based on TCP/Internet protocol, IP, etc.) decoupled from the upper-layer application.
  • CAN controller area network
  • IP Internet protocol
  • Ethernet not only to support high-bandwidth traffic requirements in vehicles, such as over-the-air (OTA), entertainment systems, etc., but also to support high-reliability, latency-sensitive functional safety-related traffic , such as advanced driver assistance system (advanced driver assistance system, ADAS) and so on.
  • OTA over-the-air
  • ADAS advanced driver assistance system
  • FIG. 1 shows a schematic diagram of a connection establishment comparison. In traditional Ethernet, the client and the server establish a TCP through three-way handshake.
  • Connection that is, the client first sends a synchronization sequence number (SYN) packet to the server (the first handshake); after receiving the SYN packet, the server confirms the SYN packet sent by the client, and also sends a SYN packet by itself , that is, the server will return a SYN packet and a confirmation packet to the client (the second handshake); the client will send a confirmation packet (the third handshake) to the server after receiving the SYN packet and the confirmation packet sent by the server. After receiving the confirmation packet sent by the client, the client and the server complete the three-way handshake and enter the connection successful state. At this time, the client and the server can start to transmit data.
  • SYN synchronization sequence number
  • the control information of the client and the server may be cached during the process of establishing a TCP connection, causing the connection to fail.
  • the client first sends a SYN packet to the server.
  • the server returns the SYN packet and the confirmation packet after receiving it, the client needs to send the confirmation packet to the server again to establish the connection, but because the time window is closed at this time, the confirmation packet sent by the client is temporarily cached in the switch to wait for a transmission opportunity, When the time window is reopened, the switch sends the cached acknowledgment packet to the server, but because the acknowledgment packet is cached, the server does not receive the acknowledgment packet within the predetermined time, so it is determined that the connection establishment failed, and finally the client and server need to restart A three-way handshake to establish a connection wastes bandwidth.
  • TCP relies on the response mechanism to calculate the RTT, that is, the client sends a data packet with a specific sequence number and records the sending time, and records the receiving time when receiving a reply to the data packet with the specific sequence number.
  • the difference between the receiving time and the sending time as an estimate of RTT.
  • data packets may be buffered during transmission, resulting in inaccurate calculated RTT values.
  • the client sends a sequence number of The data packet of X is recorded and the sending time is recorded.
  • the server replies a data packet and confirmation packet with the serial number X after receiving it.
  • the RTT is obtained by calculating the sending time.
  • the RTT can also be calculated by a method similar to the above for the data packet with the sequence number Y and the data packet with the sequence number Z.
  • the client first sends the data packet with the serial number X and records the sending time
  • the server receives the data packet with the serial number X and the confirmation packet after receiving it through the switch, because the time window of the switch is in the In the open state, the switch directly forwards the data packet and the confirmation packet to the client, and the RTT calculated by the client is more accurate.
  • the client When the client continues to send the data packet with serial number Y and the data packet with serial number Z, Since the time window of the switch is closed at this time, the data packet will be temporarily cached in the switch, and the client will not perceive that the data packet is cached, and will trigger a timeout retransmission, that is, the client will resend the data with serial number Y packet, when the time window of the switch is reopened, the switch will continue to send the buffered data packet with sequence number Z to the server, the server will reply a data packet with sequence number Z and an acknowledgment packet, and the client will receive the data packet and acknowledgment
  • the RTT is calculated after the packet. At this time, the RTT calculated by the client is inaccurate. Since the data packet with sequence number Z is cached during transmission, this value is larger than the actual RTT value.
  • the present application provides a communication method based on a time-sensitive transmission protocol, which realizes reliable data transmission by using its special frame format, improves data transmission efficiency, and correctly estimates RTT value and network congestion state to improve bandwidth utilization. .
  • the technical solutions of the embodiments of this application can be applied to any communication system that requires efficient and reliable data transmission, such as a vehicle-mounted Ethernet communication system.
  • a vehicle-mounted Ethernet communication system As long as there is one entity in the communication system that needs to send TSTP frames, the other entity needs to receive the TSTP frame.
  • TSTP frame and establish a communication connection and flow control according to the header field in the TSTP frame.
  • FIG. 3 shows a schematic diagram of a system architecture according to an embodiment of the present application.
  • the system 300 includes: a first terminal device 310 , a second terminal device 320 , a first network device 330 and a second network device 340 , the first terminal device 310 is connected to the first network device 330 , and the first terminal device 310 is connected to the first network device 330 .
  • the second terminal device 320 is connected to the second network device 340.
  • the first network device 330 and the second network device 340 perform data transmission through the Ethernet network.
  • the first terminal device 310 includes a first physical layer 311 and a first media access control layer.
  • the structure of the second terminal device 320 is the same as that of the first terminal device 310, and also includes multiple protocol layers.
  • the first terminal device 310 first transmits the data of the first application layer 316 to be sent to the first TSTP layer 315 and encapsulates it into a TSTP frame, and then sequentially transmits the TSTP frame to the first UDP layer 314 and the first network layer.
  • the layer 312 and the first physical layer 311 perform corresponding encapsulation, and finally send the encapsulated data packet to the first network device 330, and the first network device 330 sends the data packet to the second network device 340 through the Ethernet network.
  • 340 receives the data packet and sends it to the second terminal device 320, the second terminal device 320 decapsulates the data packet layer by layer using each protocol layer, and finally the second TSTP layer 325 takes out the data field and passes it to the second application
  • the layer 326 implements the mutual communication between the first terminal device 310 and the second terminal device 320 .
  • the first terminal device 310 and the second terminal device 320 involved in the embodiments of the present application may be network terminal devices supporting the Qbv protocol, and may use the Qbv protocol to schedule traffic (also referred to as data streams, bit streams, etc.) based on time windows , when the time window is opened, the traffic of the local queue is sent to the Qbv network or the traffic of the local queue is reported to a higher layer protocol, and when the time window is closed, the traffic is buffered in the local queue.
  • traffic also referred to as data streams, bit streams, etc.
  • Its specific form may be a cellular phone, a cordless phone, a personal digital assistant (PDA) device, a handheld device with unlimited communication functions, a vehicle-mounted device, a wearable device (such as a smart watch, a smart bracelet, etc.), and the like.
  • PDA personal digital assistant
  • the first network device 330 and the second network device 340 involved in this embodiment of the present application may be network devices that support the Qbv protocol, and may also use the Qbv protocol to schedule traffic based on a time window. It is sent to the Qbv network, and when the time window is closed, the traffic is buffered in the local queue.
  • Its specific form can be a switch, an access point (AP) in a wireless local area network (WLAN), an evolved base station (evolutional node B, eNB), a relay station, and the like.
  • the TSTP layer is used to replace the previous TCP layer to encapsulate the data into a TSTP frame, and the establishment of the connection can be shortened through the header field of the TSTP frame.
  • Time and destruction time ensure the reliable transmission of data, and can correctly estimate the RTT value and network congestion state, and further determine the size of the sending window according to the obtained RTT value to improve bandwidth utilization.
  • the TSTP-based communication method provided by the embodiment of the present application will be described in detail below with reference to FIG. 4 .
  • the terminal equipment and network equipment described in FIG. 4 may correspond to the terminal equipment and network equipment shown in FIG. 3 respectively.
  • the method includes but is not limited to the following steps:
  • S401 The first terminal device receives data sent by an upper-layer application.
  • the upper-layer application of the first terminal device generates data to be sent, and the data to be sent needs to be sent to the second terminal device through the network.
  • the data to be sent needs to be sent to the second terminal device through the network.
  • Each protocol stack is used to encapsulate the data to be sent, and only after passing the corresponding encapsulation can it be identified by the network and accurately sent to the second terminal device.
  • the first terminal device encapsulates the data to be sent to obtain a TSTP frame.
  • the first terminal device after receiving the data sent by the upper-layer application, the first terminal device no longer performs TCP encapsulation on it, but encapsulates the data to be sent into TSTP frames according to the TSTP protocol, thereby avoiding the need for the first terminal device and the second terminal A TCP connection is established between devices, thereby shortening the connection establishment and destruction delay.
  • FIG. 5 it is a schematic diagram of a TSTP frame format provided by an embodiment of the present application, which includes a TSTP header field and a TSTP data field.
  • the length of the TSTP header field is 12 bytes, and its composition is similar.
  • the TCP header it mainly includes the sequence number field, the confirmation message field, the flag bit field and the window field.
  • the sequence number field is 4 bytes long, which is used to indicate the position of the first byte of the TSTP data part in the current transmission frame in the entire transmission process; The sequence number of the first byte of the TSTP data part in the frame.
  • the second terminal device can use this field to tell the first terminal device the sequence number of the first byte of the data part of the next TSTP frame.
  • the meaning of each field is consistent with the meaning defined in the TCP header; the length of the window field is 2 bytes, which is used to indicate the maximum amount of TSTP data that the first terminal device can transmit next time.
  • the second terminal device can Use this field to tell the first terminal device the maximum amount of TSTP data to be transmitted next, and its unit is 8 bytes. For example, when the value of the window field is 10, it means that the amount of data to be transmitted next time cannot exceed 80 bytes.
  • FIG. 6 is a schematic structural diagram of a flag bit field provided by an embodiment of the present application.
  • the flag bit field includes a start bit, an end bit, an error bit, a buffer bit and a reserved bit, wherein, The start bit occupies one bit. When the start bit is set to 1, it indicates that the TSTP frame is the first frame of a new configuration connection; the end bit also occupies one bit. When the end bit is set to 1, it indicates that the TSTP frame is the current frame. The last frame of the configuration connection; the error bit also occupies one bit.
  • the error bit When the error bit is set to 1, it means that an error occurs in the current configuration connection, and the connection will be closed; the buffer bit also occupies one bit, and when the buffer bit is set to 1, it means the TSTP frames are buffered by terminal equipment or switches during transmission; the reserved bits occupy four bits, which are reserved fields and are used to define new functions or indication information in the future.
  • TSTP is a one-way transmission protocol.
  • the establishment and destruction of the connection between the first terminal device and the second terminal device only depends on the setting of the start bit and the end bit. This article will complete the establishment and destruction of connections, especially for short messages, TSTP reduces the cost of connection establishment and destruction compared to TCP, shortens the transmission delay, and improves the bandwidth utilization of vehicle Ethernet.
  • the first terminal device when the first terminal device sends the first frame of data packet to the second terminal device, the first terminal device constructs a frame of TSTP packet, and will start the data packet.
  • the initial position is 1, the serial number field is set to a random value x, and then the message is sent to the second terminal device.
  • the second terminal device After receiving the message, the second terminal device constructs a frame of TSTP response message, and sends the message to the second terminal device.
  • the start bit is also set to 1, the confirmation message field is set to x, and then it is sent to the first terminal device. After the first terminal device receives the message, it indicates that a new TSTP connection has been successfully established.
  • the process of destroying a TSTP connection is similar to the process of establishing a connection.
  • the first terminal device sends the last frame of message, it sets the end position to 1, sets the serial number field to y, and then sets the The message is sent to the second terminal device.
  • the second terminal device responds to the message, sets the end bit to 1 in the response message, and sets the confirmation message field to y. Then, the response message is sent to the first terminal device, and the first terminal device marks that the TSTP connection is successfully destroyed after receiving the response message.
  • the establishment and destruction of the TSTP connection can be performed at the same time.
  • the first terminal device is sending the data to the second terminal device.
  • the start bit and the end bit can be set to 1 at the same time.
  • the second terminal device After receiving the message, the second terminal device sends a response message to the first terminal device, and also sets the start bit in the response message.
  • the first terminal device marks that the data transmission has been completed and the TSTP connection has also been successfully destroyed.
  • the second terminal device in the process of transmitting the TSTP frame, if the data received by the second terminal device is abnormal or wrong, for example, an abnormal field appears in the header of the received TSTP frame, the second terminal device will construct a frame of TSTP. After receiving the response message, the first terminal device determines that the connection with the second terminal device fails, and gives up sending data to the second terminal device.
  • the first terminal device sends the TSTP frame to the second terminal device.
  • the first terminal device before sending the TSTP frame to the second terminal device, the first terminal device further encapsulates the TSTP frame by using the UDP protocol stack to obtain a UDP packet, and the TSTP frame is in the data field of the UDP packet.
  • the UDP header contains the length of the UDP data field, and the length of the TSTP header is fixed (ie 12 bytes), the length of the TSTP data can be calculated.
  • the TSTP frame can depend on the UDP calibration. Checksum field for error checking.
  • the first terminal device After the first terminal device sends the TSTP frame to the second terminal device, it will maintain a timer. If the timer expires and the response message sent by the second terminal device is not received, the first terminal device will The TSTP frame is retransmitted. If the number of retransmissions exceeds the preset threshold and no response message is received, the first terminal device determines that the connection with the second terminal device fails, and gives up sending data to the second terminal device.
  • the timer maintained by the first terminal device is the first timer
  • the value of the first timer is the first timer.
  • the value is a pre-configured parameter value, which can be flexibly set as required, which is not limited in this application.
  • the first The timer maintained by the terminal device is the second timer, and the value of the second timer is a multiple of the estimated RTT value, and the value of the second timer will be updated with the change of the estimated RTT value during the entire data transmission process , but the multiple relationship between it and the RTT estimated value is a pre-configured parameter value, for example, the value of the second timer is always twice the RTT estimated value.
  • the set value of the first timer is different from the value of the second timer.
  • the message can realize the reliable transmission of TSTP frames. Its mechanism is similar to TCP, but compared with TCP, the delay of connection establishment and destruction is greatly shortened, and the bandwidth utilization rate is improved.
  • the first terminal device will record the sending time stamp when sending each TSTP frame, and record the receiving time stamp when receiving the response message of the TSTP frame sent by the second terminal device, and then record the receiving time stamp according to the sending time stamp. and the receiving timestamp, and use the RTT estimation algorithm, such as the algorithm of TCP to estimate the network RTT, to estimate the RTT value.
  • the RTT estimation algorithm such as the algorithm of TCP to estimate the network RTT
  • the first terminal device before sending each TSTP frame, the first terminal device will first determine whether the time window is open. If the time window is open and the length of the time window is greater than an estimated RTT value, the TSTP frame is allowed to be sent, When receiving the response packet of the TSTP frame and the buffer bit in the response packet is not set to 1, that is, the response packet is not buffered during the transmission process, the first terminal device determines that the response packet of the TSTP frame satisfies the Calculate the conditions, and then estimate the RTT value according to the recorded sending time and receiving time; if the time window is open, but the length of the remaining time window is less than an estimated RTT value, the TSTP frame is allowed to be sent, and the buffer position in the TSTP frame is set to 1 , when the response message of the TSTP frame is received, the RTT value is not estimated for this transmission; when the time window is closed, the first terminal device will buffer the TSTP frame, set the buffer position in the TSTP frame
  • the second terminal device it is also necessary to determine whether to allow the sending of the response message and set the buffer bit according to the state and length of the time window. As shown in Figure 11, before the second terminal device sends a response message, it first needs to determine whether the time window is open.
  • the message satisfies the calculation conditions, and the first terminal device can further estimate the RTT value after receiving the response message; if the time window is open, but the length of the time window is less than half of the estimated RTT value, the response message is allowed to be sent, and the The buffer position in the response packet is 1, and the response packet does not meet the calculation conditions at this time; if the time window is closed, the second terminal device will buffer the response packet, set the buffer position in the response packet to 1, and wait for The response message is sent when the time window is reopened, the response message also does not meet the calculation conditions, and the first terminal device will not perform RTT estimation after receiving the response message.
  • the buffer position needs to be set to 1, and the buffered TSTP frame will not participate in the RTT estimation, only if it is satisfied in the sending process and the receiving process. Only the buffered TSTP frames are allowed to calculate the RTT value, which can ensure that the calculated RTT value is accurate, can accurately reflect the current link bandwidth status, and provide a basis for subsequent congestion control.
  • the calculation of RTT needs to be updated in real time, and it is not that the calculation is no longer performed after an RTT value is calculated.
  • the RTT estimation algorithm is in a state of running all the time. When a TSTP frame meets the calculation conditions, it is necessary to recalculate the RTT value and update the RTT value. If the TSTP frame is buffered during the transmission process, the calculation is abandoned, and the cycle repeats until the entire data transmission process ends. .
  • the first terminal device since the first terminal device will maintain a second timer in the process of transmitting the TSTP frame, the value of the second timer is a multiple of the RTT estimated value, after the second timer expires, the first terminal device will The TSTP frame is retransmitted. At this time, regardless of whether the time window is open or not, and whether the length of the time window exceeds the estimated RTT value, the retransmitted packet and its corresponding response packet will not participate in the RTT calculation. If the first terminal device still does not receive a response message after the number of times of timeout retransmission exceeds the preset threshold, the first terminal device determines that the connection fails, constructs a TSTP frame, and sends the error bit in the TSTP frame as 1. to the second terminal device, then end the connection and stop sending data to the second terminal device.
  • the first terminal device obtains the congestion window value according to the calculated RTT value and the transmission link bandwidth value, and determines the transmission window value according to the congestion window value and the receiving window value, wherein the The send window value is the smaller of the congestion window value and the receive window value.
  • the Qbv protocol when planning the time window of terminal devices and switches, the Qbv protocol will estimate the end-to-end transmission time of each data packet according to the link rate, the size of the Ethernet frame and the amount of data transmitted (without considering the data packet Therefore, the time window length planned by Qbv does not consider the congestion of the network, nor the unplanned traffic. Therefore, in order to meet the real-time requirements of data transmission, it is necessary to plan the traffic to be transmitted according to the time window planned by Qbv, and it is necessary to avoid overtime retransmission as much as possible. To meet the real-time requirements, it is necessary to use the congestion control algorithm to calculate the congestion window value to avoid link congestion and improve bandwidth utilization.
  • the first terminal device can use the following formula 1 to calculate the congestion window value corresponding to the current link, where the formula 1 is:
  • Congestion window RTT*Qbv allocated bandwidth value - amount of unanswered data formula 1
  • the Qbv allocated bandwidth value represents the maximum amount of data that the current link can carry. Since the data sent by the first terminal device can exclusively occupy all the link bandwidth within the time window allocated by Qbv, the Qbv allocated bandwidth value is Link bandwidth value, the amount of unanswered data is the amount of data that has been sent by the first terminal device but has not received a response packet, and then the calculated RTT value is multiplied by the link bandwidth value to obtain the current link allowed to send The maximum amount of data, and then subtract the amount of unanswered data to obtain the congestion window value, that is, as long as the amount of data sent by the first terminal device does not exceed the congestion window value, it will not cause link congestion, avoid frame loss, and ensure real-time performance. Require.
  • the first terminal device determines the receiving window value according to the window field in the response message sent by the second terminal device, and the receiving window value determines the maximum amount of data allowed to be received by the second terminal device according to the locally available cache size , the first terminal device compares the congestion window value and the receiving window value, and determines the smaller of the two as the final sending window value, so as to ensure that the amount of data sent will not cause link congestion, thereby increasing the bandwidth utilization.
  • the embodiment of the present application considers the caching behavior of Qbv in the process of calculating RTT, thereby ensuring that the calculated RTT is more accurate, and after calculating the RTT, it actively estimates the link bandwidth and determines
  • the congestion window value and the congestion state of the network solve the overly conservative flow control of TCP, and finally determine the sending window value according to the congestion window value and the receiving window value to ensure that the available bandwidth of the link is always fully utilized, improve the bandwidth utilization, and can effectively Avoid frame loss to ensure real-time communication.
  • FIG. 12 is a schematic structural diagram of a communication apparatus provided by an embodiment of the present application.
  • the communication apparatus may be the first terminal device in the method embodiment described in FIG.
  • the first terminal device is used as the execution subject of the method and steps.
  • the communication device 100 includes a processing module 110 and a sending module 120 . in,
  • the processing module 110 is configured to encapsulate the data to be sent to obtain a time-sensitive transmission protocol TSTP frame, where the TSTP frame includes a TSTP header field, and the TSTP header field instructs the first terminal device to establish a communication connection with the second terminal device and flow control;
  • a sending module 120 configured to send the TSTP frame.
  • the TSTP header field includes a sequence number field, an acknowledgment message field, and a window field, wherein the sequence number field is used to indicate the first terminal device in the data portion of the TSTP frame currently transmitted by the first terminal device.
  • the TSTP header field further includes a flag bit field, where the flag bit field includes a start bit, an end bit, an error bit, and a buffer bit, wherein the start bit is used to indicate the first
  • the terminal device establishes a communication connection with the second terminal device; the end bit is used to instruct the first terminal device to disconnect the communication connection from the second terminal device; the error bit is used to instruct the first terminal An error occurs in the communication connection between the device and the second terminal device; the buffer bit is used to indicate that the TSTP frame is buffered during transmission.
  • the processing module 110 is further configured to set the start bit and the end bit to 1 at the same time when the TSTP really includes all the data to be sent.
  • the processing module 110 is further configured to maintain a first timer, and if the first timer times out and no response message of the TSTP frame is received, retransmit the TSTP frame; If the number of transmissions exceeds the preset value, it confirms that the connection establishment fails and stops sending the TSTP frame.
  • the sending module 120 is further configured to send the TSTP frame to record a sending time stamp;
  • the communication device 100 further includes a receiving module 130, the receiving module 130 is configured to receive the response of the TSTP frame message and record the receiving timestamp;
  • the processing module 110 is further configured to determine the round-trip communication delay RTT according to the sending timestamp and the receiving timestamp.
  • the processing module 110 is specifically configured to: check the buffer bit of the response packet of the TSTP frame, if the buffer bit is set to 0, according to the sending timestamp and the receiving timestamp Determine the RTT; if the buffer bit is set to 1, it is determined that the response message of the TSTP frame does not meet the calculation conditions, and the calculation is abandoned.
  • the receiving module 130 is further configured to receive a response packet of the TSTP frame, where the response packet includes a receiving window value of the second terminal device, and the receiving window value indicates the second terminal device.
  • the processing module 110 is further configured to determine the sending window value of the first terminal device according to the RTT and the receiving window value, where the sending window value indicates the first The amount of data that the end device is allowed to send.
  • the processing module 110 is specifically configured to: obtain a congestion window value according to the RTT and the transmission link bandwidth value, where the congestion window value indicates the amount of data allowed to be transmitted by the transmission link;
  • the congestion window value and the reception window value are used to determine the transmission window value, wherein the transmission window value is the smaller of the congestion window value and the reception window value.
  • receiving module 130 and the sending module 120 in the embodiments of the present application may be implemented by a transceiver or a transceiver-related circuit component
  • processing module 110 may be implemented by a processor or a processor-related circuit component.
  • each module in the communication device may be added, reduced or combined as required.
  • the operations and/or functions of each module in the communication device are to implement the corresponding flow of the method described in FIG. 4 , and are not repeated here for brevity.
  • FIG. 13 is a schematic structural diagram of another communication apparatus provided by an embodiment of the present application.
  • the communication apparatus may be the second terminal device in the method embodiment described in FIG. 4, and may execute the communication apparatus described in FIG. 4.
  • the second terminal device is used as the execution subject of the method and steps.
  • the communication device 200 includes a receiving module 210 and a sending module 220 . in,
  • a receiving module 210 configured to receive a TSTP frame, where the TSTP frame includes a TSTP header field, and the TSTP header field instructs the first terminal device to establish a communication connection and flow control with the second terminal device;
  • the sending module 220 is configured to send a response message of the TSTP frame.
  • the TSTP header field includes a sequence number field, an acknowledgment message field, and a window field, wherein the sequence number field is used to indicate the first terminal device in the data portion of the TSTP frame currently transmitted by the first terminal device.
  • the TSTP header field further includes a flag bit field, where the flag bit field includes a start bit, an end bit, an error bit, and a buffer bit, wherein the start bit is used to indicate the second
  • the terminal device establishes a communication connection with the first terminal device; the end bit is used to instruct the first terminal device to disconnect the communication connection from the second terminal device; the error bit is used to instruct the first terminal An error occurs in the communication connection between the device and the second terminal device; the buffer bit is used to indicate that the TSTP frame is buffered during transmission.
  • the response packet includes a receiving window value of the second terminal device, where the receiving window value indicates the amount of data that the second terminal device is allowed to receive.
  • the receiving module 210 and the sending module 220 in the embodiment of the present application may be implemented by a transceiver or a circuit component related to the transceiver.
  • each module in the communication device may be added, reduced or combined as required.
  • the operations and/or functions of each module in the communication device are to implement the corresponding flow of the method described in FIG. 4 , and are not repeated here for brevity.
  • FIG. 14 is a schematic structural diagram of another communication apparatus provided by an embodiment of the present application.
  • the communication device 400 includes a processor 410 , a communication interface 420 and a memory 430 , and the processor 410 , the communication interface 420 and the memory 430 are connected to each other through an internal bus 440 .
  • the communication apparatus 400 may be a terminal device or an in-vehicle device, and is applied to the in-vehicle Ethernet.
  • the processor 410 may be composed of one or more general-purpose processors, such as a central processing unit (central processing unit, CPU), or a combination of a CPU and a hardware chip.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
  • the bus 440 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus 440 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 14, but it does not mean that there is only one bus or one type of bus.
  • the memory 430 may include a volatile memory (volatile memory), such as random access memory (RAM); the memory 430 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (read- only memory, ROM), flash memory (flash memory), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD); the memory 430 may also include a combination of the above types.
  • volatile memory such as random access memory (RAM)
  • non-volatile memory such as a read-only memory (read- only memory, ROM), flash memory (flash memory), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD
  • ROM read-only memory
  • flash memory flash memory
  • HDD hard disk drive
  • SSD solid-state drive
  • the memory 430 of the communication device 400 stores codes corresponding to each module of the communication device 100, and the processor 410 executes the codes to implement the functions of each module of the communication device 100, that is, executes the methods of S401-S403.
  • FIG. 15 is a schematic structural diagram of another communication apparatus provided by an embodiment of the present application.
  • the communication device 500 includes a processor 510 , a communication interface 520 and a memory 530 , and the processor 510 , the communication interface 520 and the memory 530 are connected to each other through an internal bus 540 .
  • the communication apparatus 500 may be a terminal device or an in-vehicle device, and is applied to the in-vehicle Ethernet.
  • the processor 510 may be composed of one or more general-purpose processors, such as a CPU, or a combination of a CPU and a hardware chip.
  • the above-mentioned hardware chip may be an ASIC, a PLD or a combination thereof.
  • the above PLD can be CPLD, FPGA, GAL or any combination thereof.
  • the bus 540 may be a PCI bus, an EISA bus, or the like.
  • the bus 340 can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 15, but it does not mean that there is only one bus or one type of bus.
  • the memory 530 may include volatile memory, such as RAM; the memory 530 may also include non-volatile memory, such as ROM, flash memory, HDD, or SSD; the memory 530 may also include a combination of the foregoing.
  • the memory 530 of the communication device 500 stores codes corresponding to each module of the communication device 200, and the processor 510 executes the codes to implement the functions of each module of the communication device 200, that is, executes the methods of S401-S403.
  • the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any part of any one of the foregoing method embodiments can be implemented or all steps.
  • the embodiment of the present invention also provides a computer program, the computer program includes instructions, when the computer program is executed by the computer, the computer can execute part or all of the steps of any TSTP-based communication method.
  • An embodiment of the present application further provides a vehicle, where the vehicle includes any of the communication devices described in the embodiments corresponding to FIG. 12 to FIG. 15 , and a communication system composed of these communication devices.
  • the vehicles in the embodiments of the present application may be "cars", “vehicles” and “vehicles” or other similar terms including general motor vehicles, such as cars, SUVs, MPVs, buses, trucks and other vehicles. Cargo or passenger vehicles, watercraft including various ships and boats, and aircraft, including hybrid vehicles, electric vehicles, fuel vehicles, plug-in hybrid vehicles, fuel cell vehicles and other alternative fuel vehicles.
  • a hybrid vehicle refers to a vehicle having two or more power sources, and an electric vehicle includes a pure electric vehicle, an extended-range electric vehicle, etc., which is not specifically limited in this application.
  • the disclosed apparatus may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the above-mentioned units is only a logical function division.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical or other forms.
  • the units described above as separate components may or may not be physically separated, and components shown 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 in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.

Landscapes

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

Abstract

本申请提供一种基于TSTP的通信方法及相关设备。该方法包括:第一终端设备将待发送数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示所述第一终端设备与第二终端设备建立通信连接和流量控制,所述第一终端设备发送所述TSTP帧。上述方法能够提高数据传输效率,正确估计RTT值及网络拥塞状态,提高带宽利用率。

Description

一种基于时间敏感传输协议的通信方法和相关装置 技术领域
本发明涉及通信技术领域,尤其涉及一种基于时间敏感传输协议的通信方法和相关装置。
背景技术
IEEE802.1Qbv-Enhancements for Scheduled Traffic(Qbv)协议是时间敏感网络(time-sensitive networking,TSN)协议族中的一员,是一个允许以太网交换机和终端基于时间窗调度帧传输的协议,用于提供基于时间的流量整形功能,通过将时间分片来分离网络中的不同流量,以满足帧传输的调度计划的要求,其原理类似于通信中的时分多路转换(time division multiplex,TDM)。传统以太网可以基于虚拟局域网(virtual local area network,VLAN)优先级或其它字段对流量根据其优先级进行调度,以牺牲低优先级流量的性能,从而满足高优先级流量的带宽需求,但传统以太网不能从时间层面将不同优先级的流量完全区分开,而Qbv协议弥补了传统以太网的这一缺点,可以基于时间窗调度帧传输,对上层应用提供时延保障。
通过将时间分片并分配给网络中的流量,Qbv协议能够保障流量的端到端时延,但是仅依靠Qbv协议并不能保障流量的可靠传输,流量在传输过程中可能发生丢帧、错帧、乱序等情况,而在传统以太网中,三层及以下的协议并不负责保障流量的可靠传输,只有传输层协议,例如传输控制协议(transmission control protocol,TCP)才能保障数据的可靠传输,因此将Qbv协议与TCP相结合可以实现车载以太网流量的可靠传输。但是TCP连接的建立和销毁时延较长,传输效率较低,对RTT估计不够准确且带宽利用率较低。
因此,如何在保障Qbv车载以太网可靠传输数据的同时提高数据传输效率,正确估计RTT值及网络拥塞状态,提高带宽利用率是目前亟待解决的问题。
发明内容
本发明实施例公开了一种基于时间敏感传输协议的通信方法和相关装置,能够实现数据的可靠传输,提高数据传输效率,正确估计RTT值及网络拥塞状态,提高带宽利用率。
第一方面,本申请提供一种基于时间敏感传输协议的通信方法,所述方法包括:第一终端设备将待发送数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示所述第一终端设备与第二终端设备建立通信连接和流量控制;所述第一终端设备发送所述TSTP帧。
在本申请提供的方案中,第一终端设备利用TSTP协议对应用层的数据进行封装,能够在保证数据可靠传输的同时提高数据传输效率,减少控制报文的发送数量,提高带宽利用率。
结合第一方面,在第一方面的一种可能的实现方式中,所述TSTP头部字段包括序列号 字段、确认消息字段和窗口字段,其中,所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
在本申请提供的方案中,利用TSTP头部的各个字段对TSTP帧中的数据位置或数据量进行指示,可以保证第一终端设备与第二终端设备之间能够进行正常通信,提高通信的可靠性。
结合第一方面,在第一方面的一种可能的实现方式中,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,所述起始位用于指示所述第一终端设备与所述第二终端设备建立通信连接;所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;所述缓存位用于指示TSTP帧在传输过程中被缓存。
在本申请提供的方案中,通过利用TSTP头部中的标志位指示第一终端设备与第二终端设备之间连接的状态或TSTP帧的缓存状态,可以减少控制报文的发送数量,提高数据传输效率,且保证第一终端设备能够正确感知网络的拥塞状态,避免错误估计RTT的值。
结合第一方面,在第一方面的一种可能的实现方式中,若TSTP帧包括待发送的全部数据,所述起始位和所述结束位同时置为1。
在本申请提高的方案中,如果待传输的数据量较少的话,第一终端设备与第二终端设备之间连接的建立和销毁,以及数据的传输可以通过两个TSTP帧即可完成,这样将大大减少控制报文的发送数量,提高数据传输效率。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一终端设备发送所述TSTP帧后,所述第一终端设备维护第一定时器,若所述第一定时器超时且所述第一终端设备未接收到所述TSTP帧的应答报文,所述第一终端设备重传所述TSTP帧;当重传次数超过预设值,所述第一终端设备确认连接建立失败并停止发送所述TSTP帧。
在本申请提供的方案中,第一终端设备在发送TSTP帧后需要维护第一定时器,并在定时器超时后重传TSTP帧,在重传次数超过预设阈值时确认连接建立失败,这样可以保证与第二终端设备建立可靠的连接,实现传输的可靠性。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一终端设备发送所述TSTP帧时记录发送时间戳;所述第一终端设备接收所述TSTP帧的应答报文并记录接收时间戳;所述第一终端设备根据所述发送时间戳和所述接收时间戳确定来回通信延迟RTT。
在本申请提供的方案中,第一终端设备通过记录TSTP帧的发送时间和接收时间,从而可以计算得到RTT值,进而能够更好的估计网络的拥塞状态,从而及时的调整拥塞控制算法,避免丢包,保证通信的实时性。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一终端设备查验所述TSTP帧的应答报文的缓存位,若所述缓存位被置为0,所述第一终端设备根据所述发送时间戳和所述接收时间戳确定RTT;若所述缓存位被置为1,所述第一终端设备确定所述TSTP帧的应答报文不满足计算条件,放弃本次计算。
在本申请提供的方案中,第一终端设备通过查验接收报文的缓存位从而确定TSTP帧在传输过程中是否被缓存,并只对传输过程中没有被缓存的TSTP帧计算RTT,保证计算得到的RTT值是准确的,从而为调整拥塞控制算法提供依据。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一终端设备接收所述TSTP帧的应答报文,所述应答报文中包括第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量;所述第一终端设备根据所述RTT和所述接收窗口值,确定所述第一终端设备的发送窗口值,所述发送窗口值指示所述第一终端设备允许发送的数据量。
在本申请提供的方案中,第一终端设备利用第二终端设备的接收窗口值和RTT值,通过特定的拥塞控制算法决策自己的发送窗口值,控制自己发送的数据量,可以避免所发送的数据在传输过程中排队增大传输时延从而导致丢包等情况发生。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一终端设备根据所述RTT和传输链路带宽值,得到拥塞窗口值,所述拥塞窗口值指示所述传输链路允许传输的数据量;所述第一终端设备根据所述拥塞窗口值和所述接收窗口值,确定所述发送窗口值,其中,所述发送窗口值为所述拥塞窗口值和所述接收窗口值中的较小者。
在本申请提供的方案中,第一终端设备利用RTT值和传输链路带宽值计算得到拥塞窗口值,通过比较拥塞窗口值和接收窗口值,将其中较小者作为发送窗口值,这样可以避免丢包保证通信的实时性,且始终充分利用链路带宽,提高了带宽利用率。
第二方面,本申请提供了一种基于时间敏感传输协议TSTP的通信方法,所述方法包括:第二终端设备接收TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与所述第二终端设备建立通信连接和流量控制;所述第二终端设备发送所述TSTP帧的应答报文。
结合第二方面,在第二方面的一种可能的实现方式中,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
结合第二方面,在第二方面的一种可能的实现方式中,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,所述起始位用于指示所述第二终端设备与所述第一终端设备建立通信连接;所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;所述缓存位用于指示TSTP帧在传输过程中被缓存。
结合第二方面,在第二方面的一种可能的实现方式中,所述应答报文中包括所述第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量。
第三方面,本申请提供了一种基于时间敏感传输协议的通信装置,该装置可以是终端 设备或车载设备,也可以是终端设备或车载设备内的芯片。该装置具有上述第一方面涉及第一终端设备的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,该通信装置为第一终端设备时,包括:处理模块和收发模块,所述处理模块例如可以是处理器,所述收发模块例如可以是收发器,所述收发器可以包括射频电路和基带电路。收发模块用于支持第一终端设备与网络设备(例如交换机)或其它终端设备之间的通信,一个示例中,收发模块,还可以包括发送模块和接收模块。例如,接收模块,用于接收上层应用发送的数据;处理模块,用于对所述数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与第二终端设备建立通信连接和流量控制;发送模块,用于将所述TSTP帧发送给第二终端设备。可选的,该装置还可以包括存储器,所述存储器用于与处理器耦合,其保存该通信装置必要的程序指令和数据。
在另一种可能的设计中,该装置包括:处理器,基带电路,射频电路和天线。其中处理器用于实现对各个电路部分功能的控制,基带电路,射频电路和天线,用于指示该装置与其他设备之间的通信。例如,在下行通信中,射频电路可以对经由天线接收到的交换机发送的数据包进行数字转换、滤波、放大和下变频等处理后,经由基带电路进行解码按协议解封装以获取TSTP帧。可选的,该装置还包括存储器,其保存装置必要的程序指令和数据;在上行通信中,由基带电路生成携带TSTP帧的报文,经由射频电路进行模拟转换、滤波、放大和上变频等处理后,再由天线发送给交换机。
在又一种可能的实现方式中,该装置包括处理器和调制解调器,处理器可以用于指令或操作系统,以实现对该装置功能的控制,调制解调器可以按协议对数据进行封装、编解码、调制解调、均衡等以生成携带TSTP帧的上行报文,以支持第一终端设备执行第一方面中相应的功能;调制解调器还可以用于接收交换机发送的携带TSTP帧的下行报文,以根据TSTP帧中的头部字段信息,进行数据传输和流量控制。
在又一种可能的实现方式中,当该装置为终端设备内的芯片时,该芯片包括:处理模块和收发模块,所述处理模块例如可以是处理器,此处理器可以用于对经由收发模块接收到的上层应用发送的数据分组进行滤波、解调、功率放大、解码等处理,所述收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等。该处理模块可执行存储单元存储的计算机执行指令,以支持终端设备执行上述第一方面相应的功能。可选地,所述存储单元可以为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端设备内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,简称ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,简称RAM)等。
在又一种可能的实现方式中,该装置包括处理器,该处理器用于与存储器耦合,并读取存储器中的指令并根据所述指令执行上述第一方面中涉及第一终端设备的功能。该存储器可以位于该处理器内部,还可以位于该处理器外部。
第四方面,本申请提供了一种基于时间敏感传输协议的通信装置,该装置可以是终端 设备或车载设备,也可以是终端设备或车载设备内的芯片。该装置具有上述第二方面涉及第二终端设备的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,该通信装置为第二终端设备时,包括:处理模块和收发模块,所述处理模块例如可以是处理器,所述收发模块例如可以是收发器,所述收发器可以包括射频电路和基带电路。收发模块用于支持第二终端设备与网络设备(例如交换机)或其它终端设备之间的通信,一个示例中,收发模块,还可以包括发送模块和接收模块。例如,接收模块,用于接收TSTP帧;处理模块,用于对所述数据进行解封装,得到TSTP帧中携带的数据;发送模块,用于将所述TSTP帧的应答报文发送给第一终端设备。可选的,该装置还可以包括存储器,所述存储器用于与处理器耦合,其保存该通信装置必要的程序指令和数据。
在另一种可能的设计中,该装置包括:处理器,基带电路,射频电路和天线。其中处理器用于实现对各个电路部分功能的控制,基带电路,射频电路和天线,用于指示该装置与其他设备之间的通信。例如,在下行通信中,射频电路可以对经由天线接收到的交换机发送的数据包进行数字转换、滤波、放大和下变频等处理后,经由基带电路进行解码按协议解封装以获取TSTP帧。可选的,该装置还包括存储器,其保存装置必要的程序指令和数据;在上行通信中,由基带电路生成携带TSTP帧的应答报文,经由射频电路进行模拟转换、滤波、放大和上变频等处理后,再由天线发送给交换机。
在又一种可能的实现方式中,该装置包括处理器和调制解调器,处理器可以用于指令或操作系统,以实现对该装置功能的控制,调制解调器可以按协议对数据进行封装、编解码、调制解调、均衡等以生成携带TSTP帧的上行报文,以支持第二终端设备执行第二方面中相应的功能;调制解调器还可以用于接收交换机发送的携带TSTP帧的下行报文。
在又一种可能的实现方式中,当该装置为终端设备内的芯片时,该芯片包括:处理模块和收发模块,所述处理模块例如可以是处理器,此处理器可以用于对经由收发模块接收到的数据分组进行滤波、解调、功率放大、解码等处理,所述收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等。该处理模块可执行存储单元存储的计算机执行指令,以支持终端设备执行上述第二方面相应的功能。可选地,所述存储单元可以为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述第二终端设备内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,简称ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,简称RAM)等。
在又一种可能的实现方式中,该装置包括处理器,该处理器用于与存储器耦合,并读取存储器中的指令并根据所述指令执行上述第二方面中涉及终端设备的功能。该存储器可以位于该处理器内部,还可以位于该处理器外部。
第五方面,本申请提供了一种通信系统,所述通信系统包括第一终端设备和第二终端设备,所述第一终端设备用于执行上述第一方面以及结合上述第一方面中的任意一种实现方式的方法,所述第二终端设备用于执行上述第二方面以及结合上述第二方面中的任意一种实现方式的方法。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令可以由处理电路上的一个或多个处理器执行,当其在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任意一个可选的实现方式所描述的方法。
第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令可以由处理电路上的一个或多个处理器执行,当其在计算机上运行时,使得计算机执行上述第二方面或者第二方面的任意一个可选的实现方式所描述的方法。
第八方面,本申请提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任意一个可选的实现方式所描述的方法,该计算机产品可全部或部分的存储于封装于处理器当中的存储介质上,还可以全部或部分的存储在封装于处理器之外的存储介质中。
第九方面,本申请提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述第二方面或者第二方面的任意一个可选的实现方式所描述的方法,该计算机产品可全部或部分的存储于封装于处理器当中的存储介质上,还可以全部或部分的存储在封装于处理器之外的存储介质中。
第十方面,本申请提供了一种车辆,该车辆包括如上述第三方面或者第三方面的任意一个可选的实现方式所描述的通信装置,以及如上述第四方面或者第四方面的任意一个可选的实现方式所描述的通信装置;或者包括第五方面所描述的通信系统。
附图说明
图1是本申请实施例提供的一种连接建立对比示意图;
图2是本申请实施例提供的一种来回通信延迟测量对比示意图;
图3是本申请实施例提供的一种系统架构的示意图;
图4是本申请实施例提供的一种基于TSTP的通信方法的流程示意图;
图5是本申请实施例提供的一种TSTP帧格式的示意图;
图6是本申请实施例提供的一种标志位字段的结构示意图;
图7是本申请实施例提供的一种TSTP连接建立的示意图;
图8是本申请实施例提供的一种TSTP连接消耗的示意图;
图9是本申请实施例提供的一种TSTP连接建立和销毁并存的示意图;
图10是本申请实施例提供的一种基于TSTP估计RTT的示意图;
图11是本申请实施例提供的另一种基于TSTP估计RTT的示意图;
图12是本申请实施例提供的一种通信装置的结构示意图;
图13是本申请实施例提供的另一种通信装置的结构示意图;
图14是本申请实施例提供的另一种通信装置的结构示意图;
图15是本申请实施例提供的另一种通信装置的结构示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
首先,结合附图对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
时间敏感网络(time-sensitive networking,TSN)定义了以太网上时间敏感传输的机制,强调传输的超低延迟以及高可用性。TSN实际指的是在IEEE802.1标准框架下,基于特定应用需求制定的一组子标准,旨在为以太网协议建立通用的时间敏感机制,以确保网络数据传输的时间确定性,同时利用数据整形,确保延迟达到微秒级,利用帧复制和消除,确保无论发生链路故障、电缆断裂以及其它错误,均能强制实现可靠的通讯。
传输控制协议(transmission control protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。TCP为了保证报文传输的可靠,给每个包一个序号,同时序号保证了传送到接收端实体的包的按序接收,然后接收端实体对已成功收到的包返回一个相应的确认(ACK),如果发送端实体在往返时延(RTT)内未收到确认,那么将进行重传。
时间敏感传输协议(time sensive transmission protocol,TSTP)是本申请实施例所使用的一种可靠传输层协议,该协议位于用户数据报协议(user datagram protocol,UDP)和应用层协议之间,负责将上层应用的数据封装为TSTP帧并传递给UDP协议栈,通过其特殊的帧格式设计实现数据可靠、高效的传输。
可靠传输层协议是指在可能发生错帧、丢帧、帧乱序到达的以太网中,提供可靠通信功能的传输层协议,以保证数据接收方完整、有序的得到发送方发送的数据,例如TCP协议、TSTP协议等。
时间窗是指在Qbv车载以太网中分配的允许通信方收发数据的时间片段,当时间窗打开时,通信方可以收发数据,当时间窗关闭时,数据将被缓存,等待时间窗再次打开时,被缓存的数据再次进行发送或接收。
来回通信延迟(round-trip time,RTT)是在通信过程中,数据发送方的信号传播到数据接收方的时间,再加上数据接收方应答信号传播到数据发送方的时间。
目前随着智能驾驶的发展,智能车成为各大厂商重点研究的目标,其中智能车的通信需求也变得越发严格和重要。Qbv协议对传统以太网进行了补充,使得以太网更适合支撑智能车上的通信需求,相比起传统车载网络技术,例如控制器局域网(controller area network,CAN),车载以太网可以提供更高的数据传输率(最高可以达到1000兆比特每秒),以及与上层应用解耦的网络协议栈(基于TCP/互联网协议(internet protocol,IP)的协议栈等)。Qbv协议的出现使得以太网不仅能够支持车内高带宽流量的需求,例如空中下载(over-the-air,OTA)、娱乐系统等,还可以支持高可靠性、时延敏感的功能安全相关流量,例如高级辅助驾驶系统(advanced driver assistance system,ADAS)等。
数据的可靠传输对于车内功能安全相关流量至关重要,但仅依靠Qbv以太网不能保障 流量的可靠传输,流量在传输过程中可能发生丢帧、错帧、乱序等,需要与TCP相结合,从而实现车载以太网流量的可靠传输。但直接将Qbv协议和TCP结合将会导致多个性能方面的问题,如图1所示,其示出了一种连接建立对比示意图,在传统以太网中,客户端与服务器通过三次握手建立TCP连接,即客户端首先发送同步序列编号(synchronize sequence numbers,SYN)包给服务器(第一次握手);服务器在接收到SYN包之后,确认客户端发送的SYN包,同时自己也发送一个SYN包,即服务器将向客户端返回一个SYN包和确认包(第二次握手);客户端在接收到服务器发送的SYN包和确认包之后,向服务器发送确认包(第三次握手),在服务器接收到客户端发送的确认包之后,客户端和服务器则完成三次握手进入连接成功状态,此时客户端和服务器之间可以开始传送数据。在Qbv车载以太网中,由于时隙分配的原因,客户端与服务器在建立TCP连接过程中,其控制信息可能被缓存导致连接建立失败,如图1所示,客户端首先发送SYN包给服务器,服务器在接收到之后返回SYN包和确认包,客户端需要再次向服务器发送确认包以建立连接,但由于此时时间窗关闭,客户端发送的确认包被暂时缓存在交换机中等待传输机会,在等到时间窗被重新打开时,交换机将缓存的确认包发送给服务器,而由于确认包被缓存,服务器在预定时间内没有接收到确认包,因此判定连接建立失败,最终客户端和服务器需要重新进行三次握手以建立连接,浪费带宽。
此外,TCP依赖响应机制计算RTT,即客户端通过发送一个携带特定序号的数据包并记录发送时间,在接收到该特定序号的数据包的回复时记录接收时间,将接收时间和发送时间之差作为RTT的估计值。但是在Qbv网络中,由于时间窗调度可能导致数据包在传输过程中被缓存,从而导致计算得到的RTT值并不准确,如图2所示,在传统以太网中,客户端发送序列号为X的数据包并记录发送时间,服务器在接收到之后回复一个序列号为X的数据包和确认包,客户端在接收到服务器回复的数据包和确认包之后,记录接收时间,然后根据接收时间与发送时间计算得到RTT,同理,对于序列号为Y的数据包和序列号为Z的数据包也可以通过与上述类似的方法计算得到RTT。在Qbv车载以太网中,客户端首先发送序列号为X的数据包并记录发送时间,服务器通过交换机接收到之后回复一个序列号为X的数据包和确认包,由于此时交换机的时间窗处于打开状态,因此交换机将数据包和确认包直接转发给客户端,客户端计算得到的RTT是较为准确的,当客户端继续发送序列号为Y的数据包以及序列号为Z的数据包时,由于此时交换机的时间窗处于关闭状态,数据包将被暂时缓存在交换机中,客户端感知不到数据包被缓存,将会触发超时重传,即客户端将重新发送序列号为Y的数据包,当交换机的时间窗重新打开时,交换机将缓存的序列号为Z的数据包继续发送给服务器,服务器回复一个序列号为Z的数据包和确认包,客户端在接收到数据包和确认包之后计算RTT,此时客户端计算得到的RTT是不准确的,由于序列号为Z的数据包在传输过程中被缓存,因此该值比实际的RTT值要大。
由于数据包在传输过程中可能被缓存,导致频繁的丢帧和错误的RTT估计,从而使得客户端倾向于保守的估计链路的可用带宽,降低自己的发送窗口值和发送速率,从而导致较低的带宽利用率。
可用看出,通过将Qbv协议与TCP相结合在保障数据可靠传输的同时,其TCP连接建立和销毁时延较长,此外计算得到的RTT值不准确导致不能准确区分网络的拥塞状态,从 而采用保守的拥塞控制,降低了带宽利用率。
基于上述,本申请提供了一种基于时间敏感传输协议的通信方法,通过利用其特殊的帧格式实现数据的可靠传输,提高数据传输效率,且正确估计RTT值及网络拥塞状态以提高带宽利用率。
本申请实施例的技术方案可以应用于任何需要进行数据高效、可靠传输的通信系统中,例如车载以太网通信系统,只要该通信系统中存在其中一个实体需要发送TSTP帧,另一个实体需要接收该TSTP帧,并根据该TSTP帧中的头部字段建立通信连接和流量控制。
图3示出了本申请实施例的一种系统架构的示意图。如图3所示,该系统300包括:第一终端设备310、第二终端设备320、第一网络设备330和第二网络设备340,第一终端设备310与第一网络设备330进行连接,第二终端设备320与第二网络设备340进行连接,第一网络设备330和第二网络设备340通过以太网络进行数据传输,第一终端设备310包括第一物理层311、第一媒体接入控制层(medium access control,MAC)312(又可以称为以太网层)、第一网络层(例如网际协议版本4(internet protocol version 4,IPv4))313、第一用户数据报协议层(user datagram protocol,UDP)314、TSTP层315和第一应用层(application,APP)316,第二终端设备320的结构与第一终端设备310相同,也包含多个协议层,在两个终端设备进行通信的过程中,第一终端设备310首先将待发送的第一应用层316的数据传递给第一TSTP层315并封装为TSTP帧,然后依次将TSTP帧传递给第一UDP层314、第一网络层312和第一物理层311进行相应的封装,最后将封装得到的数据包发送给第一网络设备330,第一网络设备330通过以太网络将数据包发送给第二网络设备340,第二网络设备340收到数据包之后将其发送给第二终端设备320,第二终端设备320利用各个协议层对数据包进行层层解封,最终第二TSTP层325将数据字段取出并传递给第二应用层326,实现第一终端设备310和第二终端设备320之间的相互通信。
本申请实施例涉及的第一终端设备310和第二终端设备320可以是支持Qbv协议的网络终端设备,可以使用Qbv协议基于时间窗口对流量(也可以称为数据流、比特流等)进行调度,当时间窗打开时,将本地队列的流量发送到Qbv网络中或将本地队列的流量上报给更高层协议,当时间窗关闭时,将流量缓存在本地队列中。其具体形态可以是蜂窝电话、无绳电话、个人数字助理(personal digital assistant,PDA)设备、具有无限通信功能的手持设备、车载设备、可穿戴设备(例如智能手表、智能手环等)等。
本申请实施例涉及的第一网络设备330和第二网络设备340可以是支持Qbv协议的网络设备,也可以使用Qbv协议基于时间窗口对流量进行调度,当时间窗打开时,将本地队列的流量发送到Qbv网络中,当时间窗关闭时,将流量缓存在本地队列中。其具体形态可以是交换机、无线局域网(wireless local area network,WLAN)中的接入点(access point,AP)、演进型基站(evolutional node B,eNB)、中继站等。
可以看出,在图3所示的通信系统中,在UDP层和应用层之间,利用TSTP层取代之前的TCP层将数据封装为TSTP帧,通过TSTP帧的头部字段可以缩短连接的建立时间和销毁时间保证数据的可靠传输,且可以正确估计RTT值及网络拥塞状态,并进一步根据得到的RTT值决策出发送窗口的大小,提高带宽利用率。
结合图3所示的系统架构的示意图,下面将结合图4详细描述本申请实施例提供的基于TSTP的通信方法。图4中所描述的终端设备和网络设备可以分别对应图3中的所示的终端设备和网络设备,如图4所示,该方法包括但不限于以下步骤:
S401:第一终端设备接收上层应用发送的数据。
具体地,第一终端设备的上层应用产生待发送数据,这些待发送数据需要通过网络发送给第二终端设备,在进入网络之前,为了确保待发送数据能够准确被第二终端设备接收到,需要利用各个协议栈对待发送数据进行封装,通过相应的封装之后才能被网络识别并准确发送至第二终端设备。
S402:第一终端设备将待发送数据进行封装,得到TSTP帧。
具体地,在接收到上层应用发送的数据后,第一终端设备不再对其进行TCP封装,而是根据TSTP协议将待发送数据封装为TSTP帧,从而避免在第一终端设备和第二终端设备之间建立TCP连接,从而缩短连接建立和销毁时延。
示例性的,如图5所示,是本申请实施例提供的一种TSTP帧格式的示意图,其包含TSTP头部字段和TSTP数据字段,TSTP头部字段的长度为12字节,其构成类似于TCP头部,主要包括序列号字段、确认消息字段、标志位字段和窗口字段。序列号字段长度为4字节,用于指示当前传输帧中的TSTP数据部分的第一个字节在整个传输过程中的位置;确认消息字段长度为4字节,用于告诉对端下一个帧中TSTP数据部分的第一个字节的序列号,例如第二终端设备可以利用该字段告诉第一终端设备传输的下一个TSTP帧的数据部分的第一个字节的序列号,这两个字段的含义与TCP头部中所定义的含义一致;窗口字段的长度为2个字节,用于指示第一终端设备下一次可以传输的TSTP数据量的最大值,例如第二终端设备可以利用该字段告诉第一终端设备下一次传输的TSTP数据量的最大值,其单位为8字节,例如,当窗口字段的值为10时,表示下一次传送的数据量不能超过80个字节;标志位字段的长度为两个字节,其包含若干特殊的标志位,通过这些标志位可以实现连接建立、连接消耗、数据传输、拥塞控制等功能。参见图6,图6是本申请实施例提供的一种标志位字段的结构示意图,如图6所示,标志位字段包含起始位、结束位、错误位、缓存位和保留位,其中,起始位占用一个比特,当起始位被置1时表示该TSTP帧是一个新的配置连接的第一帧;结束位也占用一个比特,当结束位被置1时表示该TSTP帧是当前配置连接的最后一帧;错误位也占用一个比特,当错误位被置1时表示当前配置连接发生错误情况,连接将被关闭;缓存位也占用一个比特,当缓存位被置1时表示该TSTP帧在传输过程中被终端设备或交换机缓存;保留位占用四个比特,是保留字段,用于未来定义新的功能或指示信息。
容易理解,与TCP相比,TSTP是一种单向传输的协议,第一终端设备与第二终端设备的连接建立与销毁仅依赖于起始位和结束位的设置情况,可以利用两帧报文就完成连接的建立和销毁,特别是对于短报文来说,TSTP相比TCP降低了连接的建立和销毁成本,缩短了传输时延,提高了车载以太网的带宽利用率。
示例性的,对于TSTP连接的建立过程,如图7所示,当第一终端设备向第二终端设备发送第一帧数据报文时,第一终端设备构造一帧TSTP报文,并将起始位置为1,将序列号 字段设置为某个随机值x,然后将报文发送给第二终端设备,第二终端设备在接收到该报文之后,构造一帧TSTP应答报文,并将起始位也置为1,将确认消息字段设置为x,然后将其发送给第一终端设备,第一终端设备在接收到该报文之后标志着一个新的TSTP连接已成功建立。同理,TSTP连接的销毁过程与连接建立过程类似,如图8所示,第一终端设备在发送最后一帧报文时,将结束位置1,并将序列号字段设置为y,然后将该报文发送给第二终端设备,第二终端设备在接收到该报文之后,对该报文进行应答,并在应答报文中将结束位也置为1,将确认消息字段设置为y,然后将应答报文发送给第一终端设备,第一终端设备在接收到该应答报文之后标志着该TSTP连接被成功销毁。
在一种可能的实现方式中,TSTP连接的建立和销毁可以同时进行,如图9所示,如果待发送数据可以被封装在一帧报文中,第一终端设备在向第二终端设备发送TSTP报文时,可以将起始位和结束位同时置为1,第二终端设备在接收到该报文之后向第一终端设备发送应答报文,并在应答报文中也将起始位和结束位同时置为1,第一终端设备在接收到该应答报文之后,标志着已经完成数据传输,且TSTP连接也已被成功销毁。
需要说明的是,在传输TSTP帧的过程中,若第二终端设备接收到的数据出现异常或错误,例如接收到的TSTP帧的头部出现异常字段,则第二终端设备将构造一帧TSTP的应答报文,并将应答报文中的错误位置为1,第一终端设备在接收到该应答报文之后,确定与第二终端设备的连接失败,放弃继续向第二终端设备发送数据。
S403:第一终端设备将TSTP帧发送给第二终端设备。
具体地,第一终端设备在将TSTP帧发送给第二终端设备之前,利用UDP协议栈对TSTP帧进行进一步的封装得到UDP报文,TSTP帧处于UDP报文的数据字段中。
容易理解,由于UDP头部包含了UDP数据字段的长度,且TSTP头部的长度是固定的(即12字节),因此可以推算出TSTP数据的长度,此外,TSTP帧可以依赖于UDP的校验和字段进行错误检查。
进一步的,第一终端设备在向第二终端设备发送TSTP帧之后,将会维护一个定时器,如果定时器超时且未接收到第二终端设备发送的应答报文,则第一终端设备将会重传TSTP帧,如果重传次数超过预设阈值仍未接收到应答报文,则第一终端设备确定与第二终端设备的连接失败,放弃向第二终端设备继续发送数据。
需要说明的是,在TSTP连接建立时,即第一终端设备向第二终端设备发送第一个TSTP帧时,第一终端设备所维护的定时器为第一定时器,该第一定时器的值为一个预先配置好的参数值,该参数值可以根据需要进行灵活设置,本申请对此不作限定,在TSTP连接建立后,即第一终端设备继续向第二终端设备发送TSTP帧,第一终端设备所维护的定时器为第二定时器,该第二定时器的值为RTT估计值的倍数,且第二定时器的值在整个数据传输过程中将随着RTT估计值的变化而更新,但其与RTT估计值之间的倍数关系为一个预先配置的参数值,例如,第二定时器的值始终为RTT估计值的两倍。一般来说,所设置的第一定时器的值与第二定时器的值是不一样的,可以理解,通过第一定时器以及第二定时器的超时重传以及第二终端设备发送的应答报文,可以实现TSTP帧的可靠传输,其机制类似于TCP,但相较于TCP来说,其连接建立和销毁时延被大大缩短,带宽利用率得到了提高。
特别的,第一终端设备在发送每一个TSTP帧时,将会记录发送时间戳,并在接收到第 二终端设备发送的该TSTP帧的应答报文时记录接收时间戳,然后根据发送时间戳和接收时间戳,利用RTT估算算法,例如TCP估算网络RTT的算法,估算得到RTT值。
具体地,如图10所示,第一终端设备在发送每一个TSTP帧之前,首先将要确定时间窗是否打开,若时间窗打开,且时间窗长度大于一个RTT估计值时,允许发送TSTP帧,当接收到该TSTP帧的应答报文时且应答报文中的缓存位没有被置为1,即应答报文在传输过程中没有被缓存,第一终端设备确定该TSTP帧的应答报文满足计算条件,然后根据记录的发送时间和接收时间估算得到RTT值;若时间窗打开,但剩余时间窗长度小于一个RTT估计值时,允许发送TSTP帧,并将该TSTP帧中的缓存位置为1,当接收到该TSTP帧的应答报文时,不对本次传输进行RTT值的估算;当时间窗关闭时,第一终端设备将缓存TSTP帧,并将TSTP帧中的缓存位置为1,等待时间窗再次打开后发送该TSTP帧,当接收到该TSTP帧的应答报文时,也将放弃对本次传输进行RTT值的估算。
同理,对于第二终端设备来说,也需要根据时间窗的状态及长度,确定是否允许发送应答报文以及对缓存位进行设置。如图11所示,第二终端设备在发送应答报文之前,首先需要确定时间窗是否打开,若时间窗打开,且时间窗长度大于半个RTT估计值时,允许发送应答报文,该应答报文满足计算条件,第一终端设备在接收到该应答报文之后可以进一步估计RTT值;若时间窗打开,但时间窗长度小于半个RTT估计值时,允许发送应答报文,并将该应答报文中的缓存位置为1,此时该应答报文不满足计算条件;若时间窗关闭,第二终端设备将缓存该应答报文,并将应答报文中的缓存位置为1,等待时间窗重新打开时发送该应答报文,该应答报文同样不满足计算条件,第一终端设备在接收到该应答报文之后不会进行RTT估算。
总之,当TSTP帧被终端设备或交换机进行缓存,或有可能被缓存时,需要将缓存位置为1,被缓存的TSTP帧将不参与RTT的估算,只有满足在发送过程和接收过程均没有被缓存的TSTP帧才被允许计算RTT的值,这样可以保证计算得到的RTT的值是准确的,能够准确反应当前链路带宽的状态,为后续的拥塞控制提供依据。
值得说明的是,在本申请实施例中,对于RTT的计算是需要进行实时更新的,并不是在计算得到一个RTT值之后就不再进行计算,RTT估算算法是处于一直运行的状态中,每当有一个TSTP帧满足计算条件,则需要重新计算一次RTT的值,对RTT值进行更新,若TSTP帧在传输过程中被缓存,则放弃本次计算,如此循环反复,直至整个数据传输过程结束。
此外,由于第一终端设备在传输TSTP帧的过程中将会维护第二定时器,该第二定时器的值为RTT估计值的倍数,在第二定时器超时后,第一终端设备将会重传TSTP帧,此时,不论时间窗是否打开,以及时间窗长度是否超过RTT估计值,该重传报文及其对应的应答报文都将不参与RTT计算。若超时重传次数超过预设阈值后,第一终端设备仍未接收到应答报文,则第一终端设备确定连接失败,构造一个TSTP帧,并将该TSTP帧中的错误位置为1后发送给第二终端设备,然后结束连接并停止继续向第二终端设备发送数据。
在一具体的实施例中,第一终端设备根据计算得到的RTT值和传输链路带宽值,得到拥塞窗口值,根据所述拥塞窗口值和接收窗口值,确定发送窗口值,其中,所述发送窗口值为所述拥塞窗口值和所述接收窗口值中的较小者。
具体地,Qbv协议在规划终端设备和交换机的时间窗时,会根据链路速率、以太网帧的大小以及传输的数据量来估算每一个数据报文的端到端的传输时间(没有考虑数据报文排队情况),进而将时间窗大小设定为传输所有数据所需要的传输时间,因此,Qbv规划的时间窗长度是没有考虑网络的拥塞情况,也没有考虑规划外的流量。所以,若要满足数据传输的实时性要求,就需要按照Qbv规划的时间窗来规划待传输的流量,需要尽量避免超时重传,若链路拥塞,超时重传的次数过多,则将不能满足实时性要求,故需要利用拥塞控制算法计算出拥塞窗口值,避免链路出现拥塞,提高带宽利用率。
进一步的,第一终端设备在计算得到RTT值后,可以利用下述公式1计算得到当前链路对应的拥塞窗口值,其中,公式1为:
拥塞窗口=RTT*Qbv分配带宽值-未应答数据量       公式1
其中,Qbv分配带宽值表示当前链路所能承载的最大数据量,由于在Qbv分配的时间窗内,第一终端设备所发送的数据可以独占所有的链路带宽,因此Qbv分配带宽值就为链路带宽值,未应答的数据量为第一终端设备已发送,但是未收到应答报文的数据量,然后利用计算得到的RTT值乘以链路带宽值就得到了当前链路允许发送的最大数据量,然后减去未应答数据量得到拥塞窗口值,即只要第一终端设备所发送的数据量不超过拥塞窗口值,就不会引起链路拥塞,避免丢帧,且保证实时性要求。最后,第一终端设备根据第二终端设备所发送的应答报文中的窗口字段确定接收窗口值,该接收窗口值为第二终端设备根据本地可用的缓存大小而确定所允许接收的最大数据量,第一终端设备对拥塞窗口值和接收窗口值进行比较,将该两者中的较小者确定为最终的发送窗口值,从而保证所发送的数据量不会引起链路拥塞,进而提高带宽利用率。
可以看出,与TCP相比,本申请实施例在计算RTT的过程中考虑了Qbv的缓存行为,从而确保所计算得到的RTT更加准确,并在计算得到RTT之后,主动估计链路带宽,确定拥塞窗口值和网络的拥塞状态,解决了TCP过于保守的流量控制,最后根据拥塞窗口值和接收窗口值确定发送窗口值,保证始终充分利用链路可用带宽,提高了带宽利用率,且能够有效避免丢帧保证通信的实时性。
为了便于更好的实施本申请实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
参见图12,图12为本申请实施例提供的一种通信装置的结构示意图,该通信装置可以是上述图4所述的方法实施例中的第一终端设备,可以执行图4所述的基于TSTP的通信方法实施例中以第一终端设备为执行主体的方法和步骤。如图12所示,该通信装置100包括处理模块110和发送模块120。其中,
处理模块110,用于将待发送数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与第二终端设备建立通信连接和流量控制;
发送模块120,用于发送所述TSTP帧。
作为一个实施例,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个 字节的位置;所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
作为一个实施例,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,所述起始位用于指示所述第一终端设备与所述第二终端设备建立通信连接;所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;所述缓存位用于指示TSTP帧在传输过程中被缓存。
作为一个实施例,所述处理模块110,还用于当TSTP真包括待发送的全部数据,将所述起始位和所述结束位同时置为1。
作为一个实施例,所述处理模块110,还用于维护第一定时器,若所述第一定时器超时且未接收到所述TSTP帧的应答报文,重传所述TSTP帧;当重传次数超过预设值,确认连接建立失败并停止发送所述TSTP帧。
作为一个实施例,所述发送模块120,还用于发送所述TSTP帧记录发送时间戳;所述通信装置100还包括接收模块130,所述接收模块130,用于接收所述TSTP帧的应答报文并记录接收时间戳;所述处理模块110,还用于根据所述发送时间戳和所述接收时间戳确定来回通信延迟RTT。
作为一个实施例,所述处理模块110,具体用于:查验所述TSTP帧的应答报文的缓存位,若所述缓存位被置为0,根据所述发送时间戳和所述接收时间戳确定RTT;若所述缓存位被置为1,确定所述TSTP帧的应答报文不满足计算条件,放弃本次计算。
作为一个实施例,所述接收模块130,还用于接收所述TSTP帧的应答报文,所述应答报文中包括第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量;所述处理模块110,还用于根据所述RTT和所述接收窗口值,确定所述第一终端设备的发送窗口值,所述发送窗口值指示所述第一终端设备允许发送的数据量。
作为一个实施例,所述处理模块110,具体用于:根据所述RTT和传输链路带宽值,得到拥塞窗口值,所述拥塞窗口值指示所述传输链路允许传输的数据量;根据所述拥塞窗口值和所述接收窗口值,确定所述发送窗口值,其中,所述发送窗口值为所述拥塞窗口值和所述接收窗口值中的较小者。
可以理解,本申请实施例中的接收模块130和发送模块120可以由收发器或收发器相关电路组件实现,处理模块110可以由处理器或处理器相关电路组件实现。
需要说明的是,上述通信装置的结构仅仅作为一种示例,不应构成具体限定,可以根据需要对该通信装置中的各个模块进行增加、减少或合并。此外,该通信装置中的各个模块的操作和/或功能是为了实现上述图4所描述的方法的相应流程,为了简洁,在此不再赘述。
参见图13,图13为本申请实施例提供的另一种通信装置的结构示意图,该通信装置可以是上述图4所述的方法实施例中的第二终端设备,可以执行图4所述的基于TSTP的通信方法实施例中以第二终端设备为执行主体的方法和步骤。如图13所示,该通信装置200包括接收模块210和发送模块220。其中,
接收模块210,用于接收TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与所述第二终端设备建立通信连接和流量控制;
发送模块220,用于发送所述TSTP帧的应答报文。
作为一个实施例,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
作为一个实施例,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,所述起始位用于指示所述第二终端设备与所述第一终端设备建立通信连接;所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;所述缓存位用于指示TSTP帧在传输过程中被缓存。
作为一个实施例,所述应答报文中包括所述第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量。
可以理解,本申请实施例中的接收模块210和发送模块220可以由收发器或收发器相关电路组件实现。
需要说明的是,上述通信装置的结构仅仅作为一种示例,不应构成具体限定,可以根据需要对该通信装置中的各个模块进行增加、减少或合并。此外,该通信装置中的各个模块的操作和/或功能是为了实现上述图4所描述的方法的相应流程,为了简洁,在此不再赘述。
参见图14,图14是本申请实施例提供的另一种通信装置的结构示意图。如图14所示,该通信装置400包括:处理器410、通信接口420以及存储器430,所述处理器410、通信接口420以及存储器430通过内部总线440相互连接。应理解,该通信装置400可以是终端设备或车载设备,应用于车载以太网中。
所述处理器410可以由一个或者多个通用处理器构成,例如中央处理器(central processing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
总线440可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线440可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但不表示仅有一根总线或一种类型的总线。
存储器430可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器430也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk  drive,HDD)或固态硬盘(solid-state drive,SSD);存储器430还可以包括上述种类的组合。
需要说明的是,通信装置400的存储器430中存储了通信装置100的各个模块对应的代码,处理器410执行这些代码实现了通信装置100的各个模块的功能,即执行了S401-S403的方法。
参见图15,图15是本申请实施例提供的另一种通信装置的结构示意图。如图15所示,该通信装置500包括:处理器510、通信接口520以及存储器530,所述处理器510、通信接口520以及存储器530通过内部总线540相互连接。应理解,该通信装置500可以是终端设备或车载设备,应用于车载以太网中。
所述处理器510可以由一个或者多个通用处理器构成,例如CPU,或者CPU和硬件芯片的组合。上述硬件芯片可以是ASIC、PLD或其组合。上述PLD可以是CPLD、FPGA、GAL或其任意组合。
总线540可以是PCI总线或EISA总线等。所述总线340可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但不表示仅有一根总线或一种类型的总线。
存储器530可以包括volatile memory,例如RAM;存储器530也可以包括non-volatile memory,例如ROM、快闪存储器、HDD或SSD;存储器530还可以包括上述种类的组合。
需要说明的是,通信装置500的存储器530中存储了通信装置200的各个模块对应的代码,处理器510执行这些代码实现了通信装置200的各个模块的功能,即执行了S401-S403的方法。
本申请还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述方法实施例中记载的任意一种的部分或全部步骤。
本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种基于TSTP的通信方法的部分或全部步骤。
本申请实施例还提供了一种车辆,该车辆包括图12-图15所对应的实施例中描述的任一通信装置,以及由这些通信装置所构成的通信系统。可以理解的,本申请实施例中的车辆可以是“汽车”、“车辆”和“整车”或者其它相似术语包括一般的机动车辆,例如包括轿车、SUV、MPV、公交车、卡车和其它载货或者载客车辆,包括各种船、艇在内的水运工具,以及航空器等,包括混合动力车辆、电动车辆、燃油车辆、插电式混合动力车辆、燃料电池汽车以及其它代用燃料车辆。其中,混合动力车辆指的是具有两种或者多种动力源的车辆,电动车辆包括纯电动汽车、增程式电动汽车等,本申请对此不做具体限定。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本 申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

Claims (29)

  1. 一种基于时间敏感传输协议TSTP的通信方法,其特征在于,所述方法包括:
    第一终端设备将待发送数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示所述第一终端设备与第二终端设备建立通信连接和流量控制;
    所述第一终端设备发送所述TSTP帧。
  2. 如权利要求1所述的方法,其特征在于,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,
    所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;
    所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;
    所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
  3. 如权利要求1或2所述的方法,其特征在于,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,
    所述起始位用于指示所述第一终端设备与所述第二终端设备建立通信连接;
    所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;
    所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;
    所述缓存位用于指示TSTP帧在传输过程中被缓存。
  4. 如权利要求3所述的方法,其特征在于,所述方法还包括:
    若TSTP帧包括待发送的全部数据,所述起始位和所述结束位同时置为1。
  5. 如权利要求1-4任一项所述的方法,其特征在于,所述第一终端设备发送所述TSTP帧后,所述方法还包括:
    所述第一终端设备维护第一定时器,若所述第一定时器超时且所述第一终端设备未接收到所述TSTP帧的应答报文,所述第一终端设备重传所述TSTP帧;
    当重传次数超过预设值,所述第一终端设备确认连接建立失败并停止发送所述TSTP帧。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    所述第一终端设备发送所述TSTP帧时记录发送时间戳;
    所述第一终端设备接收所述TSTP帧的应答报文并记录接收时间戳;
    所述第一终端设备根据所述发送时间戳和所述接收时间戳确定来回通信延迟RTT。
  7. 如权利要求6所述的方法,其特征在于,所述第一终端设备根据所述发送时间戳和所述接收时间戳确定来回通信延迟RTT,包括:
    所述第一终端设备查验所述TSTP帧的应答报文的缓存位,若所述缓存位被置为0,所述第一终端设备根据所述发送时间戳和所述接收时间戳确定RTT;若所述缓存位被置为1,所述第一终端设备确定所述TSTP帧的应答报文不满足计算条件,放弃本次计算。
  8. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一终端设备接收所述TSTP帧的应答报文,所述应答报文中包括第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量;
    所述第一终端设备根据所述RTT和所述接收窗口值,确定所述第一终端设备的发送窗口值,所述发送窗口值指示所述第一终端设备允许发送的数据量。
  9. 如权利要求8所述的方法,其特征在于,所述第一终端设备根据所述RTT和所述接收窗口值,确定所述第一终端设备的发送窗口值,包括:
    所述第一终端设备根据所述RTT和传输链路带宽值,得到拥塞窗口值,所述拥塞窗口值指示所述传输链路允许传输的数据量;
    所述第一终端设备根据所述拥塞窗口值和所述接收窗口值,确定所述发送窗口值,其中,所述发送窗口值为所述拥塞窗口值和所述接收窗口值中的较小者。
  10. 一种基于时间敏感传输协议TSTP的通信方法,其特征在于,所述方法包括:
    第二终端设备接收TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与所述第二终端设备建立通信连接和流量控制;
    所述第二终端设备发送所述TSTP帧的应答报文。
  11. 如权利要求10所述的方法,其特征在于,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,
    所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;
    所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;
    所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
  12. 如权利要求10或11所述的方法,其特征在于,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,
    所述起始位用于指示所述第二终端设备与所述第一终端设备建立通信连接;
    所述结束位用于指示所述第二终端设备与所述第一终端设备断开通信连接;
    所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;
    所述缓存位用于指示TSTP帧在传输过程中被缓存。
  13. 如权利要求10-12任一项所述的方法,其特征在于,所述应答报文中包括所述第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量。
  14. 一种通信系统,其特征在于,包括第一终端设备和第二终端设备,其中,
    所述第一终端设备用于执行上述权利要求1-9任一项所述的方法;
    所述第二终端设备用于执行上述权利要求10-13任一项所述的方法。
  15. 一种通信装置,其特征在于,包括:
    处理模块,用于将待发送数据进行封装,得到时间敏感传输协议TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与第二终端设备建立通信连接和流量控制;
    发送模块,用于发送所述TSTP帧。
  16. 如权利要求15所述的通信装置,其特征在于,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,
    所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;
    所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;
    所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
  17. 如权利要求15或16所述的通信装置,其特征在于,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,
    所述起始位用于指示所述第一终端设备与所述第二终端设备建立通信连接;
    所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;
    所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;
    所述缓存位用于指示TSTP帧在传输过程中被缓存。
  18. 如权利要求17所述的通信装置,其特征在于,
    所述处理模块,还用于当TSTP真包括待发送的全部数据,将所述起始位和所述结束位同时置为1。
  19. 如权利要求15-18任一项所述的通信装置,其特征在于,
    所述处理模块,还用于维护第一定时器,若所述第一定时器超时且未接收到所述TSTP帧的应答报文,重传所述TSTP帧;当重传次数超过预设值,确认连接建立失败并停止发送所述TSTP帧。
  20. 如权利要求15-19任一项所述的通信装置,其特征在于,
    所述发送模块,还用于发送所述TSTP帧记录发送时间戳;
    所述通信装置还包括接收模块,所述接收模块,用于接收所述TSTP帧的应答报文并记录接收时间戳;
    所述处理模块,还用于根据所述发送时间戳和所述接收时间戳确定来回通信延迟RTT。
  21. 如权利要求20所述的通信装置,其特征在于,所述处理模块,具体用于:
    查验所述TSTP帧的应答报文的缓存位,若所述缓存位被置为0,根据所述发送时间戳和所述接收时间戳确定RTT;若所述缓存位被置为1,确定所述TSTP帧的应答报文不满足计算条件,放弃本次计算。
  22. 如权利要求21所述的通信装置,其特征在于,
    所述接收模块,还用于接收所述TSTP帧的应答报文,所述应答报文中包括第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量;
    所述处理模块,还用于根据所述RTT和所述接收窗口值,确定所述第一终端设备的发送窗口值,所述发送窗口值指示所述第一终端设备允许发送的数据量。
  23. 如权利要求22所述的通信装置,其特征在于,所述处理模块,具体用于:
    根据所述RTT和传输链路带宽值,得到拥塞窗口值,所述拥塞窗口值指示所述传输链路允许传输的数据量;
    根据所述拥塞窗口值和所述接收窗口值,确定所述发送窗口值,其中,所述发送窗口值为所述拥塞窗口值和所述接收窗口值中的较小者。
  24. 一种通信装置,其特征在于,包括:
    接收模块,用于接收TSTP帧,所述TSTP帧包括TSTP头部字段,所述TSTP头部字段指示第一终端设备与所述第二终端设备建立通信连接和流量控制;
    发送模块,用于发送所述TSTP帧的应答报文。
  25. 如权利要求24所述的通信装置,其特征在于,所述TSTP头部字段包括序列号字段、确认消息字段和窗口字段,其中,
    所述序列号字段用于指示所述第一终端设备当前传输的TSTP帧中的数据部分的第一个字节的位置;
    所述确认消息字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据部分的第一个字节对应的序列号;
    所述窗口字段用于指示所述第一终端设备下一次传输的TSTP帧中的数据量的最大值。
  26. 如权利要求24或25所述的通信装置,其特征在于,所述TSTP头部字段还包括标志位字段,所述标志位字段包括起始位、结束位、错误位和缓存位,其中,
    所述起始位用于指示所述第二终端设备与所述第一终端设备建立通信连接;
    所述结束位用于指示所述第一终端设备与所述第二终端设备断开通信连接;
    所述错误位用于指示所述第一终端设备与所述第二终端设备之间的通信连接出现错误;
    所述缓存位用于指示TSTP帧在传输过程中被缓存。
  27. 如权利要求24-26任一项所述的通信装置,其特征在于,所述应答报文中包括所述第二终端设备的接收窗口值,所述接收窗口值指示所述第二终端设备允许接收的数据量。
  28. 一种通信装置,其特征在于,所述通信装置包括存储器和处理器,所述处理器执行存储器存储的计算机指令,使得所述通信装置执行权利要求1-9任一项所述的方法。
  29. 一种通信装置,其特征在于,所述通信装置包括存储器和处理器,所述处理器执行存储器存储的计算机指令,使得所述通信装置执行权利要求10-13任一项所述的方法。
PCT/CN2021/084785 2021-03-31 2021-03-31 一种基于时间敏感传输协议的通信方法和相关装置 WO2022205248A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180001441.1A CN113302887B (zh) 2021-03-31 2021-03-31 一种基于时间敏感传输协议的通信方法和相关装置
PCT/CN2021/084785 WO2022205248A1 (zh) 2021-03-31 2021-03-31 一种基于时间敏感传输协议的通信方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/084785 WO2022205248A1 (zh) 2021-03-31 2021-03-31 一种基于时间敏感传输协议的通信方法和相关装置

Publications (1)

Publication Number Publication Date
WO2022205248A1 true WO2022205248A1 (zh) 2022-10-06

Family

ID=77331316

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/084785 WO2022205248A1 (zh) 2021-03-31 2021-03-31 一种基于时间敏感传输协议的通信方法和相关装置

Country Status (2)

Country Link
CN (1) CN113302887B (zh)
WO (1) WO2022205248A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746605B (zh) * 2021-08-26 2023-01-24 深圳市盛博科技嵌入式计算机有限公司 可靠的工业数据流的传输方法
CN114500606A (zh) * 2022-02-21 2022-05-13 中车大连电力牵引研发中心有限公司 一种固定编组列车网络架构系统
CN115051887A (zh) * 2022-06-06 2022-09-13 国汽智控(北京)科技有限公司 数据转换方法、接口转换设备以及车辆
CN117560432A (zh) * 2022-08-04 2024-02-13 华为技术有限公司 通信方法、设备及存储介质
WO2024082968A1 (en) * 2022-10-19 2024-04-25 Huawei Technologies Co., Ltd. Systems and methods for providing a low delay service in a wireless local area network (wlan)
CN115695582A (zh) * 2022-10-31 2023-02-03 天翼数字生活科技有限公司 一种低延时传输控制的方法、接收终端和发送终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830472A (zh) * 2019-11-07 2020-02-21 西北工业大学 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法
US20200235923A1 (en) * 2013-09-10 2020-07-23 Network-1 Technologies, Inc. Set of Servers for "Machine-to-Machine" Communications Using Public Key Infrastructure
CN112422481A (zh) * 2019-08-22 2021-02-26 华为技术有限公司 网络威胁的诱捕方法、系统和转发设备
CN112491731A (zh) * 2020-10-13 2021-03-12 曙光网络科技有限公司 流表处理方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895332B (zh) * 2010-08-09 2012-11-28 中国电子科技集团公司第五十四研究所 一种空间tcp流量控制和差错控制方法
CN101969371A (zh) * 2010-10-19 2011-02-09 高杰 一种基于用户数据包协议实现网络数据高速可靠传输的方法
JP5625748B2 (ja) * 2010-10-28 2014-11-19 ソニー株式会社 通信装置、通信システム、プログラム及び通信方法
CN106330752B (zh) * 2015-06-26 2020-11-03 华为技术有限公司 Tcp流量控制中接收窗口的确定方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200235923A1 (en) * 2013-09-10 2020-07-23 Network-1 Technologies, Inc. Set of Servers for "Machine-to-Machine" Communications Using Public Key Infrastructure
CN112422481A (zh) * 2019-08-22 2021-02-26 华为技术有限公司 网络威胁的诱捕方法、系统和转发设备
CN110830472A (zh) * 2019-11-07 2020-02-21 西北工业大学 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法
CN112491731A (zh) * 2020-10-13 2021-03-12 曙光网络科技有限公司 流表处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113302887A (zh) 2021-08-24
CN113302887B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
WO2022205248A1 (zh) 一种基于时间敏感传输协议的通信方法和相关装置
US10237153B2 (en) Packet retransmission method and apparatus
US9985749B2 (en) Method and system for improving wireless link efficiency
US8958411B2 (en) Method of transmitting RLC data
ES2388750T3 (es) Modo de RCL bidireccional no persistente para servicios de bajo retardo
EP3410623B1 (en) Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
US20070064631A1 (en) Method and apparatus for transmitting signaling data messages in a wireless communications system
US8473800B2 (en) Method and apparatus for ACK/NACK reporting
KR20180048760A (ko) 패킷 전송 방법 및 사용자 장비
AU2009209739A1 (en) Method for sending status information in mobile telecommunications system and receiver of mobile telecommunications
WO2009022877A2 (en) A method of transmitting and processing data block of specific protocol layer in wireless communication system
JP2005151013A (ja) 通信装置
US20170012745A1 (en) Method and apparatus for triggering acknowledgement status report in wireless communications system
US10932159B2 (en) Data transmission method, data receiving device, and data sending device
JP3727198B2 (ja) ゲートウェイ装置
US7490160B2 (en) Method of efficiently transmitting/receiving data using transport layer in a mobile ad hoc network, and network device using the method
CN116963175A (zh) 数据传输方法、装置及系统
TW200838208A (en) Techniques to expedite retransmission of ARQ blocks using temporal relationships in wireless networks
CN113424578B (zh) 一种传输控制协议加速方法和装置
US20240154735A1 (en) Method and apparatus for transmitting objects based on deadline-aware
JP4796619B2 (ja) 移動通信システム、通信装置及び方法
CN114449057A (zh) 一种数据传输方法及装置
JP3923977B2 (ja) ゲートウェイ装置
JP2005102340A (ja) ゲートウェイ装置
JP2011055191A (ja) 無線移動機及び再送要求制御方法

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21933908

Country of ref document: EP

Kind code of ref document: A1