# Terminal-serveur

L'environnement terminal–serveur désigne un mode de communication à travers un réseau entre un serveur de terminal ou un serveur de console et des terminaux clients. C'est une évolution des anciens systèmes de connexion aux ordinateurs centraux qui se base sur l'informatique centralisée et qui s’appuie sur des transmissions de type client-serveur.
Un serveur de terminal permet aux organisations de connecter des périphériques avec une interface série RS-232, RS-422 ou RS-485 à un réseau Ethernet. Aujourd'hui un serveur de terminal, en tant que service réseau, permet aussi de contrôler un parc de terminaux clients. Les produits commercialisés comme serveurs de terminaux peuvent être des dispositifs très simples n'offrant aucune fonctionnalité de sécurité, tels que le chiffrement des données et l'authentification des utilisateurs. L'objectif principal de ce système consiste alors à permettre aux périphériques série d'accéder aux applications du serveur réseau, ou vice versa et dans ce cas, la sécurité des données sur un réseau local (LAN) n'est généralement pas un problème. Il existe également sur le marché de nombreux serveurs de terminaux dotés de fonctionnalités de sécurité hautement avancées garantissant que seul un personnel qualifié peut accéder à divers serveurs et que toutes les données transmises sur le réseau local ou sur un réseau public comme Internet sont chiffrées. Habituellement, les entreprises qui ont besoin d'un serveur de terminal avec ces fonctions avancées veulent contrôler, surveiller, diagnostiquer et dépanner à distance les équipements sur un réseau de télécommunication. Ces entreprises peuvent aussi avoir besoin de centraliser l'administration des terminaux à l'échelle d'un réseau local ou public. Dans ce dernier cas, la sécurité devient l'un des principaux critères de sélection du type de serveur de terminal sauf si le choix se porte vers une protection plus globale tel qu'un réseau privé virtuel (VPN).
Un serveur de console est un serveur de terminal spécifique (également appelé serveur d'accès à la console, serveur de gestion de console, concentrateur série ou serveur de console série). C'est un périphérique ou un service réseau qui fournit un accès à la console système d'un périphérique informatique via des technologies réseau.

## Histoire

Historiquement, le serveur de terminal était un périphérique connecté à des périphériques série RS-232, tels que des terminaux en mode texte (green screen) ou des imprimantes série. Le trafic était transporté par la suite TCP/IP depuis Telnet, SSH ou d'autres protocoles réseau spécifiques à un fournisseur (par ex. LAT (en)) avec une connexion Ethernet, dès lors les terminaux ne seront plus connectés directement à l'ordinateur central.
Les DECserver (en) 100 (1985), 200 (1986) et 300 (1991) de l'entreprise Digital Equipment Corporation (DEC) sont des exemples précoces de cette technologie. (Une version antérieure de ce produit, connue sous le nom de DECSA Terminal Server était en fait un banc d'essai ou une preuve de concept pour utiliser le protocole LAT propriétaire dans les réseaux de production commerciaux.) Avec l'introduction de composants de mémoire flash peu onéreux. Les DECserver 700 (1991) et 900 (1995) ne partageaient plus avec leurs unités antérieures la nécessité de télécharger leur logiciel depuis un « hôte de chargement » (généralement un Digital VAX ou un DEC Alpha) en utilisant le protocole propriétaire MOP (en) développé par la société DEC. En fait, ces derniers serveurs de terminal comprenaient également une mémoire flash beaucoup plus importante et un support complet pour la partie Telnet de la suite de protocoles TCP/IP. Beaucoup d'autres entreprises sont entrées sur le marché des serveurs de terminaux avec des appareils préchargés avec un logiciel entièrement compatible avec LAT et Telnet.

## Usages

Un serveur de terminal peut être utilisé de plusieurs façons. À l'origine et d'un point de vue fondamental, si un utilisateur a un périphérique série et qu'il a besoin de déplacer des données via le réseau local, c'est le produit dont il a besoin. Aujourd'hui le serveur de terminal est essentiellement utilisé pour centraliser et partager des applications avec des terminaux virtuels, mais il est pratiquement toujours utilisé pour administrer à distance le réseau et les appareils informatiques des organisations.

### Fonctions classiques

