
Then service-B starts and connects to service-A, using port-C for the source port. Consider service-A starts and binds port-A. If a connecting application was started first, it can be terminated to release the port and then - after TCP TIME_WAIT has expired for the socket - the service can be started.īut because some services must connect to other services, this may not completely eliminate conflicts at all times.
Ephemeral ports windows driver#
Be sure to only configure resilient network for hosts where TCP connections cannot be made reliable by updating driver versions and kernel tuning.Ī connecting application is allowed to bind any port in the ephemeral range, including an unused well-known service port, so the best solution is to start all services before other process start and begin establishing connections. Note: The NetBackup Resilient Network service (nbrntd) and Secure Comm Proxy services (vnetd -proxy), especially when used in combination, can also consume many ephemeral ports if supporting thousands of concurrent connections.

Oracle sometimes recommends decreasing the lower bound for the range to 9000. This is sometimes done based on the guidance of other vendors e.g. Some sites may have inadvertently changed the ephemeral port range so that it overlaps with the NetBackup service ports and allows conflicts to occur, leading to failures such as those noted above. Again, these do not conflict with the NetBackup service ports.īut a range of 32,767 ports is sometimes not enough for busy, modern web and application servers so operating systems provide tunables to adjust the ephemeral port range. To prevent service port conflicts, newer operating system versions typically use either 32768 or 49152 as the lower bound of the range and 61000 or 65535 as the upper bound on the range.
Ephemeral ports windows windows#
This includes Linux 2.2 and prior kernels, and Windows versions prior to 2008.Īs network using applications have grown in use, hundreds or thousands of concurrent TCP connections may exist simultaneously, and the range of 3,976 port numbers could be exhausted. Historically, the ephemeral port range was 1024 to 5000 which did not conflict with the NetBackup service ports which are all in the range 13700 to 13786. The operating system typically selects these ports from the ephemeral port range. The client or source ports are selected by the connecting process, and typically provided randomly by the operating system from the available range of ports. The service ports are generally well-known ports registered with IANA, NetBackup has registered several. TCP ports are both used by services (to listen upon) and by clients (to connect from). If this connection had stayed ESTABLISHED indefinitely, bprd could not have started.

The output from netstat -na captured at the same time shows that another process is using the well-known port as the source port for a connection to some other service. The legacy service debug log shows that, upon startup, it cannot bind to the IANA reserved well-known in this case bprd port 13720. The debug logs for the associated process will show entries similar to this.Ġ8:57:26.129 do_request: Can't connect to host nbmaster: cannot connect on socket (25) The connecting process will typically fail with status 25, e.g. This problem can also affect legacy services that are similarly accessible via PBX, but that still bind to a port number that is no longer registered with IANA for local connections e.g. Typically the connection fails with status 25.Ī check of the destination host shows that the service is running, but some other process is using the IANA registered well-known TCP port for the service, preventing the service from listening on the port and completing startup processing. NetBackup processes are not able to connect to the legacy services, such as bpcd, bprd, bpdbm, bpjobd, etc.
