Growth Networks Inc

Download Report

Transcript Growth Networks Inc

An Architecture for a
Diversified Internet
Jon Turner and Mike Wilson
www.arl.wustl.edu
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Diversifying the Net
 Virtualization
for ongoing progress in networking
» enable new networking paradigms anytime, anyplace
 Diverse
metanetworks sharing common substrate
» enable new architectures to be deployed and used
» support wide range of protocols and service models
» avoid architectural constraints on metanets
 Substrate
provides resource provisioning
» substrate platforms host multiple metarouters
» connect metarouters via metalinks
» substrate supports dynamic configuration of metanets
long-term for metarouters and backbone metalinks
 short-term for access metalinks

» must accommodate distributed management of the substrate
across multiple service providers
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Elements of a Diversified Internet
substrate
link
metalink
substrate
platform
meta
router
metanet
protocol
stack
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
substrate links
may run over
Ethernet, IP,
MPLS, . . .
Multiple Substrate Domains
many
substrate
domains
metanets
span multiple
domains
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Abstractions
 Metalinks
– abstraction of a physical link
»point-to-point metalinks
may be provisioned, but need not be
 may be implemented over point-to-point substrate links, or
multipoint substrate links

»multipoint metalinks

allow metarouters to use broadcast features of LAN technologies
 Metarouters
– abstraction of multiport net device
»implemented using generic processing resource within
substrate platform
»may include multiple processing engines
 Metaterminal
– abstraction of an end system
»metanet-specific protocol stack
»each metaterm in same physical end system has own metalink
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Secondary Abstractions
 Peering
metalink
»point-to-point metalink joining two metanets operated by
different organizations
»peering subnets may have same or different protocols/services
»up to metanets to address interoperability issues
 Gateway
»connection to a network outside the diversified internet
(e.g., the IPv4 Internet)
»up to metanet to address interoperability issues
»substrate may monitor traffic for policy reasons
 Meta-transport
layer
»allow metanets to easily reallocate transport level capacity
»may be implemented by TDM or optical cross-connects
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Architectural Neutrality
 Allow
maximum diversity among metanets
» enable wide variety of protocols, service models
 Minimize
substrate role, maximize metanet role
» substrate will be difficult to change
» metanets should handle all things that may change
 Security
and mobility
» enable secure metanets
» enable metanets that support mobility
» minimize substrate role in providing security, mobility to
enable on-going improvements
 Limit
substrate to resource provisioning role
» no end-to-end packet delivery at substrate level
» provides “raw” resources to metanets
» diversity of resource types, open to new types
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Role of Substrate
 Substrate
provides resources to metanets
»provide processing resources for metarouters
»implement metalinks – both point-to-point and multipoint
»not intended to provide end-to-end packet delivery
 Support
metanet backbone configuration
»long-term reservations, generally coarse granularity
»support for advance planning
 Access
metalink provisioning
»on-demand (typically when host boots, or re-connects)
»mechanisms that enable metanets to provide mobility
 Multiple
substrate domains
»multi-domain metanets, inter-domain metalink routing
»different trust levels for different substrate domains
 Substrate
Control Metanet (SCM)
»control messages for substrate configuration
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metalink Implementation
 Pnt2pnt
metalinks on
multi-access substrate link
 Pnt2pnt
metalinks over
pnt2pnt substrate link
» high priority VLAN for
provisioned substrate link
» substrate router limits usage
metalinks defined by
metalink id (MLI)
shared high
priority VLAN
substrate link defined by VLAN
or MPLS tag, or wavelength
Ethernet
undernet
 Best-effort
shared best-effort
priority VLAN
multipoint metalinks
» so metanets can use broadcast LAN
features
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Substrate Platform Architecture
 Processing
Engines (PEs)
implement metarouters
PEs
»variety of types
 Line
Cards terminate ext.
links, mux/dmx metalinks
 Shared PEs include
substrate component
 Dedicated PEs need not include substrate
»use switch and Line Cards for protection and isolation
 PEs
in larger metarouters linked by metaswitch
 Larger metarouters may own Line Cards
»allows metanet to define transmission format/framing
»configured by lower-level transport network
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Switch
Line
Cards
Current Development System
 Network
Processor blades
»dual IXP 2850 NPs

3xRDRAM, 3xSRAM, TCAM
»dual 10GE interfaces
»10x1GE IO interfaces
 General
purpose blades
»dual Xeons, 4xGigE, disk
 10
