Sie sind auf Seite 1von 104

Computer Networks

CS 552
Badri Nath
Rutgers University
badri@cs.rutgers.edu
FALL 2013
1

About us: Management


l

Professor: Badri Nath


http://www.cs.rutgers.edu/~badri
l badri@cs.rutgers.edu
l Office hours: Wednesday 1:30 : 3:30 PM
l

TA: Amruta Gokhale


l

amrutag@cs.rutgers.edu

Course info
l

http://www.cs.rutgers.edu/~badri/552.html

Course Web Page


Course schedule
l Reading list
l Lecture notes
l Announcements
l Assignments
l Project ideas
l Exams
l

Sakai Web page


https://sakai
l Will submit reviews online
l Course announcements
l Written Homeworks
l

Course Goals
l

Understand the basic principles of computer networks, in


particular the Internet
Study new concepts, design principles in network
protocols and design
How to do network research
l
l

How to determine what is important


What are the trends
l

Datacenter, wireless, cloud, SDN, connected devices/home

What are the economics, technology that is driving innovation


l

Cost, performance, hardware

Course Materials
l

Research papers
Links to pdf on Web page
l Combination of classic and recent work
l ~50 papers
l Optional readings
l

Recommended textbooks
For students not familiar with networking
l Peterson & Davie (4th edition)
l Alternative: Kurose & Ross
l

Reading papers
l
l

Understand /identify the basic idea


What kind of a paper?
l

l
l

Summarize key idea


+ve aspects of the paper
l

Performance, vision, new direction/protocol paper

New, breakthrough, incremental,

-ve aspects of the paper


l

Readability, Assumptions (valid?), scaling issues (does it


scale), implementation (has it been implemented),
measurements (problems?)

Books
l
l
l
l
l
l

Computer Networks: A Systems Approach, 4th Ed. (2007), by


Larry Peterson and Bruce Davie.
Computer Networking: A Top-Down Approach Featuring the
Internet, 5th Ed. (2010), by James F. Kurose and Keith W. Ross.
TCP/IP Illustrated, Volume 1: The Protocols by W. Richard
Stevens.
Unix Network Programming: Networking APIs: Sockets and
XTI (Volume 1) by W. Richard Stevens.
Advanced Programming in the Unix Environment by W.
Richard Stevens, Addison-Wesley, 1993.
I or 2 recommended

Grading
l

20% Paper summaries/reviews/HWs based on Papers


l
l

l
l
l
l

A subset of the papers will be assigned for submitting summary/critique


All papers assigned should be read as quizzes/Hws will be based on these
papers

30% Programming project (two-person)


20% Mid term
30% Final
Honor code
l All submitted work should be yours
l You are all grad students!!

Class Coverage
Quick overview of undergraduate networking
l Pre requisite: 352 or equivalent
l Students expected to know
l

Link layer, basic IP routing, TCP,

Focus on Advanced topics in networking


l Course will deal with:
l

Protocol performance
l Investigate protocol trade-offs, cost models
l New Workloads, new technologies
l

10

Class etiquette
Cell phones in off position
l No FB status updates in class
l If you need to surf while in class (I prefer not),
do not disturb your neighbors
l Stop me anytime to ask questions
l

Prof may not know the answer!!

This is a graduate class, student participation


in class is important
l

Challenge the class, the prof, and ideas in papers


11

Lecture Topics
l
l
l
l
l

Traditional
Layering
Internet architecture
Routing (IP)
Transport (TCP)
Protocols
(HTTP,DHCP,DNS)

l
l
l
l
l

Recent Topics
Data center networking
Cloud computing
Mobility/wireless
Enterprise Networks
Software defined
networking
Energy considerations

12

What is a Network?
l
l
l
l

Carrier of information between 2 or more entities


Some carry objects/people (postal, air, surface transport)
Most important is the services offered
User expectation of service
Latency, cost, reliability, service interface, others
We focus on computer networks
Interconnection may be any medium capable of communicating information:
l

l
l

l
l
l
l
l
l

copper wire
Lasers (optic fibre)
Microwave
Cable (coax)
wireless
satellite link

Example: Ethernet, Wifi, 3G, LTE

13

Why Networks?
l

