Computer Networks
Table of Contents
- Introduction
- Application Layer
- Socket Programming
- UDP Reliable Protocol
- TCP
- IP Addressing
- IP, Routing, ICMP
- Link Layer
- ARP, Ethernet and Switched LANs
- Multimedia Networking
- Network Security
- Physical Layer (Incomplete)
Web request summary
Visiting google.com:
- [DHCP request, over UDP port 68] Startup PC. PC needs IP Address.
- DHCP process
- PC broadcasts a DHCP discover message
- Server broadcasts back a DHCP offer (with address under
yiaddr
)
- PC broadcasts a DHCP request with attached
yiaddr
- Server broadcassts back a DHCP ack.
- DHCP req $\subset$ UDP segment $\subset$ IP datagram $\subset$ Ethernet frame
- Intermediate switches and first hop router and DHCP server learn of PC
MAC address, Switch port
added to switch table
IP address, MAC address, TTL
added to ARP tables in the router and server
- [DNS query] DHCP server also returns the IP of the first hop router and local DNS server
- Browser to request for IP of google.com from DNS server
- [ARP query] To find MAC of local DNS server, PC broadcasts ARP query with blank MAC
- Local DNS server replies to PC with its MAC
- PC adds local DNS server to ARP table, and sends DNS query
- Local DNS server sends iterated/recursive query to reach authoritative DNS server.
- [HTTP request, over TCP port 80] PC sends HTTP request to Google.
- [TCP 3-way handshake]
- PC chooses init seq number $x$, SYNBit set to 1.
- Welcome socket at Google’s Server accepts a TCP connection and creates a new connection socket for PC
- Server chooses init seq number $y$ and returns ack bit $x+1$, SYNbit anad ACKbit set to 1.
- PC sends back ack bit $y+1$ with ACKbit set to 1.
- Connection established.
- PC’s Private IP is translated by NUS NAT router, added to NAT table
- IP datagram is routed with RIP etc.
- At server neogtiation for secure connection
- Digital certificate of Facebook is verified.