123
Network Architecture (R02) Name Based Nets? Jon Crowcroft, http://www.cl.cam.ac.uk/~jac22 http://www.cl.cam.ac.uk/teaching/0910/R02/

Name Based Net Architectures

Embed Size (px)

Citation preview

Page 1: Name Based Net Architectures

Network Architecture (R02) Name Based Nets?

Jon Crowcroft, http://www.cl.cam.ac.uk/~jac22

http://www.cl.cam.ac.uk/teaching/0910/R02/

Page 2: Name Based Net Architectures

Shoch’s Mnemonic Mantra

Name - what it is Readable/semantics/organisation Attributed…x.500 & INS & DNS Service Name

Address - where “it” is Identity perhaps Location hints perhaps

Route - how to get to it Consult a map (Build a map?)

Name-address binding - resolvers Address-route binding - forwarders

Page 3: Name Based Net Architectures

Addresses

Pure location = last component in route Hierarchy = loose source route Identifier != address ( == name)

IP addresses are a mix Interface Prefix matching - distributed hierarchy!

Page 4: Name Based Net Architectures

Multicast/Anycast “addresses”

Are really names You can tell because you need to bind Late binding…

Page 5: Name Based Net Architectures

Mobility & Address Re-Use

If we run out of address space: Look at usage in space & time Re-use of addresses when hosts not

active Re-allocation of addresses to where

more use Can do by updating routing or… Non global addresses +state

Page 6: Name Based Net Architectures

Where can we update things

1. DNS Name ->Local addr + NAT + Dyn DNS

n IP Address ->n See later (xxx)

n Lower layer label…n Label switching

All need state in the net somewhere NAT, router or switch, respectively)

Page 7: Name Based Net Architectures

Bug in internet

Transport uses IP address as part of “end” state - includes routing hint!

Many mobility (and multipath) hacks to hide this mistake!

Page 8: Name Based Net Architectures

Mobile => State Update

Whether you do it with name/addr, route inject, or label,

If you move, thenn other end has to know, and n New peers have to know, orn Someone has to proxy for you in your old place ->

triangular routing (bad) Big problem is update procedure

Workload Security!

Page 9: Name Based Net Architectures

Cellular (GPRS, 3G etc) Data

Is below IP for now So you don’t see this, but Does manage device location, and then either

Routeable addr for active device NAT Re-do adress and rely on phone being only client

(and HTTP level recovery - standard in most web 2.0 systems)

Big problems if you want to be “always on” for data.

Page 10: Name Based Net Architectures

What breaks if we update our IP?

See 8+8 and LISP Need to update routes Need other end of live transport session to know Need DNS entry to reflect this…so new peers can

reach us at new place Both route update and DNS update might

take time….so Need help during hysteresis (temporary triangle) May be gap during which some new peers can’t

reach us… Both route&dns update may take time if securely

done (e.g. if ID Is allocated via HIP)

Page 11: Name Based Net Architectures

My crazy idea

Address swapping In a really big system, there are as many

pople moving from A to B as from B to A over sufficient time scale (e.g on roads)

So why not swap addresses? And use the people you swapped addresses with as

“care of” for temporary triangles during handover While you tell the other end

What happens when both ends do this?

Page 12: Name Based Net Architectures

For static systems sometimes need a transparent choice

Load balancers or DDoS avoidance Replicated Services Migrating Services

Lots of the techniques give hint on how to do mobile, and how not to!

Page 14: Name Based Net Architectures

Purpose

Existing methods New technique Analysis Applicability considerations

Page 15: Name Based Net Architectures

Plan Introduction

What are ASPs? Requirements to IDCs

LSLB Load Sharing NAT (LSNAT) Direct Server Return (DSR) Tunneling

GSLB DNS Based Host Route Injection (HRI) Triangle Data Flow (TDF) Latest Trends

New Technique – Virtual Block Injection (VBI) Description Testing Analysis

Applicability Considerations Conclusions and References

Page 16: Name Based Net Architectures

Abbreviations

