Packets, Links, and Network Performance

A progressive guide to how packet-switched networks encapsulate data, move it across links, and manage delay, throughput, queues, and congestion.

How Data Becomes Network Traffic

Network communication can be understood as a sequence of units created by different protocol layers. An application begins with a message such as an email, image, or web request. A transport protocol then divides the data into a transport segment when using TCP or a datagram when using UDP.

The data is wrapped as it moves down the stack:

  1. The application creates a message.

  2. TCP creates a transport segment, or UDP creates a datagram.

  3. IP adds network-layer information to create an .

  4. The local interface places the inside a link-layer frame.

  5. The physical medium carries the resulting signals.

This wrapping process is called . The units are related but are not interchangeable. A transport segment is carried inside an , and the is carried inside a frame. At every router, the old frame is removed and a new frame appropriate for the next link is created. The normally continues across the path while its link-layer wrapping changes.

TCP can detect missing data with sequence numbers and recover it through retransmission. UDP provides a lightweight datagram service without guaranteeing ordered, reliable, or duplicate-free delivery.

Takeaway: Application data becomes progressively structured as it moves down the protocol stack, and each layer adds information needed for its own role.

and the Process

In , a large message is divided into packets that share network links with packets from many other applications. Each packet contains control information, such as source and destination addresses, together with payload data.

Routers examine packet headers and send packets toward their destinations. determines paths and builds or updates the information needed to use those paths. applies that information to an individual packet by sending it through an appropriate output interface.

Because IP treats each datagram as an independent unit, packets from one application flow can experience different queueing delays and, in some situations, different paths. The network does not generally reserve one end-to-end path for the entire flow. The destination host may therefore need to check, reorder, and reassemble data before delivering it to the application.

For a file download, the process is:

  1. The application produces file data.

  2. TCP divides the byte stream into segments and adds sequence information.

  3. IP places each segment into an with source and destination addresses.

  4. A network interface places each into a frame.

  5. Routers receive frames, inspect the enclosed packets, and transmit new frames on later links.

  6. The destination uses transport-layer information to recover the application data.

Takeaway: decides where traffic should go, moves each packet, and lets many flows share the same infrastructure.

Links, , and In-Flight Data

A link is a communication path between two directly connected devices. Its or link rate is the maximum rate at which it can transmit bits, commonly measured in kilobits, megabits, or gigabits per second. describes capacity, not the rate an application is guaranteed to receive.

The time needed to place a packet of length LL bits onto a link with rate RR bits per second is the :

transmission delay=LR\text{transmission delay} = \frac{L}{R}

For example, an 88-megabit packet on a 100100-megabit-per-second link takes approximately 0.080.08 seconds, or 8080 milliseconds, to place on the link. This time does not depend on the distance between the devices.

The estimates the amount of data that can be in transit on a path:

bandwidth-delay product=bandwidth×round-trip time\text{bandwidth-delay product} = \text{bandwidth} \times \text{round-trip time}

A path with a rate of 11 gigabit per second and a 4040-millisecond round-trip time can have roughly 4040 megabits, or 55 megabytes, in flight. High-speed, long-distance paths therefore need sufficiently large sending and receiving windows to remain busy.

Takeaway: measures capacity, measures the time to place bits on a link, and the indicates how much data may be in transit.

Latency, Throughput, and Bottlenecks

Latency is the time required for data to travel from one point to another. End-to-end delay commonly consists of four components:

end-to-end delay=processing delay+transmission delay+propagation delay+queueing delay\text{end-to-end delay} = \text{processing delay} + \text{transmission delay} + \text{propagation delay} + \text{queueing delay}
  • Processing delay is the time spent examining headers, checking errors, and selecting an output interface.

  • is the time needed to place all packet bits onto a link.

  • Propagation delay is the time for the signal to travel through the physical medium.

  • is the time spent waiting behind other packets.

The dominant component depends on the situation. A short packet on a long fiber may have substantial propagation delay but little . A large packet on a slow link may have substantial . During , can become the largest and most variable component.

Throughput is the rate at which useful data is delivered successfully. It is often lower than nominal because of protocol headers, retransmissions, competing traffic, receiver limitations, and links. For example, a path with links rated at 11 gigabit per second, 500500 megabits per second, and 100100 megabits per second has a likely at the 100100-megabit-per-second link. A queue can support a short burst above that rate, but the long-term average cannot exceed the 's service capacity without the queue growing indefinitely.

Takeaway: Latency explains how long delivery takes, while throughput explains how much useful data is delivered over time. They are related but measure different aspects of performance.

