Packet Journey
How does a message travel across the internet?
Loading the simulation…
How does a message travel across the internet?
Loading the simulation…
A laptop fetches a page from a server in Frankfurt. Handshake, request, response, teardown -- with a NAPT rewrite at the home router and its exact reverse on the way back.
As authored: TCP
As authored: 412, 1180 bytes
Anything over 1500 bytes has to be fragmented.
Every packet that is sent arrives.
4 steps. Pause, step back or replay any of them.
Nothing selected
Click anything on the map (a device, a cable, or a moving message) to see what it is.
TCP 49152 -> 80 [SYN] Seq=1842000 Win=64240 Len=0
Header added · Laptop
Ethernet frame prepended: 40 bytes become 54, addressed to 00:00:5e:00:53:06 -- the next machine on this wire, not the destination.
| Field | Value |
|---|---|
| Version | 4 |
| IHL | 5 (20 bytes) |
| What it’s for: Header length in 32-bit words. Five means no options, which is almost every packet. | |
| DSCP | 0 |
| ECN | 0 |
| Total Length | 40 |
| What it’s for: Header plus payload: 20 + 20 bytes. | |
| Identification | 30000 |
| What it’s for: Shared by every fragment of one datagram, so the destination knows which pieces belong together. | |
| Flags | none |
| What it’s for: Don't Fragment makes a router drop an oversized packet and report the MTU instead of splitting it. More Fragments is set on every fragment but the last. | |
| Fragment Offset | 0 (byte 0) |
| What it’s for: Counted in 8-byte units, which is why every fragment except the last carries a multiple of 8 bytes. | |
| TTL | 64 |
| What it’s for: Every router subtracts one. At zero the packet is dropped and an ICMP Time Exceeded goes back -- which is how traceroute maps a path. | |
| Protocol | 6 (TCP) |
| Header Checksum | 0x8137 |
| What it’s for: Covers the header only, so every router that decrements the TTL must recompute it. | |
| Source | 192.168.1.112 |
| What it’s for: Set by the sender and unchanged all the way to the destination -- unless a NAT rewrites it. | |
| Destination | 192.0.2.80 |
| What it’s for: The far end of the journey. Routers read it to choose a next hop; none of them change it. | |
Outermost header first — the order a receiving network card reads them. Each hop throws away the frame at the top and builds a new one; everything below it crosses the whole path untouched.
| Hop | Time | From → to | TTL | MAC | IP | Bytes | Changed |
|---|---|---|---|---|---|---|---|
| TCP 49152 -> 80 [SYN] Seq=1842000 Win=64240 Len=0 | |||||||
| 0.00 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 54 | first hop | |
| 0.00 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.01 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.01 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.01 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.10 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.10 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| TCP 80 -> 60000 [SYN, ACK] Seq=3517400 Ack=1842001 Win=64240 Len=0 | |||||||
| 0.10 s | app.example origin → Hosting provider edge | 64 | 00:00:5e:00:53:10 → 00:00:5e:00:53:0f | 192.0.2.80:80 → 203.0.113.7:60000 | 54 | first hop | |
| 0.10 s | Hosting provider edge → Transit provider (FRA) | 63 | 00:00:5e:00:53:0f → 00:00:5e:00:53:0e | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.10 s | Transit provider (FRA) → Transit provider (SG) | 62 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0d | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.18 s | Transit provider (SG) → Regional POP router | 61 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0a | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.18 s | Regional POP router → ISP access router | 60 | 00:00:5e:00:53:0a → 00:00:5e:00:53:08 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.19 s | ISP access router → Home router (NAPT)via Fibre terminal (ONT) — unchanged | 59 | 00:00:5e:00:53:08 → 00:00:5e:00:53:06 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.19 s | Home router (NAPT) → Laptopvia LAN switch, Wi-Fi access point — unchanged | 58 | 00:00:5e:00:53:06 → 00:00:5e:00:53:01 | 192.0.2.80:80 → 192.168.1.112:49152 | 54 |
| |
| TCP 49152 -> 80 [ACK] Seq=1842001 Ack=3517401 Win=64240 Len=0 | |||||||
| 0.20 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 54 | first hop | |
| 0.20 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.20 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.21 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.21 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.29 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.29 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| TCP 49152 -> 80 [PSH, ACK] Seq=1842001 Ack=3517401 Win=64240 Len=412 | |||||||
| 0.29 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 466 | first hop | |
| 0.29 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| 0.30 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| 0.30 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| 0.31 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| 0.39 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| 0.39 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 466 |
| |
| TCP 80 -> 60000 [ACK] Seq=3517401 Ack=1842413 Win=64240 Len=0 | |||||||
| 0.39 s | app.example origin → Hosting provider edge | 64 | 00:00:5e:00:53:10 → 00:00:5e:00:53:0f | 192.0.2.80:80 → 203.0.113.7:60000 | 54 | first hop | |
| 0.39 s | Hosting provider edge → Transit provider (FRA) | 63 | 00:00:5e:00:53:0f → 00:00:5e:00:53:0e | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.39 s | Transit provider (FRA) → Transit provider (SG) | 62 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0d | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.48 s | Transit provider (SG) → Regional POP router | 61 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0a | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.48 s | Regional POP router → ISP access router | 60 | 00:00:5e:00:53:0a → 00:00:5e:00:53:08 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.48 s | ISP access router → Home router (NAPT)via Fibre terminal (ONT) — unchanged | 59 | 00:00:5e:00:53:08 → 00:00:5e:00:53:06 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.49 s | Home router (NAPT) → Laptopvia LAN switch, Wi-Fi access point — unchanged | 58 | 00:00:5e:00:53:06 → 00:00:5e:00:53:01 | 192.0.2.80:80 → 192.168.1.112:49152 | 54 |
| |
| TCP 80 -> 60000 [PSH, ACK] Seq=3517401 Ack=1842413 Win=64240 Len=1180 | |||||||
| 0.49 s | app.example origin → Hosting provider edge | 64 | 00:00:5e:00:53:10 → 00:00:5e:00:53:0f | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 | first hop | |
| 0.49 s | Hosting provider edge → Transit provider (FRA) | 63 | 00:00:5e:00:53:0f → 00:00:5e:00:53:0e | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 |
| |
| 0.49 s | Transit provider (FRA) → Transit provider (SG) | 62 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0d | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 |
| |
| 0.57 s | Transit provider (SG) → Regional POP router | 61 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0a | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 |
| |
| 0.57 s | Regional POP router → ISP access router | 60 | 00:00:5e:00:53:0a → 00:00:5e:00:53:08 | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 |
| |
| 0.58 s | ISP access router → Home router (NAPT)via Fibre terminal (ONT) — unchanged | 59 | 00:00:5e:00:53:08 → 00:00:5e:00:53:06 | 192.0.2.80:80 → 203.0.113.7:60000 | 1234 |
| |
| 0.58 s | Home router (NAPT) → Laptopvia LAN switch, Wi-Fi access point — unchanged | 58 | 00:00:5e:00:53:06 → 00:00:5e:00:53:01 | 192.0.2.80:80 → 192.168.1.112:49152 | 1234 |
| |
| TCP 49152 -> 80 [ACK] Seq=1842413 Ack=3518581 Win=64240 Len=0 | |||||||
| 0.59 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 54 | first hop | |
| 0.59 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.59 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.60 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.60 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.68 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.68 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| TCP 49152 -> 80 [FIN, ACK] Seq=1842413 Ack=3518581 Win=64240 Len=0 | |||||||
| 0.68 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 54 | first hop | |
| 0.68 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.69 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.69 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.70 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.78 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.78 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| TCP 80 -> 60000 [ACK] Seq=3518581 Ack=1842414 Win=64240 Len=0 | |||||||
| 0.78 s | app.example origin → Hosting provider edge | 64 | 00:00:5e:00:53:10 → 00:00:5e:00:53:0f | 192.0.2.80:80 → 203.0.113.7:60000 | 54 | first hop | |
| 0.78 s | Hosting provider edge → Transit provider (FRA) | 63 | 00:00:5e:00:53:0f → 00:00:5e:00:53:0e | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.78 s | Transit provider (FRA) → Transit provider (SG) | 62 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0d | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.87 s | Transit provider (SG) → Regional POP router | 61 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0a | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.87 s | Regional POP router → ISP access router | 60 | 00:00:5e:00:53:0a → 00:00:5e:00:53:08 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.87 s | ISP access router → Home router (NAPT)via Fibre terminal (ONT) — unchanged | 59 | 00:00:5e:00:53:08 → 00:00:5e:00:53:06 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.88 s | Home router (NAPT) → Laptopvia LAN switch, Wi-Fi access point — unchanged | 58 | 00:00:5e:00:53:06 → 00:00:5e:00:53:01 | 192.0.2.80:80 → 192.168.1.112:49152 | 54 |
| |
| TCP 80 -> 60000 [FIN, ACK] Seq=3518581 Ack=1842414 Win=64240 Len=0 | |||||||
| 0.88 s | app.example origin → Hosting provider edge | 64 | 00:00:5e:00:53:10 → 00:00:5e:00:53:0f | 192.0.2.80:80 → 203.0.113.7:60000 | 54 | first hop | |
| 0.88 s | Hosting provider edge → Transit provider (FRA) | 63 | 00:00:5e:00:53:0f → 00:00:5e:00:53:0e | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.88 s | Transit provider (FRA) → Transit provider (SG) | 62 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0d | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.96 s | Transit provider (SG) → Regional POP router | 61 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0a | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.97 s | Regional POP router → ISP access router | 60 | 00:00:5e:00:53:0a → 00:00:5e:00:53:08 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.97 s | ISP access router → Home router (NAPT)via Fibre terminal (ONT) — unchanged | 59 | 00:00:5e:00:53:08 → 00:00:5e:00:53:06 | 192.0.2.80:80 → 203.0.113.7:60000 | 54 |
| |
| 0.97 s | Home router (NAPT) → Laptopvia LAN switch, Wi-Fi access point — unchanged | 58 | 00:00:5e:00:53:06 → 00:00:5e:00:53:01 | 192.0.2.80:80 → 192.168.1.112:49152 | 54 |
| |
| TCP 49152 -> 80 [ACK] Seq=1842414 Ack=3518582 Win=64240 Len=0 | |||||||
| 0.98 s | Laptop → Home router (NAPT)via Wi-Fi access point, LAN switch — unchanged | 64 | 00:00:5e:00:53:01 → 00:00:5e:00:53:06 | 192.168.1.112:49152 → 192.0.2.80:80 | 54 | first hop | |
| 0.98 s | Home router (NAPT) → ISP access routervia Fibre terminal (ONT) — unchanged | 63 | 00:00:5e:00:53:06 → 00:00:5e:00:53:08 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.98 s | ISP access router → Regional POP router | 62 | 00:00:5e:00:53:08 → 00:00:5e:00:53:0a | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.99 s | Regional POP router → Transit provider (SG) | 61 | 00:00:5e:00:53:0a → 00:00:5e:00:53:0d | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 0.99 s | Transit provider (SG) → Transit provider (FRA) | 60 | 00:00:5e:00:53:0d → 00:00:5e:00:53:0e | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 1.07 s | Transit provider (FRA) → Hosting provider edge | 59 | 00:00:5e:00:53:0e → 00:00:5e:00:53:0f | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| 1.07 s | Hosting provider edge → app.example origin | 58 | 00:00:5e:00:53:0f → 00:00:5e:00:53:10 | 203.0.113.7:60000 → 192.0.2.80:80 | 54 |
| |
| Protocol | Inside (private) | Outside (public) | Destination | Created | Last used |
|---|---|---|---|---|---|
| Empty. The first packet out of the house writes the first row. | |||||