Data Comms

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/54

flashcard set

Earn XP

Description and Tags

CSIS 350 Fall 2026

55 Terms

1
New cards

TCP service

Transportation Control Protocol

reliable transport: between sending and receiving process

flow control: sender won’t overwhelm receiver

congestion control: throttle sender when network overload

connection oriented:
does not provide: timing, minimum throughput guarantee, security

2
New cards

Vanilla TCP & UDP Sockets

No encryption,

Cleartext passwords sent into socket traverse internet in cleartext (!)

Because people often reuse passwords

3
New cards

Store-and-Forward Transmission

A packet-switching mechanism in which a switch or router must receive the entire packet before it can begin transmitting the first bit onto the outbound link.

4
New cards

Transmission Delay (dtransd_{\text{trans}})

The time required to push all of a packet's bits into the transmission link, calculated as dtrans=LRd_{\text{trans}} = \frac{L}{R}, where LL is the packet length in bits and RR is the link transmission rate in bits per second.

5
New cards

Propagation Delay (dpropd_{\text{prop}})

The time required for a bit to physically travel from the beginning of a link to the destination, computed as dprop=dsd_{\text{prop}} = \frac{d}{s}, where dd is the link distance and ss is the propagation speed (≈2×108 m/s\approx 2 \times 10^8\,\text{m/s}).

6
New cards

Bottleneck Link

The link along an end-to-end transmission path that has the smallest transmission rate and thereby constrains the overall end-to-end throughput.

7
New cards

Internet Protocol Stack Layers

The 5-layer architecture organized as:

  1. Application

  2. Transport

  3. Network

  4. Link

  5. Physical


8
New cards

Socket

The software interface on a host that acts as a door between an application process and the network transport layer protocol.

9
New cards

TCP Service Model

A connection-oriented transport service that provides reliable byte-stream transfer, flow control, and congestion control, but does not provide delay guarantees or minimum throughput guarantees.

10
New cards

UDP Service Model

A lightweight, connectionless transport protocol providing 'best-effort', unreliable, unordered datagram delivery with no flow control, congestion control, or connection setup overhead.

11
New cards

Persistent HTTP (HTTP 1.1)

A technique where the server keeps a single TCP connection open after sending a response, enabling subsequent requests and referenced objects to be sent over the same connection without repeating TCP handshakes.

12
New cards

HTTP Cookies

A state-tracking mechanism comprising server response headers, a client-stored file managed by the browser, and subsequent client request headers used for authorization, session management, and shopping carts.

13
New cards

Domain Name System (DNS)

A distributed, hierarchical database implemented in name servers that maps human-friendly hostnames to 32-bit IP addresses, and provides host aliasing, mail server aliasing, and load distribution.

14
New cards

Iterated DNS Query

A name resolution method where a contacted server that does not know the mapping responds with the IP address of the next name server in the hierarchy for the client or local DNS server to query next.

15
New cards

Recursive DNS Query

A name resolution method that places the burden of resolving the name on the contacted name server, which queries successive servers on behalf of the requester and returns the final mapping.

16
New cards

Transport-Layer Demultiplexing

The process at the receiving host of examining incoming segment header fields (destination port for UDP; 4-tuple of source IP, source port, destination IP, destination port for TCP) to direct payload data to the appropriate socket.

17
New cards

Go-Back-N (GBN)

A sliding-window reliable transfer protocol using cumulative acknowledgments where the sender may have up to NN unacknowledged packets in flight, but retransmits the oldest unacknowledged packet and all subsequent sent packets upon a timer expiration.

18
New cards

Selective Repeat (SR)

A sliding-window reliable transfer protocol where the receiver individually acknowledges and buffers all correctly received out-of-order packets, and the sender maintains an individual timer for each packet, retransmitting only unACKed packets.

19
New cards

TCP Flow Control

A speed-matching service that prevents a sender from overflowing the receiver's buffer by dynamically advertising the remaining available buffer space in the receive window (rwnd) field of TCP segment headers.

20
New cards

TCP Three-Way Handshake

The connection setup process consisting of:

  1. Client sends SYN (specifying initial sequence number xx)

  2. Server replies with SYNACK (acknowledging x+1x+1 and choosing sequence number yy)

  3. Client sends ACK (acknowledging y+1y+1, which may contain application data)


