Ephemeral port

From Wikipedia, the free encyclopedia

An ephemeral port is a short-lived transport protocol port for Internet Protocol (IP) communications allocated automatically from a predefined range by the IP software. It is used by the Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or the Stream Control Transmission Protocol (SCTP) as the port assignment for the client end of a client–server communication to a well known port on a server.

On servers, ephemeral ports may also be used as the port assignment on the server end of a communication. This is done to continue communications with a client that initially connected to one of the server's well-known service listening ports. File Transfer Protocol (FTP) and Remote Procedure Call (RPC) applications are two protocols that can behave in this manner. Note that the term "server" here includes workstations running services that receive connections initiatied from other clients (such as Remote Desktop Protocol or RDP).

The allocations are temporary and only valid for the duration of the communication session. After completion of the communication session, the ports become available for reuse.[note 1] Since the ports are used on a per request basis they are also called dynamic ports.

The Internet Assigned Numbers Authority (IANA) suggests the range 49152 to 65535 (215+214 to 216−1) for dynamic or private ports.[1]

Many Linux kernels use the port range 32768 to 61000.[note 2] FreeBSD has used the IANA port range since release 4.6. Previous versions, including the Berkeley Software Distribution (BSD), use ports 1024 through 5000 as ephemeral ports.[2]

Microsoft Windows operating systems through XP use the range 1025 to 5000 as ephemeral ports by default.[3] Windows Vista, Windows 7, and Server 2008 use the IANA range by default.[4] Windows Server 2003 uses the range 1025 to 5000 by default, until Microsoft security update MS08-037 from 2008 is installed, after which it uses the IANA range by default.[5] Few Microsoft articles other than KB Article 956188 reference the new port range used by Windows Server 2003, leading to confusion. Of specific note, Windows Server 2008 with Exchange Server 2007 installed has a default port range of 1025 through 60000.[6]

In addition to the default range, all versions of Windows since Windows 2000 also allow the option to use a non-default port range with a maximum of 1025 to 65535.[7][8] Some Microsoft articles misleadingly list only this non-default range,[9] leading to a popular misconception that 1025 to 65535 is the default or required port range used.

See also

Notes

  1. Most implementations may simply increment the last used port number until the ephemeral port range is exhausted.
  2. The effective range is accessible via the /proc file system at node /proc/sys/net/ipv4/ip_local_port_range.

References

External links

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.