CNT 5505 DATACOMUTER COMMUNICATIONS Fall 2010 Computer Science






















- Slides: 22
CNT 5505 DATA/COMUTER COMMUNICATIONS Fall 2010 Computer Science, FSU 1
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 2
Office Hours • Love 164 • 3: 30 p. M – 5: 30 PM, Thursday, or by appointments through email Computer Science, FSU 3
What is CNT 5505 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 analysis Computer Science, FSU 5
Course Materials • Required textbook – “Computer Networks, '' by Andrew S. Tanenbaum, Prentice Hall, 4 th 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/CNT 5505_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: 2 A: 29: FD • IP asks Ethernet to send an Ethernet frame to 00: 30: 48: 2 A: 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 16
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. 1n. Host: diablo. cs. fsu. edunn” – 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 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