ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 ·...

59
Stacking it Up Experimental Observa6ons on the opera6on of Dual Stack Services Geoff Huston, APNIC Labs 1

Transcript of ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 ·...

Page 1: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Stacking  it  Up    

Experimental  Observa6ons  on  the  opera6on  of  Dual  Stack  Services  

Geoff Huston, APNIC Labs

   

1  

Page 2: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

If  working  with  one  protocol  has  its  problems  …  

2  

Page 3: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Then  just  how  much  fun  can  we  have  by  using  two  protocols  at  once?  

3  

Page 4: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Some  Dual  Stack  Ques6ons  

•  How  many  clients  are  capable  of  IPv6  access?  

• What  forms  of  IPv6  access  are  they  using?  

•  Is  their  experience  over  Dual  Stack  beCer  or  worse  than  IPv4?  

4  

Page 5: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

SeDng  the  scene  •  Adding  IPv6  to  your  website  may  have  risks  

– Will  your  clients  sGll  be  able  to  ‘see’  you?  – What  %  of  clients  will  experience  issues?  

•  Finding  out  in  advance  what  to  expect  is  useful  – A  way  to  measure  end-­‐user  behavior  – Without  affecGng  your  own  website  investment  

•  Measuring  failure  is  hard!  – Website  logs  only  measure  successful  connecGons  

Page 6: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Adding  IPv6  may  have  risks    

•  Older  Windows  XP  hosts  experience  problems  with  dual-­‐stack  (IPv4,  IPv6)  DNS  records  – May  refuse  to  connect  to  the  IPv4  address  

•  Some  hosts  cannot  process  IPv6  DNS  properly  –  Not  supported  in  all  DHCP  backed  configuraGons  

•  ‘ParGal  IPv6’  problems  –  Locally  IPv6  enabled,  no  IPv6  route  to  global  Internet  

•  Loss  of  eyeballs  =  Loss  of  revenue?  – When  your  core  business  presents  via  the  web,  what  risks  to  loss  of  web  access  are  you  willing  to  take?  

Page 7: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Finding  out  in  advance  what  to  expect  

 •  Measure  client’s  IPv6  behavior  without  having  to  add  IPv6  to  your  website  –  Leverage  cross-­‐site  URL  fetches    

•  Integrate  these  measurements  into  exisGng  tracking  methods,  and  analyGcs  framework  –  No  new  tools  needed  

Page 8: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Measuring  failure  is  hard!    

•  Web  logs  record  completed  TCP/IP  events  –  Even  4xx  and  5xx  responses  in  logs  are  completed  valid  TCP/IP  sessions  

•  What  about  the  people  who  fail  to  complete  the  connecGon?  –  Not  in  access-­‐  or  error-­‐  logs  

•  Only  parGally  visible  on-­‐the-­‐wire  –  CharacterisGc  missing  ‘SYN/ACK’  sequence  in  TCP  signals  failure  to  complete  a  2-­‐way  handshake  

•  But  (inside  a  Gme  limit)  client  knows  what  worked  or  failed:  and  can  report  back.  

Page 9: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

APNIC’s  web  measurement  system  

hOp://labs.apnic.net  

•  Built  on  google  ‘analyGcs’  method  –  Javascript,  highly  portable  –  Asynchronous,  runs  in  the  background    

•  ager  page  render  already  complete  –  Uses  DNS  wildcards,  uncacheable  

•  Data  integrated  into  google  analyGcs  reports  –  Graphs  of  ‘events’  to  monitor  IPv4,  IPv6  and  dual-­‐stack  

•  Configurable  by  website  manager  –  Sample  or  every  connecGon,  extra  tests  etc    

Page 10: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Measuring  by  1x1  invisible  pixels  

•  Javascript  requests  sequence  of  1x1  pixel  images  –  Images  fetched  but  not  included  in  the  DOM  so  not  displayed  –  Image  fetches  take  place  ager  DOM  render,    –  does  not  add  delay  to  page  view,  invisible    

(may  be  seen  in  browser  status  bar,  error  report  windows)  –  Javascript  callback  records  success/Gme  

•  Image  fetches  from  unique  DNS  names  –  Every  client  is  a  fresh  name,  no  cached  state  

•  Client  reports  Gming,  connect  failures    –  to  your  analyGcs  report  as  a  results/summary  field    –  Can  account  for  ‘unable  to  connect’  TCP/IP  failure  

Page 11: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  is  tested?  •  Basic  test  set  is  dual-­‐stack,  IPv4,  IPv6    

