Transport Layer Protocols: TCP and UDP

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary role of the transport layer in the context of network communication?

  • To provide physical connections between devices.
  • To handle routing of data packets across networks.
  • To establish logical communication between application processes on different hosts. (correct)
  • To manage data link connections.

In the context of transport layer protocols, what is the key difference between TCP and UDP?

  • TCP is connectionless, while UDP is connection-oriented.
  • TCP is used for multimedia streaming, while UDP is used for email.
  • TCP provides reliable, in-order delivery with congestion control, while UDP offers unreliable, unordered delivery without these features. (correct)
  • TCP provides unreliable, unordered delivery, while UDP provides reliable, in-order delivery.

What is the purpose of multiplexing in the transport layer?

  • To handle data from multiple sockets and add a transport header. (correct)
  • To combine multiple network connections into one.
  • To divide a single data stream into multiple streams.
  • To encrypt data for secure transmission.

How does demultiplexing work at the receiving host?

<p>By using IP addresses and port numbers to direct a segment to the appropriate socket. (A)</p>
Signup and view all the answers

What information is used to identify a TCP socket?

<p>A 4-tuple consisting of source IP address, source port number, destination IP address, and destination port number. (B)</p>
Signup and view all the answers

Which of the following is a characteristic of UDP?

<p>No guarantee of delivery; segments may be lost or delivered out of order. (C)</p>
Signup and view all the answers

Why might an application developer choose to use UDP rather than TCP?

<p>UDP's connectionless nature and lack of overhead make it suitable for applications that are loss-tolerant or implement their own reliability mechanisms. (D)</p>
Signup and view all the answers

What is the purpose of the UDP checksum?

<p>To detect bit errors in the UDP segment. (C)</p>
Signup and view all the answers

What is the potential drawback of using checksums?

<p>Checksums provide weak protection and may not detect all errors. (B)</p>
Signup and view all the answers

What is the fundamental goal of reliable data transfer protocols?

<p>To create a reliable channel over an unreliable network. (C)</p>
Signup and view all the answers

In reliable data transfer protocols, what is the purpose of acknowledgements (ACKs)?

<p>To indicate that the receiver has correctly received a packet. (A)</p>
Signup and view all the answers

In reliable data transfer protocols, what is the purpose of negative acknowledgements (NAKs)?

<p>To indicate that the receiver has not correctly received a packet. (A)</p>
Signup and view all the answers

What is the 'stop-and-wait' approach?

<p>The sender transmits one packet, then waits for a response from the receiver before sending the next. (B)</p>
Signup and view all the answers

In the context of reliable data transfer, what problem does adding sequence numbers to packets solve?

<p>It allows the receiver to detect duplicate packets, resulting from corrupted ACKs or retransmissions. (D)</p>
Signup and view all the answers

How does a NAK-free protocol, such as rdt2.2, handle errors?

<p>By the receiver sending an ACK for the last correctly received packet. Duplicate ACKs at the sender trigger retransmission. (C)</p>
Signup and view all the answers

What is the purpose of a timeout mechanism in reliable data transfer protocols?

<p>To detect and recover from lost packets or ACKs. (B)</p>
Signup and view all the answers

Which of the following is the most accurate formula for calculating Usender?

<p>$Usender = (L / R) / (RTT + L / R)$ (C)</p>
Signup and view all the answers

What is a key limitation of the stop-and-wait approach (rdt3.0) that pipelining aims to address?

<p>Inefficient use of the channel due to only one packet being in transit at a time. (A)</p>
Signup and view all the answers

What is the primary advantage of using pipelining in reliable data transfer protocols?

<p>Increased channel utilization by allowing multiple packets to be in transit. (D)</p>
Signup and view all the answers

What is the key feature of Go-Back-N?

<p>When the timer expires, the sender retransmits the packet and all subsequent packets that have not been acknowledged. (A)</p>
Signup and view all the answers

In the Go-Back-N protocol, what action does the receiver take when it receives an out-of-order packet?

<p>It discards the out-of-order packet and re-sends an ACK for the last in-order packet it received. (D)</p>
Signup and view all the answers

How does Selective Repeat differ from Go-Back-N?

<p>Selective Repeat allows the receiver to acknowledge and buffer out-of-order packets, and the sender only retransmits the packets that were not received. (C)</p>
Signup and view all the answers