LB = Load Balancing/Balancer SLB = Server LB LSLB = Local SLB GSLB = Global SLB HA = High Availability RS = Real Server/Service VS = Virtual Server/Service VIP = VS IP address LSNAT = Load Sharing NAT DSR = Direct Server Return

PRP = Proximity Report Protocol LRP = Load Report Protocol LPRP = PRP + LRP HRI = Host Route Injection VBI = Virtual Block Injection TDF = Triangle Data Flow IDC = Internet Data Center CDN = Content Delivery Network ASP = Application Service Provider CASP = Content/Collocation and

Application Service Provider AIP = Application Infrastructure

Provider xyP = ?

Page 17: Name Based Net Architectures

1. Introduction

Logic: GSLB IDC ASP Hosting

Page 18: Name Based Net Architectures

Hosting

Infrastructure

Web User Content Owner IDC Owner ISP

OSS

Page 19: Name Based Net Architectures

ASP

Infrastructure

End Customer ASP Applications

Operations

ISP/Backbone

Access

IDC

Page 20: Name Based Net Architectures

IDC

IDCCore

(Routing)

Distribution(L3 Switching)

Tier Tier Tier

LB TierLoad Balancing(L4 Switching)

Port Density(L2 Switching)

Servers

SAN

Page 21: Name Based Net Architectures

Requirements to IDCs

• Load Balancing (LB)

IDC1 IDC2

Client

– Local– Global

– Local– Global

· Proximity (“including” congestion)· Load

• High Availability (HA)

HA ⊂ LB

Page 22: Name Based Net Architectures

2. Generic SLB and LSLBSLB = VS RS Health Checking

Layer 2 Layer 3 Layer 4 Layer 7

SLB Algorithm Round Robin Least Connections Server Response Time Server Load Hashing

SLB Forwarding Session Tables Timers

Page 23: Name Based Net Architectures

LSLB Forwarding

LSNAT DSR Tunneling

Page 24: Name Based Net Architectures

LSNAT

Router

LB

S1 S2 S3

src/dstLayer Ingress

Client_PortS1_Portdst

Client_IPS1_IPdst

LB_MACS1_MACdst

Client_Port

Virtual_Portdst

Client_IPVirtual_IPdst

dst Router_MAC

Virtual_MAC

Client_Port

Client_IP

LB_MAC

Client_Port

Client_IP

Router_MAC

S1_IPsrcL3

src

src

src

src

src

Virtual_IPL3

S1_PortL4

Virtual_PortL4

S1_MACL2

Y

Virtual_MACL2

X

EgressSegment

X

Y

Page 25: Name Based Net Architectures

LSNAT + Source NAT

Router

LB

S1 S2 S3

src/dst

Layer Ingress

LB_V_PortS1_Portdst

LB_V_IPS1_IPdst

LB_V_MACS1_MACdst

Client_Port

Virtual_Portdst

Client_IPVirtual_IPdst

dst Router_MAC

Virtual_MAC

LB_V_Port

LB_V_IP

LB_V_MAC

Client_Port

Client_IP

Router_MAC

S1_IPsrcL3

src

src

src

src

src

Virtual_IPL3

S1_PortL4

Virtual_PortL4

S1_MACL2

Y

Virtual_MACL2

X

EgressSegment

X

Y

Page 26: Name Based Net Architectures

DSR

Router

LB

S1 S2 S3Virtual_Po

rt

Client_Port

Virtual_IPClient_IPS1_MAC

Virtual_MAC

2

Client_Port

Virtual_Port

Client_IPVirtual_IP

Router_MAC

S1_MAC

3src/dst

Layer 1

Virtual_Portdst

Virtual_IPdst

dst Virtual_MAC

Client_Port

Client_IP

Router_MAC

src

src

src

L3

L4

L21

23

Page 27: Name Based Net Architectures

Tunneling

Router

LB

S1 S2 S3

Int: V_IP

Int: C_IP

V_PortC_Port

Ext: S1_IP

Ext: LB_IP

S1_MACLB_MAC

2

C_PortV_PortC_IPV_IP

R_MAC