–  Dual  stack  enabled  DNS  behind  all  fetches  •  AddiGonal  (opGonal)  tests  

–  IPv6  literal    (bypasses  many  Windows  Teredo  IPv6  suppression  seings)  

–  IPv6  DNS    (can  be  visible  to  user,  stress-­‐tests  DNS)  

–  Auto-­‐Tunnel  detecGon  URLs  only  reachable  from  Teredo  and  6to4  source  IP  addresses  

•  Results  reported  over  IPv4-­‐only  URL  

Page 12: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Addi6onal  Measurements  

We  extended  this  technique  into  Flash,  and  created  an  anonymous    banner  ad        The  IPv6  capability  test  is  built  into  the  Flash  code  

12  

Page 13: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Banner  Ad  Fun  No  clicks  needed  

(indeed  we  would  prefer  that  clients  did  NOT  click  the  ad,  as  it  costs  us  more  for  a  click!)  

Impressions  are  really  cheap  $25  per  day  buys  around  25,000  impressions  Every  impression  carries  the  complete  IPv6  test  set  

But  many  users  are  ad-­‐intolerant  Users  tend  to  browse  away  from  pages  containing  the  ad  in  a  far  shorter  Gme  interval  We  see  a  higher  number  of  aborted  test  runs  with  the  ad    

13  

Page 14: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Some  Results  

•  How  much  IPv6  is  out  there  in  terms  of  end  host  capability?  

• What  forms  of  IPv6  access  are  clients  using?  

14  

Page 15: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  capability,  as  seen  by  Google  

15  http://www.google.com/intl/en/ipv6/statistics/

Page 16: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  capability,  as  seen  by  APNIC  

16  

0.0%

0.2%

0.4%

0.6%

Page 17: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Is  This  All  There  Is?  

•  0.3%  –  0.4%  of  clients  is  a  very  low  number  

•  And  most  of  the  IPv6  access  we  see  here  is  using  unicast  IPv6  

• Where  are  all  the  6to4  and  Teredo  auto-­‐tunnels?  

•  Lets  look  harder  by  tesGng  with  an  IPv6-­‐only  image  

17  

Page 18: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  ONLY,  as  seen  by  APNIC  

1%

2%

3%

5%

Nov 18  

Dec Jan Feb

4%

Mar May Apr Jun

Page 19: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6:  “could”  vs  “will”  

1%

2%

3%

5%

IPv6 Preferred

IPv6 Capable

Nov 19  

Dec Jan Feb

4%

Mar May Apr Jun

Page 20: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Is  This  All  There  Is?  

•  3%  -­‐  4%  of  clients  is  sGll  a  very  low  number  

•  Most  of  the  access  in  IPv6-­‐only  is  via  6to4  auto-­‐tunnelling  

• Where  is  Teredo?  •  Lets  look  harder  by  tesGng  with  an  image  that  does  not  require  a  DNS  lookup:  hCp://[2401:2000:6660::f003]/1x1.png  

20  

Page 21: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6:  “can”  vs  “could”  vs  “will”  

21  

Page 22: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

How  Much  IPv6  is  Out  There?  

•  Around  0.4%  of  the  Internet’s  clients  can  and  will  use  IPv6  in  a  Dual  Stack  scenario  –  And  these  clients  are  generally  using  a  “naGve”  IPv6  service  

•  Around  4%  of  the  Internet’s  clients  can  use  IPv6  in  an  IPv6-­‐only  scenario  –  And  the  addiGonal  clients  are  generally  using  6to4  auto-­‐tunnelling  

•  Around  25%  of  the  Internet’s  clients  are  equipped  with    IPv6  capability  that  can  be  exposed  –  And  the  addiGonal  clients  are  using  Teredo  auto-­‐tunnelling  

22  

Page 23: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Performance  Observa6ons  

23  

Page 24: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Performance  and  Tunnels  

V6 Unicast

6to4

Teredo

+4 Secs

+2 Secs

-2 Secs

0 Sec

24  

-4 Secs Nov Dec Jan Feb Mar May Apr

Page 25: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Performance  and  Tunnels  

25  

•  Unicast  IPv6  performance  is  on  average  equivalent  to  IPv4  performance  for  web  object  retrieval  

•  Auto-­‐tunnel  performance  is  on  average  considerably  worse  – Teredo  is  highly  variable  with  1  –  3  seconds  of  addiGonal  delay  per  retrieval  

– 6to4  is  more  consistent  with  an  average  1.2  seconds  addiGonal  delay  per  retrieval  