What is a key challenge that Selective Repeat introduces that is not present in Go-Back-N?

<p>Increased complexity in sequence number management to avoid ambiguities in packet retransmission. (D)</p>
Signup and view all the answers

What is the role of cumulative ACKs in TCP?

<p>To acknowledge a range of bytes, indicating that all bytes up to the acknowledged sequence number have been received. (A)</p>
Signup and view all the answers

What does 'full duplex data' mean in the context of TCP?

<p>Data can be sent in both directions simultaneously over the same connection. (C)</p>
Signup and view all the answers

In TCP, what does the sequence number represent?

<p>The byte stream number of the first byte in a segment's data. (D)</p>
Signup and view all the answers

Why does TCP use an EstimatedRTT instead of just using the SampleRTT directly for setting the timeout value?

<p>SampleRTT varies greatly, and EstimatedRTT smooths out these variations by averaging recent measurements. (D)</p>
Signup and view all the answers

What is the function of DevRTT in TCP's RTT estimation?

<p>Measuring the deviation of SampleRTT from Estimated RTT to serve as a 'safety margin' when calculating timeout intervals. (D)</p>
Signup and view all the answers

What is the purpose of the TCP receiver's delayed ACK mechanism?

<p>To reduce the number of ACKs sent, potentially ACKing multiple segments with a single ACK. (C)</p>
Signup and view all the answers

What does the reception of three duplicate ACKs typically indicate in TCP?

<p>Likely loss of a segment, prompting fast retransmit. (D)</p>
Signup and view all the answers

What problem does TCP flow control aim to solve?

<p>Preventing the sender from overwhelming the receiver's buffer. (D)</p>
Signup and view all the answers

How does the TCP receiver signal its available buffer space to the sender?

<p>By advertising the receive window (rwnd) in the TCP header. (C)</p>
Signup and view all the answers

What is the primary purpose of the TCP three-way handshake?

<p>To establish a connection between sender and receiver, agreeing on connection parameters and sequence numbers. (A)</p>
Signup and view all the answers

During TCP connection establishment, what is the purpose of the SYN segment?

<p>To request a connection, synchronizing sequence numbers. (C)</p>
Signup and view all the answers

In TCP connection termination, what does sending a FIN segment indicate?

<p>A signal that the sender has no more data to send, initiating connection closure. (A)</p>
Signup and view all the answers

Flashcards

Transport Layer

Provides logical communication between application processes running on different hosts.

Transport Layer Sender Actions

Breaks application messages into segments and passes them to the network layer.

Transport Layer Receiver Actions

Reassembles segments into messages and passes them to the application layer.

Transport Layer Communication

Establishes communication between processes.

Signup and view all the flashcards

TCP (Transmission Control Protocol)

Reliable, in-order delivery, congestion control, flow control, and connection setup.

Signup and view all the flashcards

UDP (User Datagram Protocol)

Unreliable, unordered delivery with no connection setup; simply extends best-effort IP.

Signup and view all the flashcards

Multiplexing/Demultiplexing

At the sender, handles data from multiple sockets and adds transport header. At the receiver, uses header info to deliver received segments to correct socket.

Signup and view all the flashcards

Demultiplexing Information

Source IP address, destination IP address, source port number, destination port number.

Signup and view all the flashcards

Connectionless Demultiplexing

Uses only the destination port number to direct segments to the appropriate socket.

Signup and view all the flashcards

Connection-oriented Demultiplexing

Uses the 4-tuple (source IP, source port, dest IP, dest port) to direct the segment to the appropriate socket.

Signup and view all the flashcards

UDP Service

Segments may be lost or delivered out-of-order; offers best-effort service.

Signup and view all the flashcards

Common UDP Applications

Streaming multimedia, DNS, SNMP, HTTP/3.

Signup and view all the flashcards

UDP Checksum

Detects errors in a transmitted segment.

Signup and view all the flashcards

Internet Checksum Calculation

Treat segment content as 16-bit integers, sum them, and put the result in the UDP checksum field.

Signup and view all the flashcards

rdt2.0

Channels with possibility of bit errors

Signup and view all the flashcards

rdt1.0

Channel is perfectly reliable; no bit errors or loss of packets.

Signup and view all the flashcards

Acknowledgements (ACKs)

Receiver explicitly tells sender that packet was received OK.

