Applies To:
  • CitectSCADA 3.xx, 4.xx, 5.xx

I have an application that communicates via TCP/IP (ie a Citect driver) and I want to ensure that I do not use the TCP/IP ports reserved for other uses. What ports should I avoid? 

Realistically you can use the following rule of thumb:

Ports below 1024 are reserved for services provided by the various operating systems that use TCPIP. They are managed by the IANA (Internet Assigned Numbers Authority). Also, these ports, due to their nature are 'reserved' by the operating system, and so are often only available to 'privileged' processes.

When writing a TCP server that is not a part of the normal services, you should be binding the daemon (or service) to port numbers above 5000 (depending on the OS (Solaris uses above 32796)).

The ports between 1024 and 5000 are normally used for short lived applications (like the port that a client is accessing a server from, or the port that gets assigned by a service once communications has been established)

Before you write a TCP service you should read some of the publications on doing so, such as :

  • UNIX Network Programming, W Stevens
  • TCP/IP Illustrated, 1, 2, 3 , W Stevens
  • the RFC's (the official standards for the Internet community - )

Citect uses NetBEUII over TCP whci uses ports 136, 137 and 138.