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

LandMARC MIPv6 stack for Windows Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

Dec 21, 2015

Download

Documents

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

LandMARC MIPv6 stack for Windows

Greg O’SheaMicrosoft Research

Andrew ScottLancaster University

Page 2: 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

• 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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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 Greg O’Shea Microsoft Research Andrew Scott Lancaster University.

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