Overview COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/ 1 Goals of Today’s Class • Course overview (45 minutes) – Review of the material in the course – Preparation for Wednesday’s exam • Course evaluations (15 minutes) – Scan-tron form – Written responses • Assignment #3 (20 minutes) – Overview of assignment from Mike W – Opportunity to ask questions 2 Important Dates • Second midterm exam: Wednesday May 3 – Exam during class time (1:30-2:50pm) – Room 104 in the CS building, just as last time – Open notes, open book, and open slides – Covering material from lecture #11 onward • Assignment #3: Tuesday May 16 at 9pm – Assignment #3 is due on Dean’s Date at 9pm – Office hours and mailing list during reading period • Research projects: Tuesday May 16 at 9pm – Write-up of research projects due on Dean’s Date – Send via e-mail to jrex@cs.princeton.edu 3 Goals of This Course • Skill: network programming – Socket programming – Designing and implementing protocols • Knowledge: how the Internet works – IP protocol suite – Internet architecture – Applications (Web, e-mail, P2P, VoIP, …) • Insight: key concepts in networking – Protocols – Layering – Resource allocation – Naming 4 IP Suite: End Hosts vs. Routers host host HTTP message HTTP TCP segment TCP router IP Ethernet interface HTTP IP packet Ethernet interface IP TCP router IP packet SONET interface SONET interface IP IP packet Ethernet interface IP Ethernet interface 5 Shuttling Data at Different Layers • Different devices switch different things – Physical layer: electrical signals (repeaters and hubs) – Link layer: frames (bridges and switches) – Network layer: packets (routers) Application gateway Transport gateway Router Frame Packet TCP header header header User data Bridge, switch Repeater, hub 6 Physical Layer: Repeaters and Hubs • Analog electronic devices – Continuously monitors electrical signals on each LAN – Transmits an amplified copy Repeater hub hub hub hub 7 Link Layer: Bridges and Switches • Connects two or more LANs at the link layer – Extracts destination address from the frame – Looks up the destination in a table – Forwards the frame to the appropriate LAN segment B host host host host A Bridge host host host C switch host D 8 Self Learning: Building the Table • When a frame arrives – Inspect the source MAC address – Associate the address with the incoming interface – Store the mapping in the switch table – Use a time-to-live field to eventually forget the mapping • When frame arrives with an unfamiliar destination – Forward out all interfaces – … except where frame arrived – Hopefully won’t happen often B C A D 9 Network Layer: Routers Processor Line card Line card Line card Line card Switching Fabric Line card Line card 10 Hubs, Switches, and Routers • Repeaters and hubs – Analog devices – Relay electrical signals • Bridges and switches – Forwards frames based on the MAC address – Self-learning to construct the switch table – Constructing a spanning tree to broadcast frames • Routers – Forwards packets based on the IP address – Routing protocols to construct the forwarding tables – Require more configuration than switches do 11 Two-Tiered Routing Architecture • Goal: distributed management of resources –Internetworking of multiple networks –Networks under separate administrative control • Solution: two-tiered routing architecture –Intradomain: inside a region of control Okay for routers to share topology information Routers configured to achieve a common goal –Interdomain: between regions of control Not okay to share complete information Networks may have different/conflicting goals • Led to the use of different protocols… 12 Autonomous Systems (ASes) Path: 6, 5, 4, 3, 2, 1 4 3 5 2 7 1 6 Web server Client 13 Internet Routing Architecture • Divided into Autonomous Systems – Distinct regions of administrative control – Routers/links managed by a single “institution” – Service provider, company, university, … • Hierarchy of Autonomous Systems – Large, tier-1 provider with a nationwide backbone – Medium-sized regional provider with smaller backbone – Small network run by a single company or university • Interaction between Autonomous Systems – Internal topology is not shared between ASes – … but, neighboring ASes interact to coordinate routing 14 Interdomain Routing (Between ASes) • Support local routing policies –Advertise the AS-level paths for each prefix –Allow each AS to decide which path to use –… and whether to announce path to neighbors • Common business relationships –Customer-provider Customer can reach all destinations through provider Provider ensures rest of Internet can reach customer –Peer-peer Peers transit traffic between respective customers … but not to other peers and providers 15 Two Kinds of Routing Protocols Link State Vectoring • Topology information is flooded within the routing domain • Each router knows little about network topology • Best end-to-end paths are computed locally at each router. • Only best next-hops are chosen by each router for each destination. • Best end-to-end paths determine next-hops. • Best end-to-end paths result from composition of all next-hop choices • Based on minimizing some notion of distance • Does not require any notion of distance • Works only if policy is shared and uniform • Does not require uniform policies at all routers • Examples: OSPF, IS-IS • Examples: RIP, BGP 16 Overlay Routing • Overlay on the network – Hosts serve as nodes and make forwarding decisions – Tunnels serve as links that carry the packets Princeton application-layer router Yale Two-hop (application-level) Berkeley-to-Princeton route Berkeley 17 Peer-to-Peer Protocols • End hosts communicating directly with each other – File sharing (music, movies) – Voice over IP (telephone calls) • Challenge – Determining who has the data you want – Handling churn as users come and go • Three approaches – Central server: client sends query to the server – Flooding: client floods query throughout the network – Hybrid: client sends query to super-node, and supernodes flood amongst themselves 18 E-Mail • End hosts sending e-mail messages – Asynchronous communication • Determining how to relay the message to recipient – Mail agents and mail servers – Special DNS query to identify the mail server – Forwarding of messages from one server to the next – Protocols for recipients to retrieve the e-mail user agent user agent user agent mail server mail server user agent 19 Web • Simpler client-server paradigm – Clients (e.g., browsers) send requests – Servers send responses – Optional proxies in between • Ingredients of the Web – Uniform Resource Locator (URL) – HyperText Markup Language (HTML) – HyperText Transfer Protocol (HTTP) • Stateless protocol – Each request-response pair treated independently – Improves the scalability of the server – Separate mechanisms (e.g., cookies) for state 20 Resource Meta-Data • Meta-data – Information relating to a resource – … but not part of the resource itself • Example meta-data – Size of a resource – Last modification time – Type of the content – Transfer encoding format • Concept borrowed from e-mail protocols – Multipurpose Internet Mail Extensions (MIME) – Data format classification (e.g., Content-Type: text/html) – Enables clients to automatically launch a viewer 21 Internet of Today • Internet has evolved substantially – From a small research curiousity – To a world-wide communications infrastructure • Yet, some early design decisions remain – Packet switching – The “narrow waist” of IP – Best-effort service model – Limited state inside the network – Protocols based on trust • And these are meeting real challenges – Demands for quality of service guarantees – Serious security threats – Challenges of network management 22 Internet of the Future • A need for a change? – Circuit switching? – Guaranteed service? – Strict notions of identity? – Central authorities? • Open question – Is it possible to have an inter-network that supports such rapid evolution of new services – … while providing performance guarantees & security? • New initiatives – Clean-slate rethinking of the Internet design – See www.geni.net 23