Title: Foundation for Wide Area Networks
1Foundation for Wide Area Networks
- CS2520 - TELCOM2321
- Wide Area Networks
- KyoungSoo Park
- University of Pittsburgh
- Many slides borrowed from Jen Rexford Walter
Cerroni
2Course Objectives
- Understand the design principles of high-speed
computer networks - Understand the key concepts
- How they are designed
- How they work in practice
- How they are likely to evolve in the future
- Understand the issues with todays deployment
- Read and discuss classic recent papers
- Difference from undergrad course?
- Focus more on research ideas (less on programming
skills) - Treat the subjects in depth
3Tentative Course Topics
- Network Architectures
- Packing Switching and Routing
- Flow and Congestion Control
- Network/Transport Layer Protocols
- Active Queue Management
- Quality of Service (IntServ, DiffServ)
- Multi-Protocol Label Switching
- Naming and DNS
- Content Distribution Networks (CDNs), P2P
4Course Highlights
- Lectures
- Homework / Lab assignments
- Project
- Mid-term and final exams
- Prerequisites CS 1652 or other background on
computer networking fundamentals - Grading
- Homework/Lab 30
- Project 30
- Mid-term exam 20
- Final exam 20
5Course Project
- Design and evaluate an interesting networking
idea or - Literature review on a specific topic
- You can work in group, if you like
- Important due dates
- March 3 short proposal (1-2 pages)
- Must discuss with me ahead of time
- April 14 final presentation (20 minutes)
report(10 pages) - Can use a research testbed for evaluation
- PlanetLab a real-world testbed with 800
machines - Emulab a dedicated emulation testbed
6Textbook and references
- Larry L. Peterson and Bruce S. Davie, Computer
Networks A Systems Approach, 4th Edition,
Morgan Kaufmann, 2007 - Basic concept exercise problems
- Content knowledge is required for preliminary
exams - Research papers on specific topics will be
suggested - Additional references
- James F. Kurose and Keith W. Ross, Computer
Networking A Top-Down Approach, 4th Edition,
Addison Wesley, 2007. - Zheng Wang, Internet QoS Architectures and
Mechanisms for Quality of Service, Morgan
Kaufmann, 2001. - Richard Stevens, TCP/IP Illustrated, Volume
1The Protocols , Addison Wesley, 1993
7Other information
- Lecture (KyoungSoo Park)
- When Tue 600-850PM in 5313 SENSQ
- Slides available online at course Web site
- Office hours to be announced, and by appointmnet
- Teaching Assistant(Lei Jin)
- Email jinlei_at_cs.pitt.edu
- Course Web site http//www.cs.pitt.edu/kyoung
soo/cs2520/ - 1st assignment
- Email me your picture URL (not the picture
itself) - Send me what you want to learn from the class if
any -
8Todays Topic
- The Internet architecture overview
- Todays largest internetwork
- Design choices, strength and weakness
- Basic building blocks
- Multiplexing
- Switching
- Addressing
- Flow and error control
- Congestion control
- Performance measures
- Applications
9The Internet The Good, The Bad and The Ugly
10What 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
11The 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, )
12Idea 1 Functionality at the edge of Network
13Telephone 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
14Internet 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.
15Programmability
- 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
16Idea 2 Best-effort Packet Switching
17Internet 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?
- The data you want to send
- A header with the from and to addresses
18Why 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
19Best-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
20Why 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!
21End 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
22Idea 3 Layering and the IP Hourglass Model
23Layering 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
24The Narrow Waist of IP
Applications
FTP
HTTP
TFTP
DNS
TCP
UDP
Waist
IP
Data Link
NET1
NET2
NETn
Physical
The Hourglass Model
The waist facilitates interoperability
25Above 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
26End-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
27Idea 4 Decentralized Control
28Benefits 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.pitt.edu
29Benefits 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
30Problems Lurking
31Challenges 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
32Challenges 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
33Recurring Challenges
- Security
- Weak notions of identity that are easy to spoof
- Protocols that rely on good behavior
- 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
34Internet 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
35Example 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
36Middleboxes 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
37Middleboxes 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
38Two 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?
39Clean-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
40Summary Of the Internet Architecture
- 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
41Basic Building Blocks
42Multiplexing
- Cost-effective resource sharing
- Full-mesh network is not scalable n(n-1) links
- Sharing links among multiple inputs/outputs
- Statistical Multiplexing
- Send from any available input sources
- No reservation needed for link use
- Utilize the pipe as much as possible
- How to prevent starvation?
- Smaller pieces packets
43Switching Forwarding
- Send data from a src port to a dest port
- Bridge, switch, router, etc.
- Forwarding vs. routing?
- Forwarding a process of finding the right dest
switch port by looking up the addr in the
forwarding table - Routing a process of building the forwarding
table - Switching modes
- Circuit switching
- Packet switching
- Virtual circuit switching
44Circuit Switching
- Exclusive dedication of a portion of the
available bandwidth to carry traffic between src
dest - Bandwidth is allocated using
- Frequency Division Multiplexing (FDM)
- Time Division Multiplexing (TDM)
- Call requires three phases
- Connection phase,
- A circuit is set up between source and
destination - Transmission phase,
- Traffic exchange takes place
- Termination phase,
- The call is disconnected
- Legacy telephone network, a typical example
45Circuit Switching
- Advantages
- Guranateed bandwidth
- Simple abstraction in-order delivery
- Fast forwarding no need to look at header
- Low per-packet overhead
- Disadvantages
- Wasted bandwidths
- Blocked connections when all resources are
reserved - Connection setup delay (RTT)
- Network state per-connection state
46Packet Switching
- No transmission capacity is dedicated along the
routing path (efficient bandwidth utilization) - No call setup needed before data transmission
- Data is transmitted in a sequence of packets
- Store and forward
- Best-effort packet delivery
- Each packet is independent of each other
- Out-of-order delivery is possible
- No delivery guarantee
- No state preserved at the network
47Virtual Circuit Packet Switching
- An initial phase is used to setup a fixed route
- Similar to circuit switching, except that a delay
occurs at each node - Call request and Call accept must both wait their
turns for transmission - Upon path set-up, the virtual circuit appears to
the user as a dedicated circuit - The circuit is actually shared among multiple
users - Destination address no longer required
- Only a virtual circuit number is needed
- Packets have shorter headers
- Faster forwarding
- Packets follow the same routing path
- no order disruption
48Timing comparison
49Addressing
- Providing suitable identifiers to nodes
- So you can direct data to a node (dest)
- So you know which node sent the data (src)
- and how to send back to that node
- Key concepts in addressing
- Number of unique addresses
- Flat vs. hierarchical structure
- Persistent vs. temporary identifiers
- Handling diminishing address space
- Spoofing of source addresses
50Comparing MAC and IP Addresses
E.g., social security number vs. postal address
51Growth in the Number of IP Prefixes
Internet bust
Internet boom
recovery?
CIDR
pre-CIDR
52Flow Control Error Control
- Flow control
- To prevent the receiver from overrunning
- Link layer vs. transport layer
- Stop-and-wait and sliding window algorithm
- TCP sliding window receiver says I can receive
this much - Error control
- Guards against loss or damage of data
- Mostly error detection and retransmission
- CRC-32 for Ethernet
- Internet checksum for IP header, UDP TCP
payload - Should each layer independently implement its own?
53Congestion Control
- Congestion control
- To prevent the network from overrunning
- Reduce the rate if you see a sign of congestion(
pkt loss) - TCP Additive Increase Multiplicative Decrease
(AIMD) - Explicit congestion notification (ECN)
- Router sets a bit in the IP header
- Issues with congestion control
- How to infer congestion?
- How to react to it?
- Who should enforce it?
- How to prevent malicious users?
- What are the goals?
54Performance Measures
- Bandwidth vs. throughput
- Bandwidth diameter of a pipe
- Throughput measured bandwidth
- Delay
- Propagation delay
- Transmission delay
- Queuing delay
- Keep the pipe full
- Bandwidth-delay product
- Transfer time 1RTT data size/bandwidth
- How long it takes for the last byte to be ACKed
- Ignores queuing delay, errors and retransmission
55Typical Applications
55
56Applications
- Practical goal of computer networks
- Communication between applications on two or more
end nodes - Popular application protocols
- HTTP, SMTP, SSH, Telnet, FTP, etc.
- Multimedia application gets more popular
- Video conferencing
- Video on demand (VoD)
- IPTV TV broadcast over IP networks
- Peer-to-peer application
- The most popular in terms of traffic usage
- Net neutrality?
57Multimedia application
- Bandwidth needed for (low-quality) video playback
- Resolution 352x240
- 3 bytes per pixel, 30 frames per second
- 352 x 240 x 3 x 30 (bytes/sec) 60.8 Mbps!
- Compression to the rescue
- Difference between two adjacent frames is small
- Send the base frame diff
- Quick reality check play 2 hr movie in real time
- DVD quality (MPEG-2) 4GB/7200 4.7 Mbps
- Blu-ray quality 25GB/7200 29.8 Mbps
58System Requirements delay and jitter
- Video and Audio processing need to be bounded by
deadlines, defined by a time interval - Data transmission must adhere to the demands
concerning time domains - End-to-end jitter (delay variation) need to be
bounded - Large jitter values cause degradation of
interactive applications - Large jitter values result in large buffer
requirements and high end-to-end delay - All guarantees necessary for achieving data
transfer within the time bound must be met
59Peer-to-peer
- Comprises 44 of the network traffic in 2008 in
North America - Web browsing(27.3), streaming(14.8), VPN(5.9),
etc. - Swarming technology
- Split the large content into pieces
- Exchange pieces with n different peers
- Democratic distribution of content
- How to find the peers?
- Can we trust the data from the peers?
- Quality of service?
60Summary
- The Internet architecture
- The good, the bad and the ugly
- Simple network with open innovation opportunity
at the edge - Very successful but has room for improvement
- Basic building blocks for WAN
- Multiplexing, switching, addressing
- Flow error control, congestion control
- Networks should support various applications
- Multi-service networks not tied to a single
service - Support both latency sensitive and bandwidth
intensive applications fair to different kinds
of traffic
61Reading assignment
- Two seminal papers on the Internet
- Design Philosophy of DARPA Internet by Clark
- End-to-end principles by Saltzer, Reed and Clark
- Will briefly discuss them next class
- Dont forget to send your picture URL!