Le protocole TELNET

Numéro d'article: 467916 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F17916
Agrandir tout | Réduire tout

Résumé

RESUME

Telnet offre aux utilisateurs la capacité d'exécuter des programmes à
distance et facilite l'administration à distance. Telnet est disponible
pour quasiment tous les systèmes d'exploitation et facilite l'intégration
dans des environnements de réseau hétérogènes.


INFORMATIONS DETAILLEES

Telnet peut être interprété dans le contexte d'un utilisateur avec un
terminal simple utilisant le programme local Telnet (désigné comme le
programme client), afin d'exécuter une ouverture de session sur un
ordinateur distant où les besoins de communication de l'utilisateur
seront traités par un programme serveur Telnet.

Il importe de souligner que le serveur Telnet est à même de transmettre
les données reçues du client à beaucoup d'autres types de processus, et
notamment à un serveur d'accès distant. Cette caractéristique est décrite
dans la RFC 854 et a été publiée pour la première fois en 1983.

Le terminal virtuel réseau

La communication est établie à l'aide du protocole TCP/IP et repose sur
un terminal virtuel réseau. Sur le client, le programme Telnet se charge
de la conversion des codes de terminal virtuel réseau entrants en codes
intelligibles pour le périphérique d'affichage du client ainsi que de la
conversion des codes clavier générés par le client en codes de terminal
virtuel réseau sortants.

Le terminal virtuel réseau utilise des codes sur 7 bits pour les
caractères. Le périphérique d'affichage, désigné comme imprimante dans la
RFC, doit simplement afficher les caractères d'impression ASCII standard
(représentés par des codes sur 7 bits), ainsi que reconnaître et traiter
certains codes de contrôle. Les caractères sur 7 bits sont transmis en
tant qu'octets de 8 bits, avec le bit de poids fort défini à zéro. Une
fin de ligne est transmise sous forme de retour chariot suivi d'un saut
de ligne. Si vous devez émettre un véritable retour chariot, celui-ci
sera transmis au moyen d'un retour chariot suivi d'un caractère NUL (où
tous les bits sont à zéro).

Les codes ASCII de terminal virtuel réseau sont utilisés par beaucoup
d'autres protocoles Internet, dont SMTP et FTP.

Les codes de contrôle suivants sont requis pour dialoguer avec le
terminal virtuel réseau.

Nom Code Valeur décimale Fonction
NULL NUL 0 Aucune opération

Line Feed (saut de ligne) LF 10 Décale l'imprimante à la prochaine ligne
d'impression en maintenant la même position horizontale.

Carriage Return (retour chariot) CR 13 Déplace l'imprimante jusqu'à la
marge gauche de la ligne actuelle.


Les codes de contrôle suivants sont facultatifs et doivent produire à
l'affichage les effets indiqués.


