240 likes | 249 Views
This course provides an overview of general purpose computer networks, focusing on network software architecture and the design and building of network systems. Topics include network security, peer-to-peer networks, optical networks, and wireless networks.
E N D
Welcome to CEN5515 Data and Computer Communications Time: 3:35AM-4:50AM, MW Location: Love 103 Fall 2007, 3 credits 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: • Computer networks • Network security • Peer to peer networks • Optical networks • Wireless networks Computer Science, FSU
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
What is CEN5515 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
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
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/CEN5515.htm • Go to my website and click teaching • Announcement page • Check 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 • 4 homework assignments: 20% • One course project: 30% • One midterm: 20% • One final: 30% Computer Science, FSU
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
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
Grading Policies Computer Science, FSU
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-to-peer content distribution network Computer Science, FSU
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
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