21
New cards

TCP Fast Retransmit

A loss-recovery feature where a sender retransmits the missing segment with the smallest sequence number immediately upon receiving three duplicate ACKs (triple duplicate ACKs), prior to timer expiration.

22
New cards

AIMD (Additive Increase Multiplicative Decrease)

A distributed congestion control algorithm where the sender increases its congestion window (cwnd) by 1 MSS every RTT when probing for bandwidth, and cuts cwnd in half upon detecting packet loss.

23
New cards

QUIC (Quick UDP Internet Connections)

An application-layer transport protocol designed on top of UDP that combines transport and cryptographic handshakes into a single RTT, while providing multiplexed streams that prevent head-of-line blocking.

24
New cards

Store-and-Forward Transmission

A packet-switching mechanism where a switch or router must receive the entire packet before transmitting the first bit onto the outbound link.

25
New cards

Four Sources of Packet Delay

The nodal delay components given by: dnodal=dproc+dqueue+dtrans+dpropd_{\text{nodal}} = d_{\text{proc}} + d_{\text{queue}} + d_{\text{trans}} + d_{\text{prop}}

  • dprocd_{\text{proc}}: Nodal processing (error checking, output link determination)

  • dqueued_{\text{queue}}: Waiting time at output link for transmission

  • dtransd_{\text{trans}}: Transmission delay (LR\frac{L}{R}, pushing bits onto link)

  • dpropd_{\text{prop}}: Propagation delay (ds\frac{d}{s}, travel time across physical medium)


26
New cards

Traffic Intensity

The dimensionless ratio calculated as L⋅aR\frac{L \cdot a}{R}, where LL is packet length in bits, aa is average packet arrival rate, and RR is link bandwidth in bits/second.

  • ≈0\approx 0: Average queueing delay is negligible.

  • →1\rightarrow 1: Queueing delay increases non-linearly.

  • >1> 1: Arriving work exceeds link capacity; average delay approaches infinity.


27
New cards

Frequency-Division Multiplexing (FDM) vs. Time-Division Multiplexing (TDM)

  • FDM: The link spectrum is divided into distinct, narrow frequency bands, each allocated dedicatedly to an individual call for continuous transmission.

  • TDM: Time is divided into discrete slots; each call is periodically allocated specific time slots and transmits across the entire frequency band during those slots.


28
New cards

Bottleneck Link

The link along an end-to-end path with the lowest transmission rate (min⁡(R1,R2,…,Rn)\min(R_1, R_2, \dots, R_n)) that constrains the maximum achievable throughput.

29
New cards

Internet Protocol Stack vs. OSI Reference Model Layers

  • Internet Stack (5 Layers):

    1. Application

    2. Transport

    3. Network

    4. Link

    5. Physical

  • OSI Model (7 Layers) includes two extra layers between Application and Transport:

    • Presentation: Interprets data syntax/semantics (encryption, compression).

    • Session: Synchronizes checkpoints and recovery in data exchanges.


30
New cards

Protocol Data Units (PDUs) Across Layers

  • Application: Message (MM)

  • Transport: Segment (encapsulates message with transport header HtH_t)

  • Network: Datagram (encapsulates segment with network header HnH_n)

  • Link: Frame (encapsulates datagram with link header HlH_l)

  • Physical: Raw bits propagating across transmission media


31
New cards

Socket Addressing and Multiplexing Demarcation

  • UDP Socket Identification: Identified solely by a 2-tuple of (Destination IP Address, Destination Port Number).

  • TCP Socket Identification: Identified uniquely by a 4-tuple of (Source IP Address, Source Port Number, Destination IP Address, Destination Port Number).


32
New cards

Non-Persistent HTTP Total Response Time

The response time for fetching an individual referenced object, calculated as: Response Time=2⋅RTT+LR\text{Response Time} = 2 \cdot \text{RTT} + \frac{L}{R}

  • First RTT\text{RTT}: Establishes the TCP connection.

  • Second RTT\text{RTT}: Sends the HTTP request and receives the first bytes of the response.

  • LR\frac{L}{R}: Transmission time of the requested object.


33
New cards

HTTP Conditional GET

A caching mechanism where the client sends an HTTP request with the header If-modified-since: <date>. If the resource has not changed, the server responds with status code 304 Not Modified and omits the entity body, saving bandwidth.