Gb/s Ethernet switch
»VLANs for traffic isolation
 Scalable
architecture
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Substrate Control Communication
Substrate Domain
Controller (SDC)
Metanet
Controller (MC)
Substrate Control Metanet (SCM)
 SCM
for control communication outside metanets
»user-metanet connection requests, metanet-to-substrate
»may have more than one for reliability, upgradability
 SDCs
provide control interface to substrates
 MCs provide control interface to metanets
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Configuration
substrate
domains
alternate access
metalink routes
 Metanet
backbone provisioning
» substrates advertise resource availability, cost information
» metanet planner requests bids for metanet segments
» iterate, as needed
 Access
metalink configuration
» users may request connection from anywhere, at anytime
» metanet determines termination point, domain-level route
» substrate domains determine route segments
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Configuring Metanets
1
2
3
2
 Adding
metarouter and metalinks
1.MC requests new metarouter & intra-domain metalink
» configures metarouter within metanet
2.MC requests inter-domain metalink
3.peering domains coordinate metalink configuration
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Configuring Access Metalinks
4
3
2
1
3
 When
host connects to network
1. discover local substrate platform (using broadcast)
2. send metanet connect request to local SDC
» request forwarded through SCM to MC for desired metanet
3. MC requests metalink configuration from SDCs
4. SDCs configure access metalink
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Substrate Advertisements
 Substrates
advertise so metanets can use them
»hosting capabilities advertisements
in region R, type T substrate platforms are available
 multi-scale region specifications

»peering advertisements

D1 peers with D2 in region R, with capacity C
»latency advertisements

latency from R1 to R2 within substrate is D
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metalink Routing
advertised
peering
relationship

Metanet uses peering adverts to identify paths
» geographic information used to estimate distances

vertices of path are region center points
» for substrates that supply internal region graph, use distances implied
by region graph

Metanet requests route segments from substrates
» request to domain D: metalink L, from D1 in R1 to D2 in R2
» request may include a provisioned capacity
» adjacent substrate domains use metalink identifier (L) to coordinate
across domain boundary
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Backbone Configuration
 Inputs
to metanet planner
» substrate domain adverts
» expected users/traffic
 Planner
» selects regions for metarouters


typically driven by users in region
may also include transit metrouters
» selects metanet topology


determination of metalink capacities
peering points for inter-domain metalinks
» determines metarouter configurations


number and capacity of interfaces
number and type of PEs
 Metanet
negotiates with substrate domains
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Security Issues
 Enable
secure metanets; minimize substrate role
»enable continuing evolution of security mechanisms
 Diversity
of trust
»most substrate domains cannot be trusted and should
not be burdened with onerous security requirements
»domains that host metarouters must be trustworthy
»some metanets (e.g. SCM) must be trustworthy
 Accreditation
of selected substrates and metanets
»accreditation is optional
»carries with it certain responsibilities (maybe legal)
»requires authentication, secure interaction
 What
level of isolation do metanets require?
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Securing Metanets
access metalink
single endpoint for
spoof-prevention
accredited
substrate
domain
unaccredited
substrate
domain
 Use
only accredited substrate domains for metarouters
»substrate provides isolation to protect against DoS
 Protect
backbone metalinks using encryption
»prevents eavesdropping, traffic insertion
»can detect lost packets and hold substrate accountable
 Protect
access metalinks from misuse
»prevent address spoofing by allowing only one endpoint
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Service Model
 Unicast
datagrams in a request/response paradigm
 Best Effort delivery
»Requests include an arbitrary transaction id to ensure
single operation on re-transmission
 Hierarchical
addresses with top half encoding location
 Address spoofing prevention
»All SCM clients are attached by point-to-point metalinks
 OSPF-like
protocol for routing
»SCM metarouters exchange tree-image link state database
 Receiver-requested
filtering of requests
»“No more requests from that client”
»“Restrict client to 100 requests per minute”
»“Connection requests at no more than 20 per second”
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Services: Advertisement

Publish/query service
»Advertisement Servers
»used by substrates and metanets to advertise services
substrate domains advertise substrate platform locations, peering
relationships, etc.
 metanets advertise SCM addresses of metanet controllers providing
connection services for different geographic regions
 authenticated data with secure update protocols
 may restrict distribution of information

»published information can be queried by SCM clients


Queries include wildcards and value ranges
SCM addresses of some Publish/Query services provided
at SCM connection time
»Analogous to DNS servers provided during DHCP

