Tuesday, February 5, 2013

EZproxy wish list: IPv6 support

Of all the wish list items that I have mentioned, this is one that OCLC has committed to, so this is technically more of an "anxiously awaiting" rather than "wished for", but this way we can cross an item off the list when OCLC ship the 6.0 version of EZproxy.

OCLC has stated that the 6.0 release (slated for March 2013) will include support for IPv6, and will build upon the support in subsequent updates.  Exactly what we can expect in the initial version is not crystal clear, but hopefully listening on IPv6 and being able to send requests to databases that are on IPv4 networks will be a part of the supported functionality of that initial release.

Last year, OCLC hosted a virtual users group meeting on IPv6 where they outlined their IPv6 plans.  In that meeting, it sounds like the first build that supports IPv6 may only support IPv6 to IPv6 connections.  What I'm waiting to see is if it is going to be supported for EZproxy answer to IPv6 connections but connect users to IPv4 services, as that will be the most common scenario in the short term with IPv6 clients connecting to databases that are still running on IPv4 addresses.

Short term IPv6 slide from the user's group presentation
In the diagram above it makes it seem that 6to4 handling may not be part of the features supported for the first iteration.  The discussion around this slide was saying that the "ADC" (load balancers to us old-timers) would be handling the network protocol translation, which imply that the vendors will be responsible for putting up IPv6 to IPv4 devices to accept IPv6 connections.

That could just be a shortcoming of the amount of space that was available when making that graphic, but they do not show a dual-stack EZproxy server as part of the setup, rather what appears to be a separate EZproxy instance for IPv4 and IPv6.  I had asked about this in the Q&A portion of the presentation, but it was missed in the initial flurry of questions.

Perhaps the following graphic shows the desired dual-stack functionality better:

What this hopefully expresses is that clients can connect to the proxy from either protocol (IPv4 or IPv6) and connect to web servers across either protocol, regardless of which network the request originated.

From a programming point of view, once the connection is accepted on a IPv6 socket, there should be no problem copying the TCP payload to an outbound IPv4 socket for a connection to the vendor, so I am really expecting the first release to be able to handle this.

The good news is there is not much time left to wait before the 6.0 beta should be available.  I for one am hoping to be a happy camper, as we already see native IPv6 traffic, and EZproxy is the last piece of our infrastructure that is not IPv6 ready.  If the initial release does not support IPv6 to IPv4 connections, I may have to get creative on the proxy's connection to the backbone network instead...

No comments:

Post a Comment