S1_MAC

3src/dst

Layer 1

V_Portdst

V_IPdst

dst V_MAC

C_Port

C_IP

R_MAC

src

src

src

L3

L4

L21

23

Page 28: Name Based Net Architectures

3. GSLB

DNS Based HRI TDF Latest Trends

Page 29: Name Based Net Architectures

3.1 DNS Based

GSLB = Name VS (DNS+) Smart DNS

Load and availability awareness Load Report Protocol (LRP)

Proximity and congestion awareness Proximity Report Protocol (PRP)

LB DNS Functionality DNS Server DNS Proxy

Caching DNS Traffic Intercept

Page 30: Name Based Net Architectures

LPRP Transp

ort UDP TCP HTTP

Operation Periodic

Updates Periodic

Requests Triggered

Updates

IDC1

LB

IDC2

LB

IDC3

LB

Page 31: Name Based Net Architectures

PRP

RTT Effective bandwidth Number of hops Number of AS hops IGP metric

Proximity to the client LDNS, not to the client

Page 32: Name Based Net Architectures

LRP

VS Health Up Down Backup only

VS Load Number of sessions Response Time

LB Load Number of sessions Capacity threshold CPU

RS/Content Load Network Load

bps pps

QoS Security

Page 33: Name Based Net Architectures

How it works

IDC1

IDC2

LB

IDC3

LB

CustomerLDNS

ADNS

Client

RDNS

1

2 3

455

6

6

6

Page 34: Name Based Net Architectures

How it works

IDC1

IDC2

LB

IDC3

LB

CustomerLDNS

ADNS

Client

RDNS

7

7

810

119

Page 35: Name Based Net Architectures

Analysis

Pros Accurate load info Accurate proximity

info Perfect solution… in

some cases and if certain conditions are met

Cons DNS – wrong target Proximity between

client and its LDNS Caching

LB LDNS Application

Complexity Hard to find optimal

values for various timers (TTL, cache timeouts, etc.) and prefix lengths

Page 36: Name Based Net Architectures

3.2 HRI

GSLB = Routing+ To what?

BGP IGP

By what? RS Router LB

Page 37: Name Based Net Architectures

To what

IGP? BGP

Route filtering (both ways) No ECMP

Client

IDC1

IDC2

Router

Page 38: Name Based Net Architectures

By what

RS

IDC1

Router

RS

BGP

IDC2

Router

RS

BGP

Page 39: Name Based Net Architectures

By what

Router

IDC1

Router

RS

IDC2

Router

RS RS

LB

Page 40: Name Based Net Architectures

By what

LB

IDC2

Router

RS RS

LB

IDC1

Router

RS RS

LB

BGP BGP

Page 41: Name Based Net Architectures

Analysis

Pros Simplicity No new protocols

are needed Proximity is handled

by routing Load handling?

Cons Single backbone*

Its own Single ISP

Too many routes Less accurate load

and proximity info Only local load Optimal routing?

Route flapping*

Page 42: Name Based Net Architectures

3.3 TDF

GSLB = X + TDF NAT Based Tunneling

Client

IDC1, “wrong”

IDC2,“right”

Page 43: Name Based Net Architectures

Why “wrong” IDC?

Failure of, disabled or non-implemented LPRP

Cached DNS records Other retardation effects (LPRP, BGP)

Page 44: Name Based Net Architectures

NAT Based

Client

IDC1, “wrong”

V1.1; V1.2

IDC2,“right”

3

21

1

V1.1

CCV2.

2dst

V1.1Csr

cL3

32

V2.1; V2.2

Page 45: Name Based Net Architectures

“Remote Servers”

Client

IDC1, “wrong”

V1.1

IDC2,“right”

21

C

V1.1

41

V1.1

CV1.1

V2.1

dst

V2.1

V1.1

srcL

3

32

V2.1

3

4

Page 46: Name Based Net Architectures

Tunneling

Next section

Page 47: Name Based Net Architectures

Analysis

Pros Fixes errors

optimally

Cons ip verify reverse-path

Client