It may be worthwhile to create some form of anycast for
publish/query requests, in case of address changes
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Services: Advertisement




Advertisements in Advertisement Servers
»Only accredited SDs and MCs can publish
»Anyone can query
»All records have a timeout, and author can change/revoke
Metanets can publish MC SCM addresses
Substrate Domains can publish substrate resources (hosting platforms,
link capacities, latencies, etc.)
Records are in XML and are extensible. Clients use the parts they
understand. (DTD not yet developed)
<link type=”peering”>
<endpoint>
<ID>42</ID>
<region>
<value>0x66800000FF800000</value>
</region>
</endpoint>
<endpoint>
<ID>63</ID>
<region>
<value>0x66800000FF800000</value>
</region>
</endpoint>
<capacity units=”Mbps”>
<value>45</value>
</capacity>
<latency units=”ms”>
<value>7</value>
</latency>
</link>
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
<component type=”router”>
<provider>
<value>42</value>
</provider>
<platform>
<value>IXP2400</value>
</platform>
<region>
<value>0x66800000FF800000</value>
</region>
<ID type=”SDAddr”>
<value>0xBA1FA702</value>
</ID>
<storage>
<capacity type=”dram” units=”GB”>
<value>2</value>
</capacity>
</storage>
</component>
SCM Services: Authentication
 Authentication
service
»trusted repository for (identifier, public key) pairs
 Run
by a central authority
»Diversified Internet Governing Authority (DIGA)
»Accredits trusted SDs and metanets
»Accredited groups must meet minimum levels of
functionality or lose accreditation
 Certificate
Authorities may use a chain of delegation
 Any request that allocates (or de-allocates) SCM or
Substrate resources must be authenticated and
signed
»Publishing, metalink allocation, metarouter allocation,
»Filters are an exception, as even non-accredited clients
must be protected
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Services: Bootstrapping
 Connecting
the SCM
to a metanet requires being connected to
»The SCM itself is a metanet, with one or more MCs
 New
MCs and SDCs can connect to the SCM just like
end systems connect to other metanets
»Need a trusted substrate domain to “vouch” for them
 SDs
connect through the “parent” SD
»A customer relationship usually exists, with real-world
accountability
 Top-level
band
SDs are configured manually and out-of-
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Entities
SCM MC
MC
SDCs
Trusted SDs
DIGA CA
SDCs
Advertisement
Server
Untrusted SDs
Metaterminal
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
MC
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Connection Protocol Specification
End systems connect to Metanets via their SDCs.
 Discover local SDC (broadcast, DHCP-like)
 Send metanet connect request to local SDC

»Request contains optional metanet-specific authentication block

SDC queries for the MC associated with this metanet, if not
specified by end system
»Because end systems may already be connected to directory
service metanets, end systems may specify the MC to use.

SDC sends connect request to the MC
»Request includes an opaque SD address for the end system
»If the SD is not accredited, the request includes a path from the
nearest accredited SD

The SCM is just a metanet, and has a MC on the SCM. New
SCM clients connect the same way.
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Connection Protocol
SCM MC Where
Query:
is
Metanet 17?
MC
SDCs
Reply: Metanet 17’s MC is at
SCM address
0xa4435a22f812bc01
Connect my SD ID
Trusted SDs
0x48e7f12c to your
metanet. My path to the
nearest trusted SD is
2. SDC lookups up
SD 3
<SD3:SD3-Addr,
MC for metanet SD6:SD6A-Addr>
<SD6:SD6B-Addr, SD221:SD221-Addr>
Advertisement
Connect
me to Metanet
17.
Server
MC
(No MC, no authentication)
DIGA CA
SDCs
Untrusted SDs
SD 6
3. SDC
Requests MC to
connect metaterminal
Metaterminal
SD 221
1. End system requests
metanet connection
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Outline
 Core
concepts
 Substrate data plane
 Substrate control plane overview
»Substrate Control Metanet
»example uses of SCM
 SCM
specification
»basic service model
»publish/query service
»authentication service
»request filtering
»bootstrapping
 Metanet
connection protocol specification
»how end user devices connect to a metanet
 Metanet
configuration protocol specification
»how metanets request/receive resources from substrates
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Configuration Protocol Specification

Two types of configuration
 Add
Metarouter
»Select SD, platform, region from queries
»Send instantiation request to SDC, including code block
 Add
Metalink
»Metanet selects SDs and peering points through which to route
metalink (via queries)
»MC sends instantiation requests to SDCs in each SD along the
route