34
New cards

HTTP/2 Frame Interleaving

A mechanism that breaks application-layer messages into independent binary frames and interleaves them over a single TCP connection, eliminating head-of-line (HOL) blocking caused by large objects in HTTP 1.1 first-come-first-served pipelining.

35
New cards

SMTP vs. HTTP Communication Model

  • Directionality: HTTP is primarily a pull protocol (client pulls data from server); SMTP is a push protocol (sending server pushes mail to receiving server).

  • Encoding: SMTP requires messages and envelope bodies to be in 7-bit ASCII format; HTTP places no restrictions on binary payload data.

  • Object Handling: HTTP encapsulates each requested object in its own response; SMTP encapsulates multiple objects within a single multipart message.


36
New cards

DNS Resource Record (RR) Types

Resource records stored with the format (Name, Value, Type, TTL):

  • Type A: Name is a hostname; Value is the corresponding IP address.

  • Type NS: Name is a domain; Value is the hostname of the authoritative name server.

  • Type CNAME: Name is an alias; Value is the canonical (real) hostname.

  • Type MX: Name is a domain; Value is the hostname of the mail server.


37
New cards

Iterated vs. Recursive DNS Queries

  • Iterated: The contacted name server replies with the address of the next server down the hierarchy for the client or local resolver to contact directly.

  • Recursive: The contacted name server takes on the full burden of resolution, querying downstream servers on behalf of the requester until returning the final answer.


38
New cards

BitTorrent Tit-for-Tat and Optimistic Unchoking

  • Tit-for-Tat: A peer uploads chunks only to the top 4 peers that provide data to it at the highest bitrates, recalculating every 10 seconds.

  • Optimistic Unchoking: Every 30 seconds, a peer randomly selects an additional peer to send chunks to, allowing new peers to join the top 4 and discover higher upload capacity.


39
New cards

DASH (Dynamic, Adaptive Streaming over HTTP)

A video delivery technique where a video file is divided into multiple chunks encoded at different bitrates, described in a manifest file. The client measures network throughput and dynamically requests chunk URLs matching the best sustainable bitrate.

40
New cards

CDN Server Placement: Enter Deep vs. Bring Home

  • Enter Deep: Deploying server clusters deep inside access networks close to end users (e.g., Akamai), reducing delay and hop count at the cost of managing many locations.

  • Bring Home: Deploying fewer, larger server clusters at Points of Presence (POPs) near IXPs and access network boundaries (e.g., Limelight).


41
New cards

Internet Checksum Calculation

An error-detection mechanism where the sender treats segment data as a series of 16-bit integers, calculates their one's complement sum (adding end-around carry bits back into the lowest-order bit), and inverts all bits. The receiver adds all words including the checksum; a valid transmission produces all 1s.

42
New cards

rdt 2.1 vs. rdt 2.2

  • rdt 2.1: Uses alternating 1-bit sequence numbers (0 and 1) for packets and sends explicit positive acknowledgments (ACKs) and negative acknowledgments (NAKs).

  • rdt 2.2: Eliminates NAKs completely. The receiver sends an ACK that explicitly includes the sequence number of the last correctly received packet; a duplicate ACK received by the sender acts as a NAK.


43
New cards

rdt 3.0 Stop-and-Wait Sender Utilization Formula

The fraction of time the sender actively pushes bits onto the channel, expressed as: Usender=LRRTT+LRU_{\text{sender}} = \frac{\frac{L}{R}}{\text{RTT} + \frac{L}{R}}

When RTT≫LR\text{RTT} \gg \frac{L}{R}, protocol performance is poor, motivating pipelined sliding windows.

44
New cards

Go-Back-N (GBN) vs. Selective Repeat (SR)

  • GBN: Uses cumulative ACKs and maintains a single timer for the oldest unacknowledged packet. On timeout, the sender retransmits the entire window starting from the lost packet; the receiver discards out-of-order packets.

  • SR: Acknowledges each packet individually and maintains a distinct timer for each unacknowledged packet. On timeout, the sender retransmits only the specific missing packet; the receiver buffers out-of-order packets.


45
New cards

TCP Sequence and Acknowledgment Number Semantics

  • Sequence Number: The byte-stream index of the first byte of data in the segment's payload (not the segment count).

  • Acknowledgment Number: The byte-stream index of the next byte expected from the other side (cumulative acknowledgment indicating all prior bytes were received).


