Dynamic (ephemeral) Port Allocation Global or per-IP? RRS feed

  • Question

  • Due to an unfortunate application design, I am encountering an issue where I am exhausting ephemeral ports, even after increasing the range.  We have noticed the ephemeral port range seems to be allocated globally, regardless of sourceIP.

    This post http://charlesgate86.wordpress.com/2011/09/23/cas-connection-scalibility-between-exchange-2007-2010/ seems to indicate that support was added in Windows Server 2008 for per-IP source port selection.   However, it also indicates that applications must be modifiied to leverage such support, but alas does not give any details on the modifications required.

    The relevant section: 


    Where we see a scale limitation is between CAS and mailbox.  Prior to Windows Server 2008, each outbound connection would only use a single source port regardless of the destination IP or whether the source port was available for use; in other words, once the source port was used, it could not be used for any other outbound connection on the server.  Thus we were limited to the maximum number of TCP/IP connections, which for Exchange Server 2007 is 60,000 (MaxUserPort TCP setting).  We addressed this in Windows Server 2008 by allowing the source port to be used once on a per IP address basis.  So now as long as we have additional IP addresses on CAS, we can scale 60,000 outbound connections per source IP address.  However, the corresponding applications had to take advantage of this new feature.  In the case of Outlook Anywhere, the RPC Proxy service on Windows Server 2008 was updated to do so.  DSProxy, on the other hand, was not – so the mailbox server is limited to 60,000 outbound connections to global catalog servers."

    Where can I find information on the application changes required to take advantage of per-IP source port selection?

    Thank you

    Tuesday, October 14, 2014 9:34 PM