What is the IP address of www.google.com?

Download Report

Transcript What is the IP address of www.google.com?

Welcome to
CEN5515
Data and Computer Communications
Time: 3:35AM-4:50AM, MW
Location: Love 103
Fall 2007, 3 credits
Computer Science, FSU
1
About myself
Zhenghao Zhang
Office: Love 164; Phone: 644-1685
Email: [email protected]
URL: http://www.cs.fsu.edu/~zzhang
Research area:
• Computer networks
• Network security
• Peer to peer networks
• Optical networks
• Wireless networks
Computer Science, FSU
2
Office Hours
• Love 164
• 2:00pM – 3:00PM, MW, or by
appointments
• You can send me email regarding this
course (Subject: CEN5515)
Computer Science, FSU
3
What is CEN5515 about?
•
General purpose computer networks
–
•
Fundamental principles
–
•
Not survey of existing protocol standards
Focus on network software architecture
–
•
Not specialized networks (e.g., telephone or
cable)
Only discuss some relevant network hardware
Designing and building network systems
–
–
Not queuing theory
CIS5930 Modeling and Performance Analysis
Computer Science, FSU
4
Course Prerequisites
• A rudimentary understanding of computer
architecture, and operating systems would be
helpful
• Basic probability theory may be needed to
understand some performance analysis
• C/C++ or Java programming is required
– Socket programming
– Unix programming
• Event multiplexing, timer
• Provided executable code and template of project
in C/C++
– You can develop the project in Java
Computer Science, FSU
5
Course Materials
• Required textbook
– “Computer Networks,'' by Andrew S. Tanenbaum, Prentice Hall,
4th edition, 2003
• Class notes, other assigned readings
• Materials on the Internet
Computer Science, FSU
6
Class Information
• Class website
– http://www.cs.fsu.edu/~zzhang/CEN5515.htm
– Go to my website and click teaching
• Announcement page
– Check regularly
Computer Science, FSU
7
Course Requirements
• Do assigned readings
– Be prepared; read textbook/lectures before class
• Attend and participate in class activities
– Please ask and answer questions in (and out of) class
– Attendance will be considered in the final letter grade
• Workload
–
–
–
–
4 homework assignments: 20%
One course project: 30%
One midterm: 20%
One final: 30%
Computer Science, FSU
8
Policies and Guidelines
• No late homework
– Please work on homework assignments early and hand in on time
– 20% penalty for homework no late than 2 days
– Zero for homework more than 2 days late.
• No make-up exam, no incomplete
– unless proof of emergency
• Scholastic behaviors
– Encouraged to study in groups but do your work independently
– Acknowledge reference/credits if receive help
– Academic Honor Code enforced
• Stanford Moss will be used to detect plagiarism
– You may end up “F” for dishonesty
– It is not worth it.
Computer Science, FSU
9
Important dates
• Check the course website
• For homework assignments
– Hand in hard-copy in class on due dates
– Preferably typed instead of handwritten
• For course project
– Submit by email
– Midnight on the due dates
– Demo time will be announced later
Computer Science, FSU
10
Grading Policies
A
90-100
AB+
B
BC
D
E
F
85-89
80-84
70-79
65-69
60-64
55-59
50-54
<50
Computer Science, FSU
11
Course project
• The page for the course project – go to
the course website and click link to
project
• About building a Bit-torrent like peer-topeer content distribution network
Computer Science, FSU
12
Course Project
• Will be divided into four smaller
projects. First two really easy, third most
difficult, fourth interesting
• 30% of the final grade
• Not coding intensive
Computer Science, FSU
13
Questions and Concerns?
Computer Science, FSU
14
Computer Communication: A
motivation example
• What happens behind the scene when I
click on (on machine diablo)
http://www.google.com?
Computer Science, FSU
15
Step 1: on local host
• Browser figures out what to do with the
URL: http://www.google.com/
– Three components in URL
• Where: www.google.com
• What: (retrieving file index.html)
• How: through HTTP protocol
– Talk to http daemon on www.google.com
to get file index.html through HTTP
protocol
Computer Science, FSU
16
Step 2: translating domain
name to IP address
• Each machine on the Internet identified by
one or more IP address
• Browser translating domain name
(www.google.com) to corresponding IP
address using domain name server (DNS)
– DNS in CS department: 128.186.120.179
• How does browser know IP address of DNS
server?
– Hard-coded (/etc/resolv.conf)
Computer Science, FSU
17
Step 2: Getting IP address (Con’t)
• Call its UDP protocol entity to talk to 128.186.120.179 port 53
• UDP protocol calls IP to send a datagram to 128.186.120.179.
• Turns out that 128.186.120.179 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.179.
• uses ARP protocol, sends an ARP packet over the network
What is the address of 128.186.120.179?
result: 00:30:48:2A:29:FD
• IP asks Ethernet to send an Ethernet frame to
00:30:48:2A:29:FD.
• Ethernet on 128.186.120.179 receives an Ethernet frame, turns
out to be an IP packet, pass it to the IP module.
• IP module finds out it is a UDP packet and passes it to UDP
module.
• UDP realizes that a process is listening to port 53, notifies the
Computer Science, FSU
18
process.
Step 2: Getting IP address (Cont’d)
• Browser calls UDP protocol entity to send a message to
128.186.120.179/53
• The UDP message to the DNS server is “What is the IP address
of www.google.com?”
• The DNS server sends a message back: 64.233.161.99
– Actually situation is complicated than this
– www.google.com is associated with multiple IP addresses
Computer Science, FSU
19
Step 3: establishing HTTP
connection
• Calls TCP entity to set up a connection to
64.233.161.99 /80
• TCP protocol calls IP to send a datagram to
64.233.161.99
– turns out that www.google.com and diablo are not directly
connected.
– need to forward to the first-hop router (128.186.120.1)
– find the Ethernet address of first-hop router using arp
– forward packet to first-hop router
– (second router, third router) …...
– www.google.com receives a packet.
Computer Science, FSU
20
Step 4: Web page request and
retrieval
• Use TCP to send strings (following the
HTTP protocol): “get / HTTP/1.1\nHost:
diablo.cs.fsu.edu\n\n”
– TCP entity calls IP to send a datagram
– …..
– www.google.com responses with the
content of index.html
Computer Science, FSU
21
Step 5: web page rendering
• Browser displays the content of the web
page
• This example was greatly simplified
– We did not discuss routing in detail
– We did not discuss rate-control
– We did not discuss error-control
–…
Computer Science, FSU
22
The above example greatly simplified
DNS
UDP
IP
Ethernet
Browser
(http client)
http server
TCP/UDP
TCP
IP
IP
Ethernet
Ethernet
Computer Science, FSU
23
What problems we need to resolve?
•
•
•
•
•
•
Naming, addressing
fragmentation/reassembly
multiplexing/demultiplexing
routing
resolve contention
Speed mismatch between
sender/receiver
• error control
• …...
Computer Science, FSU
24