Mobile IPv6 Presentation

advertisement
Elmic
Systems
Your Partner in Internet
Connectivity, Security
and Mobility
The Source for Connectivity,
Security & Mobility
Mobile IPv6 Scenarios

Network “push”: accept incoming VoIP packetswitched phone calls on your global scope IPv6
(unchanging) home address, regardless of
where you are physically attached to the
network

Roaming between different L2 technologies:
seamlessly switch between different network
interfaces (I.e. move from 3G wireless or GPRS
to 802.11b) while preserving your application
connectivity
The Source for Connectivity,
2
Security & Mobility
Roaming without Mobile IP

Without Mobile IP, devices must tear down and set up
connections as they move from location to location
IP address A
Internet
IP address B
The Source for Connectivity,
3
Security & Mobility
Roaming with Mobile IP

Mobile IPv6 allows an IPv6 host to leave its home subnet,
while transparently maintaining all its connections and
remaining reachable to the rest of the Internet
IP address A
Internet
IP address A &
IP address B
The Source for Connectivity,
4
Security & Mobility
How it works

Mobile IPv6 identifies each node by its
unchanging global home address, regardless of
its current point of attachment to the Internet

While a mobile node is away from home it sends
information about its current location (I.e.
primary care-of address) to a home agent on its
home link

The home agent intercepts packets addressed
to the mobile node’s home address and tunnels
them to the mobile node’s current location (I.e.
primary care-of address)
The Source for Connectivity,
5
Security & Mobility
Mobile IPv6
Triangular Routing
Home
Network
Home Agent
HA
The mobile node’s home
address is associated with
IPv6
the home agent
Network
Correspondent Node
That is communicating with
the mobile node
Visited
Network
Mobile Node
With a care-of address
The Source for Connectivity,
6
Security & Mobility
Mobile IPv6
Route Optimization
Home
Network
Home Agent
HA
The mobile node’s home
IPv6
address is associated with
Network
the home agent
Correspondent Node
That is communicating with
the mobile node
Visited
Network
Mobile Node
With a care-of address
The Source for Connectivity,
7
Security & Mobility
Elmic Mobile IPv6
 Mobile Node & Correspondent Node compliant with latest IETF
drafts:
• draft-ietf-mobileip-ipv6-22.txt
• draft-ietf-mobileip-mipv6-ha-ipsec-05.txt
 At least an order of magnitude smaller than embedded Linux
 Route optimization can be excluded at compile-time, further
reducing code size; can also disable per application socket
 MN Binding Update List and CN Binding Cache are fully
integrated with existing Voyager TCP/IP performance
optimizations
 Includes Wi-Fi example device driver (Intersil PRISM 2.5)
The Source for Connectivity,
8
Security & Mobility
Elmic Correspondent Node
 Fully compliant with TAHI test suite
 Supports sending Binding Refresh Request message
 Compile-time macro limits size of Binding Cache
 Optimized nonce and Kcn management
 Optimized Binding Cache maintenance
 Binding Update replay attack prevention
The Source for Connectivity,
9
Security & Mobility
Elmic Mobile Node
 Fully integrated with Elmic’s IPsec/IKE
 Which is not a BITS implementation, rather it is tightly integrated with
Voyager TCP/IP for optimal performance
 Home addresses are configured by user application on
special virtual home interface
 Keeps them separate from care-of addresses, with regard to source
address selection & packet routing
 Supports Mobile Prefix Solicitation/Advertisement
messages
 Supports Dynamic Home Agent Address Discovery
 Implements MIPv6 Generic Movement Detection with
support for L2 triggers
 Optional support for Eager Cell Switching
 Supports Key Management Mobility Capability (K) bit in
Binding Update and Binding Acknowledgement messages
The Source for Connectivity,
10
Security & Mobility
Mobile Node Public APIs
Powerful APIs give applications direct control over mobility:
 tf6MnGetHomeAgentAddress performs Dynamic Home Agent Address
Discovery for a home agent on home network
 tf6MnStartMobileIp is called to specify the home agent address and start
Mobile IPv6 movement detection.
 tf6MnRegisterBinding creates mobility binding between a specified careof address and a specified home address, and then initiates registration of
that binding with home agent
 tf6MnMoveNotify is called to notify the MN of L2 triggers (L2 and L3
handovers), as well as of a change of network interface (I.e. switch from
GPRS to 802.11b)
 The application can be notified of various MN events, such as status of
