Transcript ppt

CS244 Lecture 3
Architecture and Principles
1. End to end arguments in system
design (1981)
2. Flow Rate Fairness:
Dismantling a Religion (2007)
Keith Winstein & 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
Case studies
1. Error handling in file transfer
2. Encryption and authentication
1. WPA2 vs. TLS vs. PGP
3. The partition between TCP, IP, and the
link layer of error handling, flow control
and congestion control.
4. Fairness in resource allocation
5. Addressing
3
What you said
Nick Yannacone: “There’s an implication in their
discussion of reliable file transfer that the sender
and recipient are at least modestly likely to have
hardware or software errors when sending the file.
Software or hardware errors in file transfer seem to
me to be extremely rare, while network problems
(packet losses, issues with WiFi…) seem almost
inevitable. I wonder whether that’s because
software and hardware have improved markedly in
the last 30 years, or because applications following
the end-to-end principle have successfully hid
these failures from me!”
4
What you said
Gus Liu: “What about distributed
applications, where there may not
exist distinct application
endpoints?”
5
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.
Ex. WWW, Skype, BitTorrent, Bitcoin
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 OS’s 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.
9
Flow Rate Fairness:
Dismantling a Religion
• 1970s: TCP provides flow control only
• 1988: Internet adds congestion control to
TCP
• 1998: Theorists find an optimization
problem where TCP congestion control is
the solution
10
What you said
• Sean Choi: “I think the Internet has
evolved to this point because it managed
not to think about the actual financial cost
of sending each packet. If we restrict the
users and allow them to think about the
consequences of sending each packet,
obviously we would have more of an
efficient system… but we would not have
room to be creative.”
11
What you said
• Priyanka Nigam: “How will application
developers adapt to account for user
preference in a cost-fairness-based
system?”
12
13
Context for Next Class
14
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.
(That’s it)
Software Control Plane
SDN
Intended consequences...
1.
2.
3.
4.
Put network owners and operators in control.
Networks that are more reliable and more secure.
Networks that cost less: simpler, streamlined hardware.
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 Dijkstra’s algorithm to find shortest paths.
“If a packet is going to B,
then send it to output 3”
Data
1 “If
2
, send to 3”
3
95%
1. Figure out which routers and links are present.
2. Run Dijkstra’s 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