IDC1, “wrong”

IDC2,“right”

Router

Router

Page 48: Name Based Net Architectures

Analysis

Pros Fixes errors

optimally

Cons ip verify reverse-path

Client

IDC1, “wrong”

IDC2,“right”

Router

Router

Page 49: Name Based Net Architectures

3.4 Latest Trends, Radicalism

Internet infiltration

Going to the client edge

Going to the client Modifying the client

LB presence in strategic locations (HydraGPS, Speedera)

LDNS modifications (Speedera)

Application modifications (SRV RRs)

Page 50: Name Based Net Architectures

Internet Infiltrations

IDC2

LB

IDC1

LB

Customer

LB

LB

LB

ClientLB

LB

LB

Page 51: Name Based Net Architectures

Internet Infiltrations

IDC2

LB

IDC1

LB

Customer

LB

LB

LB

Client

LB

LB

Page 52: Name Based Net Architectures

LDNS modifications in CDNs

IDC2

LB

IDC1

LB

CustomerLDNSClient

ASP Backbone

Page 53: Name Based Net Architectures

4. Virtual Block Injection (VBI)

Inject not VS host routes, but blocks of GSLB’ed VSs IDC (LB) failures are handled by the routing protocol

Use tunneling TDF in case of individual VS failure

Page 54: Name Based Net Architectures

How it works

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

Page 55: Name Based Net Architectures

How it works

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3

Client

Page 56: Name Based Net Architectures

How it works

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

Page 57: Name Based Net Architectures

Testing

Needed LB BGP Tunnels

Linux Linux Virtual Server

(LVS,Wensong Zhang,Julian Anastasov)

Zebra Tunnels

Page 58: Name Based Net Architectures

Test Network

Page 59: Name Based Net Architectures

Analysis

Pros All of HRI, plus No host route injection Working TDF Perfect VS health

handling VS load LRP Obvious simplifications

in more “ideal” cases

Cons LB load stop

advertisement? BGP – proximity tool? Discontinuous AS?

Route flapping!

Page 60: Name Based Net Architectures

Route Flapping

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

RouterUDPTCP

Page 61: Name Based Net Architectures

Solution for UDPSession table entry exchange for long sessions

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

Router

Page 62: Name Based Net Architectures

Solution for UDPSession table entry exchange for long sessions

ISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

Router

Page 63: Name Based Net Architectures

Solution for TCPIf LB receives

packet Destined to a VS No SYN No session table

entry Not via the

tunnelsForward via all

the tunnelsISP1 ISP2

IDC1, R1/20 IDC2, R2/20

AS1 AS2

V/20, AS3V/20, AS3

Client

Router

Page 64: Name Based Net Architectures

5. Applicability Considerations

GSLB of Small number of VSs (or RSs)

by an ISP* by its customer

Big number of VSs (between IDCs) CASP = ISP CASP ≠ ISP

CASP has its own backbone CASP does not have control over customer access CASP has control over customer access**

CASP does not have its own backbone CASP is multihomed to the same ISP CASP is multihomed to different ISPs*

Page 65: Name Based Net Architectures

6. Conclusions

No ideal GSLB method For some “ideal” network scenarios,

there are some “ideal” solutions For realistic network scenarios, there

are rapidly improving realistic solutions Good competition Lack of comparative testing in the

production-like environment

Page 67: Name Based Net Architectures

IPNL: A NAT-Extended Internet Architecture

Paul Francis Tahoe Network

Remakrishna Gummadi UC Berkeley

Page 68: Name Based Net Architectures

About title

Suitable IASuitable IA Improving IPv4’s

scalability size

Keeping its property Long-lived

addresses,Robustness-statelessness, Address independence, Packet hijacking resistance

Extension of NATExtension of NAT Modify only hosts

and NAT boxes

Page 69: Name Based Net Architectures

Answer Question

Some extension of NAT

Suitable Internet Architecture

?

Page 70: Name Based Net Architectures

Outline

IPNL basics Key attributes of IPNL Review question Other works Comparison with IPv6 Discussion

