Vous êtes sur la page 1sur 5

Introduction au protocole Telnet

Le protocole Telnet est un protocole standard d'Internet permettant l'interfaage de terminaux et


d'applications travers Internet. Ce protocole fournit les rgles de base pour permettre de relier un client
(systme compos d'un affichage et d'un clavier) un interprteur de commande (ct serveur).
Le protocole Telnet s'appuie sur une connexion TCP pour envoyer des donnes au format ASCII
codes sur 8 bits entre lesquelles s'intercalent des squences de contrle Telnet. Il fournit ainsi un
systme orient communication, bi-directionnel (half-duplex), cod sur 8 bits facile mettre en oeuvre.
Le protocole Telnet repose sur trois concepts fondamentaux :
Le paradigme du terminal rseau virtuel (NVT, Network Virtual Terminal) ;
Le principe d'options ngocies ;
Les rgles de ngociation.




Ce protocole est un protocole de base, sur lequel s'appuient certains autres protocoles de la suite TCP/IP
(FTP, SMTP, POP3, ...). Les spcifications de Telnet ne mentionnent pas d'authentification car Telnet est
totalement spar des applications qui l'utilisent (le protocole FTP dfinit une squence d'authentification
au-dessus de Telnet). En outre le protocole Telnet est un protocole de transfert de donnes non sr,
c'est--dire que les donnes qu'il vhicule circulent en clair sur le rseau (de manire non chiffre).
Lorsque le protocole Telnet est utilis pour connecter un hte distant la machine sur lequel il est
implment en tant que serveur, ce protocole est assign au port 23.
Hormis les options et les rgles de ngociation associes, les spcifications du protocole Telnet sont
basiques. La transmission de donnes travers Telnet consiste uniquement transmettre les octets
dans le flux TCP (le protocole Telnet prcise tout de mme que les donnes doivent par dfaut, c'est--
dire si aucune option ne prcise le contraire, tre groupes dans un tampon avant d'tre envoyes. Plus
exactement cela signifie que par dfaut les donnes sont envoyes ligne par ligne). Lorsque l'octet 255
est transmis, l'octet suivant doit tre interprt comme une commande. L'octet 255 est ainsi
nomm IAC(Interpret As Command, traduisez Interprter comme une commande). Les commandes sont
dcrites plus loin dans le document.
Les spcifications basiques du protocole Telnet sont disponibles dans le RFC854, tandis que les
nombreuses options sont dcrites par les RFC 855 861.

RFC concernant Telnet
RFC 854 Telnet Protocol Specifications
RFC 855 Telnet Option Specifications
RFC 856 Telnet binary transmission
RFC 857 Telnet Echo Option
RFC 858 Telnet Suppress Go ahead Option
RFC 859 Telnet Status Option
RFC 860 Telnet Timing Mark Option
RFC 861 Telnet Extended options-list Option


La notion de terminal virtuel
Aux dbuts d'Internet, le rseau (ARPANET) tait compos de machines dont les configurations taient
trs peu homognes (claviers, jeux de caractres, rsolutions, longueur des lignes d'affichage). D'autre
part, les sessions des terminaux possdaient galement leur propre faon de contrler les flux de
donnes en entre/sortie.
Ainsi, au lieu de crer des adaptateurs pour chaque type de terminal afin qu'il puisse y avoir une
interoprabilit de ces systmes, il a t dcid de mettre au point une interface standard,
appele NVT (Network Virtual Terminal, traduisezTerminal rseau virtuel), fournissant une base de
communication standard, compose de :
Caractres ASCII 7 bits auxquels s'ajoutent le code ASCII tendu
Trois caractres de contrle
Cinq caractres de contrle optionnels
Un jeu de signaux de contrle basique

Le protocole Telnet consiste ainsi crer une abstraction du terminal, permettant n'importe quel hte
(client ou serveur) de communiquer avec un autre hte sans connatre ses caractristiques.

Le principe d'options ngocies
Les spcifications du protocole Telnet permettent de prendre en compte le fait que certains terminaux
puissent proposer des services additionnels, non dfinis dans les spcifications de base (mais conformes
aux spcifications), afin de pouvoir utiliser des fonctions avances. Ainsi, ces fonctionnalits se traduisent
en terme d'options. Le protocole Telnet propose donc un systme de ngociations d'options permettant
l'utilisation de fonctions avances sous forme d'options de part et d'autre en initiant des requtes pour en
demander l'autorisation au systme distant.
Les options de Telnet affectent sparment chaque direction du canal de donnes. Ainsi, chaque
extrmit est mme de ngocier les options, c'est--dire de dfinir les options qu'elle :
veut utiliser (DO)
refuse d'utiliser (DON'T)
veut que l'autre extrmit utilise (WILL)
refuse que l'autre extrmit utilise (WON'T)