Availability of Resources
l

Load Sharing/utilization
l
l

Jobs processed on least crowded machine


Resources can be shared

High Reliability
l

Resources become available regardless of the users


physical location (server based, peer2peer)

Alternative source of supply (multiple copies)

Human-to-Human Communication
l

e.g., on-line world

14

What is Internet Technology?


l

What is an internet?
l

What is the Internet?


l

Network of networks
A global internet based on the IP protocol

To what does Internet technology refer?


l

Architecture, services, interfaces, and


protocols

15

Sample Internet Applications


l
l
l
l
l
l
l
l
l

Electronic mail
WEB
File transfer, sharing
Social networks (FB, linkedin,
twitter)
On-line commerce
Search
Resource distribution (hosting)
Video conferencing
Games
16

Impact of the Net on People


l

Access to remote information


l
l
l
l
l

Person to person and group communication


l

HW assignments from sakai


Stock quotes from financial web site
Corporate video, news clips, virtual tours
Virtual tours of homes, tourist spots, virtual globetrotting
Cloud services
email, collaborative tools (chat groups), Instant messaging,
online social networks (FB), twitter, foursquare, snapchat

Interactive entertainment
l

youtube, music, video clips


17

Impact of the Net on Society


l

The good
l

The bad
l

gossip, too much information, net addicts (FB status


updates!)

The ugly
l

Access to information (i-commerce), selling goods and


services (e-commerce), incredible productivity tool, unified
communication tool

Fraud, pornography, threatening e-mail

But, it is just a mirror of society

18

Impact on society
Net neutrality
l Laws and censorship (SOPA ---)
l

l
l

Nations laws and Internet


l

Google vs China
Wiki going black -- protest web censorship
Regulation

Content creation, ownership, distribution,


online piracy
19

Internet Players
l

Users, people who use the applications


l
l

Designers
l
l

You: protocol design and implementation


Scale, performance, cost, incremental deployment

Service Providers
l
l
l
l

Everyone (mom and pop, kids)


get something done (hopefully useful)

Administrators and ISPs


Datacenter operators
Provider-customer versus peer-to-peer
Management, revenue, deployment

Market/business models for the Internet


l

Consumer to consumer (ebay, match.com, craigslist), Business to


consumer (amazon, orbitz, google, netflix, hulu), Business to business
(getty, harvest, google), Consumer to business ( hot jobs,
monster,linkedin)
20

Internet Traffic

21

Internet Growth

22

Souce: Internet trends May 2013, Mary Meeker:


23

24

25

26

Social Networking

27

Internet transit pricing

28

Drpeering.net

Rutgers pays about 30K a month for ISPs


WWW Growth

Log scale

10000000
1000000
100000
10000

WWW

1000
100
10

Jul-99

Jul-98

Jul-97

Jul-96

Jul-95

Jul-94

Jul-93

29

Source:www.isoc.org/guest/zakon/Internet/History/HIT.html

WWW growth

30

Domain name growth

31

Facebook growth

32

Facebook user growth

33

Initially: Only kids!!

34

Now: everyone; grandpa, grandma

35

Time spent on Internet

Source: Morgan Stanley/comScore Global


36

Social network usage

37

Content Growth

38

Data Producers everywhere

39

40

41

42

43

Device Growth: connected

44

45

46

Harness Signal from Devices


Site Classification

Search

Connections

Real-time updates

Device State?

47

Whats hot?
Software Defined

Networking (SDN)

Mobile &Wireless

Embedded

Internet of connected things

Internet

Crowd Sourcing

Hybrid computing

Social Networking

Data center networking



Cloud

48

Integrating Networks
Social Networks

Vehicular Networks

Computer Networks

Mobile Networks

49

End point capabilities


l

Computer networks
l

Social Networks
l

Humans Crowd sourcing

Vehicular networks
l

Computing nodes

Automobiles

Mobile networks
l

Smart phones
50

Social computing
Can we use humans and computers?
l Exploit humans
l

Exploit computers
l

What can they do best?


What can they do best?

Exploit both
l

Socio-computational systems

51

Objective of networking
l

End-hosts to communicate
l

Applications running on end-hosts

Different technologies
l Different protocols
l

