Looks like no one added any tags here yet for you.
Transport Layer
The layer of the protocol hierarchy that provides data transport from a process on a source machine to a process on a destination machine with a desired level of reliability.
Protocol Hierarchy
The layered structure of protocols where each layer provides specific services to the layer above it.
Transport Service
The goal of the transport layer to provide efficient, reliable, and cost-effective data transmission service to its users, normally processes in the application layer.
Connection-Oriented Transport Service
A type of transport service that establishes, transfers, and releases connections between processes, similar to the connection-oriented network service.
Connectionless Transport Service
A type of transport service that does not establish connections and is similar to the connectionless network service.
Transport Service Primitives
Operations provided by the transport layer to application programs to establish, use, and release connections, such as LISTEN, CONNECT, SEND, RECEIVE, and DISCONNECT.
State diagram
A visual representation of the different states and transitions in a system.
Connection establishment
The process of establishing a connection between two entities in a network.
Connection release
The process of terminating a connection between two entities in a network.
Primitives
Basic operations or functions provided by a programming interface.
Socket
A communication endpoint that allows processes to communicate over a network.
Bind
Associate a local address with a socket.
Listen
Announce willingness to accept connections and specify the size of the connection queue.
Accept
Passively establish an incoming connection.
Connect
Actively attempt to establish a connection.
Send
Send data over a connection.
Receive
Receive data from a connection.
Close
Release a connection.
File descriptor
A unique identifier used to access a file or socket in a computer system.
IP address
A unique numerical label assigned to each device connected to a computer network.
Port
A communication endpoint in an operating system that identifies a specific process or service.
Chunk size
The size of data blocks used for file transfer.
Pending connections
The number of connections that can be held in a queue before additional ones are discarded.
Read
Retrieve data from a file or socket.
Write
Store data to a file or socket.
File
A named collection of data stored on a computer.
Socket
A communication endpoint that allows processes to communicate with each other over a network.
setsockopt
A function used to set options for a socket.
bind
A function used to associate a socket with a specific IP address and port number.
listen
A function used to announce the server's willingness to accept incoming calls and specify the maximum number of pending connections.
accept
A function that blocks the server until a client tries to establish a connection and returns a socket descriptor for reading and writing.
TCP connection
A bidirectional connection established between a client and a server using the TCP protocol.
fatal
A procedure that prints an error message and exits the program.
NSAP
Network Service Access Point, an endpoint in the network layer.
TSAP
Transport Service Access Point, an endpoint in the transport layer.
Portmapper
A special process that maps service names to TSAP addresses in a dynamic addressing scheme.
Initial connection protocol
An alternative scheme where a special process server acts as a proxy for less heavily used servers, allowing them to be created on demand.
Inetd
The process server on UNIX systems that listens to a set of ports and waits for connection requests.
Connection request
The request made by potential users of a service to establish a connection, specifying the TSAP address of the service they want.
Process server
The server that receives the incoming connection request and spawns the requested server, allowing it to inherit the existing connection with the user.
Delayed and duplicate packets
The problem caused by network congestion, where packets can be lost, delayed, corrupted, or duplicated, leading to complications in establishing connections.
Throwaway transport addresses
The approach of generating a brand new transport address each time it is needed, discarding it after the connection is released to prevent delayed duplicate packets from reaching a transport process.
Unique identifier
A sequence number incremented for each connection established, used to identify and discard delayed duplicate packets.
Packet lifetime restriction
Techniques such as restricted network design, hop counters, or timestamping to limit the maximum lifetime of packets, preventing delayed duplicates from causing issues.
Tomlinson's method
A method that labels segments with sequence numbers that will not be reused within a certain time period, ensuring that delayed duplicates of old packets are rejected by the destination.
Three-way handshake
The process of establishing a connection by exchanging three messages between the source and destination, ensuring that both parties are ready to communicate.
Three-way handshake
A connection establishment protocol introduced by Tomlinson (1975) that involves one peer checking with the other to verify the current connection request.
Sequence number
A number chosen by a host to identify the order of segments in a connection.
ACK segment
A segment sent by a host to acknowledge the receipt of a sequence number and announce its own initial sequence number.
Initial sequence number
The sequence number chosen by a host to start the transmission of data segments in a connection.
Data segment
A segment containing actual data sent by a host in a connection.
Delayed duplicate
A duplicate segment that arrives at a host without the sender's knowledge due to delays in the network.
Connection release
The process of terminating a connection between two hosts.
Asymmetric release
A style of terminating a connection where one party hangs up, resulting in an abrupt disconnection that may cause data loss.
Symmetric release
A style of terminating a connection where each direction of the connection is released independently, allowing a host to continue receiving data even after sending a DISCONNECT segment.
DISCONNECT segment
A segment sent by a host to initiate the release of a connection.
Four-way handshake
A release protocol that involves the exchange of DISCONNECT and ACK segments between two hosts to ensure a proper disconnection.
Half-open connection
A connection state where one side has released the connection, but the other side is still active, resulting in an incomplete and unacceptable state.
Timer
A mechanism used by transport entities to measure the time it takes for a segment to be sent and received.
Dummy segment
A segment that is transmitted to keep the other side from disconnecting when the timer expires.
Automatic disconnect rule
A rule that automatically disconnects the transport entities if too many dummy segments are lost on an idle connection.
Transport user
The user of the transport layer who is responsible for deciding when to disconnect a connection.
Symmetric close
A type of connection close in TCP where each side independently closes its half of the connection with a FIN packet.
Asymmetric close
A type of connection close in TCP where the server sends a RST packet to abruptly close the connection.
Error control
The process of ensuring that data is delivered with the desired level of reliability, usually without any errors.
Flow control
The process of preventing a fast transmitter from overwhelming a slow receiver.
Error-detecting code
A code, such as a CRC or checksum, carried by a frame to check if the information was correctly received.
ARQ (Automatic Repeat reQuest)
A mechanism where a frame is retransmitted by the sender until it receives an acknowledgement of successful receipt from the receiver.
Sliding window protocol
A protocol that combines error control and flow control features and supports bidirectional data transfer.
End-to-end check
A checksum at the transport layer that protects a segment while it crosses an entire network path.
End-to-end argument
The principle that the transport layer check is essential for correctness, while the link layer checks are valuable for improving performance.
Bandwidth-delay product
The product of the bandwidth and the round-trip time of a connection, which determines the amount of data that can be stored at the receiver while a segment is being sent and acknowledged.
Buffering
The process of temporarily storing transmitted but unacknowledged segments at the sender and received segments at the receiver.
Buffer allocation
The process of dynamically allocating buffers for sliding windows at the sender and receiver.
Window size
A header field in TCP that carries buffer allocations from the receiver to the sender.
Dynamic window management
A mechanism where the sender requests a certain number of buffers, and the receiver grants as many as it can afford, allowing the sender to transmit segments up to the allocated window size.
Deadlock
A situation where a host is unable to proceed due to a lack of buffer allocation, often caused by lost control segments.
Memory
The amount of buffer space available in the receiver, which can limit the sender's data rate.
Buffer
A temporary storage space used to hold data or messages before they are processed or transmitted.
Flow control
A mechanism used to regulate the rate at which data is sent from the sender to the receiver, preventing the receiver from being overwhelmed with data.
Congestion control
A mechanism used to regulate the rate at which data is sent into the network to prevent congestion and ensure efficient use of available bandwidth.
Carrying capacity
The maximum number of packets or segments that can be exchanged between hosts based on the capacity of the network and the number of available paths.
Sliding window
A flow control mechanism where the sender adjusts the size of the window (number of packets allowed to be sent without acknowledgement) based on the network's carrying capacity.
Multiplexing
The process of sharing a single network connection or address among multiple transport connections or conversations.
Inverse multiplexing
A mode of multiplexing where multiple network paths are used to distribute traffic among them, increasing effective bandwidth.
Crash recovery
The process of recovering from crashes or failures in hosts or routers, including retransmission of lost segments and reestablishment of connections.
Bursty Traffic
Traffic that occurs in bursts or irregular intervals.
Goodput
The rate of useful packets arriving at the receiver as a function of the offered load.
Delay
The time it takes for packets to travel from the sender to the receiver.
Offered Load
The amount of traffic being sent into the network.
Congestion Collapse
A state in which the network becomes overwhelmed with traffic and little useful work is being accomplished.
Onset of Congestion
The point at which the network starts to experience congestion.
Power
A metric proposed by Kleinrock to identify the point at which the network achieves the best performance, calculated as the load divided by the delay.
Max-Min Fairness
An allocation of bandwidth that ensures increasing the bandwidth for one flow will only make the situation worse for flows that are less well off.
Convergence
The process of the congestion control algorithm rapidly reaching a fair and efficient allocation of bandwidth.
Flow Control
Regulating the sending rate to prevent packet loss due to insufficient buffering at the receiving end.
Congestion Control
Regulating the sending rate to prevent packet loss due to insufficient capacity in the network.
Explicit Feedback
Feedback provided by the network that explicitly informs the sender about the rate at which they may send.
Implicit Feedback
Feedback provided by the network that indirectly indicates congestion or the need to slow down, without specifying the exact rate to send at.
FAST TCP
A congestion control protocol that measures round trip delay to avoid congestion.