Request includes arbitrary metalink identifier (for inter-SD
coordination)
»Each SD instantiates metalink segment, coordinating peering
points with arbitrary identifier
»Terminal segments call a substrate stack service to allocate a
metainterface number and finalize metalink

Requests to terminal SDCs include initialization block to pass along
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Metanet Configuration Protocol
SCM MC
MC
SD 2
1. Query to
determine best path
SDCs
2. MC contacts all SDCs
along SD path
SD 3
SD3: connect MR 0x044516 to
Trusted
SDs
<SD3:SD3-Addr,
SD6:SD6-Addr>
SD6: connect
Meta-protocol Stack for Metanet
17,
<SD3:SD3-Addr,
SD6:SD6A-Addr> to
you have new metainterface
3, with
<SD6:SD6B-Addr, SD221:SD221-Addr>
initialization
block { … }
Advertisement
SD221:
connect
Server
MC
SDCs
<SD6:SD6B-Addr, SD221:SD221-Addr>
toUntrusted
your SD SDs
ID 0x48e7f12c
Query: ShowSD
me
6 all peering links between
DIGA CA
SD 3 and SD 2 with 3 Mbps available
Metaterminal
capacity.
SD 221
3. Metainterface
Reply: <SD3:SD3-Addr, SD2:SD2-addr>
allocated, initialized
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Supplementary Slides
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Message Types
 Request
Metanet Connection (SDC to MC)
 Allocate Metalink Segment (MC to SDC)
 Allocate Metarouter (MC to SDC)
 Release Substrate Resource (MC to SDC)
»Used for both Metarouters and Metalinks
»There should be a way to request a change in resource limits
 Publish
(SDC or MC to AS)
 Query (SDC or MC to AS)
 Get Certificate (SDC or MC to CA)
 Reply (In response to requests)
 Filter (SDC or MC to first hop MR)
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
SCM Message Format
 Most
messages share the following fields
»Destination SCM Address
»Source SCM Address (Enforced by first hop SCM MR)
»Message Type
»Transaction ID
»Payload in XML, when applicable
»Identity and Message Digest (digital signature)
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Region Specifiers

Geographical notation provides
scalable regions
» Regions are a bit stream selecting
segments of the globe. Alternate bits
represent East/West divisions vs.
North/South divisions.
» East/West at prime meridian; 0=west,
1=east.
» North/South at equator; 0=south,
1=north.
» St Louis, Missouri, is contained in
011001101.


For scaling, we encode regions as a
32-bit geographical string followed by
a corresponding 32-bit bitmask. Only
those bits selected by the mask are
considered to be significant. Thus, St
Louis is 0x66800000FF800000.
We permit masks that may not be
strictly left-justified, and regions that
do not approximate a square.
s
» E/W portion and N/S portion of mask are
left-justified, but overall mask should
allow constructs such as
0x66800000F9800000, which includes
most of the Mississippi River.
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
e
w
n
w
e
s
w
s
n
e
n
w
e
s
w
n
e
wneswnese
(011001101)
Addressing
 Each
metanet may define its own addressing
»hierarchical, geographical, flat, whatever
»substrates need not be aware of metanet addressing
»substrate and metanet do agree on metarouter identifiers and
metarouter logical interface numbers
 No
common addressing needed for substrates
»each domain can define and assign addresses independently of
every other domain
»metanet-to-substrate interaction does not require use of
substrate addresses
metarouter locations specified by geographic regions
 metarouters identified by a label and metarouter interfaces
by local interface number

»substrate-to-substrate interaction does require common label to
identify peering substrate links

use label {domain1:address1,domain2:address2}
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015
Substrate Addressing

Each substrate domain assigns a 64 bit address to all
physical interfaces of substrate platforms
» initial prefix specifies region containing substrate platform
» assignment of remaining bits is at discretion domain admin
» scope of addresses limited to substrate domain

Addresses are mostly private to substrate domain
» exception for peering links
» peering domains exchange addresses assigned to peering links
» for control purposes, links are identified by unordered pair
{domain1:address1,domain2:address2}
» peering links must be point-to-point

Metanets need not be aware of substrate addresses
» know metarouter region, but not hosting substrate platform
» metalinks specified by metarouter+meta-interface of endpoints

sufficient for metarouter and hosting substrate domain to associate
meta-interface numbers with same PE in metarouter
‹#› - Jonathan Turner and Michael Wilson - 7/16/2015