52

How to communicate?
Circuit switching
l Establish a connection before communicating
l

l
l

POTS (plain old telephone system)


Dedicated pipe for the duration of the session

Packet switching
l
l
l
l

Multiplex communication from different sources


Every packet is self contained
Efficient use of resources
NO guarantees on performance
53

How to handle different


networks?
Many differences between networks
l How to translate between various network
technologies?
l Have a common protocol for inter network
communication
l

l
l

IP
A set of rules with a well-defined interface

54

How to locate a node?


l

Naming, discovery and routing


l
l

l
l

Network elements needed to support directory


Network elements needed to support forwarding
towards destination
Scalable
Reliable

55

How to meet application


demands?
l

Corruption?
l

Reliability
l

Data lost?

Overload
l

Need error detection and correction

Congestion control

Security
l

Encryption, authentication
56

Lots of Functions Needed


Link
l Multiplexing
l Routing
l Addressing/naming (locating peers)
l Reliability
l Flow control
l Fragmentation
l Etc.
l

57

ISO OSI Layering


Architecture
Host A

Host B

Application
Layer

Application Protocol

Presentation
Layer

Presentation Protocol

Session
Layer

Session Protocol

Transport
Layer

Transport Protocol

Application
Layer
Presentation
Layer
Session
Layer
Transport
Layer

Network
Layer

Network
Layer

Network
Layer

Network
Layer

Data Link
Layer

Data Link
Layer

Data Link
Layer

Data Link
Layer

Physical
Layer

Physical
Layer

Physical
Layer

Physical
Layer

Router

Router

58

Problems
Seven layers not widely accepted
l Standardized before implemented
l Top three layers fuzzy
l Internet or TCP/IP layering widespread
l

59

TCP/IP Layering Architecture


l

Application

A simplified model
The network layer
l

Transport (TCP/UDP)

Internet/Network
(IP)

Host-to-Net

Hosts drop packets into


this layer, layer routes
towards destination- only
promise- try my best

The transport layer


l

Reliable/unreliable byteoriented stream

60

Internet design philosophy


l
l

#1 Functionality at the edge as opposed to core


In Telephone network it is the opposite
l
l

l
l

Smart device at the edge means programmability


New services can be supported, drives innovation
l

Any new service, the phone company has to provide


Edge device is dumb

VOIP (SIP), IM

Cathedral vs Bazaar

David Clark, The design philosophy of the DARPA internet protocols, 1998

61

Implications (cathedral vs
bazaar)
l

Bazaar
l
l

Cathedral
l
l
l

Edge is programmable
Nimble, novel applications
Core elements still rigid
Standards, slow evolution
Cant do anything radical

Where is programmability in the system?


62

# 2 Multiplexed utilization
l
l

Best effort, packet switching


Keep the network simple
l
l
l

Packets self contained


l
l

Packets may be lost, corrupted, out-of-order


Let the end host implement any other requirements
Want reliability?
l Retransmit from sender
Can take different routes
Different transfers on the same link

Stateless in the core


l
l

End hosts can maintain state


Fate-sharing (If I Die, my state will die but will not affect
others)
63

#3 Support multiple networks


l

IP over anything, anything over IP


l
l

Run over any type of link


Build any end-to-end protocol over IP
Application

UDP

TCP

Transport

IP

Network Interface

64

TCP/IP Layering Architecture

Host A

Host B
Application Protocol

http

Transport Protocol (TCP)

TCP
Network
Layer
Host-toNet Layer

http

IP

Ethernet

Network
Layer

IP

Host-toNet Layer

Network
Layer
Host-toNet Layer

OC3

Ethernet

IP

Ethernet

Network
Layer
Host-toNet Layer

65

#4 distributed management
Need only know local information
l Information distributed over different nodes
l

l
l

Distributed functionality-- Roles


l
l

Scalable
No single hot spot
Different entities manage different parts of the
system
Impact on naming, routing, addressing

Local and Global management authorities


66

Internet Design Principles


l

Scale
l Protocols should work in networks of all sizes and
distances
Incremental deployment
l New protocols need to be deployed gradually
Heterogeneity
l Different technologies, autonomous organizations
End-to-end argument
l Networking functions should be delegated to the edges;
application knows best

