1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 4<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 5<head> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <title>Test your IPv6.</title> 8 9 <meta name="keywords" content="test,ipv4,ipv6,isp" /> 10 <meta name="y_key" content="6a3ded130c3ff129" /> 11 <meta name="viewport" content="width=device-width"> 12 <link rel="stylesheet" href="/index.css.gz?version=1.1.1023" type="text/css" /> 13 14 <!-- generic --> 15 <link rel="SHORTCUT ICON" href="/images/favicon.ico" /> 16 17 <!-- apple --> 18 <link rel="apple-touch-icon" href="/images/favicon-120.png?version=1.1.1023"/> 19 <link rel="apple-touch-icon" href="/images/favicon-128.png?version=1.1.1023" sizes="128x128"/> 20 <link rel="apple-touch-icon" href="/images/favicon-152.png?version=1.1.1023" sizes="152x152"/> 21 <link rel="apple-touch-icon" href="/images/favicon-167.png?version=1.1.1023" sizes="167x167"/> 22 <link rel="apple-touch-icon" href="/images/favicon-180.png?version=1.1.1023" sizes="180x180"/> 23 <link rel="apple-touch-icon" href="/images/favicon-256.png?version=1.1.1023" sizes="256x256"/> 24 25 <!-- android --> 26 <link rel="icon" href="/images/favicon-256.png?version=1.1.1023" sizes="256x256"/> 27 <link rel="icon" href="/images/favicon-192.png?version=1.1.1023" sizes="192x192"/> 28 <link rel="icon" href="/images/favicon-128.png?version=1.1.1023" sizes="128x128"/> 29 30 <!-- touch bar --> 31 <link rel="mask-icon" href="/images/website_icon.svg?version=1.1.1023" color="green"/> 32 33 34 <meta property="og:image" content="https://test-ipv6.com/images/snapshot.png" /> 35 36
36<script type="text/javascript" src="/site/config.js?version=1.1.1023"></script>
36 37
37<script type="text/javascript" src="/index.js.gz.en_US?version=1.1.1023"></script>
37 38 39 40 41<!--[if IE 6]>
42<script type="text/javascript"> 43BrowserName="IE6"; 44</script>
44 45<![endif]--> 46 47
48<script type="text/javascript"> 49// Load help pages inside mini tabs if possible; else 50// make same function load entire document with real headers 51function help_page (url,text) { 52 console.log("help_page") 53 54 if(document.getElementById("is_index_page") !== null) { 55 console.log("help_page using help_popup"); 56 GIGO.help_popup(url,text); 57 } else { 58 console.log("help_page changing document url"); 59 document.location = url; 60 } 61 return false; 62}; 63</script>
63 64 65 66</head> 67 68<body> 69 70 71<div id="navcontainer"> 72<ul id="navlist"> 73 74<li><a href="/" 75>Test IPv6</a></li> 76 77 78 79<li><a href="/faq.html" 80 id="current" >FAQ</a></li> 81 82 83 84<li><a href="/mirrors.html" 85>Mirrors</a></li> 86 87 88 89 90<!-- IF this is a page not normally in the banner, put it up this time anyways. --> 91 92 93 94 95 96 97 <li class="navright" tabname="stats" style="display:none"><a href="/stats.html" tabname="stats" 98 >stats</a></li> 99 100 101 102 103 104 105</ul> 106 107<div class="navright"> 108<a href="/locale.html"> 109<img src="/images/icon_987_red.png" style="height: 2em; width: auto;" border="0" /> 110</a> 111</div> 112 113</div> 114 115 116<div id="content"> 117 118 119 <h1 id="title">test-ipv6.com FAQ</h1> 120 121 <div class="question"> 122 Q: Can you fix my VPN? 123 </div> 124 125 <div class="answer"> 126 No, I can not fix your VPN. 127 </div> 128 129 <div class="question"> 130 Q: How does this test work? 131 </div> 132 133 <div class="answer"> 134 The test is entirely client-side javascript. To determine reachability, a series of ajax requests are made from the web server, using various DNS names that force the use of IPv6 only, or dual stack, or other such scenarios. The pass/fail of such fetches, as well as how long they take, are taken into account. 135 </div> 136 137 <div class="question"> 138 Q: Why is this web site reachable via IPv4 only? 139 </div> 140 141 <div class="answer"> 142 You're right, there are no AAAA records, intentionally. A percentage of users are unable to browse sites that are dual-stack. If the users can't connect, then they can't be told they have a problem. This is a big problem facing content providers today; of which, I work at one for my $dayjob. As such, the main test page requires IPv4 (either native or translated). 143 </div> 144 145 <div class="answer"> 146 At some point, when the percentage of "broken" users has gone significantly down, I'll consider making test-ipv6.com dual-stack. At last check, March 2017, we still see 0.2% broken visiting test-ipv6.com. And we still want them to understand their situation. 147 </div> 148 149 <div class="question"> 150 Q: I run a production IPv6-only network. Without IPv4. My users can't reach test-ipv6.com. 151 </div> 152 153 <div class="answer"> 154 Send email to [email protected]. If your IPv6-only network has dedicated name servers, or a dedicated BGP ASN, jfesler will enable AAAA records for test-ipv6.com for you. 155 </div> 156 157 <div class="answer"> 158 If you don't meet the above requirements, you can visit http://ipv6.test-ipv6.com (IPv6-only) or http://ds.test-ipv6.com (IPv4+IPv6). 159 </div> 160 161 162 <div class="question"> 163 Q: What do you mean by broken? 164 </div> 165 166 <div class="answer"> 167 A percentage of users today have IPv6 enabled, but are either using a public tunnel that is currently giving poor performance; or otherwise have a route that is installed but broken or suboptimal. However, because they have a route at all, in many cases the address selection algorithm of RFC3484 will pick using it, and trying to use this broken route. It can take towards 75+ seconds before the browser gives up! 168 </div> 169 170 <div class="answer"> 171 From the perspective of a user with these conditions, a web site offering both A and AAAA DNS records (ie, "dual stack") will appear to time out; and the user will move on to another site that offers a similar product. This is the quandary content providers have. 172 </div> 173 <div class="answer"> 174 If we detect that you will have problems reaching dual-stack web sites, we recommend you see the <a href="broken.html">Broken User FAQ</a>. It provides several steps to try and identify your root cause for being broken; and barring that, what you can do to disable IPv6 until your ISP offers native IPv6 connectivity. 175 </div> 176 177 <div class="question"> 178 Q: Why did your stats say you already have IPv6-only users? 179 </div> 180 181 <div class="answer"> 182 They went to <a href="http://ipv6.test-ipv6.com">http://ipv6.test-ipv6.com</a> . 183 </div> 184 185 <div class="question"> 186 Q: How valid are the stats? 187 </div> 188 189 <div class="answer"> 190 They do not represent the average web consumer. Visitors to this site are self-selecting. The intent of this site is to not provide stats, but instead to inform the user the level of readiness for the world to move to IPv6 (with or without'em!). As such, stats found here will be completely different from an average content provider. 191 </div> 192 193 <div class="question"> 194 Q: How does your test differ, from what the content providers are doing? 195 </div> 196 197 <div class="answer"> 198 Content providers are gathering metrics of broken vs non-broken users, in an aggregate form. They are not at this time actually giving the user feedback as to the user's current state. Those metrics will principally drive the business decision of when to start publishing sites over IPv6, versus remaining IPv4 only. IPv4 only for some content sites really is an option; it has a handful of downsides, but the expectation is that everyone will always be able to reach IPv4, in some fashion. 199 </div> 200 201 <div class="answer"> 202 This site, on the other hand, is intended to help the user understand their current state, and what that state possibly means to them. 203 </div> 204 205 206 <div class="question"> 207 Q: What are your data sources? 208 </div> 209 210 <div class="answer"> 211 212 The following data sources are checked daily, and are used to convert IP addresses into Internet Service Provider names. <ul> <li><a href="http://routeviews.org">University of Oregon Route Views Archive Project</a> provides hourly views of the Internet routing tables. <li><a href="http://bgp.potaroo.net/asn.txt">http://bgp.potaroo.net/asn.txt</a> is a curated list of ASNs to internet service provider names. This is provided by Geoff Huston, a well respected researcher from APNIC. </ul> 213 214 </div> 215 216 <div class="question"> 217 Q: What features have been added/removed? 218 </div> 219 <div clsas="answer"> 220 <ul>2017: Added TLS (https) support </ul> 221 <ul>2022: Removed links to swap http/https. Browsers are starting to forcefully upgrade to https.<
221/ul> 222 <ul>2022: Removed tunnel detection by comparing ASN numbers. More service providers are using a different entity for IPv4 vs IPv6.</ul> 223 <ul>2022: Removed direct IP checks, NAT64 detection, Teredo detection. This is for support cost reasons; too many people complain about the tests that are skipped in https mode, and we're seeing browsers forcefully upgrade to https.</ul> 224 </div> 225 226 <div class="question"> 227 Q: Do you actually read the feedback? 228 </div> 229 230 <div class="answer"> 231 <p> 232 Yes, I do. Thank you! Note that I can only follow up with you if you do leave contact information. While I am still grateful for feedback without contact information, I will be unable to reply with any answers if you asked for them. 233 </p> 234 </div> 235 236 <div class="question"> 237 Q: Is this open source? 238 </div> 239 240 <div class="answer"> 241 Yes. See the <a href="source.html">source page</a> for details. 242 </div> 243 244 245</div> 246 247<hr/> 248<div id="about"> 249<p> Copyright (C) 2010, 2024 Jason Fesler. All rights reserved. Version 1.1.1023 (11fd356)<br/> 250 251 <a href="/mirrors.html">Mirrors</a> | 252<!-- <a href="mission.html">Mission</a> | --> 253 <a href="https://github.com/falling-sky/source/wiki">Source</a> | 254<a href="/attributions.html">Attributions</a> 255 256 | 257 258<a href="locale.html" onclick="return help_page('locale.html','Locale')"> 259<img src="/images/icon_987_red.png" class="em1" border="0" />en_US</a> 260 261 262<br/> 263<!-- Create disclaimer.inc.site to have your own text. 264 Create disclaimer.inc.en-us.site for language specific versions. --> 265 266This is a mirror of test-ipv6.com. The views expressed here may or may not reflect the views of the mirror owner. 267 268</p> 269</div> 270 271 272
272<script type="text/javascript"> 273 $(document).ready(function() { 274 console.log("fixup_html.inc") 275 try { GIGO.fixup_html_per_site_config();} catch(e) {0}; 276 console.log("fixup_html.inc part 2 ") 277 try { GIGO.fixup_html_per_locale();} catch(e) {console.log(e)}; 278 }); 279 </script>
279 280 281 282
282<script type="text/javascript"> 283 284 285// We want to show the "stats" tab if the site is configured for it. 286//Since we are now loading configs separately, instead of compiling 287//the web content tuned for a single site, we now must go find 288//and customize the stats tab on page load. 289 290 291try { 292 293 if (MirrorConfig.options.show_stats) { 294 // FIx the URL, show the tab 295 296 var arr_elms = []; 297 arr_elms = document.body.getElementsByTagName("a"); 298 var elms_len = arr_elms.length; 299 for (i=0; i<elms_len; i=i+1) { 300 if(arr_elms[i].getAttribute("tabname") != null){ 301 if (arr_elms[i].getAttribute("tabname") === "stats") { 302 arr_elms[i].href = MirrorConfig.options.show_stats; 303 } 304 } 305 } 306 307 // Show the tab 308 arr_elms = document.body.getElementsByTagName("li"); 309 elms_len = arr_elms.length; 310 for (i=0; i<elms_len; i=i+1) { 311 if(arr_elms[i].getAttribute("tabname") != null){ 312 if (arr_elms[i].getAttribute("tabname") === "stats") { 313 arr_elms[i].style.display = 'inline'; 314 } 315 } 316 } 317 } 318 319 320} catch(e) { 321 var myAnchor = document.getElementById("tab_main"); 322 var mySpan = document.createElement("div"); 323 if (myAnchor && mySpan) { 324 mySpan.innerHTML = "Site configuration issue: bad or missing /site/config.js"; 325 myAnchor.parentNode.replaceChild(mySpan, myAnchor); 326 } 327}; 328 329 330 </script>
330 331 332 333 334</body> 335</html> 336
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.