Nom Code Valeur décimale Fonction
BELL BEL 7 Produit un signal audible ou visible (SANS déplacer la tête
d'impression).

Back Space (retour arrière) BS 8 Déplace la tête d'impression d'une
position de caractère vers la marge gauche. Ce mécanisme était
fréquemment utilisé autrefois sur les périphériques d'impression afin de
constituer des caractères composites par l'impression de deux caractères
élémentaires l'un sur l'autre.

Horizontal Tab (tabulation horizontale) HT 9 Déplace l'imprimante au
prochain taquet de tabulation horizontale. Ceci ne spécifie pas comment
l'une ou l'autre partie détermine ou établit le positionnement de ces
taquets de tabulation.

Vertical Tab (tabulation verticale) VT 11 Déplace l'imprimante au
prochain taquet de tabulation verticale. Ceci ne spécifie pas comment
l'une ou l'autre partie détermine ou établit le positionnement de ces
taquets de tabulation.

Form Feed (saut de page) FF 12 Déplace l'imprimante en haut de la page
suivante en maintenant la même position horizontale.
Sur les périphériques visuels, ceci efface habituellement le contenu de
l'écran et déplace le curseur à son extrémité supérieure gauche.

Le clavier de terminal virtuel réseau est défini comme étant capable de
générer les 128 codes ASCII à l'aide de touches, de combinaisons de
touches ou de séquences de touches.

Commandes

Le protocole Telnet utilise un certain nombre de commandes afin de
réguler la connexion client-serveur. Ces commandes sont transmises avec
le flux de données et se distinguent des données par leur bit de poids
fort qui est défini à 1.
Rappelez-vous que les données sont codées sur 7 bits et que leur huitième
bit est défini à 0. Les commandes sont toujours présentées par
l'interprète comme des caractères de commande (IAC).

Le jeu complet de ces commandes est le suivant :

Nom Code décimal Signification Commentaire
SE 240 Fin des paramètres de sous-négociation
NOP 241 Aucune opération
DM 242 Marque de donnée Indique la position d'un événement
synchronisation (Synch) au sein du flux de données. Elle doit toujours
être accompagnée d'une notification TCP urgente.
BRK 243 Interruption Indique que la touche Interruption ou Attention a
été enfoncée.
IP 244 Suspendre Interrompt ou abandonne le processus auquel le terminal
virtuel réseau est connecté.
AO 245 Annuler résultat Permet au processus en cours de s'exécuter
jusqu'au bout mais sans envoyer de résultat à l'utilisateur.
AYT 246 Vérification de la connexion Renvoie au terminal virtuel réseau
une confirmation tangible que ce message a été reçu.
EC 247 Supprimer caractère Le destinataire doit supprimer le dernier
caractère non supprimé du flux de données.
EL 248 Supprimer ligne Supprime du flux de données les caractères
jusqu'au code CRLF précédent (sans supprimer celui-ci).
GA 249 Poursuivre Utilisé dans certaines circonstances pour signaler à
l'autre partie qu'elle peut transmettre.
SB 250 Sous-négociation Introduit la sous-négociation de l'option
indiquée.
WILL 251 Affirmatif Indique la volonté de commencer à exécuter l'option
indiquée ou confirme qu'elle est en cours d'exécution.
WONT 252 Négatif Indique un refus d'exécuter ou de continuer à exécuter
l'option indiquée.
DO 253 Effectuer Indique à l'autre partie une demande d'exécution de
l'option indiquée ou lui confirme que vous attendez cette exécution.
DONT 254 Ne pas effectuer Indique à l'autre partie d'arrêter d'exécuter
l'option indiquée ou lui confirme que vous n'attendez plus cette
exécution.
IAC 255 Interpréter en tant que commande Interprète en tant que commande



Options Telnet

Les options fournissent au client et au serveur une vue commune de la
connexion. Elles peuvent être négociées à tout moment pendant la
connexion à l'aide de commandes. Ces options sont décrites dans des RFC
différentes.

Voici quelques exemples d'options courantes :

Code décimal Nom RFC
3 suppress go ahead (suppression poursuivre) 858
5 status (état) 859
1 echo (écho) 857
6 timing mark 860
24 terminal type (type de terminal) 1091
31 window size (taille de fenêtre) 1073
32 terminal speed (vitesse du terminal) 1079
33 remote flow control (contrôle de flux à distance) 1372
34 linemode (mode ligne) 1184
36 environment variables (variables d'environnement) 1408


Chacune des parties d'un dialogue Telnet peut activer ou désactiver une
option, localement ou à distance. L'initiateur envoie une commande sur 3
octets de la forme :

IAC Type d'opération Option


La réponse respecte la même syntaxe.

L'opération peut être du type suivant :

Description Code décimal Action
WILL 251 L'émetteur désire faire quelque chose.
DO 252 L'émetteur désire que le destinataire fasse quelque chose.
WONT 253 L'émetteur refuse de faire quelque chose.
DONT 254 L'émetteur désire que le destinataire ne fasse pas quelque
chose.


Diverses réponses possibles sont associées à chacune de ces commandes :

Envoi par l'émetteur Réponse du destinataire Conséquence
WILL DO L'émetteur désire utiliser un outil spécifique s'il peut être
pris en charge par le destinataire. L'option est à présent active.
WILL DONT Le destinataire annonce qu'il ne peut gérer l'option. L'option
n'est pas activée.
DO WILL Le destinataire annonce qu'il peut gérer le trafic en provenance
de l'émetteur si ce dernier désire utiliser une option spécifique.
L'option est à présent active.
DO WONT Le destinataire annonce qu'il ne peut gérer l'option. L'option
n'est pas activée.
WONT DONT Option désactivée. DONT est la seule réponse valide.
DONT WONT Option désactivée. WONT est la seule réponse valide.


Si le destinataire désire par exemple que l'autre partie supprime le
signal Poursuivre, il enverra la séquence d'octets :


IAC WILL Suppress Go Ahead


L'octet final dans la séquence de 3 octets identifie l'action requise.

Certains paramètres de l'option doivent être communiqués après que la
prise en charge de cette option a été convenue. Ceci est réalisé au moyen
d'une négociation de sous-option. Ces paramètres sont négociés en
utilisant des commandes d'interrogation de valeurs et de réponses sous la
forme suivante :

IAC SB code option 1 IAC SE


et

IAC SB code option 0 IAC SE


Par exemple, si le client désire communiquer le type de terminal au
serveur, l'échange suivant peut s'ensuivre :

CLIENT IAC WILL Type de terminal
SERVER IAC DO Type de terminal

CLIENT IAC SB Type de terminal 1 IAC SE
SERVER IAC SB Type de terminal 0 VT22 0 IAC SE


Le premier échange établit que le type de terminal (option numéro 24) est
pris en charge, puis le serveur interroge le client sur la valeur à
associer à ce type de terminal.

La séquence SB,24,1 introduit une négociation de sous-option pour le type
d'option 24, avec comme valeur requise (1). La séquence IAC,SE indique la
fin de cette requête.

La réponse IAC,SB,24,0,'V'... introduit une négociation de sous-option
pour le type d'option 24, avec comme valeur fournie (0), la séquence
IAC,SE indique la fin de la réponse (et de la valeur fournie).

Le codage de la valeur est spécifique à l'option bien qu'une séquence de
caractères similaire à celle indiquée ci-dessus soit fréquente.


Description des options Telnet

Plusieurs des options répertoriées ici sont parlantes, mais certaines
autres nécessitent des éclaircissements.

Suppress Go Ahead (suppression poursuivre)

A l'origine, la mise en oeuvre Telnet opérait par défaut en semi-duplex.
Avec ce mode, le trafic des données ne peut circuler que dans un sens à
la fois et une action spécifique est requise afin d'indiquer la fin du
trafic dans une direction et la voie libre pour la circulation de données
en sens inverse (comme cela est pratiqué sur les ondes par les CBistes
amateurs et professionnels). L'action spécifique en question est
l'insertion du caractère GA dans le flux de données.

Les liaisons actuelles permettent normalement une opération en mode
bidirectionnel et l'option " suppress go ahead " est activée.

Echo (écho)
L'option écho est activée, habituellement par le serveur, afin d'indiquer
que le serveur fait écho de chaque caractère reçu. Une combinaison
suppress go ahead et écho est dénommée mode caractère par caractère en ce
sens que chaque caractère est transmis séparément et fait l'objet d'un
écho distinct.
Il existe une convention, connue sous le nom de mode kludge-line, d'après
laquelle si une seule des deux options suppress go ahead et écho est
activée, Telnet opère alors en mode ligne par ligne. Avec ce mode, les
lignes complètes sont assemblées par les deux parties et transmises en
une seule opération.

Linemode (mode ligne)
Cette option remplace et prévaut sur le mode kludge-line.

Remote Flow Control (contrôle de flux à distance)
Cette option contrôle où sont mis en oeuvre les effets spéciaux de
contrôle de flux Ctrl+S et Ctrl+Q.

Fonctions de contrôle de Telnet

Le protocole Telnet comprend un certain nombre de fonctions de contrôle.
Celles-ci sont déclenchées en réponse à des conditions détectées par le
client (généralement certaines touches ou combinaisons de touches) ou par
le serveur. La condition détectée provoque l'intégration d'un caractère
spécial dans le flux de données.

Interrupt process (interrompre le processus)
Cette option est utilisée par le client afin de provoquer la suspension
ou l'arrêt du processus sur le serveur. En général, l'utilisateur tape
Ctrl+C sur son clavier. Un caractère IP (244) est alors inclus dans le
flux de données.

Abort Output (annuler résultat)
Cette option est utilisée afin de supprimer la transmission des résultats
du processus distant. Un caractère AO (238) est inclus dans le flux de
données.

Are You There (vérification de la connexion)
Cette option permet de déclencher une réponse tangible de l'autre
extrémité de la connexion afin de confirmer le fonctionnement de la
liaison et du processus distant. Un caractère AYT (246) est alors intégré
dans le flux de données.

Erase character (supprimer caractère)
Est envoyé à l'écran pour indiquer de supprimer le caractère
immédiatement précédent. Un caractère EC (247) est intégré dans le flux
de données.

Erase line (supprimer ligne)
Cette option provoque la suppression de la ligne actuelle. Un caractère
EL (248) est intégré dans le flux de données.

Data Mark (marque de données)
Certaines fonctions de contrôle comme AO et IP requièrent une action
immédiate, ce qui peut engendrer des difficultés si les données sont
conservées dans des tampons en attente de requêtes d'entrées de la part
d'un processus distant (connaissant éventuellement un dysfonctionnement).
Pour contourner ce problème, un caractère DM (242) est envoyé dans un
segment TCP Urgent afin d'indiquer au destinataire de vérifier la
présence dans le flux de données de caractères justifiant une attention
particulière, tels que IP, AO et AYT. Ceci est connu sous le nom de
mécanisme de synchronisation Telnet.
Un caractère DM en dehors d'un segment TCP Urgent n'a aucun effet.

La commande Telnet

Sous Windows NT et la majorité des systèmes UNIX, une session Telnet peut
être lancée en utilisant la commande Telnet. La plupart des utilisateurs
tapent simplement :

telnet hôte_distant

Toutefois, si l'utilisateur tape simplement Telnet, diverses options et
sous-commandes sont alors disponibles.

Un exemple de session Telnet de sfuclnt vers sfusrvr est retranscrit
ci-dessous :

C:\>telnet

Microsoft (R) Windows NT (TM) Version 4.00 (Build 1381)
Welcome to Microsoft Telnet Client
Telnet Client Build 5.00.99034.1
Escape Character is 'CTRL+]'
Microsoft Telnet> open sfusrvr

**** Le contenu de l'écran sera effacé et les informations suivantes
s'afficheront :

Microsoft (R) Windows NT (TM) Version 4.00 (Build 1381)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99034.1
login: sfu
password: ********

**** Le contenu de l'écran s'effacera à nouveau et les informations
suivantes s'afficheront :

Welcome to Microsoft Telnet Server.
C:\>


REFERENCES

Pour plus d'informations sur Telnet, reportez-vous à la RFC 854.
Ces documents peuvent être obtenus via Internet. Des exemplaires imprimés
de toutes les RFC sont disponibles auprès du NIC, soit individuellement,
soit sous forme d'abonnement (pour plus d'informations, contactez cet
organisme à l'adresse NIC@NIC.DDN.MIL). Des copies en ligne sont
disponibles via FTP ou Kermit auprès de NIC.DDN.MIL sous la référence
rfc/rfc854.txt ou rfc/rfc854.PS (854 est le numéro de RFC sans les zéros
non significatifs). Vous pouvez également commander des RFC par courrier
électronique via le serveur de messagerie automatique du NIC en adressant
votre message à l'adresse SERVICE@NIC.DDN.MIL et en précisant sur la
ligne d'objet " rfc 854 " pour les versions texte ou " rfc 854.PS " pour
les versions PostScript. Pour obtenir l'index des RFC, indiquez " rfc
index " sur la ligne d'objet de votre message.

Recherche sur termes complémentaires :
Keywords : kbfaq

Article ID: 231866

Propriétés

Numéro d'article: 467916 - Dernière mise à jour: mardi 19 août 2003 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Add-On Pack Microsoft Windows NT Services pour UNIX
  • Microsoft Windows NT 4.0 Option Pack
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Workstation 4.0 Édition Développeur
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
Mots-clés : 
KB467916
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com