Transcript Title
MobilityFirst: A Robust and
Trustworthy Mobility-Centric
Architecture for the Future Internet
IEEE Lecture – IIT Kharagpur
Sept 14, 2012
D. Raychaudhuri
WINLAB, Rutgers University
Technology Centre of NJ
671 Route 1, North Brunswick,
NJ 08902, USA
[email protected]
Introduction
Introduction: NSF Future Internet
Architecture (FIA) Program
FIA program started in Oct 2010, with 4 teams funded:
XIA (led by CMU) – project aims to develop very flexible
architecture which can evolve to meet new requirements
NEBULA (led by UPenn) – project aims to design fast/managed
flows to cloud services at the core of the Internet
NDN (led by UCLA/PARC) – project aims to re-design Internet
to handle named content efficiently
MobilityFirst (led by Rutgers) – project aims to develop efficient
and scalable architecture for emerging mobility services
Scope of all these FIA projects includes architecture/design, protocol
validation and comprehensive evaluation of usability and
performance (using real-world applications in later stages)
MobilityFirst Project: Collaborating Institutions
(LEAD)
D. Raychaudhuri, M. Gruteser, W. Trappe,
R, Martin, Y. Zhang, I. Seskar,
K. Nagaraja
M. Reiter
A. Venkataramani, J. Kurose, D. Towsley
S. Bannerjee
W. Lehr
Z. Morley Mao
B. Ramamurthy
X. Yang, R. RoyChowdhury
G. Chen
Project Funded by the US National Science Foundation (NSF)
Under the Future Internet Architecture (FIA) Program, CISE
+ Also industrial R&D collaborations with AT&T Labs,
Bell Labs, NTT DoCoMo,, Toyota ITC, NEC, Ericsson and others
WINLAB
Introduction: Mobility as the key driver for
the future Internet
Historic shift from PC’s to mobile
computing and embedded devices…
~4 B cell phones vs. ~1B PC’s in 2010
Mobile data growing exponentially – Cisco white
paper predicts 3.6 Exabytes by 2014, significantly
exceeding wired Internet traffic
Sensor/IoT/V2V just starting, ~5-10B units by 2020
~2B servers/PC’s, ~10B notebooks, PDA’s, smart phones, sensors
~1B server/PC’s, ~700M smart phones
INTERNET
Wireles
s
Edge
Networ
k
INTERNET
Wireless
Edge
Network
~2010
~2020
WINLAB
Introduction: Why Are Mobile Networks
Different? – BW Variation & Disconnection
The wireless medium has inherent fluctuations in bit-rate (by
as much as 10:1 in 3G/4G access, heterogeneity and
disconnection fundamental protocol design challenge
Motivates in-network storage and hop-by-hop transport
(solutions such as CNF, DTN, ..)
Mobile devices with varying BW due to SNR variation,
Shared media access and heterogeneous technologies
Bit
Rate
(Mbps)
Disconnect
BS-1
BS-1
Wireless
Access Net #3
Disconnection
internal
INTERNET
Time
Wireless
Access
Network #2
AP-2
WINLAB
AP-2
Introduction: Why Are Mobile Networks
Different? - Multihoming, Multipath
Wired Internet devices typically have a single Ethernet interface
associated with a static network/AS
In contrast, mobile devices typically have ~2-3 radios and can
see ~5-10 distinct networks/AS’s at any given location
Basic property - multiple paths to a single destination leads
to fundamentally different routing, both
intra and inter domain!
Mobile device with multi-path reachability
BS-1
Single “virtual link” in wired Internet
Wireless
Access Net #1
BS-2
Wireless
Access Network
Wireless
Access Net #3
Access
Network
(Eithernet)
INTERNET
BS-3
INTERNET
Ethernet
NiC
Wireless
Edge
Network
AP1
Dual
Radio
NIC’s
WINLAB
Multiple
Potential
Paths
Introduction: Why Are Mobile Networks
Different? – Multicast
Many mobility services (content, context) involve multicast
The wireless medium is inherently multicast, making it possible
to reach multiple end-user devices with a single transmission
Fine-grain packet level multicast desirable at network routers
Packet-level Multicast at Routers/AP’s/BSs
Session level Multicast Overlay (e.g. PIM-SIM)
Pkt Mcast at Routers
Wireless
Access Net #11
Access
Network
(Eithernet)
INTERNET
INTERNET
RP
Wireless
Access
Net #32
Radio
Broadcast
Medium
WINLAB
Introduction: Why Are Mobile Networks
Different? – Ad Hoc & Network Mobility
Wireless devices can form ad hoc networks with or without
connectivity to the core Internet
These ad hoc networks may also be mobile and may be
capable of peering
Requires rethinking of interdomain routing, trust model, etc.
Ad Hoc Network Formation, Intermittent Connection to Wired Internet & Network Mobility
Access
Network
Access
Network
)
INTERNET
)
WINLAB
Introduction: Why Are Mobile Networks
Different? – Content & Context
Content and context aware message delivery often
associated with mobile services
“Anycast” content retrieval from nearest storage location (cache)
Context based message delivery specific by group, area, time, etc.
Service typically involves dynamic binding of content or context to a specific set
of network addresses along with multicast delivery
Context = geo-coordinates & first_responder
Send (context, data)
Context
Naming
Service
Context
GUID
Global Name
Resolution service
NA1:P7, NA1:P9, NA2,P21, ..
ba123
341x
Context-based
Multicast delivery
Mobile
Device
trajectory
WINLAB
MobilityFirst Protocol
Design
MobilityFirst Design: Architecture Features
Named devices, content,
and context
Human-readable
name
Strong authentication, privacy
11001101011100100…0011
Public Key Based
Global Identifier (GUID)
Heterogeneous
Wireless Access
Service API with
unicast, multi-homing,
mcast, anycast, content
query, etc.
Routers with Integrated
Storage & Computing
End-Point mobility
with multi-homing
In-network
content cache
Storage-aware
Intra-domain
routing
Edge-aware
Inter-domain
routing
Hop-by-hop
file transport
Connectionless Packet Switched Network
with hybrid name/address routing
Network Mobility &
Disconnected Mode
Ad-hoc p2p
mode
WINLAB
MobilityFirst Design: Technology Solution
Name Certification
Service (NCS)
Flexible name-based network service layer
Global Name
Resolution Service
(GNRS)
Hybrid GUID/NA
Global Routing
(Edge-aware, mobile,
Late binding, etc.)
Name-Based
Services
(mobility, mcast,
content, context,
M2M)
Storage-Aware
& DTN Routing
(GSTAR)
in Edge Networks
Optional
Compute Layer
Plug-Ins
Meta-level
Network Services
(cache, privacy, etc.)
Hop-by-Hop
Transport
(w/bypass option)
Core Transport
Services
Pure connectionless packet switching with in-network storage
WINLAB
MobilityFirst Design: Protocol Stack
App 1
App 2
App 3
App 4
E2E TP3
E2E TP4
Socket API
Name
Certification
& Assignment
Service
NCS
E2E TP1
E2E TP2
Optional Compute
Layer
Plug-In A
Global Name
Resolution
Service
GNRS
MF Routing
Control Protocol
GUID Service Layer
GSTAR Routing
MF Inter-Domain
Hop-by-Hop Block Transfer
Link Layer 1
(802.11)
Link Layer 2
(LTE)
Narrow Waist
Link Layer 3
(Ethernet)
IP
Switching
Option
Link Layer 4
(SONET)
Link Layer 5
(etc.)
Control Plane
Data Plane
WINLAB
MobilityFirst Design: Name-Address
Separation
Separation of names (ID) from
network addresses (NA)
Globally unique name (GUID)
for network attached objects
Sue’s_mobile_2
User name, device ID, content, context,
AS name, and so on
Multiple domain-specific naming
services
Server_1234
John’s _laptop_1
Host
Naming
Service
Media File_ABC
Sensor@XYZ
Sensor
Naming
Service
Content
Naming
Service
Context
Naming
Service
Globally Unique Flat Identifier (GUID)
Global Name Resolution Service
for GUID NA mappings
Global Name Resolution Service
Network
Hybrid GUID/NA approach
Both name/address headers in PDU
“Fast path” when NA is available
GUID resolution, late binding option
Net2.local_ID
Network address
Net1.local_ID
Taxis in NB
WINLAB
MobilityFirst Design: Protocol Example –
Name Resolution at Device End-Points
Service API capabilities:
- send (GUID, options, data)
Options = anycast, mcast, time, ..
- get (content_GUID, options)
Options = nearest, all, ..
Register “John Smith22’s devices” with NCS
Name Certification
Services (NCS)
GUID assigned
GUID lookup
from directory
NA99
MobilityFirst Network
(Data Plane)
Send (GUID = 11011..011, SID=01, data)
GNRS update
(after link-layer association)
NA32
GNRS
GUID <-> NA lookup
GNRS query
Send (GUID = 11011..011, SID=01, NA99, NA32, data)
GUID = 11011..011
Represents network
object with 2 devices
DATA
GUID
SID
NAs
Packet sent out by host
WINLAB
MobilityFirst Design: Realizing the GNRS
Fast GNRS implementation based on DHT between routers
GNRS entries (GUID <-> NA) stored at Router Addr = hash(GUID)
Results in distributed in-network directory with fast access (~100 ms)
1
0.9
Cumulative Distribution Function (CDF)
0.8
0.7
K = 5,
95 th Percentile
at 91 ms
K = 1,
95 th Percentile
at 202 ms
0.6
0.5
0.4
0.3
K
K
K
K
K
0.2
0.1
0
10
20
50
100
Round Trip Query Latency in milliseconds (log scale)
Internet Scale Simulation Results
Using DIMES database
WINLAB
=
=
=
=
=
1
2
3
4
5
1,000
MobilityFirst Design: Storage-Aware Routing
(GSTAR)
Storage aware (CNF, generalized DTN) routing exploits in-network
storage to deal with varying link quality and disconnection
Routing algorithm adapts seamlessly adapts from switching (good
path) to store-and-forward (poor link BW/short disconnection) to
DTN (longer disconnections)
Storage has benefits for wired networks as well..
Temporary
Storage at
Router
Initial Routing Path
Low BW
cellular link
Re-routed path
For delivery
Mobile
Device
trajectory
PDU
Storage
Router
High BW
WiFi link
Sample CNF routing result
WINLAB
MobilityFirst Design: Segmented Transport
Segment-by-segment transport between routers with storage,
in contrast to end-to-end TCP used today
Unit of transport (PDU) is a content file or max size fragment
Hop TP provides improved throughput for time-varying
wireless links, and also helps deal with disconnections
Also supports content caching, location services, etc.
PDU
Segmented (Hop-by-Hop TP)
Hop #3
Hop #1
BS
Hop #2
Hop #4
Temporarily
Stored PDU
Low BW
cellular link
Storage
Router
Optical
Router
(no storage)
Hop-by-Hop
Transport
GID/Service Hdr
Mux Hdr
More details of
TP layer fragments
with addl mux header
Data
Frag 1
Net Address Hdr
Data
Frag 2
……
Data
Frag n
WINLAB
MobilityFirst Design: MF Router Operation
Example of Functions at Branching Router for a Multicast Packet to be delivered to NA99 and NA32
GUID –based forwarding
(slow path)
GUID-Address Mapping – virtual DHT table
Look up GUID-NA table when:
- no NAs in pkt header
- encapsulated GUID
- delivery failure or expired NA entry
GUID
NA
11001..11
NA99,32
DATA
To NA11
Router
Storage
DATA
GUID=
11001…11
SID
NA99,NA32
To NA51
Store when:
- Poor short-term path quality
- Delivery failure, no NA entry
- GNRS query failure
- Content cache decision
- etc.
NA Routing Table – stored physically at router
Look up NA-next hop table when:
- pkt header includes NAs
- valid NA to next hop entry
Dest NA
Next Hop
NA99
NA11
NA62
NA11
NA32
NA51
DATA
Network Address Based Forwarding
(fast path)
WINLAB
MobilityFirst Design: Interdomain Routing
Requirements include: edge awareness, flexible network boundaries,
dynamic AS formation, virtual nets, network mobility, DTN mode, path
selection, multipath, multi-homing, etc.
Motivates rethinking of today’s 2-tier IP/BGP architecture (inter-AS,
intranet)
MobilityFirst interdomain approach uses GNRS service + enhanced
global routing protocol (path vector, telescopic flooding) to achieve
design goals – still evaluating multiple design options….
Core Net 17
Core Net 23
Access Net 500
Access Net 200
Mobile
Net 1
Mobile
Net 2
Path Vector+
Path Vector+ Routing protocol
Routing Plane Provides reachability
& path info between
networks
GNRS provides
Global GNRS Net name <-> addr
mapping
directory
WINLAB
MobilityFirst Design: Protocol Example Dual Homing Service
Multihoming service example
DATA
DATA
Router bifurcates PDU to NA99 & NA32
(no GUID resolution needed)
GUID
NetAddr= NA99
NA99
Data Plane
NA32
DATA
DATA
GUID
NetAddr= NA32
SID
GUID=
11001…11
NA99,NA32
DATA
GUID SID
Send data file to “John Smith22’s
laptop”, SID= 129 (multihoming –
all interfaces)
WINLAB
MobilityFirst Design: Protocol Example Handling Disconnection
Store-and-forward mobility service example
DATA
GUID
NA99 rebind to NA75
Delivery failure at NA99 due to device mobility
Router stores & periodically checks GNRS binding
Deliver to new network NA75 when GNRS updates
NA99
Disconnection
interval
Data Plane
Device
mobility
NA75
DATA
DATA
GUID
NA75
GUID
SID
NA99
DATA
GUID SID
Send data file to “John Smith22’s
laptop”, SID= 11 (unicast, mobile
delivery)
WINLAB
MobilityFirst Design: Computing Layer
Programmable computing layer provides
service flexibility and evolution/growth path
Routers include a virtual computing layer to support new network services
Packets carry service tags and are directed to optional services where applicable
Programming API for service creation provided as integral part of architecture
Computing load can be reasonable with per-file (PDU) operations (vs. per packet)
MF Compute Layer
with service plug-ins
Plug-in
Module
MF Compute
MF Compute
Plug-in
Module
Enhanced Service
Provider Interface
WINLAB
MobilityFirst Design: Protocol Example –
Enhanced CDN Service
Enhanced service example – content delivery with in-network storage
MF Compute Layer
with Content Cache
Service plug-in
GUID=13247..99
Content cache at mobile
Operator’s network – NA99
NA43
NA31
GUID=13247..99
Filter on
SID=128
GUID=13247..99
NA99
GNRS query
Returns list:
NA99,31,22,43
NA29
GNRS
Query
GUID=13247..99
Content file
NA22
Content Owner’s
Server
Data fetch from
NA99
Mobile’s GUID
Data fetch from
NA43
Get (content_GUID,
SID=128 - cache service)
Get (content_GUID)
Query
User mobility
GUID=13247..99 SID=128 (enhanced service)
WINLAB
MobilityFirst Protocol
Prototyping & Validation
MobilityFirst Prototyping: Phased Strategy
Phase 2
Phase 1
Content
Addressi
ng Stack
Context
Addressi
ng Stack
Phase 3
Host/Device
Addressing
Stack
Encoding/Certifying Layer
Global Name Resolution Service (GNRS)
Storage Aware
Routing
Locator-X Routing
(e.g., GUID-based)
Context-Aware /
Late-bind Routing
Prototype
Standalone Modules
Integrated MF Protocol Stack and Services
Evaluation
Simulation and Emulation
27
Smaller Scale Testbed
Deployable s/w pkg., box
Distributed Testbed
E.g. ‘Live’ on GENI
WINLAB
MobilityFirst Prototyping: Click-based
Router Implementation
Early Dev.
Inter-Domain
User-level
Processes
R3
Locality-Aware
DNS
GSTAR
DMap – DiHT
Routing
Name
Resolution
PacketCloud
Framework
Compute
Services
Host Rx Q
Click
Packet
Block
Classifier
Aggregator
Rx Q
Service
Classifier
Mgmt.
Host Tx Q
To/From Host
Forwarding Engine
Content
Cache Service
Forwarding
Table
To Nexthop Lookup
Rsrc
Control
Block
Segmentor
Tx Q
Next-hop
Look up
Wired and wireless i/f
Wired and wireless i/f
Integrate
Hold buffer
x86 hardware and runtime
WINLAB
28
MobilityFirst Prototyping: Host Protocol Stack
‘Socket’ API
open
send
send_to
recv
recv_from
close
App-1
App-2
Linux PC/laptop with WiMAX & WiFi
App-3
Context API
Network API
Context
Services
E2E Transport
GUID Services
Network Layer
Security
Sensors
Android device with WiMAX & WiFi
Routing
User policies
Interface Manager
‘Hop’ Link Transport
Early Dev.
WiFi
Integrate
WiMAX
Device: HTC Evo 4G, Android v2.3 (rooted), NDK
(C++ dev)
WINLAB
29
MobilityFirst Prototyping: GENI Deployment
Legend
Internet 2
National Lambda Rail
OpenFlow Backbones
OpenFlow
WiMAX
ShadowNet
MobilityFirst Router &
GNRS Servers
Mobile Hosts
Static Hosts
Deployment Goals
• Large scale, multi-site
• Mobility centric
• Realistic, live
30
(ProtoGENI nodes,
OpenFlow switches, GENI Racks,
DieselNET buses, WiMAX/outdoor
ORBIT nodes)
Mapping onto GENI Infrastructure
WINLAB
MobilityFirst Prototyping: GEC-12 Demo
(Content Delivery), ~11/11
NA
Content
Publisher
Content
Subscriber
DATA
GUID=3
WiFi AP
DATA
GUID & SID
GUID=5
Bridge
GUID=1
GUID=2
WiFi AP
GUID=6
GUID=7
GUID=201
GUID=4
GUID=101
WiMAX BTS
WiMAX BTS
BBN Wireless Edge
ProtoGENI Backbone
Rutgers Wireless Edge
NLR path using VLANs 3716, 3799 (Clemson)
I2 path using VLANs 3715, 3745(BBN), 3798 (Clemson)
31
ProtoGENI host running MF Router, GNRS Server
WINLAB
MobilityFirst Prototyping: Hot Mobile 2012
Delivery Services for Multi-Homed Devices with User preference of delivery interface
32
WINLAB
MobilityFirst Prototyping: GEC-13 Demo
(Mobility, Multi-homing), ~3/12
Mobile, Multi-homed device (WiMAX + WiFi)
pg33@GeorgiaTech
pg50@Rutgers
pc1@BBN
WiFi AP
pg51@Rutgers
pc11@BBN
WiMAX BTS
GENI Mesoscale
MobilityFirst Router
hosted on Protogeni
node
Rutgers Wireless Edge
WiFi coverage
WiMAX coverage
WINLAB
33
Resources
Project website: http://mobilityfirst.winlab.rutgers.edu
GENI website: www.geni.net
ORBIT website: www.orbit-lab.org
WINLAB