A transport protocol provides communication services between its transport endpoints over an underlying network. Transmission Control Protocol supplies a reliable ordered byte stream; User Datagram Protocol supplies datagrams without that built-in recovery service. Applications can implement further mechanisms over either interface.
Flow control limits a sender according to a receiver's buffering or processing capacity, rather than the capacity of the intervening computer network.
A dependency by which an unready receiver delays upstream acceptance of further work. In synchronous message passing it can propagate through a chain of blocked sends; a finite buffer postpones this propagation until its capacity is used.
A sliding window protocol permits a range of numbered data to be outstanding or accepted, advancing that range as transmission makes progress.
A receive window bounds the numbered data a receiver is prepared to accept. In TCP, the receiver advertises a window that limits the sender independently of the sender's congestion window.
A send window specifies the numbered data a sender may transmit before further progress permits the range to advance.
An acknowledgement reports receipt according to the protocol's rules. A TCP cumulative acknowledgement names the next expected byte; it does not establish that the application has durably acted on all preceding data.
A delayed acknowledgement postpones a response briefly so that one acknowledgement may cover more data or accompany returning data. Its timer can interact with Nagle's algorithm to delay a short exchange.
A transport sequence number identifies a data position within an exchange, supporting ordering, duplicate rejection and precise acknowledgements. TCP numbers bytes rather than simply numbering packets.
Data retransmission sends data again to recover from loss or detected corruption. Transport sequence numbers let a receiver recognize a duplicate if the original transmission arrived but its acknowledgement was lost.
A transport port is a numbered identifier used by a transport protocol to distinguish communication endpoints at a host. TCP and UDP have separate port spaces.
QUIC is a transport protocol over User Datagram Protocol that provides multiple flow-controlled streams, cryptographic protection and connection migration. RFC 9000 published the version-1 transport specification in May 2021. Several streams can share one connection while retaining separate ordering: loss affecting one stream need not stop delivery of already available data on another. Congestion control and connection-wide limits still couple their use of network resources.[ref]
At the 17 January 2020 examination date, the cited November 2019 design was an Internet-Draft and work in progress. This historical description does not treat a later standard as already available.[ref]
User Datagram Protocol supplies a datagram transport interface without built-in reliable ordered-stream delivery. An application or another protocol can add recovery over that interface, as the pre-2020 QUIC design illustrates.
Transmission Control Protocol provides a reliable ordered byte-stream service between its endpoints, using sequencing, acknowledgements and retransmission. Receipt by that transport does not establish that a receiving application has durably stored the data or completed a user operation.[ref]
A zero-window probe solicits a current receive window advertisement when a sender has been stopped by a zero window. Repeated probes recover from a lost reopening acknowledgement.
The persist timer schedules repeated zero-window probes, preventing an exchange from waiting forever after a window-reopening message is lost.
Silly window syndrome is inefficient transmission in tiny TCP segments, arising through small writes or small increments of advertised receiving space. Sender and receiver measures address different causes.
Nagle's algorithm coalesces small writes while data are unacknowledged, permitting another send when a full TCP segment can be formed or the outstanding data have been acknowledged. It reduces tiny transmissions but can add delay.
A TCP segment contains a TCP header and zero or more data bytes. The header carries sequencing, acknowledgement and receive window information.

Articles by others on the same topic (0)

There are currently no matching articles.