Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS FALL 2008 Time: 3:35AM-4:50AM, MW Location: Love 103 Fall 2008, 3 credits
Computer Science, FSU2 About myself Zhenghao Zhang Office: Love 164; Phone: URL: Research area: Wireless networks Network security Peer to peer networks Optical networks
Computer Science, FSU3 Office Hours Love 164 2:00pM – 3:00PM, MW, or by appointments You can send me regarding this course
Computer Science, FSU4 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, FSU5 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, FSU6 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, FSU7 Class Information Class website – _2008.htmhttp:// _2008.htm –Go to my website and click teaching Announcement page –Check regularly
Computer Science, FSU8 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, FSU9 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 plagiarismStanford Moss –You may end up “F” for dishonesty –It is not worth it.
Computer Science, FSU10 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 –Midnight on the due dates –Demo time will be announced later
Computer Science, FSU11 Grading Policies A A B B70-79 B C60-64 D55-59 E50-54 F<50
Course Project There will be several projects. Not coding intensive Computer Science, FSU12
Computer Science, FSU13 Questions and Concerns?
Computer Science, FSU14 Computer Communication: A motivation example What happens behind the scene when I click on (on machine diablo)
Computer Science, FSU15 Step 1: on local host Browser figures out what to do with the URL: –Three components in URL Where: What: (retrieving file index.html) How: through HTTP protocol –Talk to http daemon on to get file index.html through HTTP protocol
Computer Science, FSU16 Step 2: translating domain name to IP address Each machine on the Internet identified by one or more IP address Browser translating domain name ( to corresponding IP address using domain name server (DNS) –DNS in CS department: How does browser know IP address of DNS server? –Hard-coded (/etc/resolv.conf)
Computer Science, FSU17 Step 2: Getting IP address (Con’t) Call its UDP protocol entity to talk to port 53 UDP protocol calls IP to send a datagram to Turns out that and (diablo) are on the same Ethernet domain, can send directly via the Ethernet. Needs to find out the Ethernet address of uses ARP protocol, sends an ARP packet over the network What is the address of ? result: 00:30:48:2A:29:FD IP asks Ethernet to send an Ethernet frame to 00:30:48:2A:29:FD. Ethernet on 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, FSU18 Step 2: Getting IP address (Cont’d) Browser calls UDP protocol entity to send a message to /53 The UDP message to the DNS server is “What is the IP address of The DNS server sends a message back: –Actually situation is complicated than this – is associated with multiple IP addresses
Computer Science, FSU19 Step 3: establishing HTTP connection Calls TCP entity to set up a connection to /80 TCP protocol calls IP to send a datagram to –turns out that and diablo are not directly connected. –need to forward to the first-hop router ( ) –find the Ethernet address of first-hop router using arp –forward packet to first-hop router –(second router, third router) …... – receives a packet.
Computer Science, FSU20 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 –….. – responses with the content of index.html
Computer Science, FSU21 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, FSU22 The above example greatly simplified DNSBrowser (http client) http server TCP/UDP IP Ethernet TCP UDP IP Ethernet
Computer Science, FSU23 What problems we need to resolve? Naming, addressing fragmentation/reassembly multiplexing/demultiplexing routing resolve contention Speed mismatch between sender/receiver error control …...