67

End-to-end argument
l
l
l

Saltzer, reed and clark [1984]


l End-to-end arguments in system design
Main idea
If a function can only be completely and correctly implemented with the
knowledge and help of the applications standing at the communication
end points. Hence providing this function in the subsystem is not
possible
l

Complexity at the edges as opposed to the core

Simply stated, the argument suggests that functions placed at


the low levels of a system may be redundant or of little value
when compared with the cost of providing them at that low
level.
Dont force feature, service, restriction on the end points

68

Communication system
An end system connected by a
communication subsystem
l Questions?
l Who is responsible for a given function
l

Subsystem?
l End units?
l Or both (redundant) or jointly?
l

69

End-to-end argument
Functions placed at lower level implies
specific problems being solved in a general
way
l Best aim:
l Simple lower layer with smart end points
l

Basic and general functions at the lower layers

Gives flexibility

70

e2e argument
l

l
l

Low level system may not


have all the information to
implement the given
functionality
Implement only for
performance (wireless links)
Low level system shared by
all applications what if the
application does not need
the feature

l
l
l

Performance
Duplicated effort
Should not impact
applications that do not use
that functionality

71

e2e tradeoffs
l

New business models


l

Wireless Application protocols


l

Gateway provides a box for content translation

Network redirection
l

Network caching, redirection, proxy transcoding

Network level switch for load balancing

Balance between performance, layering, e2e


argument

72

New metrics
l
l

In addition to latency (delay) , bandwidth of a network, other metrics are


becoming important
Energy/power
l Always-on system consumes a lot of power
Maintenance
l Hardware cost is falling, long term human cost of admin is increasing
l Opex vs capex debate
l Cloud/Software as a Service (SaaS) models
Cost of futz
l Trying to figure what happened
l Need protocols that reduces burden on end-user

System Performance/availability
l
l

How to debug for performance?


Where does all the time go? Time scales
73

Performance tools
l

Can we build tools that can answer questions like


l

What is the peak B/W used at a given time scale?


microsec, millisec, sec
What is the coarsest time scale where B/W exceeds a
threshold L
Replace B/W with any other metric CPU usage, DISK B/W,
energy usage etc
Reference: Efficiently measuring B/W at all time scales,
Frank Uyeada et.al, NSDI 2011

74

Typical Datacenter networking

75

The cost of a cloud: Research Problems in data center networks by Albert Greenberg et.al, CCR

Datacenter cost
Servers

45%

l
l
l
l
l

Infrastructure

25%

Network

15%

50,000 server @ 3K a pop, 5% cost of money, 3YR


l

Power

15%

52.5 M/Yr cost

Power cost
Power to run the IT equipment
Power to run cooling, UPS etc Overhead
PUE=Total power /IT power
1.2 ideal -- 20% overhead
Typically 2 to 3 PUE Air conditioning costs enormous
76

Facts and Figures


[Quereshi09]
l

Servers are power hungry (annual electricity bills)

77

Energy-proportional metric
l

Can we design networks that consume power


proportional to utilization?
l

The Case for Energy-Proportional Computing,


Luiz Andr Barroso, Urs Hlzle, IEEE Computer,
vol. 40 (2007).

78

Energy Proportional Computing

The Case for


EnergyProportional
Computing,
Luiz Andr
Barroso,
Urs Hlzle,
IEEE Computer
December 2007

Figure 1. Average CPU utilization of more than 5,000 servers during a six-month period. Servers
79
are rarely completely idle and seldom operate near their maximum utilization, instead operating79
most of the time at between 10 and 50 percent of their maximum

Energy Proportional Computing

Doing nothing well?


Still power

Energy Efficiency =
Utilization/Power
Figure 2. Server power usage and energy efficiency at varying utilization levels, from idle to
peak performance. Even an energy-efficient server still consumes about half its full power
when doing virtually no work.
80
80

Energy Proportional Computing


Can we do this for
Networking
Infrastructure?

Doing nothing
VERY well

Design for
wide dynamic
power range and
active low power
modes

