shisa the ipv6 mobility framework for bsd operating
play

SHISA: The IPv6 Mobility Framework for BSD Operating Systems IPv6 - PowerPoint PPT Presentation

SHISA: The IPv6 Mobility Framework for BSD Operating Systems IPv6 Today Workshop 2nd August 2006 @ Bucharest, Romania Keiichi Shima / Internet Initiative Japan Inc. Ryuji Wakikawa, Koshiro Mitsuya and Keisuke Uehara / Keio Univeristy


  1. SHISA: The IPv6 Mobility Framework for BSD Operating Systems IPv6 Today Workshop 2nd August 2006 @ Bucharest, Romania Keiichi Shima / Internet Initiative Japan Inc. Ryuji Wakikawa, Koshiro Mitsuya and Keisuke Uehara / Keio Univeristy Tsuyoshi Momose / NEC Corporation

  2. Contents • Objectives • SHISA Design Goals • Implementation • Conclusion

  3. Objectives • Deploy IPv6 mobility • A free working code as a reference code is important for deployment • ex1) the TCP/IP code by UCB • ex2) the KAME IPv6 code • This presentation introduces our implementation and its design

  4. Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Move Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) Mobile IPv6 Overview Mobile Node moves to a foreign network

  5. Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) Bi-directional Tunnel Binding Update (HoA - CoA) Mobile IPv6 Overview Binds CoA and HoA and creates bi-dir tunnel

  6. Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) Communication MN - CN Mobile IPv6 Overview Traffic goes though the tunnel

  7. HoA ownership (HoA - CoA) Home Agent (HA) Home Network Foreign Network Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) Mobile Node (MN) confirmation CoA ownership confirmation Binding Update Mobile IPv6 Overview Confirms ownership of HoA/CoA and sends Binding Update

  8. Tunnel Bi-directional Binding Update Care-of Address Mobile Network Mobile Network Home Address Home Agent (HA) MNN - CN Mobile Network Nodes (MNNs) Communication Correspondent Node (CN) Internet Move Foreign Network Home Network (HoA - CoA,Mobile Network Prefix) NEMO BS Overview Registers both HoA and Mobile Network Prefix

  9. SHISA Design Goals • Separation of signaling and data forwarding processing • Flexibility of network device selection • Adaptability to various movement scenarios • Extensibility • Minimum modification of the kernel

  10. Implementation • Supported Features • System Configuration • Program Organization, Node Configuration and Module Diagram • Message Passing System • Movement Detector • Extensions

  11. Supported Features • Mobile IPv6 (RFC3775 and RFC3776) functions as Mobile Host, Home Agent with Route Optimization • NEMO BS (RFC3963) functions as Mobile Router and Home Agent • Multiple Care-of Addresses Registration • IPv4 Mobile Network Prefix Registration

  12. Program Organization • SHISA consists of 6 programs mnd Mobile Host Functions Home Agent Functions (for both had Mobile IPv6 and NEMO BS) cnd Route Optimization Function babymdd A simple movement detector mrd Mobile Router Functions nemonetd Tunnel setup for NEMO BS

  13. Node Configuration • Selection of running programs decides the node type • For Mobile Host • mnd , babymdd and cnd (if RO as a CN is required) • For Home Agent • had , cnd (if RO as a CN is required) and nemonetd (if NEMO BS is required)

  14. Node Configuration • Required programs Correspondent Mobile Host Mobile Router Home Agent Node √ mnd √ mrd √ √ babymdd √ had √ √ nemonetd √ √ √ cnd Required for CN functions Required for NEMO functions

  15. Module Diagram mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database

  16. Module Diagram mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database Added modules Modified modules

  17. Virtual Interfaces • To hide the actual network interface from the mobility stack we introduced the following two virtual interfaces • Mobility Interface ( mip Interface) • Represents Home Network • NEMO tunnel Interface ( nemo Interface) • Represents NEMO bi-dir tunnel

  18. Virtual Interfaces • Mobile Host/Router just binds the logical home address and the current care-of address • No specific information of the specific network I/F is used • NEMO BS tunnel interface uses the current care-of address as its end-point address • Can have multiple nemo I/Fs when multiple CoA is supported Unnumbered tunnel to the Home Agent via the current CoA Home Address is Home Address is assigned here assigned here mip0 mip0 nemo0 Mobile Host Mobile Router wi0 ed0 wi0 ed0 Physical Addresses Physical Addresses (CoAs) are assigned (CoAs) are assigned here here

  19. Message Passing • A new communication domain socket (Mobility Socket) is designed • Similar to the Routing Socket • Mobility Socket provides 1. Kernel interface to application programs 2. Communication method between application programs

  20. Message Passing • The benefit of Mobility Socket • Simple and Extensible interface using legacy socket interface • Common and easy to use in BSD operating systems (and probably in other OSes too)

  21. Message Passing Currently defined messages NODETYPE_INFO Configure the type of node (MN, MR, HA, CN) BC_ADD Add a Binding Cache entry BC_UPDATE (same as above) BC_REMOVE Remove a Binding Cache entry BC_FLUSH Clear all Binding Cache entry BUL_ADD Add a Binding Update List entry BUL_UPDATE (same as above) BUL_REMOVE Remove a Binding Update List entry BUL_FLUSH Clear all Binding Update List entry MD_INFO Movement information HOME_HINT A hint message that a node returns home RR_HINT A hint message that a node receives a bi-directional tunneled packet BE_HINT A control message from kernel to send a Binding Error message DAD A control message to kernel to perform DAD for a specified address

  22. Message Passing Ex. 1 • Creating a Binding Update List entry kernel mnd babymdd MD_INFO Detect message movement with a new CoA BU / BA exchange with Home Agent BUL_ADD message BUL entry creation

  23. Message Passing Ex. 2 • Creating a BUL entry in the NEMO BS case kernel mrd babymdd nemonetd MD_INFO Detect message Movement with a new CoA BU / BA exchange with Home Agent BUL_ADD BUL_ADD message message BUL entry NEMO tunnel creation setup

  24. Message Passing Ex. 3 • Notification from the kernel kernel mnd Receive tunneled packet RR_HINT message with Perform the RR the CN's procedure address BU (/ BA) exchange with the CN BUL_ADD message BUL entry creation

  25. Message Passing mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database

  26. Message Passing detect movement mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database

  27. Message Passing BU/BA exchange mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database

  28. Message Passing mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database

  29. Message Passing mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database BUL creation

  30. Message Passing mnd babymdd mrd nemonetd cnd had user space Mobility Socket Routing Socket kernel space Binding Address Routing Forwarding Neighbor Management Management Management Module Discovery Module Module Module Module Binding Binding Routing Update Cache Table Database Database tunnel creation

  31. Movement Detector • SHISA only provides a simple movement detector implementation as babymdd • Just perform NUD (Neighbor Unreachability Detection) against the router that sent the prefix information of the current care-of address (CoA) • Sends MD_INFO message if the router becomes unreachable • Movement detector can be replaceable based on the requirements of service providers

Recommend


More recommend