Computer Communication: An example What happens when I click on
Step 1: Netscape figures out what to do with the URL “ –Three components in the URL: Where? What? /~xyuan/cen5515 How? Through the HTTP protocol. Talk to the http daemon using the HTTP protocol on to get file /~xyuan/cen –Netscape finds out what is the network address of
finding out the network address of “ –netscape goes to a domain name server (DNS) to find out the IP address of “ host = gethostbyname(“ –DNS server in our department: –How does netscape know the address of the DNS server? Hard-coded at system (network) configuration. E.g. /etc/resolv.conf in Linux systems.
Step 1: Get the IP address from the DNS server. –Call its UDP protocol entity to talk to port 53 UDP protocol calls IP to send a datagram to –Turns out that and (diablo) are on the same Ethernet domain, can send directly via the Ethernet. –Needs to find out the Ethernet address of –uses ARP protocol, sends an ARP packet over the network What is the address of ? result: 08:00:20:FC:EF:6D. –IP asks Ethernet to send an Ethernet frame to 08:00:20:FC:EF:6D. –Ethernet on receives an Ethernet frame, turns out to be an IP packet, pass it to the IP module. –IP module finds out that it is a UDP packet and passes it to the UDP module. –UDP realizes that a process is listening to port 53, notifies the process.
Step 1: How to get the IP address from the DNS server (continue)? –Netscape calls the UDP protocol entity to send a message to /53 The UDP message to the DNS server is “What is the IP address of The DNS server sends a message back:
Step 2: Set up a TCP connection to the remote ( ) http daemon. –Calls TCP entity to set up a connection to /80 TCP protocol calls IP to send a datagram to –turns out that ( and this machine are directly connected. –Find the Ethernet address of using arp –…... – receives a packet.
Step 3: Talk to the http daemon on using the http protocol. –Use TCP to send strings (following the HTTP protocol): “get /~xyuan/cen5515 HTTP/1.1\nHost: diablo.cs.fsu.edu\n\n” TCP entity calls IP to send a datagram ….. – responses with the content of /~xyuan/cen5515www.cs.fsu.edu Step 4: Netscape displays the file in the window.
The example was simplified. DNSNetscape (http client) http server TCP/UDP IP Ethernet TCP UDP IP Ethernet
What are the problems we need to solve? –Naming, addressing –fragmentation/reassembly –multiplexing/demultiplexing –routing –resolve contention –Speed mismatch between sender/receiver –error control –…...