220 likes | 230 Views
CNT5505 DATA/COMUTER COMMUNICATIONS Spring 2010. About myself. Zhenghao Zhang Office: Love 164; Phone: 644-1685 Email: zzhang@cs.fsu.edu URL: http://www.cs.fsu.edu/~zzhang Research area: Wireless networks Network security Peer to peer networks Optical networks. Office Hours.
E N D
CNT5505 DATA/COMUTER COMMUNICATIONS Spring 2010 Computer Science, FSU
About myself • Zhenghao Zhang • Office: Love 164; Phone: 644-1685 • Email: zzhang@cs.fsu.edu • URL: http://www.cs.fsu.edu/~zzhang • Research area: • Wireless networks • Network security • Peer to peer networks • Optical networks Computer Science, FSU
Office Hours • Love 164 • 3:00pM – 5:00PM, Tuesday, or by appointments through email Computer Science, FSU
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 Computer Science, FSU
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
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
Class Information • Class website • http://www.cs.fsu.edu/~zzhang/CNT5505_Spring_2010.htm • Go to my website and click teaching • Check the Announcements and your email account regularly Computer Science, FSU
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
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
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
Course Project • There will be several projects. • Not coding intensive Computer Science, FSU
Questions and Concerns? Computer Science, FSU
Computer Communication: A motivation example • What happens behind the scene when I click on (on machine diablo) http://www.google.com? Computer Science, FSU
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
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
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
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
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
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
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
The above example greatly simplified DNS Browser (http client) http server TCP TCP/UDP UDP IP IP IP Ethernet Ethernet Ethernet Computer Science, FSU
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