Stacking it Up - Geoff Huston

download Stacking it Up - Geoff Huston

of 44

Transcript of Stacking it Up - Geoff Huston

  • 8/7/2019 Stacking it Up - Geoff Huston

    1/44

    StackingitUp

    ExperimentalObserva6onsontheopera6onofDualStackServices

    GeoffHustonIETF-80

    March2011

    1

  • 8/7/2019 Stacking it Up - Geoff Huston

    2/44

    End-to-EndServiceMeasurements

    ExamineIPv6/IPv4usefromtheperspecCveofaservicedeliveryplaorm(webserver)

    IPv6isusedbyclientsonlywhenallthevariousIPv6infrastructurecomponentssupportIPv6,otherwise

    theclientwillfallbacktoIPv4use

    ServicemetricsforIPv6arereflecCveofend-to-endIPv6capability

    2

  • 8/7/2019 Stacking it Up - Geoff Huston

    3/44

    Methodology

    Testeverywebclientwith4differentretrievaltasksofa1x1pixelimage: V6only Dual-Stack V4Only V6OnlyLiteral(noDNS)

    Takejustonetestresultforeachuniquesourceaddressper24hours

    Lookatretrievalrates,failurebehaviourandtransacConCmes

    Useserverpacketdumpandandweblogsasthebasisoftheanalysis

    3

  • 8/7/2019 Stacking it Up - Geoff Huston

    4/44

    AccessCombina6ons

    V4 V Dual NodeType

    V4 V4-Only

    V V-Only

    V V-Preferred

    V4 V-Capable(V4-Preferred)

    Dual-StackLoss

    4

  • 8/7/2019 Stacking it Up - Geoff Huston

    5/44

    IPv:couldvswill

    2%

    4%

    6%

    8%

    IPv6 Preferred

    IPv6 Capable

    May 5Jul Sep Nov Jan Marwww.apnic.net

  • 8/7/2019 Stacking it Up - Geoff Huston

    6/44

    IPv:couldvswill

    1%

    2%

    3%

    5%

    IPv6 Preferred

    IPv6 Capable

    Nov

    6

    Dec Jan Feb

    4%

    Site CMar

  • 8/7/2019 Stacking it Up - Geoff Huston

    7/44

    WherearewewithIPv?

    ThesizeoftheIPv6deploymentintermsof

    end-to-endhostIPv6preferenceisaround

    0.2%ofthetotalnumberofInternetend

    hostsatpresent

    However,afurther4%ofhostscanuseIPv6,

    eventhoughtheypreferIPv4indualstack

    mode,usingauto-tunnelaccess

    7

  • 8/7/2019 Stacking it Up - Geoff Huston

    8/44

    WhyistheresomuchhiddenIPv

    capability?

    Whyisthenumberofclienthostswhoare

    capableofperforminganend-to-endIPv6

    objectretrieval20Cmesgreaterthanthe

    numberofclienthostswhoprefertouse

    IPv6inadualstackcontext?

    8

  • 8/7/2019 Stacking it Up - Geoff Huston

    9/44

    Dual-StackVPreferredbyAddressType

    V6 Unicast

    6to4

    Teredo0.1%

    0.5%

    0.3%

    9

    Nov Dec Jan Feb Mar

  • 8/7/2019 Stacking it Up - Geoff Huston

    10/44

    V6 Unicast

    6to4

    Teredo

    10

    1%

    2%

    3%

    4%

    Dual-StackV4PreferredbyAddressType

    Nov Dec Jan Feb Mar

  • 8/7/2019 Stacking it Up - Geoff Huston

    11/44

    Na6vevsTunnels

    MosthostswithunicastIPv6generallypreferV6inadualstackscenario

    Hostswith6to4auto-tunnelcapabilityappeartogenerallypreferV4inadualstackscenario

    11

  • 8/7/2019 Stacking it Up - Geoff Huston

    12/44

    Na6vevsTunnels

    OlderversionsofdualstacksowareinhostspreferredIPv6overIPv4inallsituaCons,including

    auto-tunnels

    ThisresultedinveryslowanderraCcperformancewhenaccessingsomedualstackserversduetothelocalIPv6failureCmers

    Forexample,WindowsXPtakes20secondstorecoveraconnecConifa6to4connecConisnotfuncConingcorrectly

    RecentOSreleaseshavede-prefedauto-tunneledIPv6belowthatofIPv4

    12

  • 8/7/2019 Stacking it Up - Geoff Huston

    13/44

    PerformanceObserva6ons

    13

  • 8/7/2019 Stacking it Up - Geoff Huston

    14/44

    PerformanceandTunnels

    V6 Unicast

    6to4

    Teredo+4 Secs

    +2 Secs

    -2 Secs

    0 Sec

    14Nov Dec Jan Feb Mar

    -4 Secs

  • 8/7/2019 Stacking it Up - Geoff Huston

    15/44

    PerformanceandTunnels

    15

    UnicastIPv6performanceisonaverageequivalenttoIPv4performanceforweb

    objectretrieval

    Auto-tunnelperformanceisonaverageconsiderablyworse

    Teredoishighlyvariablewith13secondsofaddiConaldelayperretrieval

    6to4ismoreconsistentwithanaverage1.2secondsaddiConaldelayperretrieval

  • 8/7/2019 Stacking it Up - Geoff Huston

    16/44

    PerformanceandTunnels

    Twocausesofincrementaldelay:

    TunnelsetupCmeStatefulTeredotunnelsrequireiniCalpacketexchangestosetthetunnelup(min1xRTT)

    TunnellingcanextendtheRTTdelayaddiConoftunnelrelaysbetweenthesourceanddesCnaCon

    Thisisexacerbatedwhentheforwardandreversepathsareasymmteric

    16

  • 8/7/2019 Stacking it Up - Geoff Huston

    17/44

    V4-Only

    Network

    Dual-Stack

    Network

    to4PacketPath

    17

    Client

    Dual-StackServer

    192.88.99.1 Relay

    2002::/16 Relay

  • 8/7/2019 Stacking it Up - Geoff Huston

    18/44

    V4-Only

    Network

    Dual-Stack

    Network

    Par6alMi6ga6onofto4Packet

    Path

    18

    Client

    Dual-StackServer

    2002::/16

    Relay

    192.88.99.1 Relay

  • 8/7/2019 Stacking it Up - Geoff Huston

    19/44

    to4Performance

    SetupTime

    19

  • 8/7/2019 Stacking it Up - Geoff Huston

    20/44

    TunnelRTTost

    to4Performance

    20

  • 8/7/2019 Stacking it Up - Geoff Huston

    21/44

    to4Rela6vePerformance

    6to4addsanaverageof1.2secondstotheobjectretrievalCme

    notethisisone-way(astheserverhasalocal6to4relayfortheresponsetraffic,sothe6to4responsepathisthesameastheV4path)

    thatsaverylongtransitCmeifthisisjustaddedtransitCme TheremaybeacongesConloaddelayaddedinhere Butthelevelof6to4trafficisverylow,socongesConoverloadisunlikely

    21

  • 8/7/2019 Stacking it Up - Geoff Huston

    22/44

    Teredovsto4

    Whatwesee:

    4%ofhostsuse6to4(naCveV4,auto-tunnel) 0.1%ofhostsuseTeredo(NATV4,auto-tunnel)

    ButwhysolileTeredo?

    WindowsVistaandWindows7gethostbyname()willnotqueryforaAAAArecordiftheonlylocalIPv6interfaceisTeredo

    anweexposelatentTeredocapability?

    22

  • 8/7/2019 Stacking it Up - Geoff Huston

    23/44

    ExposingTeredo

    UseanIPv6literalastheobjectURL:

    hp://[2401:2000:6660::f003]/1x1.png

    23

  • 8/7/2019 Stacking it Up - Geoff Huston

    24/44

    ExposingTeredo

    24

  • 8/7/2019 Stacking it Up - Geoff Huston

    25/44

    ExposingTeredo

    UseanIPv6literalastheobjectURL:

    hp://[2401:2000:6660::f003]/1x1.png

    Inthecontextoftheexperimentalsetupitwasobservedthat~30%oftheclientbasesuccessfullyfetchedthisIPv6

    URLusingTeredo!

    onversely,70%oftheclientsdidnotmanageasuccessfulobjectretrievalofthisURL

    25

  • 8/7/2019 Stacking it Up - Geoff Huston

    26/44

    PerformanceandTunnels

    Teredoaddsafurtherperformance

    penaltyintheformofstatesetupbetween

    theTeredorelayandtheclient

    26

  • 8/7/2019 Stacking it Up - Geoff Huston

    27/44

    TeredoPerformance

    TunnelSetupTime

    27

  • 8/7/2019 Stacking it Up - Geoff Huston

    28/44

    TunnelRTTost

    TeredoPerformance

    28

  • 8/7/2019 Stacking it Up - Geoff Huston

    29/44

    TeredoRela6vePerformance

    Teredoaddsanaverageof1-3secondstotheobjectretrievalCme

    Teredosetuptakesbetween0.6secondto3seconds AverageRTTcostofTeredois300ms Objectretrievaltakes~3RTTintervalstocomplete TotalCmecostissome2secondsonaverage

    29

  • 8/7/2019 Stacking it Up - Geoff Huston

    30/44

    IPvPerformance

    UnicastIPv6appearstobeasfastasIPv4forobjectretrieval

    Auto-tunnellingIPv6aractssomeperformanceoverheads thesearestronglycontextdependent widespreaddeploymentof6to4relaysandTeredorelays

    andserverswouldmiCgatethis,tosomeextent

    DualStackserversmaywanttoconsiderusinglocal6to4relaystoimprovereversepathperformanceforauto-

    tunnellingclients

    30

  • 8/7/2019 Stacking it Up - Geoff Huston

    31/44

    FailureObserva6ons

    31

  • 8/7/2019 Stacking it Up - Geoff Huston

    32/44

    DualStackFailure

    HowmanyclientsretrievetheV4only

    objectbutDONTretrievetheDualStack

    objects?i.e.howmanyclientsexhibitDualStack

    Failure?

    32

  • 8/7/2019 Stacking it Up - Geoff Huston

    33/44

    DualStackFailureRate

    33

    0.2%

    0.4%

    0.6%

    0.8%

    Nov Dec Jan Feb Mar

  • 8/7/2019 Stacking it Up - Geoff Huston

    34/44

    DualStackFailure

    This0.6%ofclientsistherateoffailureofIPv4

    clientstoretrieveadualstackobject

    Butthisisnotareliablemetricofunderlying

    communicaConfailure

    Thisistherateoffailureoftheclienttoretrieveadualstackobjectfromwithinajavascriptcodeobject

    Theclientmay: Notexecutethejavascriptatall UserresetoftheretrievalbeforecompleCon InaddiContothefailuretofallbacktoIPv4retrieval 34

  • 8/7/2019 Stacking it Up - Geoff Huston

    35/44

    Connec6onFailure

    ToaempttolookmorepreciselyforsomeinstancesofconnecConfailure,letslookingforconnecConsthat

    failaertheiniCalTPSYN

    NotethatthisapproachdoesnotdetectfailureoftheiniCalSYNpacket,so

    theresultsarealowerboundoftotalconnecConfailurerates

    35

    Client

    Server

    SYN

    SYN + ACK

    ACK

    X Response fails

  • 8/7/2019 Stacking it Up - Geoff Huston

    36/44

    Connec6onFailure

    36

  • 8/7/2019 Stacking it Up - Geoff Huston

    37/44

    IPvConnec6onFailure

    37

  • 8/7/2019 Stacking it Up - Geoff Huston

    38/44

    TeredoConnec6onFailure

    TeredousesaniniCalIMPv6exchangetoassistintheTeredoServer/Relaystatesetup

    NotethatthisapproachdoesnotdetectfailureoftheiniCalIMPv6echo

    request,sotheresultsarealowerboundoftotalconnecConfailurerates38

    Client

    Server

    SYN

    SYN + ACK

    ACK

    X

    SYN fails

    ICMPv6Echo Req

    ICMPv6 Echo Resp

    X X

    ICMP fails

  • 8/7/2019 Stacking it Up - Geoff Huston

    39/44

    IPvConnec6onFailureusingVLiteral

    39

  • 8/7/2019 Stacking it Up - Geoff Huston

    40/44

    IPvConnec6onFailure

    40

    Some12%-20%ofto4connecConsfail! Thisisaveryhighfailurerate! Thefailureismostlikelyaprotocol41filterclosetothe

    clientthatpreventsincoming6to4packetsreachingtheclient

    Some38%ofTeredoconnecConsfail! Againthisisaveryhighfailurerate LocalIMPFilters+????SYNAKFilters

    Some2%-5%ofunicastIPv6connecConsfail! Thisrateisbeerthanauto-tunnels,butissCll20xthe

    rateofIPv4connecConfailure

  • 8/7/2019 Stacking it Up - Geoff Huston

    41/44

    Conclusions

    Whatcanwesayabouttheperformanceand

    robustnessofaDualStacknetworkenvironment

    asaresultoftheseobservaCons?

    41

  • 8/7/2019 Stacking it Up - Geoff Huston

    42/44

    ForanOnlineService

    onverCngaservicetooperateasaDual

    StackserviceisaviableopConintodays

    environment

    But:

    asmallfracConofexisCngclientswillexperienceamuchslowerservice

    averysmallfracConofexisCngclientswillfailtoconnecttothedualstackserviceatall

    42

  • 8/7/2019 Stacking it Up - Geoff Huston

    43/44

    WhataboutIPv-OnlyServices?

    IsanIPv6-onlyserviceaviableopContoday?

    Notreally.

    Only~4%oftheexisCngclientbasewouldsuccessfullyconnecttoanIPv6-onlyservice

    End-hostauto-tunnellingisnotasoluCon Auto-tunnellingappearstoencountermanymoreperformanceandreliabilityproblemsthanitsolvesintermsofIPv6connecCvity

    Auto-tunnellingisnotprovingtobeausefulmainstreamtransiContoolforIPv6

    43

  • 8/7/2019 Stacking it Up - Geoff Huston

    44/44