computer science, fsu1 cnt5505 data/comuter communications fall 2010
DESCRIPTION
Computer Science, FSU3 Office Hours Love 164 3:30pM – 5:30PM, Thursday, or by appointments throughTRANSCRIPT
Computer Science, FSU 1
CNT5505DATA/COMUTER COMMUNICATIONS
Fall 2010
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• 3:30pM – 5:30PM, Thursday, or by
appointments through email
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
Computer Science, FSU 5
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 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_2010.htm
– Go to my website and click teaching• Check the Announcements and your email
account 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.– Projects.– One midterm– One final
Computer Science, FSU 9
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 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
Course Project• There will be several projects.• Not coding intensive
Computer Science, FSU 11
Computer Science, FSU 12
Questions and Concerns?
Computer Science, FSU 13
Computer Communication: A motivation example
• What happens behind the scene when I click on (on machine diablo)http://www.google.com?
Computer Science, FSU 14
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 15
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 16
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 17
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 18
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 19
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 20
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 21
The above example greatly simplified
DNS Browser(http client)
http server
TCP/UDP
IP
Ethernet
TCPUDP
IPIP
EthernetEthernet
Computer Science, FSU 22
What problems we need to resolve?
• Naming, addressing• fragmentation/reassembly• multiplexing/demultiplexing• routing• resolve contention• Speed mismatch between
sender/receiver• error control• …...