Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Client use high port number

Why does the client end of a connection use high port number(ephemeral ports) whereas the applications listen on typically small port numbers ?

Thx in advans, Karthik Balaguru

like image 203
Karthik Balaguru Avatar asked Dec 03 '22 06:12

Karthik Balaguru


1 Answers

Servers listen on a fixed port number so that clients will know where to connect. Clients do not need to use a fixed port number, since no one is initiating a connection to them, and in fact they cannot use a fixed port number if there may be more than one client running on the same machine (e.g. a web browser) connecting to the same server. IANA has designated ports in the range 0..49151 as fixed port numbers for specific services, and ports in the range 49152..65535 as dynamic (ephemeral) ports which are not assigned to any service and can be used when a fixed port number is not required.

The port range 0..49151 is further divided into the well known range 0..1023, which only a privileged process can bind to (at least on Unix/Linux), and the registered range 1024..49151. Ports in the range 1024..49151 can be used by server processes that may run as an unprivlieged user, and it is also possible for clients to use ports in this range if they are not being used by a server (e.g. dynamic ports on Linux and Solaris start at 32768 by default, rather than 49152).

like image 190
mark4o Avatar answered Dec 21 '22 01:12

mark4o