Page 71: Name Based Net Architectures

Basic(0)--NAT

Network address translation Advantages

Connect private network Isolate private network

Disadvantages Unaddressable hosts

Page 72: Name Based Net Architectures

Basics(1)--concepts

TopologyTopology TerminologiesTerminologiesFQDN, MRIP, RN, EHIP

AddressesAddresses FQDN, IPNL address

Local IP, Global IP(composed of MRIP, RN, EHIP)

IPNL Header next…IPNL Header next…

internal nl-router

Global

private private

frontdoor private

EHIPRNMRIP

Page 73: Name Based Net Architectures

Terms

FQDN

Realm Number

Middle Realm End Host ID/IP

Fully qualified Domain Name - DNS

New thing (AS)?

Realm based IP? Now Real specific

(like non routeable Ips)

Page 74: Name Based Net Architectures

Basics(2)--routing

Optional FQDN header

(variable)

Optional global header

(16)

Local header(24)

IPNL Header

Page 75: Name Based Net Architectures

Basic(2)--routing

Knowledge of IPNL host & routers

HOST:HOST:

(1)FQDN & EHIP

(2)one or more

nl-routers

Internal nl-router:Internal nl-router:

(1)its neighbors

(2)FQDN, IP pair list

(3)Routing information

Frontdoor:Frontdoor:

Entry for all realms behind it

Page 76: Name Based Net Architectures

Example1: Routing by FQDN

Page 77: Name Based Net Architectures

Example2: Routing by IPNL addresses

DestAddress: M3:R6:H3

Page 78: Name Based Net Architectures

Key attributes of IPNL Reuse existing infrastructure Utilize FQDN Extend IP address space

Isolate site addressing Separate local and global header Realm number independence In-flight IPNL address resolution Location

MRIP RN EHIP

Page 79: Name Based Net Architectures

Experiment

Testbed “netperf” benchmark

Result Good! No degradation of throughput at

all Latency associated with failure

connection depends on routes refresh frequency

Page 80: Name Based Net Architectures

Testbed

Page 81: Name Based Net Architectures

Review question

Maintain characteristics of IPv4 Long-lived addresses Robustness Address independence Packet hijacking resistance

Solve Scalability Address depletion

Page 82: Name Based Net Architectures
Page 83: Name Based Net Architectures

Other works

AVES “A waypoint service approach to connect

heterogeneous internet address space” by Eugene Ng, Ion Stoica, Hui Zhang (CMU)

TRIAD By D.R. Cheriton, M. Gritter(stanford)

IPv6

Page 84: Name Based Net Architectures

Comparisons with IPv6

IPNL IPNL Completely isolate

sites Less expensive Simpler transition Easier security

administration

IPv6pureIPv6pure Less Header

rewriting Simpler auto-

address configuration Advantages disappear in

IPv6on4 env

Page 85: Name Based Net Architectures

Discussions

EHIP 4 Byte? Too long header? Complexity analysis of IPNL?

Routing algorithm Experiment convincing? Does IPNL have a bright future? Quality of the paper?

Page 86: Name Based Net Architectures

Resource Discovery Using an Intentional Naming System

Hari Balakrishnan MIT Lab for Computer Sciencehttp://wind.lcs.mit.edu/[email protected]

With: William Adjie-Winoto, Elliot Schwartz, Jeremy Lilley, Anit Chakraborty

Page 87: Name Based Net Architectures

Application: Location-dependent wireless services

Access, control services, communicate with them

Handle mobility & group communication

Spontaneous networking

Locate other useful services (e.g., nearest café)Where?

App should be able to conveniently specify a resource and access it

Automatically obtain map of region & discover devices, services and people there

Page 88: Name Based Net Architectures

Challenges

Configuration Routing Discovery Adaptation Security & privacy

Dynamic, mobile environment with no pre-configured support for internetworking or service location

Page 89: Name Based Net Architectures

Today

Routers

DNSHostname

Address

Mostly static topology & services

Deploying new services cumbersome

Applications cannot learn about network

Failures are common! High management cost

Servers

Clients