Energy Efficiency =
Utilization/Power
Figure 4. Power usage and energy efficiency in a more energy-proportional server. This
server has a power efficiency of more than 80 percent of its peak value for utilizations of
30 percent and above, with efficiency remaining above 50 percent for utilization levels as
81
low as 10 percent.
81

Energy/ Power metric


l
l

If Cost/Green Conscious
Make network elements less power hungry
l

[1]Gupta & Singh Greening of the Internet SIGCOMM


2002
[2] Energy Proportionality of an enterprise network, Priya
Mahadevan, et.al, Green Networking August 2010

Take advantage of lower power rates elsewhere,


time-of-day
l

[3] A. Qureshi, R. Weber, H. Balakrishnan, J. Guttag, B.


Maggs, "Cutting the Electric Bill for Internet-Scale Systems"
SIGCOMM 2009
82

What is the energy consumption of


the internet ?

l
l

Energy consumed by networking


equipment such as routers, switches,
hubs etc
Does not include hosts
Internet energy consumption controversial
data
83

Facts and Figures [14]


Device

Approximate Number
Deployed

Total
AEC TW-h

Hubs

93.5 Million

1.6 TW-h

LAN
Switch
WAN
Switch
Router

95,000

3.2 TW-h

50,000

0.15TW-h

3,257

1.1 TW-h

P=E/T 1W = 1 J/S 1 Kw-H = 3600000 joules =10 x100W bulbs for 1 Hr


84

More Numbers
l

Total energy consumed by networking devices


annually in 2000 (US): 6.05 TW-h
Amounts to about 0.07 % of total U.S. energy
expenditure
Expected increase: +1 TW-h by 2005
Note: This does not include energy consumed
by hosts, UPS supplies or cooling equipment.

85

Enterprise networks
l

Network Switches hubs


routers under utilized
Many units not energy
proportional
Turn off ports in
proportion to b/w
demands
Timescales?

86

So, why bother saving


energy?
3 reasons:
1.
Current energy inefficiencies
a)
Wired vs. wireless energy costs
b)
6 TW-h ~ 1 nuclear reactor
c)
Extrapolate to World ~140 nuclear reactors
2.
Enable greater deployment
a)
Similar connectivity in India would require 4.75% of total
energy budget
3.
Enable longer operation times during events of disaster
a)
Recent Grid failure in NE US/Canada
b)
Frequent power outages in most of the world

87

How to save energy ?


l

Low-Energy Hardware Design:


l

l
l

Use hardware components with low power modes of


operation
Lower the clock frequency of the components, use
DVS and other methods during low demand
Energy-Aware APIs give control to software
Architecture that allows selective powering off

Energy-Aware Protocol Design:


l
l

Node-level algorithms for sleeping


Route aggregation and other global techniques to
inform devices when and for how long to sleep

88

Where to save energy in a device ?


l
l
l
l

Memory
Main CPU
Switch fabric or bus backplane
Line cards (designs ranging from simple to
complex with ASICs or network processors to
process packets)
Bang for the buck

89

Key Questions
l

For how long can components sleep?

How is the decision to sleep taken ?

should not trigger network reconfiguration in sleep state vs. failure state

How to wake up a device ?

traffic activity level, in isolation (uncoordinated), global (coordinated),


edge or backbone device, transit or stub network

How to distinguish sleep vs. failure ?

state transition times, energy spike

at fixed intervals, on packet arrival, account for protocol timers

Impact on protocol behavior?

long sleep times, slower propagation of topology changes

90

More on sleeping.
Uncoordinated sleeping:
l
l
l
l

Decision to sleep based on individual traffic levels alone


Inform nearest neighbors only
Sleep time limited by protocol hello message timer
May trigger network reconfiguration in case of missed protocol
messages

Coordinated sleeping:
l
l
l
l
l
l

Decision taken on a network-wide basis


Need algorithm to pre-compute the optimal sleep time, but
computation costs increase
Hello message frequency can be adjusted, may take longer to detect
changes in network topology
Sleep longer intervals, but forwarding tables may be outdated
Reroute all traffic through one route, shutdown other routes
Introduces delay and packet loss in case of sudden traffic burst
91