Signup and view all the flashcards

Negative Acknowledgements (NAKs)

Receiver explicitly tells sender that packet had errors.

Signup and view all the flashcards

Stop and Wait

Sender retransmits packet upon receiving a NAK.

Signup and view all the flashcards

Handling Duplicates

Sender adds a sequence number to each packet, receiver discards duplicate packets.

Signup and view all the flashcards

NAK-Free Protocol (rdt2.2)

Receiver sends ACK for last packet received OK, including sequence number of packet being ACKed.

Signup and view all the flashcards

rdt3.0

Underlying channel can also lose packets (data, ACKs).

Signup and view all the flashcards

Timeout

Sender waits a reasonable amount of time for an ACK and retransmits if none received.

Signup and view all the flashcards

Countdown Timer

Timer to interrupt after a 'reasonable' amount of time.

Signup and view all the flashcards

Pipelining

Sender allows multiple 'in-flight' packets, increasing utilization.

Signup and view all the flashcards

Go-Back-N

Sender has a window of consecutive, transmitted but unACKed packets.

Signup and view all the flashcards

ACK-Only: Receiver

Receiver only sends ACK, may generate duplicate ACKs, remembers rcv_base.

Signup and view all the flashcards

Out-of-Order Packets (Go-Back-N)

Receiver re-ACKs packet with highest in-order sequence number and discards out-of-order packets (no receiver buffering).

Signup and view all the flashcards

Selective Repeat

Receiver individually ACKs correctly received packets and buffers packets for in-order delivery.

Signup and view all the flashcards

TCP Overview

Flow control, point-to-point, reliable in-order byte stream, full duplex data, connection-oriented.

Signup and view all the flashcards

TCP Segment Structure

Source port, dest port, sequence number, acknowledgement number, checksum, receive window.

Signup and view all the flashcards

TCP Sequence Numbers

Byte stream number of first byte in segment's data.

Signup and view all the flashcards

TCP Acknowledgements

Sequence number of next byte expected from other side.

Signup and view all the flashcards

Sample RTT

Measured time from segment transmission until ACK receipt (ignore retransmissions).

Signup and view all the flashcards

Estimated RTT

Average several recent RTT measurements to smooth variations.

Signup and view all the flashcards

Timeout Interval

Estimated RTT plus a safety margin based on deviation.

Signup and view all the flashcards

TCP Fast Retransmit

Retransmit segment is triple duplicate ACKs received before timeout.

Signup and view all the flashcards

TCP Flow Control

Receiver controls sender so sender won't overflow receiver's buffer.

Signup and view all the flashcards

Receive Window (rwnd)

Free buffer space receiver is willing to accept.

Signup and view all the flashcards

TCP Connection Management

Agree to establish connection and on connection parameters.

Signup and view all the flashcards

Three-way handshake

SYN, SYN-ACK, ACK

Signup and view all the flashcards

Study Notes

Transport Layer Overview

  • The goal of the transport layer is to understand the principles behind transport layer services like multiplexing, demultiplexing, reliable data transfer, flow control, and congestion control
  • Focus on learning about Internet transport layer protocols like UDP (connectionless) and TCP (connection-oriented reliable transport), including TCP congestion control.
  • Transport-layer services provide logical communication between application processes running on different hosts.
  • Transport protocols' actions in end systems involve the sender breaking application messages into segments for the network layer, and the receiver reassembling segments into messages for the application layer.
  • Two transport protocols available to Internet applications are TCP and UDP

Transport vs. Network Layer Services

  • The transport layer focuses on communication between processes, relying on and enhancing network layer services.
  • Network layer focuses on communication between hosts
  • Sender actions involve receiving an application-layer message, determining segment header field values, creating segment, and passing it to the IP.
  • Receiver actions involve receiving segment from IP, checking header values, extracting application-layer message and demultiplexing message up to application via socket.

Internet Transport Protocols

  • TCP (Transmission Control Protocol) offers reliable, in-order delivery with congestion control, flow control, and connection setup.
  • UDP (User Datagram Protocol) provides unreliable, unordered delivery as a no-frills extension of best-effort IP, without delay or bandwidth guarantees

Multiplexing/Demultiplexing

  • Multiplexing involves handling data from multiple sockets and adding a transport header, used later for demultiplexing.
  • Demultiplexing uses header information to deliver received segments to the correct socket.
  • The host uses IP addresses and port numbers to direct a segment to the appropriate socket by checking the source and destination port numbers.

