Course Overview Summer 2010 CS 372 Introduction to Computer Networks* Monday, June 21, 2010 School of Electrical Engineering and Computer Science Oregon State University * Based in part on slides by Bechir Hamdaoui and Paul D. Paulson. Chapter 1, slide: 1 Lecture/Office/Lab Hours Course website http://classes.engr.oregonstate.edu/eecs/summer2010/cs372/index.html Please write down this URL—all course material and information will be provided thru this site Lectures M-F 1-1:50, WNGR 287 Instructor Majid Alkaee Taleghan (alkaee@eecs.oregonstate.edu) Office hours: MW 2-3 @ 3130 KEC Chapter 1, slide: 2 Lecture/Office/Lab Hours Teaching Assistant Lab Location: Dearborn 205 Access code Hours Chapter 1, slide: 3 Prerequisite/Textbook Prerequisite: CS 261 or an equivalent data structure course Programming skills in Java Basic Linux familiarity Textbook is Required Textbook Computer Networking: A Top-Down Approach Featuring the Internet, 5th Edition, Games F. Kurose, Keith W. Ross Chapter 1, slide: 4 Grading Policy Assignments: 20% Each student must hand in one copy 5 assignments: approx. 1 every week Labs: 15% Groups of 2 are required; each group must hand in one and only one copy 5 labs: approx. 1 every week Quizzes: 5% 5 quizzes: approx.1 every week One midterm exam: 25% Final exam: 35% Chapter 1, slide: 5 Course Goals Learn the basics of computer networks: concepts, principles, and architecture Goals Understand how various network protocols work: the Internet will be our underlying example Observe and analyze network protocols in actions Write network programs Methods Lecture Measurement “principles & concepts” “Real networks” Assignments Labs Chapter 1, slide: 6 Topics To Be Covered Architecture of the Internet: network of networks Network protocols: HTTP, FTP, IEEE Congestion and flow control: TCP Routing algorithms: IP and datagram Packet-switching and circuit-switching Data link layers and Ethernet: ARP, CSMA/CD Medium access control and local area networks Chapter 1, slide: 7 Labs: Objective & Approach Objective Understand how Internet protocols work Force network protocols to perform certain actions Observe and analyze protocols’ behavior Approach Real measurement of Internet traffic Sniff and analyze traffic sent/received from/by your end system Software tool: Wireshark (also known as Ethereal) already installed in Lab DEAR 205 To run, type: sudo wireshark then enter your eecs psswd Chapter 1, slide: 8 Assignments: Objective & Approach Objective Practice problems to deepen your understanding of basic networking concepts Approach You are expected to do your assignments individually Some problems will be solved in class: this gives you the opportunity to clarify things further Chapter 1, slide: 9 Keep in mind … My mission is to help you learn and understand the material—please do not hesitate to ask for help I will be available for you to help you with everything: material/assignments/labs We’ll start after a 5-mn break please team up for labs… find your partner … sign up sheet … Chapter 1, slide: 10 Chapter 1: Introduction Our goal: learn basic network terminologies more depth, detail later in course approach: use Internet as example Acknowledgement: slides drawn heavily from Kurose & Ross Chapter 1, slide: 11 Chapter 1: roadmap 1 What is the Internet? 2 Network edge 3 Network core 4 Network access and physical media 5 Internet structure and ISPs 6 Protocol layers, service models 7 Delay & loss in packet-switched networks Chapter 1, slide: 12 What’s the Internet: a “service” view communication infrastructure enables distributed applications: Web, email, games, ecommerce, file sharing communication services provided to apps: Connectionless: unreliable connection-oriented: reliable Chapter 1, slide: 13 What’s the Internet: “nuts and bolts” view millions of connected computing devices: called hosts or end systems e.g., Laptops, workstations running network apps router server mobile local ISP routers & switches: forward packets (chunks of data) communication links e.g., fiber, copper, radio, satellite workstation regional ISP company network Chapter 1, slide: 14 What’s the Internet: “nuts and bolts” view network protocols control sending/receiving of msgs e.g., TCP, IP, HTTP, FTP, PPP router workstation server mobile local ISP Internet standards IETF: Internet Engineering Task Force regional ISP • RFC: Request for comments IEEE: for links, e.g., Ethernet company network Chapter 1, slide: 15 What’s a protocol? a human protocol and a computer network protocol: Hi TCP connection request Hi TCP connection response Got the time? Get http://www.awl.com/kurose-ross 2:00 <file> time Chapter 1, slide: 16 What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define (1) format, order of msgs sent and received among network entities, and (2) actions taken on msg transmission, receipt Chapter 1, slide: 17 Chapter 1: roadmap 1 What is the Internet? 2 Network edge 3 Network core 4 Network access and physical media 5 Internet structure and ISPs 6 Protocol layers, service models 7 Delay & loss in packet-switched networks Chapter 1, slide: 18 A closer look at network structure: network edge: applications and hosts network core: routers network of networks access networks, physical media: communication links Chapter 1, slide: 19 The network edge: service models end systems (hosts): run application programs e.g. Web, email at “edge of network” client/server model client host requests, receives service from always-on server e.g. Web browser/server; email client/server peer-to-peer model: minimal (or no) use of dedicated servers e.g. Skype, BitTorrent, KaZaA Chapter 1, slide: 20 Chapter 1: roadmap 1 What is the Internet? 2 Network edge 3 Network core 4 Network access and physical media 5 Internet structure and ISPs 6 Protocol layers, service models 7 Delay & loss in packet-switched networks Chapter 1, slide: 21 The Network Core mesh of interconnected routers the fundamental question: how is data transferred through net? circuit switching: dedicated circuit per call: telephone net packet-switching: data sent thru net in discrete “chunks” Chapter 1, slide: 22 Network Core: Circuit Switching End-end resources reserved for “call” dedicated resources: no sharing call setup required circuit-like (guaranteed) performance same path for all chunks Chapter 1, slide: 23 Network Core: Circuit Switching network resources (e.g., bandwidth) divided into “pieces” allocated pieces per call no sharing resource piece idle if not used by owning call Chapter 1, slide: 24 Network Core: Circuit Switching Two ways of dividing bandwidth into “pieces” frequency division time division Chapter 1, slide: 25 Circuit Switching: FDM and TDM Example: Freq. Division Multiplx. (FDM) 4 users frequency time Time Division Multiplx. (TDM) frequency time Chapter 1, slide: 26 Numerical example How long does it take to send a file of 640,000 bits from host A to host B over a circuit-switched network? The link’s transmission rate = 1.536 Mbps Each link uses TDM with 24 slots/sec 500 msec to establish end-to-end circuit Let’s work it out! You have 5 minutes! Solution: Bandwidth of circuit = 1.536/24 = 64 kbps Time to send: 640000 bits/64 kbps + 0.5s = 10.5s Chapter 1, slide: 27 Network Core: Packet Switching 100 Mb/s Ethernet A B C 1.5 Mb/s each end-to-end data stream is divided into packets no dedication/reservation: all streams share resources no setup is required resources used as needed each packet uses full link bandwidth aggregate resource demand can exceed capacity no guarantee Chapter 1, slide: 28 Network Core: statistical multiplexing 100 Mb/s Ethernet A B statistical multiplexing C 1.5 Mb/s queue of packets waiting for output link D E Sequence of A & B packets does not have fixed pattern, shared on demand statistical multiplexing. Whereas in TDM, each host gets same slot (periodically) Chapter 1, slide: 29 Packet-switching: store-and-forward L R R R Entire packet must arrive at router before it can be transmitted on next link: store and forward Takes L/R seconds to transmit (push out) packet of L bits on to link of R bps delay = 3L/R (assuming zero propagation delay) more on this later … Example: L = 10,000,000 bits and R = 1 Mbps delay = 30 sec Chapter 1, slide: 30 Packet switching versus circuit switching Packet-switching Resources sharing Congestion may lead to it Overhead less overhead; no connection setup Guarantee Best-effort no guarantee Circuit-switching dedicated admission control more overhead; reserve resources 1st provide guarantee good for multimedia Chapter 1, slide: 31 Packet switching versus circuit switching A Circuit switching B B: has no packets to send A 2 Mb/s • 2 circuits (use TDM) • A reserves 1 circuit • B reserves 1 circuit Utilization = 50% only = 1 Mb/s Packet switching B 2 Mb/s • statistical multiplex. • A uses full link since B is not using it Utilization = 100% = 2 Mb/s Chapter 1, slide: 32 Packet switching versus circuit switching Utilization (average % of bandwidth used) Packet switching allows more users to use network (better utilization)! 3 Mb/s link each user: 1 Mb/s when “active” active 1/3 of time circuit-switching: N users 3 users packet switching: with 4 users, prob that more than 3 are active is 0.0123 with 5 users, prob. that more than 3 active is ??? (see board notes) 3 Mbps link More of this in assignment 1 Chapter 1, slide: 33