FIRE: Flexible Intra-AS Routing Environment

Download Report

Transcript FIRE: Flexible Intra-AS Routing Environment

Reconsidering
Internet Mobility
Alex C. Snoeren,
Hari Balakrishnan, M. Frans Kaashoek
MIT Laboratory for Computer Science
A Model of Mobility
• Hosts change attachment point
 Move from home, to office, to …
 Use multiple physical technologies
• Mobility events are rare
 When compared with packet RTTs
• Long Running Applications
 SSH Tunnels
 Streaming apps
Services Required
• Locate the mobile host or service
• Preserve communication
 Support changes in network attachment
• Expect and support disconnection
 Gracefully detect lack of connectivity
 Conserve resources during disconnection
 Reconnect quickly and efficiently
Keep the application informed!
Naming is not Enough
• Naming can abstract location details
 E.g., Mobile IP uses “home IP address”
 But specifies both timing and granularity
• Mobility is more than a naming problem
 Apps need different semantics (IP, DNS)
 Handle resolution failures (disconnection)
 Lookup granularity is application specific
Don’t prescribe a naming scheme!
The Problem with Proxies
 Proxies provide transparency
 Applications oblivious to changes
 Must highly engineer and place well
 End host support more flexible
 Can integrate with other resources
 Simplifies trust model
 Can be equally transparent
WAP Proxy
Migrate Architecture
Location Query
(DNS Lookup)
Location Update
(DNS Update)
Naming Service
(Dynamic DNS)
Session Initiation
Session Migration
Correspondent
Host
Mobile Host
foo.bar.edu
xxx.xxx.xxx.xxx
yyy.yyy.yyy.yyy
Positioning Mobility Services
Generality
User space
Application
Session Layer
Kernel
Transport Protocol
Network Layer
Link Layer
Transparency
Migrate Approach
• Provide services in a Session Layer
 Applications define what a “session” is:
• A single RPC-like packet exchange
• A bundle of semantically-related streams
• Or any combination in between
• Manage sessions as a group
• Resources can be associated with network
activity, and allocated accordingly
• Support is strictly optional
Session Layer Services
• Provide robust communication across
changes of end-point addresses
 Resynchronize transport protocols
• Detect and handle disconnectivity
 Buffer, discard, or distill connections
• Manage related system resources
 Memory, timers, files, devices
• Marshall and store session state
A Conference Session
User space
Kernel
vat
Application
Resources
Session Layer
vic
Distill
Discard
wb
Buffer
System Resources
Migrate Framework
Session Creation
Connectivity
Monitor
Application
Session Layer
Session Callbacks
Policy
Engine
Transport Protocol
Connectivity Updates
Network Layer
Link Layer
Policy Decisions
Robust Communication
• Handle disconnection
 Block or buffer sockets
of reliable connections
 Proactively discard
unreliable datagrams
Application
Session Layer
• Restart transport layers?
 Rebind network endpoints
 Replay buffered data
TCP
TCP
Disconnection and Hibernation
• Monitor network connectivity
 Exploit transport/network layer signals
 Support application hints
 Interface with network monitoring agents
• Support application-dependent behavior
 Default handlers can spool to disk
 Virtualize remote services
 Invoke application-specific handlers
Resource Management
• Notify application to hibernate
 Blocked apps can be swapped out
 Shared files and devices can be released
• System resources can be reallocated
 Similar to Resource Containers
 Timers, locks, semaphores released
 Buffer space drained/paged
State Management
• Enable state migration
 Associate application and system state
 Transfer from kernel to app, host to host
• Context management
 State may depend on path characteristics
 Support transcoding, different transport
protocol, etc.
Summary
• Mobility services are session oriented
 Often several related network activities
• Naming neither necessary nor sufficient
 Applications have different needs
• Resource management is key
 Especially with large numbers of
hibernated sessions
• Sessions enable state management