Connectionless Demultiplexing

  • When creating a socket, a host-local port number must be specified.
  • When a receiving host receives a UDP segment, it checks the destination port number, and directs the UDP segment to the socket with that port number.
  • IP/UDP datagrams with the same destination port number, but different source IP addresses and/or source port numbers direct to the same socket at the receiving host.

Connection-oriented Demultiplexing

  • TCP socket is identified by a 4-tuple: source IP address, source port number, destination IP address, destination port number.
  • A server supports simultaneous TCP sockets, each identified by its own 4-tuple and associated with a different connecting client.
  • Demultiplexing uses all four values (4-tuple) to direct a segment to the appropriate socket.

Multiplexing/Demultiplexing Summary

  • Multiplexing/demultiplexing is based on segment/datagram header field values.
  • UDP uses the destination port number only for demultiplexing.
  • TCP uses a 4-tuple: source and destination IP addresses, and port numbers for demultiplexing
  • Multiplexing/demultiplexing happen at all layers.

UDP: User Datagram Protocol

  • UDP is a no-frills Internet transport protocol, offering best-effort service where segments may be lost or delivered out-of-order.
  • There is no connection establishment which reduces delay, and the header size is small
  • UDP does not have congestion control, allowing it to transmit as fast as desired.

Why Use UDP?

  • UDP is connectionless, and each segment is handled independently
  • It is used for streaming multimedia apps (loss tolerant, rate sensitive), DNS, SNMP and HTTP/3
  • Reliable transfer can be added to UDP connections at the application layer with congestion control

UDP Transport Layer Actions

  • Sender actions involve receiving an application-layer message, determining UDP segment header fields values, creating UDP segment, and passing segment to IP.
  • Receiver actions involve receiving segment from IP, checking UDP checksum header value, extracting application-layer message and demultiplexing message up to application via socket

UDP Segment Header

  • Contains source port #, dest port #, length, and checksum
  • Length is in bytes of UDP segment, including header

UDP Checksum

  • The goal is to detect errors (i.e., flipped bits) in a transmitted segment
  • Sender treats contents of UDP segment (including UDP header fields and IP addresses) as sequence of 16-bit integers
  • Checksum: addition (one’s complement sum) of segment content and the checksum value put into UDP checksum field

Steps For Receiver

  • Compute checksum of received segment
  • Check if the computed checksum equals checksum field value, if not equal an error is detected
  • If equal no error is detected

UDP Summary

  • Segments may be lost, delivered out of order
  • A best effort service, to "send and hope for the best."
  • There is no setup/handshaking needed and it helps with reliability (checksum).
  • Additional functionality can be built on top of UDP in application layer (e.g., HTTP/3).

Principles of Reliable Data Transfer

  • Reliable data transfer provides a reliable service abstraction to the application layer.
  • The complexity of the reliable data transfer protocol depends strongly on the characteristics of the unreliable channel and whether it loses, corrupts, or reorders data.
  • Sender and receiver do not automatically know the "state" of each other, for example, whether a message was received.

Reliable Data Transfer Protocol Interfaces

  • rdt_send(): Called from above (e.g., by app.) and passed data to deliver to receiver upper layer.
  • udt_send(): Called by rdt to transfer packet over unreliable channel to receiver.
  • rdt_rcv(): Called when packet arrives on receiver side of channel.
  • deliver_data(): Called by rdt to deliver data to upper layer.

Reliable Data Transfer: Getting Started

  • Sender and receiver sides of reliable data transfer protocol (rdt) are developed incrementally.
  • Finite state machines (FSM) are used to specify sender and receiver.

rdt1.0: Reliable Transfer Over a Reliable Channel

  • The underlying channel is perfectly reliable, with no bit errors and no loss of packets
  • With separate FSMs for sender and receiver, the sender sends data into underlying channel and receiver reads data from underlying channel.

rdt2.0: Channel With Bit Errors

  • The underlying channel may flip bits in packet
  • Checksum to detect bit errors is used for error recovery
  • Acknowledgements (ACKs) are when the receiver explicitly tells sender that pkt received OK
  • Negative acknowledgements (NAKs) are when receiver explicitly tells sender that pkt had errors
  • The sender retransmits pkt on receipt of NAK in a stop and wait manner (sends one packet, then waits for receiver response)

