70 likes | 153 Views
This proposal addresses the issue of slow session opening in dual-stack networks, focusing on testing methods and outcomes. It includes a detailed test configuration and procedure involving IPv4 and IPv6 connectivity variations. The expected outcome is to ensure quick session setup regardless of address choice. The paper discusses recommended practices and aims to receive sponsorship and advice from BMWG for test construction.
E N D
Testing Eyeball Happiness Fred Baker
The issue I bring to your attention • In dual stack networks, especially if BCP 38 is in use, opening a session can be slow: • Code samples using getaddinfo() read: list = getaddrinfo(…); for each address in list Attempt to open a connection If success, break end for • That is equivalent to list = getaddrinfo(…); for each address in list sleep (3); end for • Common customer support recommendation: • “turn IPv6 off and you won’t have that problem”
Papers of interest • TCP's Reaction to Soft Errors. • Gont. February 2009 • RFC 5461, Informational • Happy Eyeballs: Trending Towards Success with Dual-Stack Hosts • Dan Wing, Andrew Yourtchenko, October 2010 • draft-wing-v6ops-happy-eyeballs-ipv6 • Opening TCP Sessions in Complex Environments • Fred Baker, October 2010 • draft-baker-v6ops-session-start-time • Testing Eyeball Happiness • Baker, November 2010 • draft-baker-bmwg-testing-eyeball-happiness
A proposed test: configuration • Each LAN is configured with one IPv4 and multiple IPv6 prefixes • Alice and Bob have A and AAAA records in DNS • Routers have appropriate routing • Two routers used to make it easy to null route Alice: Unit under Test Bob: Correspondent DNS Router 2 Router 1
A proposed test: procedure • Repeatedly reconfigure Router 1 with various routing: • Only IPv4 connectivity • Only IPv6 connectivity using each of Bob’s several prefixes • Use various blockages: • Null route without ICMP (black hole) • Null route with ICMP “destination unreachable” • Filter with ICMP “administratively suppressed” Alice: Unit under Test Bob: Correspondent DNS Router 2 Router 1
A proposed test: expected outcome • Alice should be able to open a session with Bob, starting from the DNS lookup, within a predictable interval, regardless of address choice • Not really testing the application – presumed to work in existing networks • Outcomes: • What is that interval? • What is the difference between those intervals Alice: Unit under Test Bob: Correspondent DNS Router 2 Router 1
What I would like from BMWG • Sponsorship if bmwg is so inclined • Advice on how best to construct the test