Date post: | 05-Jan-2016 |
Category: |
Documents |
Upload: | wilfrid-barker |
View: | 212 times |
Download: | 0 times |
Computer Science, FSU 1
CNT5505DATA/COMUTER COMMUNICATIONS
FALL 2008
Time: 3:35AM-4:50AM, MWLocation: Love 103Fall 2008, 3 credits
Computer Science, FSU 2
About myselfZhenghao ZhangOffice: Love 164; Phone: 644-1685Email: [email protected]: http://www.cs.fsu.edu/~zzhang
Research area: • Wireless networks • Network security• Peer to peer networks• Optical networks
Computer Science, FSU 3
Office Hours
• Love 164
• 2:00pM – 3:00PM, MW, or by appointments
• You can send me email regarding this course
Computer Science, FSU 4
What is CNT5505 about?• General purpose computer networks
– Not specialized networks (e.g., telephone or cable)
• Fundamental principles– Not survey of existing protocol standards
• Focus on network software architecture– Only discuss some relevant network hardware
• Designing and building network systems– Not queuing theory– CIS5930 Modeling and Performance Analysis
Computer Science, FSU 5
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
• 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
Computer Science, FSU 6
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 7
Class Information
• Class website– http://www.cs.fsu.edu/~zzhang/CNT5505_Fall
_2008.htm– Go to my website and click teaching
• Announcement page– Check regularly
Computer Science, FSU 8
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:– One course project– One midterm– One final
Computer Science, FSU 9
Policies and Guidelines• No late homework
– Please work on homework assignments early and hand in on time– 10% 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 10
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 11
Grading PoliciesA 90-100
A- 85-89
B+ 80-84
B 70-79
B- 65-69
C 60-64
D 55-59
E 50-54
F <50
Course Project
• There will be several projects.• Not coding intensive
Computer Science, FSU 12
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 process.
Computer Science, FSU 18
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 Browser(http client)
http server
TCP/UDP
IP
Ethernet
TCPUDP
IPIP
EthernetEthernet
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• …...