rdt2.0 Fatal Flaw

  • If ACK/NAK is corrupted, the sender doesn’t know what happened at receiver and cannot retransmit, leading to possible duplicates.
  • Sender retransmits current pkt if ACK/NAK corrupted, and adds sequence number to each pkt to handle duplicates.
  • Receiver discards (doesn’t deliver up) duplicate pkt using stop and wait.

rdt2.1: Sender, Handling Garbled ACK/NAKs

  • Sender adds seq # to pkt, with two seq. #s (0,1).
  • Must check if received ACK/NAK corrupted, and has twice as many states.
  • Receiver must check if received packet is duplicate, and state indicates whether 0 or 1 is expected pkt seq #.
  • Receiver can not know if its last ACK/NAK received OK at sender.

rdt2.2: A NAK-Free Protocol

  • Same functionality as rdt2.1, using ACKs only
  • Instead of NAK, receiver sends ACK for last pkt received OK
  • Receiver must explicitly include seq # of pkt being ACKed
  • Duplicate ACK at sender results in same action as NAK: retransmit current pkt
  • TCP uses this approach to be NAK-free

rdt3.0: Channels With Errors and Loss

  • Assumes the underlying channel can lose packets (data, ACKs).
  • Checksum, sequence #s, ACKs, retransmissions are used
  • Sender waits “reasonable” time for ACK, retransmits if no ACK received in this time.
  • Retransmission will be duplicate if pkt (or ACK) just delayed (not lost), but seq #s already handles this, while receiver must specify seq # of packet being ACKed

Timeout

  • Use of countdown timer to interrupt after “reasonable” amount of time

rdt3.0 Performance

  • 1 Gbps link, 15 ms prop. delay, 8000 bit packet

Sender Utilization

  • Protocol limits performance of underlying infrastructure (channel)

rdt3.0: Pipelined Protocols Operation

  • Pipelining allows the sender multiple, “in-flight”, yet-to-be-acknowledged packets.
  • Range of sequence numbers must be increased.
  • Buffering occurs at sender and/or receiver.

Pipelining

  • Sender allows multiple in-flight, yet-to-be-acknowledged packets
  • Range of sequence numbers must be increased
  • Buffering at sender and/or receiver

Go-Back-N Sender

  • Sender uses "window" of up to N, consecutive transmitted but unACKed pkts, k-bit seq # in pkt header.
  • Cumulative ACK: ACK(n) ACKs all packets up to, including seq # n.
  • Receiving ACK(n), the window moves forward to begin at n+1.
  • Timeout: retransmit packet n and all higher seq # packets in window

Go-Back-N Receiver

  • ACK-only: always send ACK for correctly-received packet so far, with highest in-order seq #.
  • May generate duplicate ACKs and needs only to remember rcv_base.
  • If out-of-order packet is received either discard or buffer it, and re-ACK pkt with highest in-order seq #.

Selective Repeat

  • Multiple packets can be in flight
  • The receiver individually ACKs all correctly received packets and buffers packets as needed, for in-order delivery to upper layer.

Sender

  • Maintains a timer for each unACKed pkt and retransmits the single unACKed packet associated with timeout
  • Maintains a "window" over N consecutive seq #s, and limits pipelined, “in flight” packets to be within this window

Receiver

  • Upon arrival of packet n in [rcvbase, rcvbase+N-1], send ACK(n), and buffer out-of-order packets.
  • Deliver in-order packets (also buffered) and advance window to next not-yet-received packet.
  • A packet n in [rcvbase-N,rcvbase-1] should be ACK(n); for other packets, ignore

TCP: Overview

  • TCP provides cumulative ACKs and pipelining, with congestion and flow control to set window size.
  • It is connection-oriented, using handshaking to initialize sender/receiver state before data exchange and enforcing flow control to prevent overwhelming the receiver.
  • It is point-to-point with reliable, in-order byte stream (no message boundaries), full duplex data (bidirectional data flow in same connection), and MSS (maximum segment size).

TCP Segment Structure

  • Includes Source Port #, Dest Port #, Sequence Number, Acknowledgement Number, Receive Window, Checksum, Urgent Data Pointer and Options
  • Receive Window: Flow control is indicated by the # of bytes that the receiver is willing to accept
  • Acknowledgement Number: Sequence number of the next expected byte; the A bit indicates this is an ACK
  • Includes flags for connection management (RST, SYN, FIN) and congestion notification (C, E).

