35
NUTSS: An End-Middle-End Approach to Connection Establishment Saikat Guha and Paul Francis Cornell University SIGCOMM 2007 Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Embed Size (px)

Citation preview

Page 1: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: An End-Middle-EndApproach to Connection

Establishment

Saikat Guha and Paul Francis

Cornell University

SIGCOMM 2007

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 2: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

End-Middle-End: Why?

Originally, Internet supposed to provide:

1. User-friendly naming of hosts (DNS)

2. Network level identification of hosts (IPaddress) and best-effort delivery

3. Identification of application on host (port)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 3: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

End-Middle-End: Why?

Implicit assumption:

◮ Application can defend itself.Competent to look inside packet.

◮ Wrong. (DoS, software bugs, . . . )◮ Resulted in firewalls

◮ Compromised end-only control◮ Cannot identify application. Or hosts behind NAT.◮ Resort to deep-packet inspection◮ Endhost unaware

◮ Made network brittle

◮ Often legitimate connections fail!!!

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 4: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

End-Middle-End: Why?

Required additional Internet services

4. Block unwanted packets before they reachapplication

5. Explicit negotiation of middlebox usage.◮ Need not be on data path

End-Middle-End

These services, along with original three, representthe minimum requirements for the Internet.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 5: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS

NUTSS is an architecture and protocol thatinstantiates End-Middle-End

Primary Goal

Allow connection establishment that honors accesscontrol policy of all stakeholders (ends and middle).

Also, middlebox steering, host mobility, anycast,redirection, multi-homing, multicast, protocolnegotiation

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 6: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

End-Middle-End and End-To-End

◮ E2E broken by middleboxes◮ Middlebox control in the middle◮ Endpoints oblivious of middle, cannot adapt

◮ EME exposes functionality in the middle◮ Allows ends and middle to cooperate in

middlebox control◮ Explicit two-way negotiation between ends and

middle◮ firewall policy, NAT ports, protocol stack

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 7: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Names vs. Identifiers

Names or identifiers?

◮ Identifiers are scalable, efficient, can beself-certifying BUT not for the middle

◮ Middle needs (user-friendly) names for policy◮ Must be aggregatable

◮ Identifiers (HIP, i3, DONA) don’t allow for this◮ Need additional reverse name resolution

◮ Internet-wide shared namespace

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 8: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Policy

Where is policy applied?◮ On-path (on the data path)

◮ Privacy (for address-based paths1)◮ Constraining (name-resolvers on-path)◮ Intrusive (routers route by name)

◮ Off-path (separate control plane)◮ Replicate, deploy far from endpoint (DoS,

scalability)◮ But data path is address-based

1“Identity Trail: Covert Surveillance Using DNS” in PET ’07Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 9: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Big Picture

A B

C

D

E

F

◮ Address-routed path, off by default◮ Name-routed path, on by default◮ Overlay of stakeholders.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 10: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Big Picture

A B

C

D

E

F

A B

C

D

E F

◮ Address-routed path, off by default◮ Name-routed path, on by default◮ Overlay of stakeholders.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 11: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Big Picture

A B

C

D

E

F

A B

C

D

E F

◮ Address-routed path, off by default◮ Name-routed path, on by default◮ Overlay of stakeholders.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 12: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Big Picture

A B

C

D

E

F

A B

C

D

E F

◮ Address-routed path, off by default◮ Name-routed path, on by default◮ Overlay of stakeholders.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 13: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Big Picture

A B

C

D

E

F

A B

C

D

E F

◮ Address-routed path, off by default◮ Name-routed path, on by default◮ Overlay of stakeholders.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 14: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Turning on data path

A B

C

D

E

F

A B

C

D

E F

How to determine impending data path?◮ Control plane fixes path

◮ Constraining (virtual circuit)

◮ Control plane guesses path◮ Recovers from incorrect guess

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 15: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS

◮ User-friendly, long-term stable, aggregtablenames

◮ Off-path signaling◮ Name-based overlay◮ Applies policy◮ Authorization token

◮ On-path signaling (of token)◮ Verify data-path works◮ Referral back to off-path if fail

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 16: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Components

Policy-free Internet Core

(possibly empty)

Corp. Network

P-Box

M-BoxDNS

Alice

