Computer Communication: An example • What happens when I click on

advertisement
Computer Communication: An
example
• What happens when I click on
http://www.cs.fsu.edu/~xyuan/cen5515?
• Step 1: Netscape figures out what to do with
the URL
“http://www.cs.fsu.edu/~xyuan/cen5515”
– Three components in the URL:
•
•
•
•
Where? www.cs.fsu.edu
What? /~xyuan/cen5515
How? Through the HTTP protocol.
Talk to the http daemon using the HTTP protocol on
www.cs.fsu.edu to get file /~xyuan/cen5515.
– Netscape finds out what is the network address
of www.cs.fsu.edu.
• finding out the network address of
“www.cs.fsu.edu”
– netscape goes to a domain name server (DNS)
to find out the IP address of “www.cs.fsu.edu”
host = gethostbyname(“www.cs.fsu.edu”);
– DNS server in our department:
128.186.121.178
– 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 128.186.120.178 port
53
• UDP protocol calls IP to send a datagram to 128.186.120.178.
– Turns out that 128.186.120.178 and 128.186.120.2 (diablo) are on the
same Ethernet domain, can send directly via the Ethernet.
– Needs to find out the Ethernet address of 128.186.120.178.
– uses ARP protocol, sends an ARP packet over the network
What is the address of 128.186.121.10?
result: 08:00:20:FC:EF:6D.
– IP asks Ethernet to send an Ethernet frame to 08:00:20:FC:EF:6D.
– Ethernet on 128.186.120.178 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 128.186.121.10/53
• The UDP message to the DNS server is “What is the IP
address of www.cs.fsu.edu?”
• The DNS server sends a message back: 128.186.120.244
• Step 2: Set up a TCP connection to the remote
(128.186.120.244) http daemon.
– Calls TCP entity to set up a connection to
128.186.120.244/80
• TCP protocol calls IP to send a datagram to
128.186.120.244
– turns out that 128.186.120.244 (www.cs.fsu.edu) and this
machine are directly connected.
– Find the Ethernet address of 128.186.120.244 using arp
– …...
– www.cs.fsu.edu receives a packet.
• Step 3: Talk to the http daemon on
www.cs.fsu.edu 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
• …..
– www.cs.fsu.edu responses with the content of
/~xyuan/cen5515
• Step 4: Netscape displays the file in the
window.
• The example was simplified.
DNS
UDP
IP
Ethernet
Netscape
(http client)
http server
TCP/UDP
TCP
IP
IP
Ethernet
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
…...
Download