# Terminal server

A terminal server connects devices with a serial port to a local area network (LAN). Products marketed as terminal servers can be very simple devices that do not offer any security functionality, such as data encryption and user authentication. The primary application scenario is to enable serial devices to access network server applications, or vice versa, where security of the data on the LAN is not generally an issue. There are also many terminal servers on the market that have highly advanced security functionality to ensure that only qualified personnel can access various servers and that any data that is transmitted across the LAN, or over the Internet, is encrypted. Usually, companies that need a terminal server with these advanced functions want to remotely control, monitor, diagnose and troubleshoot equipment over a telecommunications network.
A console server (also referred to as console access server, console management server, serial concentrator, or serial console server) is a device or service that provides access to the system console of a computing device via networking technologies.

## History

Although primarily used as an Interface Message Processor starting in 1971, the Honeywell 316 could also be configured as a Terminal Interface Processor (TIP) and provide terminal server support for up to 63 ASCII serial terminals through a multi-line controller in place of one of the hosts.
Historically, a terminal server was a device that attached to serial RS-232 devices, such as "green screen" text terminals or serial printers, and transported traffic via TCP/IP, Telnet, SSH or other vendor-specific network protocols (e.g., LAT) via an Ethernet connection.
Digital Equipment Corporation's DECserver 100 (1985), 200 (1986) and 300 (1991) are early examples of this technology. (An earlier version of this product, known as the DECSA Terminal Server was actually a test-bed or proof-of-concept for using the proprietary LAT protocol in commercial production networks.) With the introduction of inexpensive flash memory components, Digital's later DECserver 700 (1991) and 900 (1995) no longer shared with their earlier units the need to download their software from a "load host" (usually a Digital VAX or Alpha) using Digital's proprietary Maintenance Operations Protocol (MOP). In fact, these later terminal server products also included much larger flash memory and full support for the Telnet part of the TCP/IP protocol suite. Many other companies entered the terminal-server market with devices pre-loaded with software fully compatible with LAT and Telnet.

## Modern usage

A "terminal server" is used many ways but from a basic sense if a user has a serial device and they need to move data over the LAN, this is the product they need.
* Raw TCP socket connection: A raw TCP socket connection which can be initiated from the terminal server or from the remote host/server. This can be point-to-point or shared, where serial devices (like card readers, scanners, bar code readers, weight scales, etc.) can be shared amongst multiple devices. TCP sessions can be initiated from the TCP server application or from the terminal server.
* Raw UDP socket connection: For use with UDP based applications, terminal servers can convert serial equipment data for transport across UDP packets on a point-to-point basis or shared across multiple devices.
* Console management - reverse Telnet, reverse SSH: In console management terminology, users can use reverse Telnet or SSH to connect to a serial device. They run Telnet or SSH on their client (PC) and attach to the terminal server, then connect to the serial device. In this application, terminal servers are also called console servers because they are used to connect to console ports which are found on products like routers, PBXes, switches and servers (Linux or Sun). The idea is to gain access to those devices via their console port.
* Connect serial-based applications with a COM/TTY port driver: Many software applications have been written to communicate with devices that are directly connected to a server's serial COM ports (robotic assembly machines, scanners, card readers, sensors, blood analyzers, etc.). Companies may want to network these applications because the devices that were directly connected to the server's COM ports need to be moved to a location some distance away from the application server. Since the original application was designed to talk directly to a specific COM port, a solution seamless to both the application and device must be implemented to enable communication across an IP network. (i.e., a solution that makes the application think it is talking directly to a COM port.) In this application, serial ports can be connected to network servers or workstations running COM port redirector software operating as a virtual COM port. Many terminal server vendors include COM port redirector software with their terminal servers. This application need is most common in Windows environments, but also exists in Linux and Unix environments.
* Serial tunneling between two serial devices: Serial tunneling enables users to establish a link across Ethernet to a serial port on another terminal server.
* Back to back: This application is designed to solve a wiring problem. For example, a user needs to replace RS-232, RS-422 or RS-485 wire and run their data over Ethernet without making any changes to the server or the ultimate serial device, a user wants to replace a parallel leased line modem network with their parallel Ethernet network, or someone has a pick and place machine that puts ICs on boards, and they want to move the server into a back room where the equipment will be safe from damage. This application is ideal where a device exists with an application written to gather information from that device (common with sensors). This application allows them to eliminate the wiring. It can also be used with industrial devices (Allen-Bradley, Siemens, Modbus) so that those devices can be run transparently across the network.
* Virtual modem: Virtual modem is another example of a back-to-back application. It may be used to replace modems but still use an AT command set. An IP address is typed into the AT command set instead of the phone number of a serial device.

## Console Server

A console server (console access server, console management server, serial concentrator, or serial console server) is a device or service that provides access to the system console of a computing device via networking technologies.
Most commonly, a console server provides a number of serial ports, which are then connected to the serial ports of other equipment, such as servers, routers or switches. The consoles of the connected devices can then be accessed by connecting to the console server over a serial link such as a modem, or over a network with terminal emulator software such as telnet or ssh, maintaining survivable connectivity that allows remote users to log in the various consoles without being physically nearby.

### Description

Dedicated console server appliances are available from a number of manufacturers in many configurations, with the number of serial ports ranging from one to 96. These Console Servers are primarily used for secure remote access to Unix Servers, Linux Servers, switches, routers, firewalls, and any other device on the network with a console port. The purpose is to allow network operations center (NOC) personnel to perform secure remote data center management and out-of-band management of IT assets from anywhere in the world. Products marketed as Console Servers usually have highly advanced security functionality to ensure that only qualified personnel can access various servers and that any data that is transmitted across the LAN, or over the Internet, is encrypted. Marketing a product as a console server is very application specific because it really refers to what the user wants to do—remotely control, monitor, diagnose and troubleshoot equipment over a network or the Internet.
Some users have created their own console servers using off-the-shelf commodity computer hardware, usually with multiport serial cards typically running a slimmed-down Unix-like operating system such as Linux. Such "home-grown" console servers can be less expensive, especially if built from components that have been retired in upgrades and allow greater flexibility by putting full control of the software driving the device in the hands of the administrator. This includes full access to and configurability of a wide array of security protocols and encryption standards, making it possible to create a console server that is more secure. However, this solution may have a higher TCO, less reliability and higher rack-space requirements, since most industrial console servers have the physical dimension of one rack unit (1U), whereas a desktop computer with full-size PCI cards requires at least 3U, making the home-grown solution more costly in the case of a co-located infrastructure.
An alternative approach to a console server used in some cluster setups is to null-modem wire and daisy-chain consoles to otherwise unused serial ports on nodes with some other primary function.