This project analyzes end-to-end network delay using a multi-router network simulated with Docker.
- Docker
- Linux tc (traffic control)
- ICMP (ping)
- Networking concepts (transmission, propagation, queuing delay)
-
Start the Docker network: docker-compose -f LAN-3R2H.yml up -d
-
Configure network delays using tc commands (see report for full commands)
-
Generate traffic using ping: ping -l 10 -c 20 -s 1232
-
Capture packets using tcpdump to observe delays
The screenshot shows ICMP traffic during the simulation. Packets are transmitted at different rates, demonstrating queue buildup and delay across routers.
The full packet-by-packet delay computation is provided in the files below:
These tables show how transmission delay, propagation delay, and queuing delay were calculated for each packet across all routers.
I learned how end-to-end delay is composed of transmission, propagation, and queuing delay, and how congestion builds when arrival rate exceeds service rate.
One challenge was correctly interpreting the assignment requirements and fixing incorrect delay calculations. Another challenge was configuring Docker and clearing incorrect tc settings.