Page 26: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Performance  and  Tunnels  

Two  causes  of  incremental  delay:  – Tunnel  setup  Gme  

•  Stateful  Teredo  tunnels  require  iniGal  packet  exchanges  to  set  the  tunnel  up  (min  1  x  RTT)  

– Tunnelling  can  extend  the  RTT  delay  •  addiGon  of  tunnel  relays  between  the  source  and  desGnaGon  

•  This  is  exacerbated  when  the  forward  and  reverse  paths  are  asymmteric  

26  

Page 27: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

V4-­‐Only  Network  

Dual-­‐Stack  Network  

6to4  Packet  Path  

27  

Client Dual-Stack

Server

192.88.99.1 Relay

2002::/16 Relay

Page 28: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

V4-­‐Only  Network  

Dual-­‐Stack  Network  

Par6al  Mi6ga6on  of  6to4  Packet  Path  

28  

Client Dual-Stack

Server 2002::/16

Relay

192.88.99.1 Relay

Page 29: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

6to4  Performance  

Setup  Time  

29  

Page 30: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Tunnel  RTT  Cost  

6to4  Performance  

30  

Page 31: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Teredo  Performance  Tunnel  Setup  Time  

31  

Page 32: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Tunnel  RTT  Cost  

Teredo  Performance  

32  

Page 33: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  Performance  

•  Unicast  IPv6  appears  to  be  as  fast  as  IPv4  for  object  retrieval  

•  Auto-­‐tunnelling  IPv6  aCracts  major  performance  overheads  –  these  are  strongly  context  dependent  –  widespread  deployment  of  6to4  relays  and  Teredo  relays  and  servers  would  miGgate  this,  to  some  extent  

–  Dual  Stack  servers  may  want  to  consider  using  local  6to4  relays  to  improve  reverse  path  performance  for  auto-­‐tunnelling  clients  

33  

Page 34: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Failure  Observa6ons  

34  

Page 35: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Dual  Stack  Failure  

How  many  clients  retrieve  the  V4  only  object  but  DON’T  retrieve  the  Dual  Stack  objects?    i.e.  how  many  clients  exhibit  “Dual  Stack  Failure”?  

35  

Page 36: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Dual  Stack  Loss  Rate  

Page 37: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Dual  Stack  Loss  

•  4  in  1000  clients  are  unable  to  fetch  a  web  URL  if  presented  with  a  dual-­‐stack  DNS  name  

•  Older  (windows  XP)  hosts,  browsers  

Page 38: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Connec6on  Failure  To  aCempt  to  look  more  precisely  for  some  instances  of  connecGon  failure,  lets  looking  for  connecGons  that  fail  ager  the  iniGal  TCP  SYN              Note  that  this  approach  does  not  detect  failure  of  the  iniGal  SYN  packet,  so  the  results  are  a  lower  bound  of  total  connecGon  failure  rates  

38  

Client

Server

SYN

SYN + ACK

ACK

X Response fails

Page 39: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Connec6on  Failure  

39  

Page 40: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  Connec6on  Failure  

40  

Page 41: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Is  Teredo  really  THAT  good?  

41  

Page 42: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Teredo  Connec6on  Failure  Teredo  uses  an  iniGal  ICMPv6  exchange  to  assist  in  the  Teredo  Server  /  Relay  state  setup                Note  that  this  approach  does  not  detect  failure  of  the  iniGal  ICMPv6  echo  request  ,  so  the  results  are  a  lower  bound  of  total  connecGon  failure  rates  

42  

Client

Server

SYN

SYN + ACK

ACK

X SYN fails

ICMPv6 Echo Req

ICMPv6 Echo Resp

X X ICMP fails

Page 43: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  Connec6on  Failure    

43  

Page 44: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

IPv6  Connec6on  Failure  

44  

•  Some  2%-­‐5%  of  IPv6  unicast  connecGons  fail!  –  This  rate  is  beCer  than  IPv6  auto-­‐tunnels,  but  is  sGll  20x  the  rate  of  IPv4  connecGon  failure  

•  Some  12%  -­‐  20%  of  6to4  connecGons  fail!  –  This  is  a  very  high  failure  rate!  –  The  failure  is  most  likely  a  protocol  41  filter  close  to  the  client  that  prevents  incoming  6to4  packets  reaching  the  client  

•  Some  35%  of  Teredo  connecGons  fail!  –  This  is  an  amazingly  high  failure  rate!  –  Is  STUN  just  broken?  And/or  …?  

