GET /api/v2/video/726
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon US 2012", "language": "English", "slug": "43-what-is-ipv6-and-why-does-my-website-i-need-i", "speakers": [ "Bob Van Zant" ], "tags": [], "id": 726, "state": 1, "title": "43. What is IPv6 and why does my website I need it", "summary": "On February 3rd, 2011 the world ran out of the IPv4 addresses that we know and\nlove. Clearly the Internet has survived even though hardly anyone has deployed\nIPv4's successor, IPv6. Drop by to learn about what IPv6 is, why you should\ndeploy it and some of the hurdles to deployment.\n\n", "description": "**Background**\n\nOn February 3rd, 2011 the world ran out of the IPv4 addresses that we know and\nlove. The Internet continues to work thanks to technologies like NAT that\nenable private IP addresses like 192.168.1.1 and 10.0.0.1 to be reused across\norganizations. However, even these large blocks of private IP addresses are\nnot large enough for large ISPs like Comcast in the United States that give\nseveral IP addresses to each customer (ex. cable set top box, voip, cable\nmodem).\n\nTo continue adding new customers large ISPs have begun deploying two\ntechnologies: IPv6 and large scale NAT.\n\nLarge scale NAT is a way for large ISPs to put several of their customers\nbehind a single public IP address. This means that the one public IPv4 address\nyou used to have to yourself is now shared by you and several of your\nneighbors. It means that as a website owner it is now more difficult to\ndiscern anything useful from the IP addresses visiting your website.\n\nIPv6 solves the address exhaustion problem by moving from approximately 4\nbillion IP addresses to 3.4\u00d710^38 IP addresses; more than the number of atoms\non Earth. With plenty of IP addresses ISPs can now return to giving out\nunique, public IP addresses to each customer.\n\nMany mobile operators are already beginning to deploy IPv6. In 2009 Verizon\nissued a mandate that any LTE devices on its network support IPv6 with IPv4\nsupport being listed as optional [1]. An IPv6-only device will still need\naccess to the IPv4 Internet, however, IPv6 and IPv4 are not compatible.\nProviders like Verizon are putting in place protocol translation devices that\ninspect Internet traffic going through them and proxy IPv4-only websites to\ntheir IPv6 customers. While this may sound wonderful it means that mobile\nproviders are inspecting and rewriting your packets. Making things more\ninteresting is that this won't work securely over SSL. The solution is to\nenable IPv6 on your website so that IPv6-only hosts can directly access your\ncontent.\n\n**Joining the IPv6 bandwagon**\n\nAmazon's Elastic Load Balancer supports IPv6 and is already enabled in all\neast coast availability zones [2]. If you're already using ELB enabling IPv6\non your website is as easy as making a single DNS change. Or so we'd hope,\nthere are still some impediments to a world where your site runs seamlessly on\nIPv6.\n\n**The user with broken IPv6**\n\nThere are people in the world with broken or inferior IPv6 connectivity and a\nweb browser or operating system that attempt to use IPv6 anyway. What this\nmeans is that if you turn on IPv6 on your website you have the potential to\ncut off those users from your site. In this talk I'll discuss methods for\nmeasuring and analyzing this loss before your broadly enable IPv6 so that you\ncan make an informed decision about when and how to flip the switch.\n\n**Geo IP**\n\nGeo IP libraries today are still coming to terms with IPv6. One vendor in\nparticular is working on IPv6 but only provides limited support in their free\nlibraries and not yet in their python driver. In their commercial library, the\none generally considered better, they do not support IPv6 yet due to lack of\ndata [3].\n\n**IPv6 without Amazon**\n\nAt Eventbrite we do development inside of Virtual Box virtual machines. In\nthis talk I'll discuss how we configure IPv6 on both the host and guest\noperating systems so that we can test IPv6 before we push to Amazon.\n\n**IP Address Validation**\n\nIf you accept IP addresses from end users check your IP address validation\nroutines (Django has support, see GenericIPAddressField).\n\n**References**\n\n * [1] [http://www.circleid.com/posts/20090609_verizon_mandates_ipv6_support_for_next_gen_cell_phones/](http://www.circleid.com/posts/20090609_verizon_mandates_ipv6_support_for_next_gen_cell_phones/)\n * [2] [http://www.allthingsdistributed.com/2011/05/aws_ipv6.html](http://www.allthingsdistributed.com/2011/05/aws_ipv6.html)\n * [3] [http://www.maxmind.com/app/ipv6](http://www.maxmind.com/app/ipv6)\n\n", "quality_notes": "", "copyright_text": "", "embed": "<object width=\"425\" height=\"344\"><param name=\"movie\" value=\"http://www.youtube.com/v/DTGi8y1DMtg?version=3&amp;f=videos&amp;app=youtube_gdata\"><param name=\"allowFullScreen\" value=\"true\"><param name=\"allowscriptaccess\" value=\"always\"><embed src=\"http://www.youtube.com/v/DTGi8y1DMtg?version=3&amp;f=videos&amp;app=youtube_gdata\" allowscriptaccess=\"always\" height=\"344\" width=\"425\" allowfullscreen=\"true\" type=\"application/x-shockwave-flash\"></embed></object>", "thumbnail_url": "http://img.youtube.com/vi/DTGi8y1DMtg/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "https://www.youtube.com/watch?v=VuFW0PkNS74", "whiteboard": "", "recorded": "2012-03-11", "added": "2012-03-14T02:15:16", "updated": "2014-04-08T20:28:27.360" }