RDS IP Virtualization in Windows Server 2012

RDS IP Virtualization in Windows Server 2012

This is a landing page for articles and information related to Remote Desktop Services (RDS) IP Virtualization in Windows Server 2012.

Unchanged in Windows Server 2012 since Windows Server 2008 R2
•        Group Policies, as described here: http://blogs.msdn.com/b/rds/archive/2009/07/15/configuring-remote-desktop-ip-virtualization-ii.aspx
•        Static IP address registry keys, as described here: http://technet.microsoft.com/en-us/library/ee382306(v=ws.10).aspx
•        WMI provider, as described here: http://msdn.microsoft.com/en-us/library/windows/desktop/gg130925(v=vs.85).aspx

Removed in Windows Server 2012 since Windows Server 2008 R2
•       Remote Desktop Session Host Configuration MMC, as described here: http://blogs.msdn.com/b/rds/archive/2009/07/09/configuring-remote-desktop-ip-virtualization-part-1.aspx
•       IP Virtualization PowerShell cmdlets, as described here: http://blogs.msdn.com/b/rds/archive/2009/07/20/configuring-remote-desktop-ip-virtualization-iii.aspx

Added in Windows Server 2012 since Windows Server 2008 R2
•        Registry key and WMI provider for loopback virtualization

Overview of loopback virtualization
When the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAPPSrv\VirtualIP\VirtualizeLoopbackAdresses registry key is set to 1, each RDS session, when attempting to bind to 127.0.0.1 will instead be redirected to 127.(0.0.1+Session Id).  For example:
               Session 1: 127.0.0.2
               Session 250: 127.0.0.251
               Session 255: 127.0.1.1
               Etc…

It is important to note that this automatic IP virtualization redirection will occur when a socket binds to 127.0.0.1, but not when a socket connects to 127.0.0.1.  This means that if within your RDS session you have a client component (connects to a socket) and a server component (binds to a socket) that need to communicate using loopback addresses, the client component will first need to determine the virtualized loopback IP address to use based on the session ID.  If the client component tries to connect to 127.0.0.1 it will be using session 0.

When IP virtualization was enabled on Windows Server 2008 R2, application components that tried to bind to 127.0.0.1 would effectively bind to the external virtualized IP address.  In Windows Server 2012 there are now separate settings for external IP virtualization and loopback IP virtualization, so binding to 127.0.0.1 will always use session 0 unless loopback IP virtualization is configured.

The WMI class linked above does not yet include descriptors for the loopback virtualization methods and properties. They will be added to that MSDN topic or this wiki shortly.

Leave a Comment
  • Please add 4 and 5 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Yagmoth555 edited Revision 1. Comment: good articles ! linked from windows 2012 portal & added minor tag

  • Carsten Siemens edited Original. Comment: Added tag: en-US

Page 1 of 1 (2 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Carsten Siemens edited Original. Comment: Added tag: en-US

  • Yagmoth555 edited Revision 1. Comment: good articles ! linked from windows 2012 portal & added minor tag

  • Interesting. Great info. Thanks for sharing!

Page 1 of 1 (3 items)