Welcome to CEN 5515 Data and Computer Communications

  • Slides: 24
Download presentation
Welcome to CEN 5515 Data and Computer Communications Time: 3: 35 AM-4: 50 AM,

Welcome to CEN 5515 Data and Computer Communications Time: 3: 35 AM-4: 50 AM, MW Location: Love 103 Fall 2007, 3 credits Computer Science, FSU 1

About myself Zhenghao Zhang Office: Love 164; Phone: 644 -1685 Email: zzhang@cs. fsu. edu

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 2

Office Hours • Love 164 • 2: 00 p. M – 3: 00 PM,

Office Hours • Love 164 • 2: 00 p. M – 3: 00 PM, MW, or by appointments • You can send me email regarding this course (Subject: CEN 5515) Computer Science, FSU 3

What is CEN 5515 about? • General purpose computer networks – • Fundamental principles

What is CEN 5515 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 – – Not queuing theory CIS 5930 Modeling and Performance Analysis Computer Science, FSU 4

Course Prerequisites • A rudimentary understanding of computer architecture, and operating systems would be

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 5

Course Materials • Required textbook – “Computer Networks, '' by Andrew S. Tanenbaum, Prentice

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/CEN 5515. htm –

Class Information • Class website – http: //www. cs. fsu. edu/~zzhang/CEN 5515. htm – Go to my website and click teaching • Announcement page – Check regularly Computer Science, FSU 7

Course Requirements • Do assigned readings – Be prepared; read textbook/lectures before class •

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 8

Policies and Guidelines • No late homework – Please work on homework assignments early

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 9

Important dates • Check the course website • For homework assignments – Hand in

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

Grading Policies A AB+ B BC D E F 90 -100 85 -89 80

Grading Policies A AB+ B BC D E F 90 -100 85 -89 80 -84 70 -79 65 -69 60 -64 55 -59 50 -54 <50 Computer Science, FSU 11

Course project • The page for the course project – go to the course

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-topeer content distribution network Computer Science, FSU 12

Course Project • Will be divided into four smaller projects. First two really easy,

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 13

Questions and Concerns? Computer Science, FSU 14

Questions and Concerns? Computer Science, FSU 14

Computer Communication: A motivation example • What happens behind the scene when I click

Computer Communication: A motivation example • What happens behind the scene when I click on (on machine diablo) http: //www. google. com? Computer Science, FSU 15

Step 1: on local host • Browser figures out what to do with the

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 16

Step 2: translating domain name to IP address • Each machine on the Internet

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 17

Step 2: Getting IP address (Con’t) • Call its UDP protocol entity to talk

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 18

Step 2: Getting IP address (Cont’d) • Browser calls UDP protocol entity to send

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 19

Step 3: establishing HTTP connection • Calls TCP entity to set up a connection

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 20

Step 4: Web page request and retrieval • Use TCP to send strings (following

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 21

Step 5: web page rendering • Browser displays the content of the web page

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 22

The above example greatly simplified DNS UDP IP Ethernet Browser (http client) http server

The above example greatly simplified DNS UDP IP Ethernet Browser (http client) http server TCP/UDP TCP IP IP Ethernet Computer Science, FSU 23

What problems we need to resolve? • • • Naming, addressing fragmentation/reassembly multiplexing/demultiplexing routing

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 24