Queues, Buffers, and Variable Delay

A router or switch may receive packets faster than an outgoing link can transmit them. It temporarily stores those packets in a , forming a queue. Buffering is useful because traffic is bursty: several devices may send nearly simultaneously even though the outgoing link can transmit only one packet at a time.

Queue behavior depends on the relationship between arrival and service rates:

  • If packets arrive more slowly than the link transmits them, the queue tends to empty.

  • If the average arrival rate is close to the link rate, the queue fluctuates and delay increases.

  • If the average arrival rate exceeds the link rate, the queue grows until the is full.

  • Once the is full, newly arriving packets may be discarded.

This is why is variable. Two packets sent from the same host to the same destination can experience different latencies if they encounter different queue lengths.

Oversized or poorly managed buffers can cause , in which packets remain queued for a long time instead of being dropped or marked early. Active Queue Management techniques attempt to control queue size and may drop or explicitly mark packets before a becomes completely full.

Takeaway: Buffers absorb short bursts, but they create a tradeoff: insufficient buffering can cause loss, while excessive buffering can cause high latency.

and Network Feedback

occurs when offered traffic exceeds available capacity at some point in the network. It is not simply the same as having a slow link. A high-capacity link can become congested when too many flows share it, while a low-capacity link can remain uncongested when lightly used.

can produce:

  • longer queues and higher latency;

  • packet loss when buffers overflow;

  • retransmissions that add more traffic;

  • reduced throughput;

  • unfairness among competing flows; and

  • rapidly changing performance.

This can create a harmful feedback loop. When loss causes a reliable sender to retransmit, the retransmissions consume additional capacity and may worsen the original . TCP responds with mechanisms such as slow start, avoidance, fast retransmit, and fast recovery. These mechanisms regulate how much data a sender places into the network and reduce the sending rate when is inferred.

provides another signal. Network devices can mark packets before overflow occurs, allowing a responsive endpoint to reduce its sending rate without waiting for loss.

Takeaway: control is a feedback process: senders adjust their traffic in response to signs that the network is approaching or exceeding its available capacity.

and

In , a communication path and its resources are reserved for a session. The usual stages are establishing the circuit, transferring data over the reserved path, and releasing the circuit. Once established, a circuit can provide predictable capacity and relatively stable delay, but its resources may remain reserved during silence or inactivity.

Packet-switched networks instead share links dynamically. This is efficient for bursty computer traffic because another flow can use capacity when one flow is idle. The tradeoffs include variable delay, queueing, packet loss, reordering, and greater reliance on end systems for reliability and control.

The main contrasts are:

  • Resource allocation: reserves resources for a session, while shares them dynamically.

  • Delay: can offer more predictable delay after setup, while has variable delay because of queues.

  • Efficiency for bursty data: reserved resources may be idle in , while can use capacity for another flow.

  • Failure behavior: a circuit failure may interrupt a session, while packets in a packet-switched network may be rerouted or selectively lost.

  • Control emphasis: uses more network-side reservation and setup, while distributes control across devices and endpoints.

The choice is not simply between fast and slow networking. It is a choice between reserved predictability and flexible statistical sharing. allows higher layers to add the properties an application needs: TCP supplies reliable ordered byte-stream delivery, while UDP supplies a lightweight datagram service that an application may supplement with its own recovery or timing behavior.

Takeaway: favors predictable reserved service; favors flexible, efficient sharing of capacity among bursty and diverse traffic.

Performance Tradeoffs and Design Goals

Network design involves balancing several competing goals rather than maximizing alone.

  • Small packets reduce the time needed to transmit each packet and can limit the impact of a lost packet, but they increase header overhead and packet-processing work.

  • Large packets improve efficiency by carrying more payload per header, but they occupy a link longer and may waste more work when lost.

  • Large buffers absorb bursts, but can increase and contribute to .

  • Small buffers limit delay, but may drop packets during short bursts.

  • Aggressive sending can raise throughput when capacity is available, but can cause when many senders behave similarly.

  • Conservative sending reduces risk, but may leave capacity unused.

  • Reliability mechanisms such as acknowledgments and retransmissions recover loss, but consume and add delay.

A well-designed network therefore seeks an acceptable balance among latency, throughput, stable queues, fair sharing, recovery from failures, and responsiveness to changing traffic conditions.

Final takeaway: Good network performance is multidimensional. Capacity, delay, loss, reliability, and fairness must be considered together because improving one property can worsen another.