End to End Operation
Suppose we have the following scenario:
- Host H1 boots up
- Fetches small file from H5
- Goes idle
- Fetches two small files from H2 Pasted image 20221210190305.png
Here’s what will happen:
- DHCP to get configuration
- UDP Discover => broadcast
- UDP Offer from H4 <- H1
- UDP Request => broadcast
- UDP ack <- H1
- ARP for DNS server
- ARP request for H3 => broadcast
- H3 ARP response <- unicast to H1
- Resolve H5
- UDP DNS request for H5.com => H3
- UDP DNS response <- H1
- ARP for R1
- ARP request for R1 => broadcast
- ARP response from R1 <- H1
- TCP connection to H5
- TCP SYN => H5
- TCP SYNACK <- H1
- TCP ACK => H5
- HTTP request to H5
- TCP HTTP GET => H5
- TCP ACK <- H1
- HTTP response <- H1
- ACK => H5
- (after download completes and connection becomes idle for a while) FIN => H5
- TCP disconnect from H5
- ACK <- H1
- FIN <- H1
- ACK => H5 The rest of the steps are extremely similar to the above.
- Resolve H2
- ARP for H2
- TCP to H2
- HTTP to H2
- HTTP to H2 (2)
- TCP disconnect from H\2