Computation Placement
Energy cost varies by location
l Energy cost varies by hour of the dat
l Can we push computation to a
geographically distant place to save energy?
l Can we exploit time difference?
l Peak vs non-peak power rates
l

92

Exploit spatial-temporal price


variation
l

Prices vary from place


to place
l

Coal vs nuclear

Price varies with time of


day
Peak vs off-peak

93

Research
l
l

Modification of protocols at layers 2 and 3 to


incorporate sleep modes
Study impact of modifications on end-to-end
delay and performance
Develop energy models for routers and
switches
Study the algorithmic problems of how/when/
how long to sleep
Load migration: tolerable latency vs cost
savings
94

The
Featur
e

Current Network

Rou/ng, management, mobility management,


access control, VPNs,

Featur
e

Operating
System
Specialized Packet
Forwarding Hardware

Million of
lines
of source
code

5400 RFCs Barrier to entry

Billions of
gates

Bloated

Power Hungry

Many complex func/ons baked into the infrastructure

OSPF, BGP, mul,cast, dieren,ated services,


Trac Engineering, NAT, rewalls, MPLS, redundant layers,


An industry with a mainframe-mentality, reluctant to change
95
Slides from Stanford Site: Nick Mckeown, Martin Casado, Scott Shenker et al,

Boxes, boxes everywhere

Load balancer

Firewall

Wireless Router

Layer 2 Switch

NAT box

96

The SDN Approach


Separate control from the datapath
l

i.e. separate policy from mechanism

Datapath: Define minimal network instruction set


l
l

A set of plumbling primitives


A vendor-agnostic interface: OpenFlow

Control: Define a network-wide OS


l

An API that others can develop on


97

The Software-defined Network


3. Well-defined open API

Featur
e

Feature

2. At least one Network OS


probably many.
Open- and closed-source

Network OS
1. Open interface to
hardwareOpenFlow
Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware

Simple Packet
Forwarding
Hardware

98

Step 1:
Separate Control from Datapath
Network OS

OpenFlow
Switch

OpenFlow
Switch

OpenFlow
Switch

OpenFlow
Switch

99

Step 2: Cache flow decisions in


datapath
If header = x, send to port 4
If header = y, overwrite header with z, send to ports 5,6
If header = ?, send to me

Flow
OpenFlow
Table
Switch

OpenFlow
Switch

OpenFlow
Switch

OpenFlow
Switch

100

Flow Table Entry

Type 0 OpenFlow Switch


Rule

Action

Stats

Packet + byte counters

1.
2.
3.
4.
Switch
MAC
MAC

Port

src

dst

+ mask

Forward packet to port(s)



Encapsulate and forward to controller

Drop packet

Send to normal processing pipeline

Eth
VLAN

type

ID

IP

Src

IP

Dst

IP

Prot

TCP

sport

TCP

dport

Plumbing Primitives
1.

Match arbitrary bits in headers:


Data

Header
Match: 1000x01xx0101001x

l
l

2.

Match on any header; or new header


Allows any flow granularity

Actions:
l
l
l

Forward to port(s), drop, send to controller


Overwrite header with mask, push or pop
Forward at specific bit-rate
102

Examples
Switching

Switch MAC
Port src
*

MAC Eth
dst type
00:1f:.. *

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
Ac/on
sport dport

IP
Dst

IP
Prot

TCP TCP
Ac/on
sport dport

port6

Flow Switching
Switch MAC
Port src

MAC Eth
dst type

VLAN IP
ID
Src

port3 00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4

17264 80

port6

Firewall
Switch MAC
Port src
*

MAC Eth
dst type
*

VLAN IP
ID
Src

IP
Dst

IP
Prot

TCP TCP
Forward
sport dport

22

drop

Examples
Rou/ng

Switch MAC
Port src
*

MAC Eth
dst type

VLAN IP
ID
Src

IP
Dst

5.6.7.8 *

VLAN IP
ID
Src

IP
Dst

IP
Prot

vlan1 *

TCP TCP
Ac/on
sport dport
port6,
port7,
*
*
port9

IP
Prot

TCP TCP
Ac/on
sport dport
*

port6

VLAN Switching
Switch MAC
Port src
*

MAC Eth
dst type
00:1f.. *

Das könnte Ihnen auch gefallen