Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:53 PM 1
Introduction to theRecursive Network Architecture
Joe TouchPostel Center DirectorUSC/ISIResearch Associate Prof. USC CS & EE/Systems Depts.
Copyright 2010, USC/ISI. All rights reserved.
Preview
Recursion is a fundamental network property Not just a software engineering artifact Enables new capabilities for fault tolerance,
DOS protection, and routing isolation Unifies “planes” – data, control, mgt, security Unifies forwarding, layering, and resolution May hint to a broader science of networking
8/24/2010 5:53 PM 2
Copyright 2010, USC/ISI. All rights reserved.
Outline
Virtual networks Definition and motivation Experience developing the X-Bone Key issues and capabilties
Recursive networking Motivation based on a science of networking RNA Implications
8/24/2010 5:53 PM 3
Copyright 2010, USC/ISI. All rights reserved.
Definition:Virtual Networks
A network composed of: Virtual routers = transit (unchanged header/circuit) Virtual hosts = source/sink (add/delete hdr/ckt) Virtual links = tunnels (links inside an existing path)
NB: VC nets are mature, so this focuses on virtual packet nets
Defining properties: Provide a network Requires existing network but distinct from it Does not reach anywhere new
8/24/2010 5:53 PM 4
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 5
Example: Ring
Base
Ring V/ON
map
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 6
Virtual Router
Virtual interface groups Set defines a vrouter
Routing engines Longest prefix, geo, etc.
Routing/forwarding tables Separate one per group
[Xbone1]
O1 Address
O3 AddressO2 Address
RoutingEngine
Interface
RouteTable
RouteTable
O1 Address
O2 AddressO1 Address Interface
RoutingEngine
RouteTable
O3AddressO3 Address
VIFs/aliases
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 7
Virtual Host
Apps select VN Picks address set
OS limits access “inaddr_any” is
within an iface set Apps may gateway
Join multiple VNs
[Xbone1]
O1 Address
O2 AddressO2 Address
Interface
O1 Address Interface
O3 AddressO2 Address
Application
OS
Application
Application
1 overlay2 interfaces
1 overlay1 interface
Log. addrs
Phys. addr
2 overlays1 interface
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 8
Motivation
Provide to net users what an OS/VM provides:
Protection: Isolate test/new protocols
Concurrency: Share infrastructure for testbeds Share infrastructure for different services
Abstraction: Provide simpler topology Provide application-specific topology
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 9
Similarity to OS, VM
Protection OS: user vs. supervisor mode VM: translate thru page table, page boundaries
Concurrence OS: multitasking VM: page table per process
Abstraction OS: process, virtual machine VM: contiguous virt. addr. space [0...]
Copyright 2010, USC/ISI. All rights reserved.Infocom 2005 Tutorial Notes 10
Other Benefits....
Scale Scalable deployment and management
Automation Safe, consistent configuration
Emulation Support tests and legacy systems
On-the-fly modification Tune & move without affecting hosts/routers
Copyright 2010, USC/ISI. All rights reserved.
X-Bone Overlay SystemWeb GUI
X-Bone system
Multiple views
Automatedmonitoring
link
xd GUI
OverlayManager
ResourceDaemon
ResourceDaemonResource
Daemon
routerhost
ring-ovl
IP Base
AB
DC
AB
DC
star-ovl
AB
DC
Star Overlay
Base IPv4Network
Ring Overlay
Copyright 2010, USC/ISI. All rights reserved.
X-Bone Aspects
Network management over a network DWIM, GUI-based network deployment XML language for describing overlays
Robust distributed system Idempotent commands Transactions with rollback and recovery Persistent state (save to disk)
Overlay advances 2-layer tunnels for revisitation, recursion as router, etc.
8/24/2010 5:53 PM 12
Copyright 2010, USC/ISI. All rights reserved.
Creating a RingRequest
isipc2
eql
udel seccos div
sin
bbn
Internet
Ring Ovl.
Copyright 2010, USC/ISI. All rights reserved.August 26, 2003 14
X-Bone Constraints
Internet-based Routing (link up) vs. provisioning (link add)
…one header to bind them all… (use IP & provide IP = recursion)
Complete E2E system All VNs are E2E
VN “Turing Test” A net can’t tell it’s virtual
Use existing protocols, OSs, apps.
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:53 PM 15
Recursion-as-Router
Sub-overlays look like routers L3 version of rbridges (IETF TRILL WG) Similar to LISP
Base network
Copyright 2010, USC/ISI. All rights reserved.August 26, 2003 16
X-Bone Enables (1)…
Recursion Control (like BGP AS’s) Network (like LISP/TRILL)
BARP (label distrib)
Revisitation Integration of resolution, choices
Shims and glue layers as fundamental
Service for deploying & managing VIs Language for describing VIs
A B C D F
X Y ZA
FB C
D
E
E
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:53 PM 17
DynaBone:Spread Spectrum
Outerlay
#50#50#50#50#50#50#50#50#50#50#50
#50
TCP S/F – 3DES
Others – MD5
UDP – SHA1
Base network
800 Innerlays
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:53 PM 18
Agile Tunnel Protocol (ATP)
Client -> roaming tunnel head-> roaming tunnel tail-> client and server are hidden
Works like a floating tunnel:
Copyright 2010, USC/ISI. All rights reserved.
Observations
Virtualization changes the architecture Hosts are really processes,
everything else is really a router or system Devices aren’t localized
Subnet as a router NAT as a host front-end
Link and net layers are tightly coupled
Core concepts from previous glue/shims A single model yields layering, forwarding, routing,
and dynamic composition
8/24/2010 5:53 PM 19
Copyright 2010, USC/ISI. All rights reserved.
What VNs Currently Do
Keep “ships” separate No sibling interference No parent-child interference Establish sibling “relative” QoS (“at most”)
PEP-style enhancements Dynamic routing FEC, Multipath
8/24/2010 5:53 PM 20
Copyright 2010, USC/ISI. All rights reserved.
What VNs Cannot Do
Enforce performance constraints Fixed BW, latency Provisioning-style, e.g., “at least” QoS
Enhance app. interactions Needs networking, i.e., multihop forwarding Grid/Cloud Computing is single hop E2E
8/24/2010 5:53 PM 21
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:53 PM 22
Internet Architecture
Accused of ossification, but:
Ossification = stability Flexibility is abundant:
Shim layers: HIP, SHIM6, IPsec, TLS
Muxing layers: SCTP, RDDP, BEEP
Connections: MPLS, GRE, IKE, BEEP, SCTP
Virtualization: L2VPN, L3VPN/X-Bone/RON/Detour, L7-DHTs
Copyright 2010, USC/ISI. All rights reserved.
Recursive Networking
VN as basis of unification Unify layering and forwarding Unify data/control/management/security planes Unifying different layers
Examples: RNA – 2006 Network IPC – 2008 (John Day)
8/24/2010 5:53 PM 23
Copyright 2010, USC/ISI. All rights reserved.
What if…
Über-protocols are the right idea… A single configurable protocol with
Hard/soft state management Congestion control, error management Security
E.g., XTP, TP++
But they went too far… Keep layering – because of first principles
8/24/2010 5:54 PM 24
Copyright 2010, USC/ISI. All rights reserved.
Recursive Net Arch
Layering as more than software engr. Layers defined by
scope, context
Create a one layer ‘stem cell’ protocol Integrate resolution,
“choices” from X-Bone Template of basic
functions, ala J. Day
8/24/2010 5:54 PM 25
ATM
RNA MP 1y
RNA MP 2y
RNA MP 3
RNA MP 4
PHY
RNA MP 1
RNA MP 2
RNA MP 3
RNA MP 4
WIRELESS
RNA MP 1x
RNA MP 2x
RNA MP 3
RNA MP 4
Copyright 2010, USC/ISI. All rights reserved.
Exploring Invariants
Networking is groups of interacting parties Groups are heterogeneous All members want to interact Groupings are dynamic (i.e., virtual)
Thus, need an architecture that supports: Heterogeneity Interaction Virtualization
8/24/2010 5:54 PM 26
Copyright 2010, USC/ISI. All rights reserved.
Heterogeneity leads to layering
M different interacting parties need M2 translators
or
M translators + common format
… i.e., a layer
8/24/2010 5:54 PM 27
Copyright 2010, USC/ISI. All rights reserved.
Layering leads to resolution
IDs are local to a layer Whether names, paths, locations
Need to resolve IDs between layers Google, DNS, ARP, LISP encap tables
8/24/2010 5:54 PM 28
Copyright 2010, USC/ISI. All rights reserved.
Interaction leads to forwarding
N parties need N2 circuits
or
O(N) links + forwarding
8/24/2010 5:54 PM 29
Copyright 2010, USC/ISI. All rights reserved.
Virtualization leads to recursion
N parties want to group in arbitrary, dynamic ways.… such groups are inherently virtual
… and virtualization is inherently recursive
8/24/2010 5:54 PM 30
Control / deployment Network
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 31
Recursion unifies layering, forwarding, & resolution
Layering (left) Heterogeneity via O(N) translators Supported by successive recursive resolution
Forwarding (right) N2 connectivity via O(N) links Supported by successive iterative resolution (tail recursion)
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 32
Motivation for RNA
Layers of a stack becoming more similar Security, soft-state, pacing, retransmission
Desire to support new capabilities Interlayer cooperation, dynamic layer selection
Desire to support emerging abstractions Overlay layers don’t map to 1-7 Support for recursive nodes (BARP, LISP, TRILL)
Is layering more than a coding artifact?
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 33
One module to reuse “Resolve” unifies:
Layer address translate/resolution ARP, IP forwarding lookup BARP/LISP/TRILL lookup
Layer alternates selection IPv4/IPv6,
TCP/SCTP/DCCP/UDP
Iterative forwarding IP hop-by-hop,
DNS recursive queries
“Process data” unifies: Shared state, security, management Flow control, error control
Next-hopResolution
Next LayerResolution
LAYER(DATA, SRC, DST) Process DATA, SRC, DST into MSGWHILE (Here <> DST)
IF (exists(lower layer))Select a lower layerResolve SRC/DST to next layer S’,D’ LAYER(MSG, S’, D’)
ELSEFAIL /* can’t find destination */
ENDIFENDWHILE/* message arrives here */RETURN {up the current stack}
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 34
RNA Stack
One MP, many instances Needed layers, with needed services Layers limit scope, enable context sensitivity Scope defined by reach, layer above, layer below
wireless
RNA mp-1
RNA mp-2
RNA mp-3
RNA mp-4
optical
RNA mp-1’
RNA mp-2
RNA mp-3
RNA mp-4
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 35
RNA
One metaprotocol, many instances Needed layers, with needed services Layers limit scope, enable context sensitivity Scope defined by reach, layer above, layer below Resolution connects the layers (red/green)
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 36
Scope defines a layer
Its endpoints A “hop” @layer N = E2E extent of layer N-1
The layer above What services this layer provides
The layer below What services this layer requires
E.g.: Shared state at diff. layers for diff. services Application binding Transport delivery Net security
The difference is scope
App
Trans
NetProcess
Program
Host
Copyright 2010, USC/ISI. All rights reserved.
IDs constrain structure
Tree of ID spaces Link at resolvers
State inbetween Connections,
provisioning
Table management ID use coordination Routing Resolution
8/24/2010 5:54 PM 37
Hard stateWDM linkHard stateWDM link
streamDNS A
DNS->IPv4
streamDNS AAAADNS->IPv6
StreamDNS txt
DNS->O-ID
packetsBGP
IPv4->IPv4
packetBGP
IPv4->IPv4
packetOSPF
IPv4->IPv4
packetARP
IPv4->E-mac
packet64tun cfgIPv6->IPv4
E-netId=45
WDMID=3
Hard stateTCP conn.
Soft stateDelta-T
Hard stateWDM link
Soft statetunnel
Recursive Core
Service typeUpdate protocol
From->To
Legend
Copyright 2010, USC/ISI. All rights reserved.
What makes this an architecture?
Basic components Metaprotocol + MDCM, ID space tree, etc. Instantiates as different layers or forwarding
Abstraction for virtualization Tunnel as link Partitioned router as virtual router Partitioned host + internal router as virtual host
Abstraction for recursion Recursive router implemented as a network of
vrouters with vhosts at the router interfaces
8/24/2010 5:54 PM 38
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 39
RNA Metaprotocol
Template of basic protocol service: Establish / refresh state Encrypt / decrypt message Apply filtering Pace output via flow control Pace input to allow reordering Multiplex/demultiplex
includes switching/forwarding
SharedState
Next LayerResolution
Security
FlowControl
Copyright 2010, USC/ISI. All rights reserved.8/24/2010 5:54 PM 40
Components of RNA MP
Instantiate MDCM’s “Process DATA”
Establish / refresh state Encrypt / decrypt message Apply filtering Pace output via flow control Pace input to allow reordering Multiplex/demultiplex as indicated
includes switching/forwarding
Copyright 2010, USC/ISI. All rights reserved.
RNA MP Template
8/24/2010 5:54 PM 41
START PATTERN MIN # This simply specifies a buffer. no reodering etc. PATTERN MIN REQ MUST BUFFER 1 ARG BUFFER 1 VAR size 1000 LINK ADD SELF 0 BUFFER 1 ... # Next use this pattern if MIN is successful PATTERN ORDERED_DELIVERY FOLLOWS MIN REQ MUST REORDERING 1 LINK DEL …. LINK ADD …. … # If reordering successful, try more stuff… PATTERN ENCRYPTED_ORDERED_DELIVERY FOLLOWS ORDERED_DELIVERY REQ MUST ENCRYPTION 1 ARG ENCRYPTION 1 VAR algo des ARG ENCRYPTION 1 VAR keysize 512 ....
Next-hopResolution
Next LayerResolution
LAYER(DATA, SRC, DST) Process DATA, SRC, DST into MSGWHILE (Here <> DST)
IF (exists(lower layer))Select a lower layerResolve SRC/DST to next layer S’,D’ LAYER(MSG, S’, D’)
ELSEFAIL /* can’t find destination */
ENDIFENDWHILE/* message arrives here */RETURN {up the current stack}
Copyright 2010, USC/ISI. All rights reserved.
What does RNA enable?
Integrate current architecture ‘stack’ (IP, TCP) vs. ‘glue’ (ARP, DNS) Forwarding and layering Unify data, control, management, security planes
Support needed improvements Recursion (AS-level LISP, L3 BARP, L2 TRILL) Revisitation (X-Bone) Concurrence (VPNs, multipath TCP)
Supports “old horse” challenges natively Dynamic ‘dual-stack’ (or more)
8/24/2010 5:54 PM 42
Copyright 2010, USC/ISI. All rights reserved.
Conclusions
Virtualization requires recursion Recursion supports layering, forwarding,
resolution Recursion integrates data, control, mgt, security
One recurrence to bind them all…
Recursion is a native network property Integrates and virtualization, forwarding and layering
in a single mechanismS
8/24/2010 5:54 PM 43