1. MobilityFirst FIA in OpenFlow SDNs
Aravind Krishnamoorthy, Srikanth M S
Kiran Nagaraja, Ivan Seskar, Dipankar Raychaudhuri
WINLAB, Rutgers University
MobilityFirst Project supported by NSF Future Internet
Architecture (FIA) grant CNS-1040735
2. MobilityFirst Architecture Summary
Objectives
• 10B+ mobile/wireless
devices
• Mobility as a basic
service
• BW variation &
disconnection tolerance
• Ad-hoc edge networks
& network mobility
• Multihoming,
multipath, multicast
• Content & context-
aware services
• Strong security/trust
and privacy model
10/8/2013 WINLAB, Rutgers University 2
3. MF Protocol Stack: GUID as the narrow waist
10/8/2013 WINLAB, Rutgers University 3
4. Usage Scenario: Content and Service Addressing
10/8/2013 WINLAB, Rutgers University 4
NA1
NA2
NA3
GUID=XXX345
GUID=XXX345
GUID=XXX345
GUID NAs
XXX345 NA1, NA2, NA3
XXX89 NA1, NA2
……. ……
ANYCAST
GNRS Mappings
Transcoder Service
GUID=XXX89
Transcoder Service
GUID=XXX89
ANYCAST
send(GUID=XXX89, data, , SID=ANYCAST)
get(GUID=XXX345, SID=ANYCAST)
5. Key Data Plane Concepts in MobilityFirst
• Hybrid name-address based routing/forwarding
– “Virtual DHT” table for GUID-to-NA lookup as needed
– Conventional NA-to-port # forwarding table for “fast path”
• Integrated storage
– Enhanced routing algorithm for store/forward decisions
10/8/2013 WINLAB, Rutgers University 5
GUID-Address Mapping – virtual DHT table
NA Forwarding Table – stored physically at router
GUID NA
11001..11 NA99,32
Dest NA Port #, Next Hop
NA99 Port 5, NA11
GUID –based forwarding
(slow path)
Network Address Based Forwarding
(fast path)
Router
Storage
Store when:
- Poor short-term path quality
- Delivery failure, no NA entry
- GNRS query failure
- etc.
NA32 Port 7, NA51
DATA
SIDGUID=
11001…11
NA99,NA32
NA62 Port 5, NA11
To NA11
To NA51
Look up GUID-NA table when:
- no NAs in pkt header
- encapsulated GUID
- delivery failure or expired NA entry
Look up NA-next hop table when:
- pkt header includes NAs
- valid NA to next hop entry
DATA
DATA
6. MobilityFirst SDN Perspective (inter-network)
• SDN controller presents a “virtual router” view to neighbor networks
– All layer-3 protocols run at centralized controller
– Inter-network layer-3 protocols include GUID/GNRS services and edge-aware inter-
domain routing (EIR)
10/8/2013 WINLAB, Rutgers University 6
SDN Controller
Global Name Resolution Service
virtual router
Network N29
Network N72
Network N33
virtual link
7. MobilityFirst SDN Perspective (intra-network)
• Besides routing protocols, controller manages local discovery of end-points, storage,
and compute resources
• Controller also handles interaction with GNRS, registering local end-points with
network address
WINLAB, Rutgers University 7
SDN Controller
Global Name Resolution Service
virtual router
Network N72
4G/WiMA
X BTS
In-network storage
for store/forward
decisions
Local compute
cloud
MF Protocol Stack
8. Inter-Network Mobility
• GUID maps at controller handle local mobility without invoking GNRS
• Inter-network mobility handled as part of association protocol
• Seamless managed mobility possible if controllers expose management API
10/8/2013 WINLAB, Rutgers University 8
9. Openflow Implementation
10/8/2013 WINLAB, Rutgers University 9
• GUID [switch, port] maps derived from MF host-association protocols
• GUID-routing: Flow rules based upon destination GUID in L3 header
– Requires controller intervention at chunk granularity
• Store/Forward decisions taken at chunk level
• Storage and Compute similarly handled
– Packets forwarded on ports the storage or compute elements are connected on
10. Example: GUID Routing of Data Block
• First packet in chunk
transferred to controller
• Subsequent packets are
forwarded on [source
mac, vlan tag]
• Host disconnections,
link failures are handled
by controller by
directing data chunks to
storage elements for
later transmission
10/8/2013 WINLAB, Rutgers University 10
11. Initial Results
• Comparison of the data plane
operations: GUID, NA , GNRS
lookups
• Severe penalty for frequent
controller interaction
• Flows combine of different type
of data plane operations
• GNRS lookups can be cached
with optional expiry information
– Mobile devices have smaller
expiry times than servers
10/8/2013 WINLAB, Rutgers University 11
12. Openflow Experiences (and work in progress)
• Opportunity to view the network as an application platform
• Lack support for Non-IPx protocols
– How to explore new protocols? Workarounds, and excessive NE to
controller traffic
– Stymies line rate evaluations
• Work in Progress: IPv6 encapsulation of MF packets
– Key fields in network header mapped to IPv6 fields
– E.g., Destination GUID/NA mapped to Source/Destination address,
SID mapped to Traffic Class, etc.
• Work in Progress: Support for multipoint delivery protocols
incl. multicast, anycast, multihoming and multipath
10/8/2013 WINLAB, Rutgers University 12
13. Questions?
More information on MobilityFirst
http://mobilityfirst.winlab.rutgers.edu
10/8/2013 WINLAB, Rutgers University 13