TCP Sequence Numbers, ACKs

  • Sequence numbers represent the byte stream "number" of the first byte in segment’s data.
  • Acknowledgements indicate the seq # of next byte expected from other side (cumulative ACK).
  • TCP spec doesn’t say how the receiver handles out-of-order segments
  • The TCP connection has currently estimated RTT of 30 ms with a deviation of 3 ms, the value of the retransmission timer after the next acknowledgement coming in after 28 ms should be 40.5 ms.

EstimatedRTT = (1- α)EstimatedRTT + αSampleRTT DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT|

TCP Round Trip Time

  • TCP timeout value should be longer than RTT (which varies).
  • Too short would causes premature timeout resulting in unnecessary retransmissions and vice versa
  • SampleRTT calculation measures time from segment transmission until ACK receipt, ignoring retransmissions where SampleRTT will vary, wanting estimated RTT (smoother)
  • To find estimated RTT, average several recent measurements, not just current SampleRTT.

TCP Round Trip Time, Timeout Interval

  • TimeoutInterval = EstimatedRTT + 4*DevRTT (estimated RTT + "safety margin")
  • DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT| ("safety margin" is EWMA of SampleRTT deviation from EstimatedRTT)

TCP Sender Simplified

  • The sender receives data from application and it creates segment with the sequence number of first data byte in segment and it starts timer if not already running.
  • On timeout, retransmit the segment that caused timeout and restart timer.
  • If ACK received acknowledges previously unACKed segments, update what is known to be ACKed and start timer if there are still unACKed segments.

TCP Receiver & ACK Generation

Event at receiver TCP receiver action
Arrival of in-order segment with expected seq #. All data up to expected seq # already ACKed Delayed ACK: Wait up to 500ms for next segment, if no next segment, send ACK
Arrival of in-order segment with expected seq #. One other segment has ACK pending Immediately send single cumulative ACK, ACKing both in-order segments
Arrival of out-of-order segment higher-than-expect seq. # Gap detected Immediately send duplicate ACK, indicating seq. # of next expected byte
Arrival of segment that partially or completely fills gap Immediate send ACK, provided that segment starts at lower end of gap

TCP Retransmission Scenarios

Receipt of three duplicate ACKs:

  • Indicates 3 segments received after a missing segment which means the lost segment is likely
  • Resend unACKed segment with smallest seq # for TCP fast retransmit

TCP Flow Control

  • Prevents sender from overflowing receiver's buffer by transmitting too much, too fast, where network layer delivers data faster than application removes data from socket buffers.
  • TCP receiver "advertises" free buffer space in rwnd field in TCP header, and the sender limits amount of unACKed (“in-flight”) data to received rwnd, guaranteeing receive buffer will not overflow

TCP Connection Management

  • Sender/receiver "handshake" before exchanging data to agree to establish connection (each knowing the other willing to establish connection) and agree on connection parameters.
  • Connection state: ESTAB; Connection variables: seq # client-to-server, server-to-client, rcvBuffer size,at server,client

Agreeing to Establish a Connection

2-way handshake:

Let's talk OK
req_conn(x) acc_conn(x)
  • Causes problem: half open connection and dup data
  • Is solved with 3-way handshake

TCP 3-Way Handshake

  • SYNbit=1, Seq=x: choose init seq num, x, send TCP SYN msg
  • SYNbit=1, Seq=y, ACKbit=1; ACKnum=x+1: choose init seq num, y, send TCP SYNACK msg, acking SYN
  • ACKbit=1, ACKnum=y+1: received SYNACK(x) indicates server is live; send ACK for SYNACK; this segment may contain client-to-server data

Closing a TCP Connection

  • Client/server each close their side of connection by sending TCP segment with FIN bit = 1 and respond to received FIN with ACK where on receiving FIN, ACK can be combined with own FIN.
  • Simultaneous FIN exchanges can be handled.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

IoT Transport Layer Protocols Quiz
20 questions
Transport Layer Protocols: TCP & UDP
48 questions
Transport Layer Protocols
25 questions
Transport Layer Protocols
20 questions
Use Quizgecko on...
Browser
Browser