|  | 9.1 | The TCP/IP Protocol Suite
| 9.1.5 | TCP and UDP port numbers
Both TCP and UDP use port (or socket) numbers to pass information to the upper layers. Port numbers are used to keep track of the different conversations that cross the network at the same time. Application software developers have agreed to use the well-known port numbers that are defined in RFC 1700. For example, any conversation bound for an FTP application uses the standard port number 21. Conversations that do not involve an application with a well-known port number are, instead, assigned port numbers that are randomly selected from within a specific range. These port numbers are used as source and destination addresses in the TCP segment. - Some ports are reserved in both TCP and UDP, although applications might not be written to support them. Port numbers have the following assigned ranges: Numbers below 255 are for public applications. Numbers 255-1023 are assigned to companies for marketable applications. Numbers above 1023 are unregulated. End systems use port numbers to select the proper application. Originating source port numbers, usually some numbers larger than 1023, are dynamically assigned by the source host.