* Connexion à un connecteur TCP brut : une connexion à un connecteur TCP brut (raw TCP socket) peut être lancée à partir du serveur de terminal, d'un hôte ou d'un serveur distant. La connexion peut se faire depuis une liaison point à point ou partagée, où les périphériques à transmission série (comme les lecteurs de cartes, les scanners, les lecteurs de codes à barres, les balances de poids, etc.) peuvent être mutualisé entre plusieurs appareils. Les sessions TCP peuvent être initialisées à partir du serveur d'application TCP ou du serveur de terminal.
* Connexion à un connecteur UDP brut : pour une utilisation avec des applications basées sur UDP, les serveurs de terminaux peuvent convertir les données d'équipement en série pour le transport à travers des paquets UDP depuis une liaison point à point ou partagée entre plusieurs périphériques.
* Gestion de console (Reverse Telnet et Reverse SSH) : dans la terminologie employée en gestion de console, les utilisateurs peuvent parler de Telnet inversé (en) ou de SSH inversé lorsqu'il s'agit de se connecter à un périphérique à transmission série. Ils exécutent Telnet ou SSH sur leur client (ordinateur personnel) et se connectent au serveur de terminal, puis se connectent au périphérique à transmission série. Dans cette application, les serveurs de terminaux sont également appelés serveurs de console, car ils sont utilisés pour se connecter aux ports de la console qui se trouvent sur des produits tels que les routeurs, PBX, commutateurs et serveurs (Linux ou Sun). L'idée est d'accéder à ces appareils via leur port console.
* Connecter des applications série avec un pilote de port COM/TTY : de nombreuses applications logicielles ont été écrites pour communiquer avec des périphériques directement connectés aux ports COM séries d'un serveur (machines d'assemblage robotisées, scanners, lecteurs de cartes, capteurs, analyseurs de sang, etc. ). Les entreprises peuvent souhaiter mettre en réseau ces applications, car les périphériques qui étaient directement connectés aux ports COM du serveur doivent être déplacés vers un emplacement distant du serveur d'applications. Étant donné que l'application d'origine a été conçue pour communiquer directement avec un port COM spécifique, une solution transparente pour l'application et le périphérique doit être implémentée pour permettre la communication sur un réseau IP (c'est-à-dire une solution qui fait croire à l'application qu'elle communique directement avec un port COM). Dans cette application, les ports de transmission série (en) peuvent être connectés aux serveurs réseau ou aux postes de travail exécutant un logiciel de redirection de port COM. De nombreux fournisseurs de serveurs de terminaux incluent un logiciel de redirection de port COM avec leurs serveurs de terminaux. Ce besoin est plus courant dans les environnements Windows, mais existe également dans les environnements Linux et Unix.
* Tunnelisation série entre deux périphériques série (serial tunneling) : l'encapsulation d'une transmission série dans un tunnel du réseau IP permet aux utilisateurs d'établir une liaison via Ethernet avec un port de transmission série sur un autre serveur de terminal.
* Connexion dos à dos (back to back) : la connexion dos à dos (en) est conçue pour résoudre un problème de câblage. Par exemple, un utilisateur doit remplacer le câble RS-232, RS-422 ou RS-485 et exécuter ses commandes depuis Ethernet sans apporter de modifications ultimes au serveur ou au périphérique à transmission série ; un utilisateur veut remplacer progressivement un réseau linéaire (cf. topologie de réseau) de modem loué en parallèle avec un réseau Ethernet ; une entreprise à une machine de placement de composants électroniques (en) (pick and place machine) et elle souhaite déplacer le contrôleur dans une pièce arrière où l'équipement sera à l'abri des dommages. La connexion dos à dos est idéale lorsqu'une machine fonctionne avec un logiciel écrit pour collecter des informations à partir de ce périphérique (commun avec des capteurs). Cette application permet d'éliminer une grande partie du câblage. Le serveur de terminal peut également être utilisé avec des appareils industriels (comme un automate programmable industriel de type Allen-Bradley, Siemens ou encore Modbus) afin que ces appareils puissent fonctionner de manière transparente sur un réseau informatique.
* Modem virtuel : le modem virtuel est un autre exemple de connexion dos-à-dos. Il peut être utilisé pour remplacer les modems tout en maintenant la possibilité d'utiliser l'ensemble des commandes AT. Dans ce cas une adresse IP est tapée dans le jeu de commandes AT au lieu du numéro de téléphone d'un périphérique à transmission série.

### Applications modernes

* Client léger : un serveur de terminal moderne peut offrir la possibilité de centraliser les ressources sur une machine dédiée à une ou plusieurs applications afin de réduire le coût de l'administration et de la maintenance des postes clients. Les ressources de l'ordinateur client sont essentiellement consommées par la transmission des entrées et des sorties de l'interface utilisateur fournie par le serveur de terminal. Parmi les serveurs prédestinés à cette fonction on peut citer Terminal Services de Microsoft et Linux Terminal Server Project.
* Bureau à distance : sur le même principe technique qu'une communication entre un client léger et son serveur de terminal, le bureau à distance permet d'utiliser un ordinateur pour faire de la téléassistance ou de la télémaintenance généralisée à l'ensemble d'un système d'information ainsi que de proposer une infrastructure consacrée au télétravail.
* Partage d'application : une application monoposte, mais multi-utilisateur, qui n'est pas conçu pour l'architecture client-serveur peut être partagé sur un serveur de terminal afin d'étendre sa connectivité à l'ensemble des utilisateurs d'un réseau. L’application devient éventuellement capable d'accepter des sessions multiples (connexion multi-utilisateur en simultané) à l'échelle d'un réseau de terminaux clients si son code source le permet. Toutefois, certains contrats de licence interdisent ce type de partage et des algorithmes peuvent être mis en place au sein de l'application afin de détecter les conditions de son fonctionnement et ainsi bloquer son utilisation.
* Répartition de charge (load balancing) : derrière un service de serveur de terminal il est possible de répartir les ressources consacrées aux logiciels afin d'obtenir une meilleure disponibilité d'accès aux applications fournis aux terminaux clients.

## Serveur de console

Un serveur de console (serveur d'accès à la console, serveur de gestion de console, concentrateur série ou serveur de console série) est un périphérique ou un service qui fournit un accès à la console système d'un périphérique informatique via des technologies réseau.
Le plus souvent, un serveur de console fournit un certain nombre de ports série, qui sont ensuite connectés aux ports série d'autres équipements, tels que des serveurs, des routeurs ou des commutateurs. Les consoles des périphériques connectés sont alors accessible en se connectant au serveur de console depuis une liaison série comme un modem ou via un réseau avec un logiciel d'émulation de terminal tel que Telnet ou SSH, tout en maintenant une continuité des connexions. Cette infrastructure permet aux utilisateurs distants de se connecter à différentes consoles sans être physiquement à proximité.

### Description

Les serveurs de console dédiés sont disponibles auprès de plusieurs fabricants dans de nombreuses configurations, avec un nombre de ports série allant de un à quatre-vingt-seize. Ces serveurs de console sont principalement utilisés pour un accès distant sécurisé aux serveurs Unix, aux serveurs Linux, aux commutateurs, aux pare-feu, et tout autre périphérique réseau équipé d'un port de console. Le but est de permettre au personnel du centre d'exploitation réseau (NOC) d'effectuer une gestion sécurisée des centres de données distants et une gestion hors bande (en) des ressources informatiques depuis n'importe où dans le monde. Les produits commercialisés en tant que serveurs de console disposent généralement de fonctionnalités de sécurité très avancées garantissant que seul un personnel qualifié peut accéder à divers serveurs et que toutes les données transmises sur le réseau local ou sur Internet sont cryptées. La commercialisation d'un produit en tant que serveur de console est très spécifique à l'application car elle fait réellement référence à ce que l'utilisateur souhaite faire : contrôler, surveiller, diagnostiquer et dépanner à distance l'équipement sur un réseau ou sur Internet.
Certains utilisateurs ont créé leurs propres serveurs de console à l'aide de matériel informatique de base (en) disponible sur le marché, généralement avec des cartes série multi-port fonctionnant principalement avec un système d'exploitation de type Unix allégé tel que Linux. De tels serveurs de console « maison » peuvent être moins chers, surtout s'ils sont construits à partir de composants qui ont été retirés lors des mises à niveau, et permettent une plus grande flexibilité en confiant le contrôle total du logiciel à l'administrateur réseau. Cela inclut l'accès complet à la configuration d'un plus large éventail de protocoles de sécurité et de normes de chiffrement, ce qui permet de créer un serveur de console plus sécurisé. Cependant, cette solution peut avoir un coût du cycle de vie plus élevé, une moindre fiabilité et des besoins en rack plus élevés, puisque la plupart des serveurs de consoles industrielles ont la dimension physique d'une unité rack (1U), alors qu'un ordinateur de bureau avec cartes PCI nécessite au moins trois unités de rack (3U), rendant la solution locale plus coûteuse dans le cas d'une infrastructure installée dans un centre de colocation (en).
Dans certaines configurations de grappe de serveurs, une approche alternative à l'installation d'un serveur de console est de connecter les consoles sur une prise de modem nul connecté sur des ports séries reliés à la chaîne afin de former un réseau (cf. topologie de réseau) depuis des nœuds dédiés en principe à une autre fonction qui serait autrement inutilisé.