Longhorn Networking Chat: Ipv6 and the new TCP/IP stack

Today was the Longhorn Networking Chat, I've organized some of the QA and will do a series of posts on different topics that came up. See the full transcript on Channel 9.

There was a massive number of questions about IPv6 and the new stack in Longhorn:

Henry_MSFT (Expert):
Q: Will Longhorn have a IPv6 GUI as all systems have for IPv4? What kind of support for IPv6 Longhorn will have?

A: Yes, there will be a common UI control for IPv6. In Longhorn, all components will support IPv6, and if they have a choice of IPv4 and IPv6 addresses they will prefer IPv6 addresses.

Henry_MSFT (Expert):
Q: Hey MSFT's... Question concerning IPV6. What are we looking at in terms of support and visual interface for configuration?

A: We will have complete support for IPv6 in Longhorn. All (network aware) components in Longhorn will support IPv6 addresses. We will have common UI controls for IPv6, and support comparable to IPv4 for configuration.

Arvind_MSFT (Expert):
Q: Will Longhorn have a IPv6 GUI as all systems have for IPv4? What kind of support for IPv6 Longhorn will have?

A: Yes, we plan to include a UI for IPv6 configuration similar to the current IPv4 UI.

Henry_MSFT (Expert):
Q: What is the status of IPv6?

A: IPv6 is a key piece of our networking support in LH. Everything in LH will be fully IPv6 enabled - browsing, name, CIFS, P2P, etc. IPv6 will be on by default and will be the preferred transport if multiple options are available.

Arvind_MSFT (Expert):
Q: Will Longhorn have a IPv6 GUI as all systems have for IPv4? What kind of support for IPv6 Longhorn will have?

A: Hit send too soon... Longhorn will support all infrastructure requirements for IPv6 (DHCP, DNS).

Harish_msft (Expert): we are also working to focus our efforts on certifying the quality of driver code. Even if we do not have a certification program for a specific device category all drivers will be able to participate in the code quality program. More details at WinHec.

Arvind_MSFT (Expert):
Q: Will be possible to run LH with IPv6 only? without IPv4?

A: Yes, it will be possible to run LH with IPv6 only, i.e. with IPv4 disabled.

Henry_MSFT (Expert):
Q: How far will reach Longhorns IPv6 support? Will it be supported throughout the system and all it's services, or again some halfbaked attempt like in Windows 2003?

A: Think I've answered this a couple of times....  The IPv6 support in LH will be complete, and all components and services will support it.

Henry_MSFT (Expert):
Q: When you say 'new integrated stack' what do you mean. Is this really a brand new stack??

A: Yes, it's a brand new stack, written from the group up. It supports both Ipv4 and Ipv6 in one binary (as opposed to the current implementation which has two). It will be possible to listen on both IPv4 and IPv6 simulataneously with a single listening socket.

Joe_MSFT (Expert):
Q: Will I be able to run an IPv6 only system? I mean absolutely without the IPv4, unlike now?

A: You can actually run IPv6-only with current versions of Windows by disabling the "Internet Protocol (TCP/IP)" component in Network Connections. However, lots of applications and services don't use IPv6 in current versions of Windows so you have limited functionality. To answer your question, yes, the current plan (subject to change) is to allow you to disable all use of IPv4 and run IPv6 only, with wide support for IPv6 in Windows applications and services.

Henry_MSFT (Expert):
Q: will it be possible to configure IPv6 in LH, all windows system with IPv6 up to now don't have this possibility ?

A: Yes, it will have configuration support.

Arvind_MSFT (Expert):
Q: Will the IPv6 stack optimized for each bitwidth on x86 and x86-64 on the respective Windows build, or will it just plain make use of 64bit integer ops where the 32bit CPUs have to rely on compiler optimizations?

A: In general, the IPv6 stack uses compiler optimizations where available. We do attempt to make use of 64-bit operations where possible.

Henry_MSFT (Expert):
Q: Will the new TCP/IP stack run in kernel mode, or is it implemented as a 'user mode' process?

A: It's in kernel mode.

Arvind_MSFT (Expert):
Q: Oooh, both protocols on single socket. Will older applications be able to accept inbound IPv6 connections if they're listening on 0.0.0.0? Or do they additionally listed on :: too?

A: No to the first question, and yes to the second. "Older" applications need to be using the correct sockaddr structures as well in order to work over IPv6.

Christian_MSFT (Expert):
Q: What level of effort are you extending to test for security bugs in the new IP stack and 802.11 stack? Threat modeling, manual testing, fuzzing - there's tons to do with networking stacks.

A: All Longhorn components are required to undergo threat modelling, code inspections, and extensive testing to ensure the best possible quality and security. Critical components like TCP-IP and 802.11 get special attention, and we will definitely study and test them as much as we can!

Henry_MSFT (Expert):
Q: What is MSFT doing to help assist the transition in the IT industry to IPV6 ? And... when do you expect to see corporate take up of IPV6?

A: We are pushing transition technologies (6to4, ISATAP, Teredo) heavily. Our message to the industry is "move the applications, get them IPv6 ready, rely on transition techologies until the infrastructure is in place". We are working with IGD vendors to get them to support 6to4 in their consumer products, for example. We believe there is a lot of value in IPv6 in a transition environment and that application demand will drive infrastructure upgrade.

As for corporate uptake of IPv6 - this will be driving by compelling applications and user demand. Longhorn will be a big piece of this as it supports IPv6 completely and the peer-to-peer framework that is part of Longhorn will require IPv6 to run.

Joe_MSFT (Expert):
Q: Will the IP stack auto configure to IPV4 or V6 if the network supports it ?

A: The current behavior being considered for Longhorn is to enable both the IPv4 and IPv6 stacks by default and to attempt to configure both stacks based on the presence of DHCP servers, local advertising routers, and the autoconfiguring behavior for both IPv4 and IPv6.

Dave_MSFT (Expert):
Q: In IPv6, will be available to select source address when making a connection? Currently not available in Windows 2003.

A: At the sockets layer, it is possible to select the source address when making a connection, including in XP and 2003, by binding to the source address prior to the connect call.

Jawad_Khaki_MSFT (Expert):
Q: will there be any IPv6 -> IPv4 'Gateway' maybe in LH Server RRAS?

A: Not clear what kind of gateway you are asking. gateways take many forms.We will support several transitional technologies that will enable migrating to IPv6 applications on existing IPv4 networks. Things like 6to4, Teredo, ISATAP

Joe_MSFT (Expert):
Q: Wil this new stack require me to learn the Networking Core for the MCSE all over again? Or are we talking about minor modifications?

A: The new TCP/IP stack is planned to have integrated IPv4 and IPv6 support. While I do not know what the current plans for the MCSE courseware are, you will need to know much more about IPv6 to understand basic network connectivity.

Jawad_Khaki_MSFT (Expert):
Q: Will there be a "real" IPSec client in Longhorn, or just the PPTP / L2TP vpn clients?

A: Windows supports IPSec for host-to-host as well as remote access scenarios since windows 2000. Support is pretty standard. What do you consider "real" ipsec? We will add support for IPv6 IPSec support.