46
New cards

TCP Round-Trip Time Estimation (EWMA)

Formulas used to estimate smoothed RTT and variance: EstimatedRTT=(1−α)⋅EstimatedRTT+α⋅SampleRTT\text{EstimatedRTT} = (1 - \alpha) \cdot \text{EstimatedRTT} + \alpha \cdot \text{SampleRTT}DevRTT=(1−β)⋅DevRTT+β⋅∣SampleRTT−EstimatedRTT∣\text{DevRTT} = (1 - \beta) \cdot \text{DevRTT} + \beta \cdot |\text{SampleRTT} - \text{EstimatedRTT}|

Typical constant values are α=0.125\alpha = 0.125 and β=0.25\beta = 0.25.

47
New cards

TCP Retransmission Timeout Calculation

The interval after which an unacknowledged segment is considered lost: TimeoutInterval=EstimatedRTT+4⋅DevRTT\text{TimeoutInterval} = \text{EstimatedRTT} + 4 \cdot \text{DevRTT}

This provides a safety margin that expands during periods of high RTT variance.

48
New cards

TCP Three-Way Handshake Connection Establishment

  1. Client →\rightarrow Server: Sends segment with SYN = 1, ACK = 0, and initial client sequence number Seq = x.

  2. Server →\rightarrow Client: Allocates buffers and replies with SYN = 1, ACK = 1, Seq = y, and Ack = x + 1.

  3. Client →\rightarrow Server: Sends segment with SYN = 0, ACK = 1, and Ack = y + 1 (may include initial application data payload).


49
New cards

TCP Connection Teardown Sequence

  1. Client sends a segment with FIN = 1 and enters FIN_WAIT_1.

  2. Server replies with ACK and enters CLOSE_WAIT; client moves to FIN_WAIT_2.

  3. Server finishes sending remaining data and transmits a segment with FIN = 1, entering LAST_ACK.

  4. Client replies with ACK and enters TIME_WAIT for 2×MSL2 \times \text{MSL} (Maximum Segment Lifetime) before transitioning to CLOSED to ensure the final ACK arrives.


50
New cards

TCP Flow Control vs. Congestion Control

  • Flow Control: Prevents a fast sender from overflowing a single receiver's application buffer. Enforced by dynamic updates to the receive window (rwnd) in TCP headers.

  • Congestion Control: Prevents too many simultaneous senders from overwhelming intermediate router queues across the network core. Enforced by dynamic adjustment of the congestion window (cwnd).


51
New cards

TCP Slow Start

The connection initialization phase where cwnd starts at 1 MSS and increments by 1 MSS for every received acknowledgment, doubling cwnd every RTT (exponential growth) until reaching ssthresh.

52
New cards

TCP Tahoe vs. TCP Reno Loss Reaction

  • TCP Tahoe: On loss detection by either timeout or triple duplicate ACKs, sets ssthresh = cwnd / 2, resets cwnd = 1 MSS, and re-enters Slow Start.

  • TCP Reno: On triple duplicate ACKs, cuts cwnd in half (cwnd = cwnd / 2), sets ssthresh = cwnd, skips Slow Start, and enters Fast Recovery; on timeout, drops cwnd = 1 MSS like Tahoe.


53
New cards

TCP CUBIC Congestion Control

A window-growth algorithm that models cwnd as a cubic function of time relative to the window size WmaxW_{\text{max}} at the previous loss event. It ramps up aggressively when far below WmaxW_{\text{max}}, flattens growth near WmaxW_{\text{max}}, and then accelerates when probing for new bandwidth.

54
New cards

Explicit Congestion Notification (ECN)

A network-assisted congestion control scheme where congested intermediate routers mark two bits in the IP header (Type of Service/Traffic Class field). The destination receiver then sets the ECE (ECN-Echo) bit in TCP ACK headers to notify the sender to reduce cwnd without dropping packets.

55
New cards

QUIC (Quick UDP Internet Connections) Handshake Advantage

A protocol running over UDP that combines transport handshaking (reliability and flow state) and cryptographic handshaking (TLS 1.3) into a single RTT exchange, whereas standard TCP with TLS requires two serial handshakes (2 RTTs) before application data can flow.