Page 90: Name Based Net Architectures

Ad hoc configuration Static configuration impossible DHCP-like configuration undesirable

Over wireless, pre-configured subnetworks and broadcasts problematic

Solution: Distributed, randomized address assignment

addr = ar

mask = mr

addr = br

mask = mr

[ar:mr]

addr = cr

mask = n

Coalesce?Route?

Page 91: Name Based Net Architectures

Resource discovery Why is this hard?

Dynamic environment (mobility, performance changes, etc.)

No pre-configured support, no centralized servers

Must be easy to deploy (“ZERO” manual configuration)

Heterogeneous services & devices Approach: a new naming system &

resolution architecture

Page 92: Name Based Net Architectures

Design goals

Responsiveness Name resolvers must track rapid changes

Robustness System must overcome resolver and service failure

Easy configuration

Name resolvers must self-configure

Names must be descriptive, signifying application intent

Expressiveness

Page 93: Name Based Net Architectures

Intentional Naming System (INS) principles

Names are intentional, based on attributes Apps know WHAT they want, not WHERE

INS integrates resolution and forwarding Late binding of names to nodes

INS resolvers replicate and cooperate Soft-state name exchange protocol with periodic

refreshes INS resolvers self-configure

Form an application-level overlay network

Page 94: Name Based Net Architectures

INS architecture overview

[building = ne-43[room = 510]]

[entity = camera]

Intentional name

Intentional Name Resolvers (INR) form a distributed overlay

Integrate resolution and message routing

image

Lookup

camera510.lcs.mit.edu

INR self-configuration

Page 95: Name Based Net Architectures

How does it work?

INRINR

DSRDSR

Application-leveloverlay networkformed based on

performance

Inter-domaininformation viaDSR protocol

Exchange namesas if they were routes

Virtual space partitionsDomain Space Resolvers

Scaling?

Page 96: Name Based Net Architectures

INS service model

INRINR

Self-configuring app-leveloverlay network

formed based on performance

Soft-state namedissemination

applicationapplication

Early bindingEarly binding

Late bindingLate binding queryqueryset of namesset of names

IntentionalanycastIntentional

multicast

Application-level routing using intentional names

Page 97: Name Based Net Architectures

[vspace = thermometer][building = ne-43

[room = *]][temperature < 620F]

data

[vspace = netgroup][department = arch-lab [state = oregon [city = hillsboro]]][rank = admin]

data

What’s in a name?

Names are queries Attribute-value matches Range queries Wildcard matches

[vspace = camera][building = ne-43

[room = 504]][resolution=800x600]][access = public][status = ready]

Names are descriptive Providers announce names

Expressive name language (like XML) Resolver architecture decoupled from language

Page 98: Name Based Net Architectures

Responsiveness: Late binding Mapping from name to location(s) can

change rapidly Integrate resolution and message

routing to track change INR resolves name by lookup-and-

forward, not by returning address lookup(name) is a route Forward along route

A name can map to one location (“anycast”) or to many (“multicast”)

Page 99: Name Based Net Architectures

Late binding services Intentional anycast

INR picks one of several possible locations Choice based on service-controlled metric

[contrast with IP anycast] Overlay used to exchange name-routes

Intentional multicast INR picks all overlay neighbors that “express

interest” in name Message flows along spanning tree Overlay used to transfer data too

Page 100: Name Based Net Architectures

Robustness: Names as soft-state Resolution via network of replicated

resolvers Names are weakly consistent, like network-

layer routes Routing protocol to exchange names

Fate sharing with services, not INRs Name unresolved only if service absent

Soft-state with expiration is robust against service/client failure No need for explicit de-registration

Page 101: Name Based Net Architectures

Self-configuring resolvers INRs configure using a distributed

topology formation protocol DSR (DNS++) maintains list of candidate

and active INRs INR-to-INR “ping” experiments for “link

weights” Current implementation forms (evolving)

spanning tree INRs self-terminate if load is low

Page 102: Name Based Net Architectures

Efficient name lookups Data structure

