Transcript Overview

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 [email protected]
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