Week1_1 - FSU Computer Science Department
Download
Report
Transcript Week1_1 - FSU Computer Science Department
CNT5505
DATA/COMUTER COMMUNICATIONS
Fall 2010
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:
• Wireless networks
• Network security
• Peer to peer networks
• Optical networks
Computer Science, FSU
2
Office Hours
• Love 164
• 3:30pM – 5:30PM, Thursday, or by
appointments through email
Computer Science, FSU
3
What is CNT5505 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
Computer Science, FSU
4
Course Prerequisites
• A rudimentary understanding of computer
architecture, and operating systems would be
helpful
• Basic understanding of algorithm 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
• Basic probability theory may be needed to
understand some performance
Computer Science, FSUanalysis
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/CNT5505_Fall_2010.htm
– Go to my website and click teaching
• Check the Announcements and your email
account 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
–
–
–
–
Homework assignments.
Projects.
One midterm
One final
Computer Science, FSU
8
Policies and Guidelines
• Homework and Assignments usually have two due times.
– Please work early and make the first due time.
– 10% penalty for submission by the second due time.
– Zero if later than the second due time.
• No make-up exam, no incomplete
– unless proof of emergency
• Scholastic behaviors
– Follow the Academic Honor Code.
– Acknowledge reference/credits if receive help.
– 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
Course Project
• There will be several projects.
• Not coding intensive
Computer Science, FSU
11
Questions and Concerns?
Computer Science, FSU
12
Computer Communication: A
motivation example
• What happens behind the scene when I
click on (on machine diablo)
http://www.google.com?
Computer Science, FSU
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
The above example greatly simplified
DNS
UDP
IP
Ethernet
Browser
(http client)
http server
TCP/UDP
TCP
IP
IP
Ethernet
Ethernet
Computer Science, FSU
21
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
22