+ All Categories
Home > Documents > Introduction to the Recursive Network Architecture Joe Touch

Introduction to the Recursive Network Architecture Joe Touch

Date post: 13-Mar-2022
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
43
Copyright 2010, USC/ISI. All rights reserved. 8/24/2010 5:53 PM 1 Introduction to the Recursive Network Architecture Joe Touch Postel Center Director USC/ISI Research Associate Prof. USC CS & EE/Systems Depts.
Transcript

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


Recommended