CS455 Lecutre Notes
Table of Contents
Lecture 1
Delay Types
- Transmission Delay
the time it takes to send a packet of data across a network - Propagation Delay
the time it takes for a signal to travel through the wire - Queuing Delay
the time a packet spend waiting in a queue before being processed - Processing Delay
the time it takes to send data through the wire
End to End Delay
Given:
- Packet Size = 1250 Bytes
- Signal Propagation Speed = $2 \times 10^5$ km/s
- Router Processing Time = 10 ms or 10 μs
Q1. What is the end to end delay for 1 packet?
$Trans_0$ = $\frac{1250 \times 8}{100 , \text{Mbps}}$ = 0.1 ms
$Prop_0$ = $\frac{50 , \text{km}}{2 \times 10^5 , \text{km/s}}$ = 0.25 ms
Processing = 10 ms
$Trans_1$ = $\frac{1250 \times 8}{1.5 , \text{Mbps}}$ = 6.67 ms
$Prop_0$ = $\frac{200 , \text{km}}{2 \times 10^5 , \text{km/s}}$ = 1 ms
Total = 18.02 ms
Queuing Delay
- the time a data packet spends waiting in a queue before being processed
Traffic Intensity Formula
- measures how busy a system is
R -> Outgoing Link Bandwidth (bps)
L -> Packet Length (measured in bits)
a -> Average Packet Arrival Rate (# of packets per second)
Traffic Intensity = $\frac{L \times a}{R}$
${L \times a}$ is the arrival rate of bits
${R}$ is the service rate of bits
- The average queuing delay goes to infinity as traffic intensity approaches 1
- Packets are arriving faster than the link can transmit them
- The queue grows indefinitely
- Causing excessive delays or packet loss if the buffer overflows
Traceroute
- provides delay measurement from the sender (your computer) to router
Round Trip Time (RTT): the duration, measured in milliseconds, from when a browser sends a request to when it receives a response from a server
Queuing Delay Formula
If we're only considering 2 packets.
After packet 1 reaches the router, it takes trans1 time to process, and then and only then can we start to process packet 2.
How long does packet 2 have to wait?
packet 2 can only start
Q2. Sender sends 2 consecutive packets
There is a queuing delay for 2nd packet
Modes of HTTP Connection
Non-Persistent HTTP – A new TCP connection is created for each request-response pair, making it slower due to repeated connection establishment (3-way handshake).
Persistent HTTP – The TCP connection remains open for multiple requests/responses, reducing overhead and improving performance (default in HTTP/1.1 with Connection: keep-alive).
Pipelining HTTP – A type of persistent connection where multiple requests are sent without waiting for previous responses, reducing latency but requiring ordered responses (supported in HTTP/1.1 but not widely used due to head-of-line blocking).