Web Request Journey
A Day in the Life of a Web Request Journey
This document breaks down the complete journey of a web request from a client (a laptop) connecting to a web server, detailing the protocols used at all layers of the networking stack.
Page 1: Overview
Synthesis: Understanding the process of a web request through various protocol layers: application, transport, network, link.
Goal: Identify, review, and understand the protocols involved in a scenario where a student connects to a campus WiFi network and requests a webpage (e.g., www.google.com).
Page 2: Network Scenario
client & Network IPs:
Comcast Network: 68.80.0.0/13
Google’s Network: 64.233.169.105, 64.233.160.0/19
Components: Web server, DNS server, School network (68.80.2.0/24), and the browser.
Page 3: Connecting to the Internet
Wireless Connection: The laptop connects wirelessly and must associate with an Access Point (AP):
Scan for beacons from available APs.
Send Association Request and receive Association Response.
Page 4: IP Address Assignment via DHCP
Getting IP Addresses:
Laptop requests an IP address, first-hop router address, and DNS server address using DHCP.
DHCP Process:
DHCP encapsulated in UDP, IP, and Ethernet frames.
Broadcast frame (destination MAC: FFFFFFFFFFFF) sent on LAN to the router (DHCP server).
The frame is received and demultiplexed to reach DHCP.
Page 5: Receiving DHCP ACK
DHCP Server Response:
The DHCP server sends a DHCP ACK containing:
Client’s assigned IP address.
First-hop router's IP address.
DNS server name and IP address.
The client receives this information and is now ready to communicate over the network.
Page 6: Address Resolution Protocol (ARP) and DNS
Resolving IP Address for www.google.com:
Before sending an HTTP request, the client must translate the DNS name into an IP address.
ARP Operations:
An ARP query is sent to obtain the MAC address of the router's interface.
The router replies with its MAC address, enabling the client to send the DNS query.
Page 7: DNS Query Process
Sending DNS Query:
The IP datagram with the DNS query is sent through the campus LAN to the first hop router.
The router forwards the request to the DNS server determined by routing protocols (RIP, OSPF, IS-IS, BGP).
The DNS server replies to the client with the IP address of www.google.com.
Page 8: Establishing a TCP Connection
Three-Way Handshake for TCP:
To send an HTTP request, the client first establishes a TCP connection with the web server:
SYN Segment: Sent from the client to initiate the connection.
SYN-ACK: Sent from the server in response, indicating readiness.
Final ACK: Client completes the handshake, establishing a connection.
Page 9: Sending HTTP Request and Receiving Response
HTTP Transactions:
Once the TCP connection is established, the client sends an HTTP request through the TCP socket.
The request is routed to www.google.com, and the server processes it:
Server responds with an HTTP reply containing the requested web page.
Conclusion: The webpage is finally displayed to the user after the full round trip of requests and responses.