Title: Advanced Computer Networks COS 561
1Advanced Computer Networks(COS 561)
- Jennifer Rexford
- Advanced Computer Networks
- http//www.cs.princeton.edu/courses/archive/fall08
/cos561/ - Tuesdays/Thursdays 130pm-250pm
2Focus of the Course Network Architecture
- Network architecture
- Definition and placement of functions
- Types of nodes, and information they exchange
- Not measuring or redesigning individual protocols
- Revisiting the functions inside the network
- Naming and addressing
- Routing and forwarding
- Virtualization and programmability
- To address critical challenges
- Performance, scalability, security,
manageability, - Interactive applications, content services,
3Goals of the Course
- Understand the Internet architecture
- Reading and discussing the classic papers
- Considering the strengths and limitations
- Critically study new architectural alternatives
- Reading and discussing recent research papers
- Considering how well they address the
limitations, and emerging challenges - Create and evaluate new architectural ideas
- Learning tools for experimental systems research
- Completing a systems-oriented research project
4Reading Research Papers
- Classic papers
- For the first few weeks of the course
- Lectures (quickly) reviewing todays architecture
- Recent research papers
- Emphasis on new architectural ideas
- Some full-length papers with thorough evaluation
(e.g., from SIGCOMM and NSDI conferences) - And some short papers selling a new idea (e.g.,
from HotNets and other workshops) - Lectures reviewing the related limitations of
todays architecture
5In-Class Discussion
- Big part of each class is devoted to discussion
- Focused on the research papers
- Everyone is expected to participate. (Really!)
- To prepare for the discussions
- Critically read the assigned paper(s)
- Consider how you would summarize
- The main idea and contributions
- Strengths of the paper
- Weaknesses of the paper
- Directions for future work
- No need to submit a formal written review
6Homework Assignments
- Learning tools for experimental systems work
- Routers Click and Quagga
- Evaluation facilities Emulab
- Measurement data RouteViews and Netflow
- Three assignments
- Two in the first half of the course
- One in the second half
- You can work in pairs on the assignments
- Each person should complete their own write-up
- Include the name of the person you worked with
7Course Project
- Research project
- Capstone for the semester
- Design and evaluate a new networking idea
- Can work in groups, if you like
- Due dates
- Before fall break short proposal (1-2 pages)
- Must discuss the topic with me ahead of time
- Deans date final report (10 two-column pages)
- Paper format listed on the course Web site
- During exam period oral presentations
- To be scheduled later
8Grading Breakdown
- Class participation 30
- Homework assignments 30
- That is, 10 for each assignment
- Course project 40
- Includes both the report and presentation
- Students auditing the class
- Do not need to complete the homework assignments
and course project
9For You To Do (See Class Web Site for Details)
- Join the class mailing list
- For follow-up discussions and pointers
- For questions about the homework assignments
- Create an account on Emulab
- Needed for the first homework assignment
- Requires time for approval, so do it right away
- Read the how to read a paper tips
- Two short write-ups linked from todays class
- To help you read the research papers efficiently
- Start reading assignment for Tuesdays class
10The Internet The Good, The Bad, and The Ugly
11What is the Internet?
The Internet is the worldwide, publicly
accessible network of interconnected computer
networks that transmit data by packet switching
using the standard Internet Protocol (IP). It is
a "network of networks" that consists of millions
of smaller domestic, academic, business, and
government networks, which together carry various
information and services, such as electronic
mail, online chat, file transfer, and the
interlinked Web pages and other documents of the
World Wide Web.
http//en.wikipedia.org/wiki/Internet
12The Internet A Remarkable Story
- Tremendous success
- A research experiment that trulyescaped from the
lab - The brilliance of under-specifying
- Best-effort packet-delivery service
- Key functionality at programmable end hosts
- Enabled massive growth and innovation
- Ease of adding hosts links, new technologies
- Ease of adding new services (Web, P2P, VoIP, )
13Idea 1 Functionality at the (Programmable) Edge
of the Network
14Telephone Network Dumb Edge, Smart Core
- Dumb phones
- Dial a number
- Speak and listen
- Smart switches
- Set up and tear down a circuit
- Forward audio along the path
- Limited services
- Audio
- Later, fax, caller-id,
- A monopoly for a long time
15Internet Smart Edge, Dumb Core
End-to-End Principle Whenever possible,
communications protocol operations should be
defined to occur at the end-points of a
communications system.
Programmability With programmable end hosts, new
network services can be added at any time, by
anyone.
And then end hosts became powerful and
ubiquitous.
16Programmability
- Architectural decision with profound effects
- Where you place programmability in the system
determines who gets to innovate - And what kinds of innovations can happen
- Todays Internet
- Programmable hosts ? innovation in applications
- Non-programmable routers ? more control by
standards bodies, routers vendors, and carriers - Democratizing Innovation
- Interesting book by Eric von Hippel
- http//web.mit.edu/evhippel/www/democ1.htm
17Idea 2 Best-Effort Packet Switching
18Internet Protocol (IP) Packet Switching
- Like the postal system
- Divide information into letters
- Stick them in envelopes
- Deliver them independently
- And sometimes they get there
- Whats in an IP packet?
- The data you want to send
- A header with the from and to addresses
19Why Packets?
- Packets can be delivered by most anything
- Serial link, fiber optic link, coaxial cable,
wireless, birds - Data traffic is bursty
- Logging in to remote machines, exchanging e-mail
- Dont waste bandwidth
- No traffic exchanged during idle periods
- Better to allow multiplexing
- Different transfers share access to same links
20Best-Effort Packet-Delivery Service
- Best-effort delivery
- Packets may be lost
- Packets may be corrupted
- Packets may be delivered out of order
source
destination
IP network
21Why Best-Effort?
- Simpler network
- No error detection and correction
- Dont remember from one packet to next
- Dont reserve bandwidth and memory
- Transient disruptions are okay during failover
- but, applications do want efficient, accurate
transfer of data in order, in a timely fashion - Fortunately, the end host take care of that!
22End Host Can Take Care of Requirements
- No error detection or correction
- Higher-level protocol can provide error checking
- Successive packets may not follow same path
- No problem as long as packets reach destination
- Packets can be delivered out-of-order
- Receiver can put packets back in order (if
needed) - Packets may be lost or arbitrarily delayed
- Sender can send the packets again (if desired)
- No reaction to congestion, beyond drop
- Sender can slow down in response to loss or delay
23Idea 3 Layering and the IP Hourglass Model
24Layering A Modular Approach
- Sub-divide the problem
- Each layer relies on services from layer below
- Each layer exports services to layer above
- Interface between layers defines interaction
- Hides implementation details
- Layers can change without disturbing other layers
Application
Application-to-application channels
Host-to-host connectivity
Link hardware
25The Narrow Waist of IP
Applications
FTP
HTTP
TFTP
NV
TCP
UDP
Waist
IP
Data Link
NET1
NET2
NETn
Physical
The Hourglass Model
The waist facilitates interoperability
26Above and Below the Waist
- IP over anything
- Internetworking protocol that runs on anything
- Accommodate innovation in link technology
- and heterogeneity throughout the network
- Anything over IP
- Variety of transport protocols can be built
- Though, in practice, mainly just TCP and UDP
- TCP ordered, reliable stream of bytes
- UDP simple (unreliable) message delivery
- And any applications on top of that
27End-to-End IP
host
host
HTTP message
HTTP
HTTP
TCP segment
TCP
TCP
router
router
IP packet
IP packet
IP packet
IP
Ethernet interface
Ethernet interface
SONET interface
Ethernet interface
SONET interface
Ethernet frame
SONET frame
Ethernet frame
28Idea 4 Decentralized Control
29Benefits of Decentralization Scalability
- Scalability
- Limit amount of state, and frequency of updates
- Addressing
- Internet routers only need to know how to reach
blocks of addresses (e.g., 12.0.0.0/8) - Routing
- Link failure in one network is typically not
visible in another - Naming
- Look-up of www.cnn.com doesnt go to same server
as look-up of www.princeton.edu
30Benefits of Decentralization Autonomy
- Autonomy
- Allow different parties to manage different parts
of the system, and apply their own policies - Addressing
- ARIN delegates address space to ATT, who
delegates smaller blocks to its customers - Routing
- ATT controls flow of traffic through its
backbone - Naming
- CNN controls addresses for www.cnn.com
31Problems Lurking
32Challenges Tied to Early Design Decisions
- Power of programmable end hosts
- Easy to spoof IP addresses, e-mail addresses,
- Incentives for users to violate congestion
control - Malicious users launching Denial-of-Service
attacks - Best-effort packet-delivery service
- Inefficient in high-loss environments (wireless)
- Poor performance for interactive applications
- Expensive per-packet handling on high-speed links
33Challenges Tied to Early Design Decisions
- Layering and the IP narrow waist
- Low efficiency due to many layers of headers
- Poor visibility into underlying shared risks
- Complex network management due to multiple
interconnected protocols and systems - Decentralized control
- Hierarchical addressing makes mobility difficult,
and requires careful configuration - Autonomy makes measurement (and troubleshooting
and accountability) hard - Autonomy makes protocol changes difficult
34Recurring Challenges
- Security
- Weak notions of identity that are easy to spoof
- Protocols that rely on good behavior
- Incomplete or non-existent registries, keys,
- Mobility and disconnected operation
- Hierarchical addressing closely tied with routing
- Presumption that hosts are connected
- Network management
- Many coupled, decentralized control loops
- Limited visibility into across layers and
networks - Application performance requirements
- Real-time, interactive applications
- Throughput sensitive vs. delay-sensitive
35Internet is Not Standing Still
- Partial solutions to these problems
- Often as add ons or extensions
- Hampered by need to be backwards compatible, and
work when only partially deployed - Rather than complete architectural solutions
- Solutions create problems of their own
- Violations of architectural assumptions
- Unexpected interactions with applications
- Adding complexity to an already complex system
36Example Middleboxes
- Middleboxes are intermediaries
- Interposed in-between the communicating hosts
- Often without knowledge of one or both parties
- Examples
- Network address translators
- Firewalls
- Traffic shapers
- Intrusion detection systems
- Transparent Web proxy caches
- Application accelerators
37Middleboxes Address Practical Challenges
- Host mobility
- Relaying traffic to a host in motion
- IP address depletion
- Allowing multiple hosts to share a single address
- Security concerns
- Discarding suspicious or unwanted packets
- Detecting suspicious traffic
- Performance concerns
- Controlling how link bandwidth is allocated
- Storing popular content near the clients
38Middleboxes Violate Network-Layer Principles
- Globally unique identifiers
- Each node has a unique, fixed IP address
- reachable from everyone and everywhere
- Simple packet forwarding
- Network nodes simply forward packets
- rather than modifying or filtering them
source
destination
IP network
39Two Views of Middleboxes
- An abomination
- Violation of layering
- Cause confusion in reasoning about the network
- Responsible for many subtle bugs
- A practical necessity
- Solving real and pressing problems
- Needs that are not likely to go away
- Would they arise in any edge-empowered network,
even if redesigned from scratch?
40Clean-Slate Network Architecture
- Clean-slate architecture
- Without constraints of todays artifacts
- To have a stronger intellectual foundation
- And move beyond the incremental fixes
- Still, some constraints inevitably remain
- Ignore todays artifacts, but not necessarily all
reality - Such as
- Resource limitations (CPU, memory, bandwidth)
- Time delays between nodes
- Independent economic entities
- Malicious parties
- The need to evolve over time
41Conclusions
- Internet architecture is a huge success
- Functionality at programmable edge nodes
- Best-effort packet-delivery service
- Layering and the IP hourglass model
- Decentralized control of the global system
- These very features are causing problems
- Security, mobility, manage-ability, performance,
reliability, - Rethinking the network architecture
- For a strong intellectual foundation
- And long-term improvements to the Internet