
Data and Computer Communications Course Details Fall 2017
Explore the details of the CNT.5505 Data and Computer Communications course for Fall 2017, covering the course overview, instructor information, class description, prerequisites, course materials, workload, and grading policies.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
CNT 5505 Data and Computer Communications 9:30AM 10:45AM, M & W Fall 2017 1
Instructor Xin Yuan (xyuan@cs.fsu.edu) Office: Love 259 Office hours: 1:00PM 2:30PM, Monday & Wednesday Or by appointments (email xyuan@cs.fsu.edu) Class website Use blackboard http://campus.fsu.edu 2
Teaching Assistant TA: Mehran Sadeghi Lahijani Email: sadeghil@cs.fsu.edu Office: TBA Office hour: TBA 3
What is this class about? General purpose computer networks (Internet) Not specialized networks (e.g., telephone or cable TV) Fundamental principles Not survey of existing protocol standards Focus on network software architecture Only discuss some relevant network hardware Designing, evaluating, building network systems Not queuing theory CIS5930 Modeling and Performance Analysis After taking this class, you should be able to Describe the overall Internet architecture Describe the design issues in each layer of the architecture Describe, analyze, apply, and code the key techniques and protocols in each layer 4
Course Prerequisites Official CDA 3101 (Computer Org II), COP 4610 (Operating Systems) Unofficial notes A student can pass this course without much required background knowledge if he or she is motivated enough 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++ programming is required 5
Course Materials Required textbook Computer Networks,'' by Andrew S. Tanenbaum, Prentice Hall, 5th edition, 2011 Recommended reference textbooks Computer Networking: A Top-Down Approach,'' by Jim Kurose and Keith Ross, Addison-Wesley. Advanced Programming in the Unix Environment, by W. Richard Stevens, Addison-Wesley Unix Network Programming, the Socket Networking API, Volume 1, 3rd Edition, by W. Richard Stevens, et al. Addison-Wesley Lecture notes, other assigned readings Materials on the Internet 6
Workload and Grading Policies 3-5 homework assignments: 10% - equally weighted 4 course projects (single and/or group): 30% - equally weighted 1 midterm exam: 25% 1 final exam: 35% 7
Tentative Grading Policies A A- B+ B B- C+ C C- D F [90-100] [87-90) [84-87) [80-84) [76-80) [73-76) [69-72) [66-69) [56-66) < 56 8
Important dates Check blackboard on important dates Subject to change Changes will be announced in the blackboard For homework assignments Hand in hard-copy in class on due dates Preferably typed instead of handwritten For course projects Submit through the online submission page Midnight on the due dates Demo time will be announced later 9
Accounts Computer Science account (<yourid>@cs.fsu.edu) For doing projects https://system.cs.fsu.edu/newuser/ FSU account (<yourid>@fsu.edu) For receiving class announcements For submitting assignments For getting your grades http://its.fsu.edu/Students Access to blackboard For class materials, discussion board, grades etc. Through your FSU account http://campus.fsu.edu 10
Policies and Guidelines Willing to consider your special situation of ANY kind if you let me know 48 hours before the event. Show proof of extenuating situation after that. No late homework/projects Please work on homework assignments/projects early and hand in on time 10% penalty no late than 24 hours 20% penalty no late than 48 hours 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 be strictly enforced Moss will be used to detect plagiarism Please read detailed course policies in the syllabus. 11
Honors Code Violation Follow university academic honor policy at http://fda.fsu.edu/academic-resources/academic-integrity-and- grievances/academic-honor-policy Step 1 agreement: The student will receive a score of zero on the concerned assignment. The final letter grade will be lowered by one level (for example, B+ will become C+). Do not copy from anywhere (e.g from the Internet) Do not give your solution/code to others, at any time. I will not negotiate with the accused violator and will not listen to explanations (it is the job for the honor court judges). 12
questions What will you be learning in this class? Will you learn how Cable networks work? How many exams will be there in this class? If you are under weather for a few days, which will prevent from completing an assignment on time, what can you do? If you are wrongfully accused of honor code violation and would like to defend yourself, what can you do? 14
Computer Communication: An overview example What happens behind the scene when I click on the following link in a browser on diablo.cs.fsu.edu http://www.google.com? Don t be overwhelmed by the example; we will study all aspects involved in this semester 15
Layered Internet Protocol Architecture Application layer HTTP, SMTP, FTP Transport layer TCP, UDP Network layer IP Data link layer + Physical layer Ethernet Application Transport Network Data Link Physical 16
Step 1: on local host Browser (an HTTP client) figures out what to do with the URL: http://www.google.com/ Three components Where: www.google.com What: (retrieving default file under root path / -- index.html) How: through HTTP protocol Talk to http server daemon on www.google.com to get file index.html through HTTP protocol Most Internet application level protocols are text-based. Try the following on a machine: <diablo> Telnet www.google.com 80 GET /index.html HTTP/1.0 17
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 the domain name server (DNS) system DNS in CS department: 128.186.120.178 Try nslookup www.google.com How does browser know IP address of DNS server? Hard-coded (/etc/resolv.conf) DHCP auto-configured system. 18
Step 2: Getting IP address (Cont) Call its UDP API routine (a transport layer API routing) to talk to 128.186.120.178 port 53 UDP routine calls an IP routine (a network layer API routine) to send a datagram to 128.186.120.178. Turns out that 128.186.120.178 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 physical (Ethernet) address of 128.186.120.178? result: 00:0C:29:DD:BB:2F IP asks Ethernet to send an Ethernet frame to 00:0C:29:DD:BB:2F. Ethernet on 128.186.120.178 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. Port number for different applications: /etc/services Showing ARP cache: /sbin/arp 19
Step 2: Getting IP address (Contd) 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: 74.125.196.105 Actually situation is complicated than this www.google.com is associated with multiple IP addresses Commands mapping name and IP: host, nslookup, dig 20
Step 3: establishing HTTP connection Calls TCP entity to set up a connection to 74.125.196.105/80 TCP protocol calls IP to send a datagram to 74.125.196.105 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 The first-hop router sends to the second router, the second hop router sends to the third router, ... www.google.com receives a packet. Showing routing table: netstat r, or /sbin/route Showing complete path: traceroute 21
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 22
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 23
The above example greatly simplified DNS Browser (http client) http server TCP TCP/UDP UDP IP IP IP Ethernet Ethernet Ethernet 24
Some problems we need to resolve in the Internet Naming, addressing routing Speed mismatch between sender/receiver error control resolve contention fragmentation/reassembly multiplexing/demultiplexing ... 25
Reading Chapter 1 26