Lookup AND operations among orthogonal attributes For values pick the value(s) satisfying the lookup

Polynomial-time in worst case

Page 103: Name Based Net Architectures

Scaling issues

Two potential problems Lookup overhead Routing protocol overhead

Load-balancing by spawning new INR handles lookup problem

Virtual space partitioning handles routing protocol problem Just spawning new INR is insufficient

Page 104: Name Based Net Architectures

Virtual space partitioning

vspace=camera vspace=5th-floor

Delegate this to another INR

Routing updates for each vspace

Page 105: Name Based Net Architectures

INR ImplementationOverlayManager

NetworkMonitor

RouteManager

ClientManager

Forwardervspaceneighbors

NameTreeSet

CommunicatorMobilitySockets

TCP/UDP

lookup

Intentional anycast,multicast

Incoming message

Page 106: Name Based Net Architectures

Applications Wireless Networks of Devices (WIND)

Location-dependent mobile applications Floorplan: A navigation tool Camera: An image/video service Printer: A smart print spooler TV & jukebox Network-independent “instant messaging” Location-support system for services and clients

to learn location

Page 107: Name Based Net Architectures

WIND

Page 108: Name Based Net Architectures
Page 109: Name Based Net Architectures
Page 110: Name Based Net Architectures
Page 111: Name Based Net Architectures
Page 112: Name Based Net Architectures
Page 113: Name Based Net Architectures
Page 114: Name Based Net Architectures
Page 115: Name Based Net Architectures
Page 116: Name Based Net Architectures

Status & performance Java implementation of INS & applications PC-based resolver performance

1 resolver: several thousand names @100-1000 lookups/s Discovery time linear in hops

Scalability Virtual space partitions for load-shedding Wide-area design in progress

Deployment Hook in wide-area architecture to DNS Standardize virtual space names (like MIME)

Paper at SOSP 17 (http://wind.lcs.mit.edu/)

Page 117: Name Based Net Architectures

Related work Domain Name System

Differences in expressiveness and architecture Service Location Protocol

More centralized, less spontaneous Berkeley Service Discovery Service

Authentication, fixed hierarchies for wide-area Jini:

INS for self-configuring fault-tolerant discovery Universal Plug-and-Play & SSDP

XML-based descriptions; INS fits well Intentional names in other contexts

E.g., Discover query routing, DistributedDirector

Page 118: Name Based Net Architectures

Application-Level Networks

Increasing number of services that set up application-level overlay networks

Distributed Web caches Replica management systems Transcoders Multi-party communication Naming systems Net news

Page 119: Name Based Net Architectures

What Do They Have in Common?

Form an overlay over IP Nodes exchange meta-data information Nodes forward messages based on

meta-data Incorporate configuration machinery Fault/crash recovery Load balancing

Page 120: Name Based Net Architectures

Supporting Application-Level Networks General protocols for meta-data

dissemination Fault-tolerance primitives Self-configuring overlays

Bootstrap and placement Neighbor formation Load balancing

Security and privacy primitives

Page 121: Name Based Net Architectures

Future Internet Architecture

Resourcemanagement

Flexible IP routers

Traffic engineering

Congestion Manager

Scheduling,buffer mgmt

Middleware

...Cache & replica

management Self-configuringoverlays

INS

Media transcoders

Performance discovery Service

location Jini UPnPE-speak T-spaces

Decentralizedsecurity

Use each other to add value

Page 122: Name Based Net Architectures

Conclusion Achieving self-organizing networks requires a flexible

naming system for resource discovery INS works in dynamic, heterogeneous networks Expressiveness: names convey intent Responsiveness: late binding Robustness: soft-state name dissemination Configuration: Resolvers self-configure

Application-level overlay networks are a good way to build flexible, self-organizing network applications

Page 123: Name Based Net Architectures

For next week (Tuesday 27th oct)

I want each of you to read about location/identifier split proposals in the Internet community (e.g. LISP)

And come up with What do they solve What do they not solve… And email me 1 slide with that on! Which YOU will present!

And we will discuss how the desiderata (requirements) changed!