Console servers and terminal servers both provide a number of serial ports which are then connected to the serial ports of other equipment. Functionally both console and terminal servers are serial-over-IP devices running similar network and serial port software. So what is the difference?
Terminal servers were originally designed to allow RS232 serial devices (such as "green screen" text terminals, modems and serial printers) to connect to networked resources like mainframe and mini computers. The terminal server handled all of the network protocol tasks. With a terminal server the user connection is established coming in from a serial port, and then out to the network port.
A terminal server accepts connection requests coming in via the serial port. It does this by running some type of getty program which spawns a shell allowing the user to start a telnet/ssh client so the connection request can log in. The terminal server then connects the serial device session out to the network, which requires network client software (such as a telnet or ssh client). A Linux based terminal server typically would be configured with:
- PPP server (for incoming PPP over serial connections)
- getty
- Shell (e.g. bash)
- Telnet/SSH client
Conversely the console server enables users on the network to establish connection to devices with serial ports. So the communications are initiated from the network port. Console servers are a newer generation solution designed with remote access to serial consoles as a primary task. They often come with default settings already configured for such service, and most have SSL and/ or SSH security features built-in. To do this the console server needs server serial communications capabilities (such as sshd and telnetd). The console server also needs software which can log all data going in/out of the serial port and do intelligent things with it such as pattern matching to trigger events, email notifications etc (like portmanager does in the Opengear console server). So typically a console server would be built up with:
- Telnet/SSH Server
- Shell (e.g. bash)
- Portmanager / Conserver
Opengear's console server products go beyond these basic console server functions:
- they can be configured to support serial tunneling - for interconnecting serial devices over a network. Serial tunneling is the encapsulation of serial data into network packets, so two console servers on an IP network can be configured as a virtual serial cable (refer faq 254)
- they also support secure serial console access and secure in-band network console access by SSH tunneling HTTP, RDP, VNC, UDP etc. connections, and
- they can be configured to operate in terminal server mode, on a port by port basis (refer faq 246)
