+ All Categories
Home > Documents > A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S....

A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S....

Date post: 06-Oct-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
37
T. S. Eugene Ng [email protected] Carnegie Mellon University 1 A Waypoint Service Approach to Connect Heterogeneous Internet Address Spaces T. S. Eugene Ng Hui Zhang Carnegie Mellon University Ion Stoica UC Berkeley
Transcript
Page 1: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 1

A Waypoint Service Approach to ConnectHeterogeneous Internet Address Spaces

T. S. Eugene Ng Hui ZhangCarnegie Mellon University

Ion StoicaUC Berkeley

Page 2: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 2

The Problem in a Nutshell

32-bit IP (IPv4) address space is too small

Bi-directional connectivity between hosts is lost

Internet becomes a heterogeneous network

Page 3: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 3

Outline

• Formulate the problem• Solution design goals• Proposed solution: AVES• Implementation and performance

Page 4: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 4

The Original IP (IPv4) Internet

Bob Alice

• Every host has a globally unique IP address• Bi-directional connectivity is a fundamental property

IP Internet

InitiatorResponder

ResponderInitiator

Page 5: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 5

32-Bit IP Address Space Is Too Small

• Upper bound: 31% of IP address space is covered byaggregated routing table

• Poor utilization• Increasing demand

– Always-on access (e.g., DSL, cable modem)

– Internet enabled devices (e.g., mobile phones, PDAs)

• Fear of exhaustion leads to aggressive conservation• IP addresses are increasingly difficult to obtain

Page 6: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 6

Two Trends

• Deploy networks using reusable-IP addresses– a.k.a. private-IP addresses

– IP network prefixes 10/8, 172.16/12, 192.168/16– not globally unique, not routable

– hosts and routers remain running IP

• Deploy networks using IPv6 addresses– enormous 128-bit address space

– globally unique– hosts and routers run IPv6

Page 7: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 7

Using Reusable-IP Addresses

• NAT (Network Address Translation) gateway mayhave only one IP address– shared by reusable-IP network hosts

• NAT provides reusable-IP to IP connectivity

IP InternetReusable-IP Network

NAT Gateway AliceBob

Page 8: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 8

The Problem with NAT

• Bob has no globally unique IP address and so Alicecannot directly address Bob

IP InternetReusable-IP Network

NAT Gateway AliceBob[IPAlice → IPNAT]

NAT cannot provide bi-directional connectivity

Page 9: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 9

Even Worse

• No connectivity between Alice and Bob at all!

IP InternetReusable-IP Network

NAT Gateway AliceBob

NAT Gateway

Reusable-IP Network

Page 10: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 10

Using IPv6 Addresses

• IPv6 can be fully compatible with IP• Key: every IPv6 host must consume a globally unique

IPv4 address!• In reality, many IPv6 networks will be IPv6-only

– connect to IP Internet via NAT-Protocol Translation (PT)gateway

– NAT-PT has the same problem as NAT

IP InternetIPv6 Network

NAT-PT Gateway AliceBob[IPAlice → IPNAT-PT]

Page 11: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 11

Heterogeneous Internet Address Spaces

Hosts withglobally uniqueIP addresses

Hosts withIPv6 addresses

Hosts withreusable-IPaddresses

Instance 1

Hosts withreusable-IPaddresses

Instance 2

Hosts withreusable-IPaddresses

Instance n

• NAT and NAT-PT cannotprovide bi-directionalconnectivity

• Key problems:IP to reusable-IP andIP to IPv6 connectivity– all other cases reduce to these

• For simplicity, only considerIP to reusable-IP connectivity

Page 12: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 12

Solution Design Goals

• Should provide general connectivity

Reusable-IP Network

NAT AliceBob[IPAlice → IPNAT port 23]

IP Internet

Page 13: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 13

Solution Design Goals

• Should provide general connectivity• Should be application independent

Reusable-IP Network

NAT AliceBobhttp://Bob/document.html

IP Internet

Page 14: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 14

Solution Design Goals

• Should provide general connectivity• Should be application independent• Should not require changes to existing IP hosts and

IP network routers– there is no incentive for them to make changes

IP Internet

Reusable-IP Network

NAT AliceBob

[ IPAlice → IPNAT [ IPAlice → IP’Bob ] ]

Page 15: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 15

Key Constraints

• Without IP addresses, reusable-IP hosts cannot beaddressed by IP hosts

• IP addresses are a scarce resource• Existing IP hosts and routers will not change

Key Insight:Design a 3rd-party service provider-based solution

Must efficiently share IP addresses among many reusable-IP hosts simultaneously

Page 16: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 16

Proposed Solution:AVES: Address Virtualization Enabling Service

Page 17: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 17

AVES Overview

• Service provider deploys IP agents called waypoints• Virtualize reusable-IP hosts by the waypoints• Update customer NAT gateways

F

G

A

B

Waypoints

W2

W1

W4

W3

C

D

A

B

D

E

IP InternetReusable-IP Networks

Page 18: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 18

AVES Overview (Continued)

• Each initiator has its own unique virtual map– Each initiator can connect to 4 reusable-IP hosts

simultaneously

F

G

A

B

Waypoints

W2

W1

W4

W3

C

D

B

E

C

E

IP InternetReusable-IP Networks

Page 19: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 19

Data Path Operations

AB

R

W

Step Packet sent1 [ IPA → IPW ]2 [ IPW → IPR [ IPA → IP’B ] ]3 [ IPA → IP’B ]4 [ IP’B → IPA ]5 [ IPW → IPA ]

12

3

54

B

IP InternetReusable-IP Network

Page 20: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 20

Control Path Operations

