Top Banner
LandMARC MIPv6 stack for Windows Greg O’Shea Microsoft Research Andrew Scott Lancaster University
18

LandMARC MIPv6 stack for Windows

Jan 20, 2016

Download

Documents

nevina

LandMARC MIPv6 stack for Windows. Greg O’Shea Microsoft Research. Andrew Scott Lancaster University. LandMARC MIPv6 stack. LandMARC: 2-yr project with Lancaster University, supporting 3 RA positions Several threads, now dominated by MIPv6 Added mobility to MSR 1.4 IPv6 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LandMARC MIPv6 stack for Windows

LandMARC MIPv6 stack for Windows

Greg O’SheaMicrosoft Research

Andrew ScottLancaster University

Page 2: LandMARC MIPv6 stack for Windows

LandMARC MIPv6 stack• LandMARC: 2-yr project with Lancaster

University, supporting 3 RA positions

• Several threads, now dominated by MIPv6

• Added mobility to MSR 1.4 IPv6

• RC4b (Win2K) released 1 Jan 2001

• XPB2 (WinXP beta 2): in test (internal)

• WinCE3.0 + RC4b: in development (internal)

• WinCE4.0 + XPB2: in development (internal)

Page 3: LandMARC MIPv6 stack for Windows

Why mobile IP?• Traditional IP address = (network + host-id)

– is bound to a specific network– Connections break if node moves between nets– Problem for mobile, wireless computers (future)

• Solution: MIPv6 mobile node (MN) uses two addresses– Home Address (HA) well known / used by apps – Care-Of Address (COA) when abroad– TCP sessions survive network hand-off– Nobody has to learn new home address for MN– Provides heterogeneous network hand-off

Page 4: LandMARC MIPv6 stack for Windows

Mobile at home

Token-ring

Ethernet

Home networkLoad BatteryLineOn On

BatterySmartBoost

ReplaceBattery

Test

Correspondent

Home Agent

Home Net

Foreign NetInternet

Page 5: LandMARC MIPv6 stack for Windows

Movement: BU to home agent

Token-ring

Ethernet

Home networkLoad BatteryLineOn On

BatterySmartBoost

ReplaceBattery

Test

Correspondent

Home Agent

Home Net

Foreign NetInternet

Page 6: LandMARC MIPv6 stack for Windows

CN to HA, tunnel to MN

Token-ring

Ethernet

Home networkLoad BatteryLineOn On

BatterySmartBoost

ReplaceBattery

Test

Correspondent

Home Agent

Home Net

Foreign NetInternet

(HomeAddr, COA)

Page 7: LandMARC MIPv6 stack for Windows

Route Optimisation

Token-ring

Ethernet

Home networkLoad BatteryLineOn On

BatterySmartBoost

ReplaceBattery

Test

Correspondent

Home Agent

Home Net

Foreign NetInternet

(HomeAddr, COA)

(HomeAddr, COA)

Page 8: LandMARC MIPv6 stack for Windows

Barriers to MIPv6

• IPv6 infrastructure– Others can deal with that…

• Security Infrastructure (IPSec)

• Connectivity with IPv4 internet when mobile

• Support for IPv4 application code

• Behaviour of network cards and their drivers

Page 9: LandMARC MIPv6 stack for Windows

Problem #1 : Security

• Bogus Binding Update– Hilary says to Bill “Send packets for Monica to me”

• Bogus Home Address Option– Hilary says to Bill “Monica said this…”

• Very easy to mount an attack:– ipv6 hau <IPv6 address> 64 <home agent address>

• Giving somebody else’s home address and home agent

– Attach to any IPv6 net

Page 10: LandMARC MIPv6 stack for Windows

Security : use of IPSec• V12 mandated IPsec AH on Binding Updates

• Works, but too hard to configure and test

• Helps if administrator has:– network monitors attached– kernel debugger(s) installed on all machines– source code for IPv6 stack– program for configuring the program for

configuring IPSec

Page 11: LandMARC MIPv6 stack for Windows

CAM : joint with Mike Roe• Mobile node m chooses key pair (PKm,SKm)• Mobile m chooses Home addr (IF-Id) Am = H(PKm, i)

– Int i used to resolve IPv6 address collisions

• Binding Update from m includes:A’m, Ac, Am, PKm, i, {H(A’m, Ac, Am, Tm)}SKm

• Correspondent verifies Am = H(PKm, i) and the hash from the Binding Update

• Use of PKm is uncertified, but says nothing about real-world identify• Impostor cannot submit bogus BU without finding (PK’, SK’) where

H(PK’, i) = Am – (which is hard)

Page 12: LandMARC MIPv6 stack for Windows

Problem #2 : IPv4 connectivity / apps• MN abroad may lose all IPv4 connectivity

– Contactable only on IPv6 care-of address– MN cannot see IPv4 internet (e.g. www) – Nodes on IPv4 internet cannot see the mobile

• Implications for apps and services (e.g. DNS)• Prefer not to port every IPv4 app (yet)• Very few IPv6 apps from Microsoft (yet)

– .NET Framework, IIS, file share, etc

Page 13: LandMARC MIPv6 stack for Windows

m4in6 : joint with Joe FinneyCorrespondent

Node

MobileNode

HomeAgent

IPv6Home

Network

IPv6Internet

IPv6 ForeignNetwork

IPv4 (routed)

IPv4 (local)

IPv4 in IPv6 tunnel

IPv4Internet

IPv4Correspondent

Network

Page 14: LandMARC MIPv6 stack for Windows

Kernel development on Win2000• Use cmd line : VStudio doesn’t add much• Makefiles unusual: initially confusing• Docs better than Linux, esp. DDK (but fragmented,

large)• More helpful support: no small group wanting to keep

full control as under Linux• Well-defined APIs preserve code stability• Debugging not great, circa gdb. Use SoftIce.• DbgView (etc) v. useful but not well known• NDIS easy to work with (miniport, intermediate, proto)• Learning curve 1-2 weeks alone, ~1 day supervised

Page 15: LandMARC MIPv6 stack for Windows

Kernel development on WinCE

• Excellent development support• Great documentation – small unambiguous API• Drivers as easy as user-space programming (dlls)• Full source level debug in IDE using remote host• Remote driver loading on demand really nice• Important to use “recommended” CEPC components

– VERY difficult to get drivers for single board computers

– Companies can be really unhelpful – often because they’ve bought in the drivers and simply can’t support them.

Page 16: LandMARC MIPv6 stack for Windows

Tech tutorial at IDMS2001

• Objective: Intro to building, modifying and testing the LandMARC stack

• Date: 4 September 2001

• Place: Lancaster University, or thereabouts

Page 17: LandMARC MIPv6 stack for Windows

Further Infohttp://research.microsoft.com/programs/europe/

projects/MIPv6.asphttp://www.LandMARC.nethttp://research.microsoft.com/msripv6http://msdn.microsoft.com/downloads/sdks/platform/

tpipv6/readme.asphttp://support.microsoft.com/support/kb/articles/q273/8/26.asphttp://www.IDMS2001.org/CAM: Childproof Authentication for MIPv6, G O’Shea

and M Roe, Computer Communications Review, April 2001

Mobile 4-in-6 (m4in6), J Finney and G O’Shea, Interactive Distributed Multimedia Systems (IDMS2001), 4-7 Sept 2001, Lancaster, UK