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

shisa the ipv6 mobility framework for bsd operating
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Contents

  • Objectives
  • SHISA Design Goals
  • Implementation
  • Conclusion
slide-3
SLIDE 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

slide-4
SLIDE 4

Mobile IPv6 Overview

Mobile Node moves to a foreign network

Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Move Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN)

slide-5
SLIDE 5

Mobile IPv6 Overview

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)

Binds CoA and HoA and creates bi-dir tunnel

slide-6
SLIDE 6

Mobile IPv6 Overview

Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) Communication MN - CN

Traffic goes though the tunnel

slide-7
SLIDE 7

Mobile IPv6 Overview

Mobile Node (MN) Home Agent (HA) Home Network Foreign Network Care-of Address (CoA) Home Address (HoA) Internet Correspondent Node (CN) HoA ownership confirmation CoA ownership confirmation Binding Update (HoA - CoA)

Confirms ownership

  • f HoA/CoA and

sends Binding Update

slide-8
SLIDE 8

NEMO BS Overview

Home Agent (HA) Home Network Foreign Network Move Internet Correspondent Node (CN) Communication MNN - CN Bi-directional Tunnel Home Address Mobile Network Mobile Network Care-of Address Binding Update (HoA - CoA,Mobile Network Prefix) Mobile Network Nodes (MNNs)

Registers both HoA and Mobile Network Prefix

slide-9
SLIDE 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
slide-10
SLIDE 10

Implementation

  • Supported Features
  • System Configuration
  • Program Organization, Node

Configuration and Module Diagram

  • Message Passing System
  • Movement Detector
  • Extensions
slide-11
SLIDE 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
slide-12
SLIDE 12

Program Organization

mnd Mobile Host Functions had Home Agent Functions (for both Mobile IPv6 and NEMO BS) cnd Route Optimization Function babymdd A simple movement detector mrd Mobile Router Functions nemonetd Tunnel setup for NEMO BS

  • SHISA consists of 6 programs
slide-13
SLIDE 13
  • 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)

Node Configuration

slide-14
SLIDE 14

Node Configuration

  • Required programs

Mobile Host Mobile Router Home Agent

Correspondent Node

mnd

mrd

babymdd

√ √

had

nemonetd

√ √

cnd

√ √ √

Required for CN functions Required for NEMO functions

slide-15
SLIDE 15

Module Diagram

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

slide-16
SLIDE 16

Module Diagram

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

Added modules Modified modules

slide-17
SLIDE 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
slide-18
SLIDE 18

Virtual Interfaces

Mobile Host mip0 wi0 ed0 Physical Addresses (CoAs) are assigned here Home Address is assigned here Mobile Router mip0 wi0 ed0 Physical Addresses (CoAs) are assigned here Home Address is assigned here nemo0 Unnumbered tunnel to the Home Agent via the current CoA

  • 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
slide-19
SLIDE 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

slide-20
SLIDE 20

Message Passing

  • The benefit of Mobility Socket
  • Simple and Extensible interface using

legacy socket interface

  • Common and easy to use in BSD
  • perating systems (and probably in other

OSes too)

slide-21
SLIDE 21

Message Passing

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

Currently defined messages

slide-22
SLIDE 22

Message Passing Ex. 1

  • Creating a Binding Update List entry

kernel babymdd mnd Detect movement MD_INFO message with a new CoA BUL_ADD message BUL entry creation BU / BA exchange with Home Agent

slide-23
SLIDE 23

Message Passing Ex. 2

  • Creating a BUL entry in the NEMO BS case

kernel babymdd mrd Detect Movement MD_INFO message with a new CoA BUL_ADD message BUL entry creation BU / BA exchange with Home Agent nemonetd NEMO tunnel setup BUL_ADD message

slide-24
SLIDE 24

Message Passing Ex. 3

  • Notification from the kernel

kernel mnd Receive tunneled packet RR_HINT message with the CN's address Perform the RR procedure BU (/ BA) exchange with the CN BUL_ADD message BUL entry creation

slide-25
SLIDE 25

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

slide-26
SLIDE 26

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

detect movement

slide-27
SLIDE 27

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

BU/BA exchange

slide-28
SLIDE 28

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

slide-29
SLIDE 29

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

BUL creation

slide-30
SLIDE 30

Message Passing

babymdd mnd had nemonetd mrd cnd

Binding Management Module Mobility Socket Routing Socket Address Management Module Neighbor Discovery Module Forwarding Module Binding Update Database Binding Cache Database Routing Management Module Routing Table

user space kernel space

tunnel creation

slide-31
SLIDE 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
  • n the requirements of service providers
slide-32
SLIDE 32

Extensions

  • Multiple Care-of Addresses Registration
  • based on draft-wakikawa-mobileip-

multiplecoa-04

  • Assign a unique identifier to each NEMO

tunnel and use multiple NEMO tunnel I/Fs

  • IPv4 Network Prefix Registration
  • based on draft-shima-nemo-v4prefix-01
  • Implemented by extending nemonetd

program

slide-33
SLIDE 33

Conclusion

  • Designed the mobility stack as to provide the following

characteristics

  • Signal/Data processing separation
  • Flexible network adapter usage using virtual I/Fs
  • Adaptive movement detection mechanism
  • Extensible system design
  • Small kernel modification
  • Implemented the stack to satisfy the above requirements
  • The code is freely available from the KAME project
  • Future plans
  • Be compliant with the IPv6 Forum Logo program
  • More advanced features, e.g. DSMIPv6, HA-HA