• How to dynamically create the reusable-IP host towaypoint virtual mapping for each initiator?

• Fundamentally a reusable-IP host still needs to beidentified somehow before communications

• Use a name to uniquely identify a reusable-IP host• Create waypoint mapping during name resolution

Page 21: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 21

DNS Is Not the Perfect Answer

• Want the identity of the initiator during DNS nameresolution

• Recursive DNS name lookup hides this identity

AVES-awareDNS server Alice’s local DNS server

AliceBob

Page 22: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 22

Idealistic Solutions

• Modify the DNS protocol to carry the initiator’s IPaddress in a DNS query– also useful for DNS based load balancing

• Run local caching-only name servers on end hosts– has performance benefit

• Use an alternative naming system

Page 23: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 23

What Can We Do Today?

• In some specific deployment scenarios like Intranetdeployment the right incentives exist to overcome theinitiator identity problem

• When the incentives do not exist, trade performancefor deployability

Page 24: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 24

Scenario 1 -- Intranet Deployment

• CMU can deploy AVES so that people working atschool can initiate connections back to their homecomputers behind NAT gateways

• Solution: CMU will upgrade local DNS servers tobecome AVES-aware

• Since local DNS servers interact directly withinitiators, their identities can be known

Page 25: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 25

Scenario 1 -- Intranet Deployment

AB

R

W

CMU IP Intranet

Reusable-IP Networkbob-home.aves.cmu.edu

1

2

Step Action1 DNS query for B2 SETUP message (IPA, IPR, IP’B)3 ACCEPT message4 DNS reply for B (IPW)

D1

Dn

3

4

AVES-awareDNS serversfor cmu.edu

Page 26: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 26

Scenario 2 -- General Deployment

• Cannot upgrade the local DNS servers used byinitiators

• Solution: Delayed binding– serialize requests at waypoint

– trades performance for deployability

Page 27: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 27

Delayed Binding

AB

R

W

IP Internet

Reusable-IP Networkbob-home.avesnet.net D1

Dn

AVES-awareDNS serversfor avesnet.net

[ IPA → IPW ]

Page 28: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 28

Delayed Binding Is Imperfect

• Significantly lowers the maximum rate at whichnames can be resolved– e.g. with 50 waypoint IP addresses and a wait period of 2

seconds, 25 host-to-host sessions can be created persecond

• This is what we have implemented and deployed– quite usable so far

– see our paper for full details

Page 29: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 29

Connectivity Properties

• Using N IP addresses, every IP initiator cansimultaneously reach up to N reusable-IP hosts

• Every reusable-IP host can be reached by anunlimited number of IP hosts

Page 30: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 30

Deployability Properties

• Waypoints can be easily deployed• NAT gateways need to be extended to process

packets– necessary and the right incentive exists

• No change to existing IP hosts or IP network routers• Intranet deployment

– upgrading existing local DNS servers provide bestperformance

• General deployment– with delayed binding, no existing DNS server upgrade

necessary, but performance is reduced significantly

Page 31: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 31

Implementation

• Modified named running on Linux

• Linux user-level daemon (with delayed binding)

• Linux user-level daemonAVES NAT

AVES DNS Server

AVES Waypoint

IPInput firewall filter

AVES daemon

User

Kernel

NETLINK_FIREWALLSocket Raw socket

Page 32: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 32

Performance Measurement Testbed

Initiator400 MHz Pentium II128 MB SDRAM(AVES DNS runs here)

Responder266 MHz Pentium II64 MB SDRAM

NAT Gateway866 MHz Pentium III Xeon512 MB Rambus memory

Waypoint866 MHz Pentium III Xeon512 MB Rambus memory

100baseTXEthernet Hub

All links are 100baseTX Ethernet

Page 33: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 33

Data Path Performance

05000

1000015000200002500030000350004000045000

Way

point

NAT in-

boun

dNAT

out-b

ound

Way

point

NAT in-

boun

dNAT

out-b

ound

CP

U C

ycle

s

AVES MD5

AVES protocol

Overhead

36 Bytes

1464 Bytes

Page 34: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 34

Data Path Performance

• Theoretical maximum throughput 233Mbps with 1464byte UDP packets– probably higher when overhead is amortized over a train of

packets

• End-to-end throughput experiments– 96 Mbps with 1464 byte UDP packets

– 80 Mbps with 1464 byte TCP packets

– 41 Mbps with 48 byte TCP packets

– could not get result for 48 byte UDP due to problem withIntel EtherExpress Pro driver

Page 35: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 35

Prototype System

• Registered domain name avesnet.net• 50 waypoint IP addresses assigned to two PCs• One AVES-aware DNS server• 10 trial customers• Applications tested: telnet, ssh, ftp, scp, NFS, httpd,

X windows, VNC, ping, traceroute

Page 36: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 36

Summary

• AVES can provide high connectivity from IP hosts toreusable-IP or IPv6 hosts without– consuming many IP addresses– changing existing IP hosts or IP network routers

• Can provide connectivity even when both initiator andresponder are behind NAT or NAT-PT– more sophisticated proposed solutions (IPNL, TRIAD) exist

• Optimized for deployability

Page 37: A Waypoint Service Approach to Connect Heterogeneous ...eugeneng/presentations/usenix01.pdfT. S. Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Using IPv6 Addresses •

T. S. Eugene Ng [email protected] Carnegie Mellon University 37

Summary (Continued)

• Explore different ways of using 3rd-party agents toadd functionality to the difficult to change Internetinfrastructure– many previous application level services: web caches, CDN

– AVES provides a fundamental addressing service

• http://www.avesnet.net– online demo– source code (really really soon)


Recommended