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:

    1. SYN Segment: Sent from the client to initiate the connection.

    2. SYN-ACK: Sent from the server in response, indicating readiness.

    3. 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.