0% found this document useful (0 votes)
20 views32 pages

Lecture 03 2015

This lecture discusses end-to-end arguments in system design and tussles in cyberspace that define the internet. It covers the end-to-end principle that functions should be implemented at endpoints rather than in the network when possible. It also discusses how the internet has changed from a time of shared trust and purpose among users to one with economic and trust "tussles" between various stakeholders. The lecture recommends software-defined networking may help address these issues by giving network operators more control over policy and implementation.

Uploaded by

bbaa12312342
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views32 pages

Lecture 03 2015

This lecture discusses end-to-end arguments in system design and tussles in cyberspace that define the internet. It covers the end-to-end principle that functions should be implemented at endpoints rather than in the network when possible. It also discusses how the internet has changed from a time of shared trust and purpose among users to one with economic and trust "tussles" between various stakeholders. The lecture recommends software-defined networking may help address these issues by giving network operators more control over policy and implementation.

Uploaded by

bbaa12312342
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

CS244 Lecture 3

Architecture and Principles

1. End to end arguments in system


design (1981)
2. Tussles in cyberspace:
Defining Tomorrows Internet (2005)
Nick McKeown

End-to-End Arguments in System Design


[Saltzer, Reed, Clark 1981]

End-to-end in a nutshell
The function in question can completely and correctly be
implemented only with the knowledge and help of the
application standing at the end points of the
communication system. Therefore, providing that
questioned function as a feature of the communication
system itself is not possible. (Sometimes an incomplete
version of the function provided by the communication
system may be useful as a performance enhancement.)
2

Commonly used examples


1. Error handling in file transfer
2. End-to-end, versus in-network encryption
3. The partition between TCP and IP of
error handling, flow control and
congestion control.

What you said


For some applications, such as banking,
application specific acknowledgements or
transactions may be necessary to ensure
consistency. In this respect, I think the question of
what we define as an acceptable end-point is
crucial in terms of what services we can expect the
communication system to provide.

What you said


I feel like this [paper] leads people to say, This is
bad because it violates the End to End
Principle, rather than, for example, This is bad
because it makes assumptions about what
future applications might want.
-- Jason Clavelli

Some consequences
In layered design, the E2E principle provides
guidance on where functions belong.
Dumb, minimal network and intelligent endpoints.
Many argue that:
E2E principle allowed the Internet to grow
rapidly because innovation took place at the
edge, in applications and services.
6

On the other hand


E2E principle appears to have become diluted:
NATs, firewalls, VPN tunnel endpoints,
Perhaps not surprising: E2E principle grew in an era
of trust among users. Now network must protect itself.

The network is no longer dumb, minimal


Now over 7,000 RFCs.
Router OSs based on 100M lines of source code.
Q: Is this a problem?
7

What belongs in, what out?


Questions:
Does routing belong in the dumb, minimal
network?
How about multicast, mobility, QoS?
Are NATs necessary, good, or evil?
Is the E2E principle constraining innovation
of the infrastructure?
8

Additional references
[rfc3724] The Rise of the Middle and the Future of
End-to-End: Reflections on the Evolution of the
Internet Architecture - Kempf et al.
[Blumenthal] Rethinking the design of the Internet:
The end-to-end arguments vs. the brave new
world, ACM Transactions on Internet Technology, Vol.
1, No. 1, August 2001, pp 70-109.

Tussle in Cyberspace:
Defining Tomorrows Internet

Actor-Network Theory (ANT)


Assumes equal treatment of humans and non-humans in an
interacting network.
Distinction between mediators and intermediaries: silk and
nylon.

10

Context
Why did the authors write the paper?

What had changed since the Internet was


invented?

11

Problem Statement
The Internet was created in simpler times. Its creators and
early users shared a common goal they wanted to build a
network infrastructure to hook all the computers in the
world together so that as yet unknown applications could
be invented to run there. All the players, whether designers,
users or operators, shared a consistent vision and a
common sense of purpose.
Perhaps the most important consequence of the Internets
success is that the common purpose that launched and
nurtured it no longer prevails.
12

Types of Tussle
1. Economics
2. Trust
1. Openness

13

Trust
One of the most profound and irreversible changes in the
Internet is that by and large, many of the users do not trust
each other. The users of the Internet no longer represent a
single community with common motivation and shared
trust.
[There] is a profound tussle, between people who want to
be left alone, and people who want to bother them.
Q: How are we encouraged to think about this?
14

What you said


The design of interfaces is the common theme linking the
Tussle paper and the end-to-end argument paper we are
discussingI agree the end-to-end argument is still valid
today, but the transparency it encourages needs more
careful considerations in a playing field where trust cannot
be taken for granted.
-- Ana Klimovic

15

What you said


I'm pessimistic that there is much that system designers
can do to bias the tussle in favor of the user at this point.
Consider the recent net neutrality debate
--Wen-Chen Chen

16

Questioning sacred cows


1. End to end argument
Q: How is it affected by tussles?

1. Separate policy from mechanism


Q: What does it mean?
If the goal is to hook computers together and let
users run any application they want, then a
simple transparent network enables user
empowerment, choice and innovation.
17

A lesson
Hypothesis about QoS: Internet providers
had no incentive to deploy.
1.There is a real cost to deploy
2.Users had no way to choose providers
(local or remote).
Q: How is this related to tussles?
18

Consequences
What do the authors recommend we do?
What are the concrete steps?

19

Context for Next Class

20

Software Defined Network


(SDN)
Control
Program

Control
Program

Control
Program

Global Network Map

Control Plane
Control
Packet
Forwarding

Control
Packet
Forwarding

Control
Packet
Forwarding
Control
Packet
Forwarding

Control
Packet
Forwarding

Software Defined Network


A network in which the control plane is
physically separate from the forwarding plane.
and
A single control plane controls
several forwarding devices.
(Thats it)

Software Control Plane

SDN
Intended consequences...
1.Put network owners and operators in control.
2.Networks that are more reliable and more secure.
3.Networks that cost less: simpler, streamlined hardware.
4.Networks that cost less to operate (fewer features).

An example
Routing

function Dijkstra(Graph, source):


for each vertex v in Graph:
dist[v] := infinity ;
previous[v] := undefined;
dist[source] := 0 ;
Q := the set of all nodes in Graph ;
while Q is not empty:
// The main loop
u := vertex in Q with smallest distance in dist[] ;
remove u from Q ;
if dist[u] = infinity:
break ;

Edsger Dikjstra

1930-2002

Photo: Hamilton Richards

for each neighbor v of u:


alt := dist[u] + dist_between(u, v) ;
if alt < dist[v]:
dist[v] := alt ;
previous[v] := u ;
decrease-key v in Q;
return dist[], previous[];
end function

The Opte

1. Figure out which routers and links are present.


2. Run Dijkstras algorithm to find shortest paths.

If a packet is going to B,
then send it to output 3

1 If

, send to 3

95%

1. Figure out which routers and links are present.


2. Run Dijkstras algorithm to find shortest paths.

5%

50,000 lines of code


50,000 lines of code
50,000 lines of code

Dijkstra

IS-IS

BGP

MPLS

Firewall

Global Network Map

Network OS

You might also like