◮ P-Box/M-Box associated, possibly same device

◮ Also in-host◮ P-Box overlay (parent-child, fan-in, fan-out)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 17: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Components

Corp. Network

M-Box

P-Box

◮ P-Box/M-Box associated, possibly same device

◮ Also in-host◮ P-Box overlay (parent-child, fan-in, fan-out)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 18: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Components

Replicated P-Boxes

Corp. Network

M-Box

◮ P-Box/M-Box associated, possibly same device

◮ Also in-host◮ P-Box overlay (parent-child, fan-in, fan-out)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 19: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Name-Routing

N1Core

C

Alice

D

Bob

Endpoints register with P-Box chain in front.DNS has outermost P-Box address.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 20: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Name-Routing

N1Core

C

Alice

D

Bob

Up (config./discovery), Across (DNS),Down (registration)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 21: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Name-Routing (Tokens)

N1Core

C

Alice

D

BobC D

C D

◮ P-Box gives token 〈nonce, next-hop〉 to M-Box viaendpoint.

◮ Set of tokens. One for each P-Box/M-Box pair.

◮ Exchange effective addresses (may be of M-Box)

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 22: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Address-Routing

N1Core

C

Alice

D

BobC D

C D

Once endpoint has effective address and tokens

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 23: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

What if address and name routed paths differ

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 24: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

What if address and name routed paths differ

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 25: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

What if address and name routed paths differ

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 26: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

What if address and name routed paths differ

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 27: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

Referral from M-Box to P-Boxg

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 28: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

Resumes name-routed signaling for more tokens

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 29: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Referral

N1C

Alice

D

EBob

Resumes name-routed signaling for more tokens

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 30: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Some Use Cases

◮ Mobility◮ Register new address with P-Box overlay.

Renegotiate flows.◮ NAT Traversal

◮ Exchange hole-punched address and port overname-routing

◮ Anycast, Multicast◮ Multiple endpoints share same name◮ P-Box forwards to one (to all for multicast).◮ Address routed path negotiated (possibly

application multicast or IP multicast)◮ Protocol negotiation

◮ Endpoints advertise software stack (transport,security, network etc.)

◮ P-Box filter out unsupported stacks

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 31: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Incremental Deployment

1. Update applications to perform dual-signaling.3-rd party P-Box service.

◮ Implemented as a userspace library. Works withlegacy apps.

◮ P-Box service on nutss.net◮ NAT traversal helper M-Box on Planetlab

2. Networks deploy P-Boxes. Only weak accesscontrol (but better than firewalls today).

3. Networks deploy M-Boxes. Strong accesscontrol.

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 32: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Summary and Future Work

◮ End-Middle-End requirements, NUTSSarchitecture and protocol.

◮ Need for dual-signaling: Name-routed andaddress-routed signaling

◮ Coupling between the two can solve a broadrange of Internet problems

◮ Network ACL, mobility, multihoming, steering,protocol negotiation, . . .

◮ Pursued in the E-M-E RG in the IRTF◮ Investigate non-FQDN based naming, non-DNS

“across” routing, multipath connections, secureP-Box discovery

http://nutss.net/Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 33: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

Related Work

◮ Endpoint-only control◮ TRIAD, i3, IPNL, HIP, SHIM6

◮ Middle involved only in name resolution◮ Metanet, Plutarch, UIA, DONA, AVES

◮ Off-path only◮ SIP

◮ On-path only◮ i3, HIP, RSVP

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 34: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Optimizations

◮ Lower latency◮ Piggyback application-data in signaling messages

◮ Faster authorization◮ Use self-certifying ID’s

Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment

Page 35: NUTSS: An End-Middle-End Approach to Connection Establishment · Identifiers (HIP, ... NAT Traversal ... Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment.Published

NUTSS: Dual-Signaling

Name-routed

◮ 〈user@domain, app〉

◮ P-Boxes (overlay)

◮ Path always exists(Default on)

◮ Policy decision

−−−−→Tokens

Address-routed

◮ IP address2 and port

◮ M-Boxes (on IP path)

◮ Initially, does not exist orblocked (Default off)

◮ Policy enforcement

←−−−−−Referral

2or other address e.g. i3, HIP, etc.Saikat Guha and Paul Francis An End-Middle-End Approach to Connection Establishment