De cette faon, chacune des parties peut mettre une demande d'utilisation d'une option. L'autre partie
doit alors rpondre si elle accepte ou non l'utilisation de l'option. Dans le cas o la requte concerne une
dsactivation d'option, le destinataire de la requte ne doit pas refuser pour tre totalement compatible
avec le modle NVT.

La ngociation d'options Telnet
<span
class="texte2">Requte</span>
<span
class="texte2">Rponse</span>
<span
class="texte2">Interprtation</span>
DO
WILL
L'metteur commence en utilisant
l'option
WON'T
L'metteur ne doit pas utiliser
l'option
WILL
DO
L'metteur commence en utilisant
l'option, aprs avoir envoy un DO
DON'T
L'metteur ne doit pas utiliser
l'option
DON'T WON'T
L'metteur signale qu'il a dsactiv
l'option
WON'T DON'T
L'metteur signale que l'metteur
doit dsactiver l'option




Il existe 255 codes d'options. Le protocole Telnet prvoit tout de mme un espace d'adressage
permettant de dcrire de nouvelles options.
Le RFC 855 explique comment documenter toute nouvelle option.
Les rgles de ngociation
Des rgles de ngociation d'options permettent d'viter des situations de bouclage (par exemple qu'une
des parties envoie des requtes de ngociation d'options chaque confirmation de l'autre partie).
<ol>
Les requtes ne doivent tre mises que lors d'un changement de mode
Lorsqu'une des parties reoit une requte de changement de mode, il ne doit l'aquitter que s'il ne se
trouve pas dj dans le mode appropri
Une requte ne doit tre insre dans le flux de donnes qu' l'endroit o elle prend effet.

</ol>

Les caractres de contrle de la sortie
Les caractres suivants sont des commandes permettant de contrler l'affichage du terminal rseau
virtuel :

Commandes de contrle de l'affichage
<span
class="texte2">Numro<
/span>
<span
class="texte2">Code</
span>
<span
class="texte2">Nom</
span>
<span
class="texte2">Signification
</span>
0 NULL Null
Cette commande permet
d'envoyer des donnes
l'hte distant sans que
celles-ci ne soient
interprtes (notamment
pour signaler que l'hte local
est toujours en ligne)
1 LF Line Feed
Cette commande permet de
dplacer le curseur
d'impression la ligne
suivante, la mme position
horizontale
2 CR Carriage Return
Cette commande (Retour
Chariot) permet de dplacer
le curseur d'impression
l'extrme gauche de la ligne
courante




Ainsi, on dfinit la commande CRLF, compose des deux commandes CR et LFl'une aprs l'autre (dans
n'importe quel ordre) permettant de dplacer le curseur d'impression l'extrme gauche de la ligne
suivante.
Les caractres de contrle optionnels
Les caractres prcdents sont les seuls (parmi les 128 caractres du code ASCII de base et des 128
caractres du code ASCII tendu) possder une signification particulire pour le terminal rseau virtuel.
Les caractres suivants peuvent ventuellement avoir une signification sur un terminal rseau virtuel
mais ne sont pas ncessairement implments.

Vous aimerez peut-être aussi