home registration, movement detection events, etc.
The Source for Connectivity,
11
Security & Mobility
Mobile Node State Machine
 The mobile node state machine is very complex:
 16 events, 9 states to manage CN registration (BUL entry)
 Some of the state machine design was in an earlier MIPv6 draft, but
removed in draft 18. This state machine can be found in open source
implementations of MIPv6 (such as KAME). However, it combines MN home
registration (with HA) and CN registration (for route optimization) in the same
state machine.
 We have two separate state machines for mobility bindings:
 One for managing home registration
 The other for managing CN registration (BUL entry)
 Result: an easier to understand and more robust implementation
 Don’t use separate state machine to manage Return Routability
 Instead this is part of our CN registration (BUL entry) state machine
The Source for Connectivity,
12
Security & Mobility
'Disabled' State
 Special state ‘disabled’, we transition a CN registration (BUL
entry) to when we determine a specific CN does not support
route optimization. To avoid DoS attacks, once we’ve
successfully registered binding with specific CN, we can never
enter ‘disabled’ state, so the transition to ‘disabled’ can only
occur on initial registration.
The Source for Connectivity,
13
Security & Mobility
Libero State Machine Design
 We used free state machine design tool Libero to do our MN
state machine design. It is available at:
 http://www.imatix.com/html/libero/index.htm
 Libero, an excellent design tool, supports customizable code
generation
 Implemented code generation “schema” to output state machine design
in HTML format, suitable for inclusion in our design documentation.
 Comes with schemas for C and AT&T “dot” formats to generate state
machine transition diagrams and other programming languages.
The Source for Connectivity,
14
Security & Mobility
Integration with
Wireless TCP
 RFC-2018 + FACK (Forward Acknowledgement), RFC-2414,
RFC-2481, RFC-2581, RFC-3042
 When a mobile node comes back on-link it notifies TCP of L2
handover. TCP then performs the recovery:
 TCP was sending data, and was trying to retransmit: if TCP had
gone into retransmission timeout during off-link condition, then upon coming
back on-link TCP immediately retransmits one segment of unacknowledged
data. This enables TCP to not be penalized (as much) by exponential backoff
on retransmissions. Note, when TCP (re)transmits packets while MN is offlink, these packets are not queued but instead are discarded – this avoids MN
queuing up duplicates of retransmitted packets to send once it is back on-link.
 TCP receiver (peer TCP was sending data): the peer might have
tried to send data while we were off-link, and we did not receive that data. So,
TCP upon coming back on-link sends 3 duplicate ACKs to activate remote
Fast Retransmit algorithm.
The Source for Connectivity,
15
Security & Mobility
Elmic Features and Benefits
Features
Benefits
100% RFC Compliance
Robust full-featured implementation
True Zero-copy
High performance
Written specifically for embedded
systems
Code has small footprint, low latency,
efficient memory usage
Runs with (or) without RTOS
Optimized for even small industrial
control devices not needing any RTOS
Platform and RTOS Independent
Stack performs well on any chip or
reference design
Extensive internal and external
testing of the stack
Assures a quality stack product
The Source for Connectivity,
16
Security & Mobility
Elmic Emerging Products
•
Wireless TCP
•
TTCP
•
SSL
•
Turbo-Treck
WebServer
•
Web Servers
Convergence
Devices
Turbo-Treck
SMTP and POP3
SMTP and POP3
Servers
The Source for Connectivity,
17
Security & Mobility
Elmic Product Portfolio
•
Elmic System’s TurboTreck Protocol Suites
include:
•
•
•
•
•
•
•
•
•
•
•
•
TCP/IP v4 and IPv4/v6
Dual Stack
IPSec/IKE
Mobile IPv6
802.11b Device Driver
H.323 and SIP
DHCP Client, BootP
FTP, TFTP
Telnet Server
DNS Resolver
IGMP, NAT, Auto IP
SNMPv1/v2/v3 with MIB II
MIB Compiler based on
industry-standard libsmi
Wireless Medical
communication Device
Set-top-Box
Printers
Transportation
Tracking Device
PCI
Network Storage
The Source for Connectivity,
18
Security & Mobility
In Conclusion
The Source for Connectivity,
19
Security & Mobility
Download