net working? - dimacsdimacs.rutgers.edu/workshops/networkservices/slides/keshav.pdf · net working?...
TRANSCRIPT
![Page 1: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/1.jpg)
NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012
The definition of a USM is joint work with M. Karsten, S. Prasad, and O. Beg
![Page 2: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/2.jpg)
A typical exchange
I can’t get to CNN.com, can you?
Yes, I can…
Oh…
![Page 3: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/3.jpg)
50 ways to lose your connection • Link failure • Router failure • NAT table overflow (SIGCOMM 2011) • Wire unplugged • Network congestion • DNS server failure • Mis-configured firewall • Incorrect browser setting • Personal firewall misconfiguration • Error in antivirus program • Wireless AP failure • Transient routing fault • …
![Page 4: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/4.jpg)
![Page 5: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/5.jpg)
Intuition • Ability to establish an end-to-end connection depends on
many underlying systems functioning ‘correctly’
• How to model this?
Universal Switching Machines
![Page 6: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/6.jpg)
Controller
Output port
Local state (forwarding table, …)
Link
A
A>1
A>
A0
<1A
A>⊥
Drop port
Input port
Header Body
Packet
Universal Switching Machine
1. forward, with modified headers
2. drop 3. consume 4. generate
Actions
details in “An Axiomatic Basis for Communication, Karsten et al, Proc SIGCOMM 2007
![Page 7: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/7.jpg)
A network of USMs
![Page 8: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/8.jpg)
Fundamental questions • Reachability
• will a packet from USM A get delivered to USM B?
• What does ‘delivered to B mean’? • What destination name should A use?
• What port should A use to reach B? • What state at intermediate USMs is required? • How is this state created?
Naming
State creation
![Page 9: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/9.jpg)
Naming
![Page 10: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/10.jpg)
What’s in a name? That which we call a rose���By any other name would smell as sweet
![Page 11: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/11.jpg)
The name of the song is called "HADDOCKS' EYES."' 'Oh, that's the name of the song, is it?' Alice said, trying to feel interested. 'No, you don't understand,' the Knight said, looking a little vexed. 'That's what the name is CALLED. The name really IS "THE AGED AGED MAN."' 'Then I ought to have said "That's what the SONG is called"?' Alice corrected herself.
'No, you oughtn't: that's quite another thing! The SONG is called "WAYS AND MEANS": but that's only what it's CALLED, you know!'
'Well, what IS the song, then?' said Alice, who was by this time completely bewildered.
'I was coming to that,' the Knight said. 'The song really IS "A-SITTING ON A GATE": and the tune's my own invention.'
![Page 12: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/12.jpg)
…which one will respond to ‘Rose!’
![Page 13: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/13.jpg)
Name for self • Let A’s name for itself be ‘a’
• A accepts packets with ‘a’ in header • Similar to an accepting state in a Turing Machine
• More precisely: The bit string which, when present in the destination field of a packet, when the packet is present at the ith input port of USM A causes the packet to be delivered to the controller port of USM A is a name for A at that port
A
A>1
A>
A0
<1A
A>⊥
![Page 14: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/14.jpg)
Definite and broadcast names
• Assume that every USM accepts the name ‘*’
• allows broadcast
• A definite name for A is a name for it other than ‘*’
![Page 15: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/15.jpg)
Namespace
• At any USM A, • (non-unique) name for B at A is written ba
• can be a source route
• The namespace at A is the set of definite names it has for every other USM • ba, ca, da, ea …
![Page 16: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/16.jpg)
Some comments • Names and addresses are treated alike
• A USM can only be sure of its own name for itself • We have to assume that USMs do not lie about their names
![Page 17: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/17.jpg)
Aside • For global reachability, there must exist at least one
shared global namespace G
This can be used to set up temporary names (e.g. VCID) or for translation
G g1 g2
a a
g1
a
g2
a
Stacked names
![Page 18: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/18.jpg)
Hypothesis
Reachability in a network of USMs corresponds to
computability in a UTM
![Page 19: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/19.jpg)
State creation
![Page 20: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/20.jpg)
Three problems
• How does a USM learn of the definite name for another USM?
• Given a name, what output port to use? • How to install state in intermediate USMs?
Routing using announcements simultaneously solves all three problems!
![Page 21: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/21.jpg)
Name announcements • Tells recipient of the existence of a USM with a particular
name • assuming a bidirectional link, where it came from tells the recipient
what path to take • abstracts distance-vector routing
A B I am b
2
B exists and I can reach B by sending a packet with destination b on port 2
Source address is an implicit name announcement
![Page 22: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/22.jpg)
Extension 1 A broadcasts announcements to all its output ports
B 2
I can reach B by sending a packet with destination b on port 4
A
D
C 4
![Page 23: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/23.jpg)
Extension 2 Announcements carry costs
B 2
I can reach B by sending a packet with destination b on port 4 with cost 8
A
D
C 4
5
3
Naturally induces a routing algebra
![Page 24: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/24.jpg)
Link announcements
B 2
A has a link to B
A
D
C 4
Similar extensions allow population of the forwarding table
![Page 25: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/25.jpg)
Reasoning about net working
![Page 26: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/26.jpg)
A logical approach
• What predicates must hold true for connectivity to be achieved between two USMs?
• Protocols relate logic to networking in the same way that a Von Neumann machine relates Lambda calculus to computing
![Page 27: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/27.jpg)
Approach
• Consider progressively more complicated networks
![Page 28: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/28.jpg)
Simplest possible network
Reachability of B from A requires that • B is up • Link is up • (b,1) is in A’s state (exogenously)
![Page 29: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/29.jpg)
Two USMs on a bidirectional link
Reachability of B from A requires that • A,B are up • Both links are up • Exogenously introduced state in A and B or Name announcements generated and processed or Link announcements generated and processed
![Page 30: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/30.jpg)
One bidirectional broadcast link
• Nearly identical pre-conditions as with a single bidirectional link
![Page 31: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/31.jpg)
Chains
![Page 32: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/32.jpg)
Cycles
![Page 33: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/33.jpg)
Most general network • General bidirectional mesh with multiple namespaces,
policies, and broadcast links • a generalization of the prior results
• Can model the Internet including all middleboxes • Work still in progress…
![Page 34: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/34.jpg)
![Page 35: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/35.jpg)
Related work • Naming and Binding • Compositional Bindings in Network Domains, Zave, LNCS 2006 • Axiomatic Basis for Communication, Karsten et al, Proc. SIGCOMM 2007
• Declarative networking • Declarative Routing: Extensible Routing with Declarative Queries, Loo et al, Proc. SIGCOMM 2005 • Towards Declarative Network Verification, Wang et al. Proc. Int. Symp. on Practical Aspects of Declarative
Languages, 2009 • Declarative Networking, Loo and Zhou, Morgan and Claypool, 2012 • Formal analysis of routing • Metarouting, Griffin et al, Proc. SIGCOMM 2005 • A Model of Internet Routing using Semi-Modules, Billings et al, Springer LNCS 2009 • FSR: Formal Analysis and Implementation Toolkit for Safe Inter-domain Routing, Wang et al, ACM ToN, 2012
• Reasoning about network properties • Nexus authorization logic, Shneider et al, ACM Trans. Information and System Security, 2011 • NetQuery: A Knowledge Plane for Reasoning about Network Properties, Shieh et al, Proc. SIGCOMM 2011
• Automatic generation of OpenFlow configurations • Frenetic: A network programming language, Foster et al, Proc. SIGPLAN, 2011 • A Compiler and Run-time System for Network Programming Languages, Monsanto et al, POPL 2012
![Page 36: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/36.jpg)
Potential outcomes • Automatic validation of network configurations
• using automatic theorem proving
• Building self-diagnosis into the system • Frenetic/NCore • NetQuery
![Page 37: NET WORKING? - DIMACSdimacs.rutgers.edu/Workshops/NetworkServices/Slides/Keshav.pdf · NET WORKING? S. Keshav University of Waterloo DIMACS May 21, 2012 The definition of a USM is](https://reader034.vdocuments.site/reader034/viewer/2022042401/5f105fb17e708231d448cae7/html5/thumbnails/37.jpg)
Conclusions • Determining the availability of an end-to-end path is a
complex problem • Predicate logic offers a way out
• Universal Switching Machine framework brings together several disparate threads
• General theory of networking relates USM and UTM