Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2569 posts at DZone. You can read more from them at their website. View Full User Profile

GAE Added to IPv6 Program

03.08.2010
| 9392 views |
  • submit to reddit
With the exhaustion of IPv4 addresses in the not too distant future, Google has been slowly adding most of its services (starting with search in 2008) to it's IPv6 program.  IPv6 is essential to the continuing health and openness of the internet, blogs Google.  In their official blog Google announced they'd be adding appspot.com and Google App Engine to the Google over IPv6 domain in a week.  

Google over IPv6 allows ISPs to request IPv6 access for many Google services if they have good connectivity and low latency.  IPv6 will spur innovation, says Google, because it allows all devices on a network to directly communicate.  IPv6 will also facilitate the continued growth of the internet.  Google over IPv6 uses a DNS resolver's IPv4 address to check a network for IPv6 capability.  After enabling IPv6 for a resolver, the IPv6 users of that resolver will receive AAAA records from the Google DNS server for IPv6-enabled Google services.

                    

Google App engine is the most recent addition to the Google over IPv6 program.  Most users won't need to make any changes to their code.  GAE users simply need to verify that their apps don't make any IPv4-specific assumptions.  Engine code that contains os.environ["REMOTE_ADDR"] in Python, or HttpServletRequest.getRemoteAddr() in Java needs to have an IPv6 address (e.g. 2001:db8::1) not an IPv4 address (e.g. 192.0.2.1).  ipaddr and java.net.InetAddress are two libraries for Python and Java respectively that can help manipulate IP addresses.

If an application doesn't handle IP addresses at all, the developer doesn't need to worry about changing it.  Unique IPv6 addresses will not be given to each app since Google is trying to keep IPv4 and IPv6 services as similar as possible.  IPv6 AAAA records will be seen by less than 1% of users that participate in the Google over IPv6 program.

If your ISP isn't a participant in Google over IPv6, you'll need to include IPv6 in your unit tests to make sure your code doesn't have issues with IPv6 addresses.  After the launch, the IPv4-IPv6 Website Gateway will be available, which gives IPv6 capable http-clients access to IPv4-only websites and IPv4 capable http-clients access to IPv6-only websites.  When it's launched, the gateway can be accessed by adding .ipv4.sixxs.org to any IPv6-enabled hostname.  Here's an example of this for the "Shoutout" app: http://shoutout.appspot.com.ipv4.sixxs.org/.

If users experience any other problems with IPv6 serving and GAE, they can report it at the App Engine issue tracker or discussion group.  IPv6-enabled Google services include: Google search (including image search, blog search and code search), Alerts, Docs, Finance, Gmail, Health, iGoogle, News, Reader, Picasa, Maps, and YouTube.  If your network meets the requirements and you'd like to receive Google over IPv6, send a request to google-ipv6@google.com.  Read the Google over IPv6 FAQ for more information.