Page 45: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Can  we  improve  Dual  Stack  Performance?  

We  need  to  understand  how  client  systems  behave  in  a  dual  stack  environment  in  order  to  understand  how  we  can  improve  the  situaGon  

45  

Page 46: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Serializa6on  

46  

Client

DNS Web Server

AAAA Query A Query

AAAA Response A Response

V6 SYN

V6 SYN+ACK

V6 ACK

DNS Phase TCP Connection Phase

Page 47: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Serializa6on  and  Failure  

47  

Client

DNS Web Server

AAAA Query A Query

AAAA Response A Response

V6 SYNs V4 SYN

V4 SYN+ACK

V4 ACK

V6 TCP SYN Timeout

DNS Phase TCP Connection Phase

Page 48: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Serializa6on  and  Failure  

In  response  to  poor  performance  associated  with  auto-­‐tunnelling  many  OS  stacks  have  responded  by  altering  the  local  protocol  preference  table  to  depref  6to4  BELOW  V4,  and  to  try  and  not  use  Teredo  at  all!  

48  

Page 49: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Paralleliza6on  

•  In  response  to  an  open()  call  from  the  applicaGon,  set  off  two  independent  streams  (V4  and  V6)  and  perform  in  parallel:  –  DNS  query  –  TCP  SYN  exchange  

•  ACK  the  first  TCP  SYN+ACK  to  be  received,  and  present  this  back  to  the  applicaGon  as  the  “working”  TCP  connecGon  

•  RST  the  other  49  

Page 50: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Web Server DNS

Paralleliza6on  

50  

Client

DNS Web Server

AAAA Query

A Query

AAAA Response

A Response

V6 SYN

V6 SYN+ACK

V4 SYN

V6 SYN+ACK

V6 ACK …

V4 RST

Protocol section point V4 thread

V6 thread

Page 51: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Paralleliza6on  

Trade  offs:  +    Faster  client  experience  -­‐  Higher  client  state  overhead  -­‐  Higher  server  SYN  load  for  dual  stack  servers  

“Happy  Eyeballs:  Trending  Towards  Success  with  Dual-­‐Stack  Hosts”              drag-­‐wing-­‐v6ops-­‐happy-­‐eyeballs-­‐ipv6-­‐01  

51  

Page 52: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Conclusions  

What  can  we  say  about  the  performance  and  robustness  of  a  Dual  Stack  network  environment  as  a  result  of  these  observaGons?  

52  

Page 53: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

For  an  Online  Service…  

ConverGng  a  service  to  operate  as  a  Dual  Stack  service  is  a  viable  opGon  in  today’s  environment    But:  

– a  small  fracGon  of  exisGng  clients  will  experience  a  much  slower  service  

– a  very  small  fracGon  of  exisGng  clients  will  fail  to  connect  to  the  dual  stack  service  at  all  

53  

Page 54: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  about  IPv6-­‐Only  Services?  

Is  an  IPv6-­‐only  service  a  viable  opGon  today?    Not  really.  

–  Only  ~4%  of  the  exisGng  client  base  would  successfully  connect  to  an  IPv6-­‐only  service  

–  And  many  would  experience  poor  performance  relaGve  to  IPv4  services      

54  

Page 55: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  about  Dual  Stack  Transi6on?  

55  

Page 56: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  about  Dual  Stack  Transi6on?  

End-­‐host  auto-­‐tunnelling  is  not  a  solu6on!  

56  

Page 57: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  about  Dual  Stack  Transi6on?  

End-­‐host  auto-­‐tunnelling  is  not  a  solu6on!  –  Auto-­‐tunnelling  appears  to  encounter  many  more  performance  and  reliability  problems  than  it  solves  in  terms  of  IPv6  connecGvity  

–  Auto-­‐tunnelling  is  not  proving  to  be  a  useful  mainstream  transiGon  tool  for  IPv6  

   

57  

Page 58: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

What  about  Dual  Stack  Transi6on?  

 If  we  want  this  transiGon  to  operate  in  a  manner  where  IPv6  operates  at  least  as  well  as  IPv4  then  end  hosts  really  need  to  be  connected  to  a  IPv6  Unicast  service  delivered  from  their  service  provider  

   

58  

Page 59: ExperimentalObservaonsontheoperaon of)Dual)StackServices) - … · 2011-06-13 · Adding)IPv6)may)have)risks)) • Older!Windows!XP!hosts!experience!problems!with! dualLstack!(IPv4,!IPv6)!DNS!records!

Thank  You  

Questions?

59