La capa de Aplicación TELNET ÏT UC3M 1 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Aplicación TELNET La aplicación TELNET ØEl protocolo TELNET ØEl terminal virtual de red ØEnvío de comandos ØSeñales fuera de banda ØNegociación de opciones ÏT UC3M © 2003 IT-UC3M Aplicación TELNET 2 Redes y Servicios de Comunicaciones I 1 Introducción Ø Antiguamente, para conectarse a una máquina había que hacerlo desde un terminal. l l Físicamente conectado a la máquina Uno por máquina (host) Ø Objetivo: l l l Poder conectarse desde un único terminal a múltiples máquinas Físicamente conectado a una Se salta a través de la red de una a otra Ø Es uno de los servicios más usados y antiguos de Internet. Ø Dos aplicaciones lo proporcionan: l rlogin: ü más sencillo (1.000 líneas de código) ü desarrollado para Unix (aunque portado a otros sistemas operativos) l ÏT telnet ü más antiguo (1969) y complejo (10.000 líneas) ü prácticamente en cualquier implementación TCP/IP para cualquier S.O. UC3M 3 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I El protocolo TELNET Servicio sencillo de terminal remoto • Se asume que la red está terminada por un NVT en cada extremo • Partiendo del servicio definido por el NVT se negocian opciones Terminal de Usuario Cliente TELNET Servidor TELNET Sistema Operativo Sistema Operativo Pseudo Terminal TCP/IP Internet ÏT UC3M © 2003 IT-UC3M Aplicación TELNET 4 Redes y Servicios de Comunicaciones I 2 Gestión de la heterogeneidad: el NVT Telnet define como se van a enviar los caracteres y secuencias de comandos mediante el NVT (Network Virtual Terminal) ü Terminal bidireccional imaginario orientado a carácter (teclado + impresora) –lo que el usuario escribe en el teclado se envía al servidor –lo que manda el servidor al cliente, se escribe por la impresora ü Utiliza el estándar de 7 bits USASCII aunque transmite 8 bits ü Es intrínsecamente full-duplex aunque opera en half-duplex (Comando GA) ü Define las características mínimas que ha de tener cualquier sesión Terminal de Usuario Sistema Remoto Conexión TCP Cliente ÏT UC3M Formato local del terminal de usuario Servidor Formato local del terminal de usuario Formato NVT 5 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Caracteres NVT ASCII Se intercambian caracteres NVT ASCII • 127 primeros caracteres ASCII, con bit 8=0 (también conocido por US ASCII) – 95 imprimibles – 33 control (NUL(0), BELL, LF...) • Fin de línea como dos caracteres: CR LF • Retorno de carro como CR NULL Juego de caracteres ASCII. (Valor ordinal del carácter representado en sistema Octal) ÏT UC3M © 2003 IT-UC3M 00C 01C 02C 03C 04C 05C 06C 07C 10C 11C 12C 13C 14C 15C 16C 17C 0C 1C 2C 3C 4C 5C 6C 7C NUL BS DLE CAN SOH HT DC1 EM ! ) 1 9 A I Q Y a i q y STX LF DC2 SUB “ * 2 : B J R Z b j r z ETX VT DC3 ESC # + 3 ; C K S [ c k s { EOT FF DC4 FS $ , 4 < D L T \ d l t | ENQ CR NAK GS % 5 = E M U ] e m u } ACK SO SYN RS & . 6 > F N V ^ f n v ~ BEL SI ETB US ’ / 7 ? G O W _ g o w DEL ( 0 8 @ H P X ‘ h p x Aplicación TELNET 6 Redes y Servicios de Comunicaciones I 3 Efecto de salida del juego de caracteres Nombre Código Significado asignado NULL 0 BELL 7 Produce una señal audible o visible BS 8 Mueve el cursor una posición a la izquierda HT 9 Mueve el cursor a la derecha hasta el siguiente tabulador horizontal LF 10 Mueve el cursor una línea hacia abajo manteniendo la posición horiz. VT 11 Mueve el cursor hacia abajo hasta el siguiente tabulador vertical Operación nula, no tiene efecto en la salida FF 12 Mueve el cursor al comienzo de una nueva página CR 13 Lleva el cursor al margen izquierdo de la misma línea en la que está Otros caracteres de control - 95 caracteres gráficos No tienen efecto en la salida 32 a 126 Significado que les da el propio estándar USASCII ÏT UC3M 7 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Funciones de control Función Código IP 244 AO 245 AYT 246 Verifica que el servidor está activo provocando el envío hacia atrás de una señal visible que lo demuestre. EC EL 247 248 Borra el carácter o la posición imprimible previo del flujo de datos Borra por completo la línea actual, sin incluir el “CR LF” SYNCH - BRK 243 ÏT UC3M © 2003 IT-UC3M Acción que desencadena Interrumpe o aborta el proceso al que está conectado el NVT Aborta el envío al usuario de la salida de datos de un proceso al que permite que se complete. Descarta incluso la salida acumulada Notificación TCP Urgente emparejada con el comando TELNET DM que provoca el descarte de datos acumulados y la interpretación inmediata de los comandos Es una señal de atención o de ruptura. Aplicación TELNET 8 Redes y Servicios de Comunicaciones I 4 Conjunto completo de comandos ÏT UC3M Comando Código IAC 255 DON’T 254 DO 253 Utilización Interpretar el siguiente octeto como comando Denegar la petición para utilizar una opción Pedir que no se utilice una opción Aprobación de la petición de uso de una opción Pedir que se utilice una opción Rechazar la indicación para utilizar una opción WON’T 252 WILL 251 Solicitar la utilización de una opción Aceptar el uso de una opción propuesta SB 250 Comienzo de una subnegociación GA 249 Señal que, en modo half-duplex, solicita al extremo remoto que continúe mandando datos EL 248 Señal para “Borrar Línea” EC AYT 247 246 Señal para “Borrar Carácter” Señal “Estás ahí”. Verifica que el servidor está activo. AO IP 245 244 Señal para “Abortar la Salida” Señal para “Interrumpir Proceso” BRK 243 Es una señal de atención o de ruptura DMARK 242 Marca los datos del mecanismo “Synch” NOP 241 Ninguna operación SE 240 Fin de la subnegociación de una opción EOR 239 Fin de registro 9 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Envío de comandos ¿Conflicto? TELNET utiliza el 8º bit para la codificación de comandos En ocasiones se negocia el uso del 8º bit para enviar datos Solución Uso del carácter de escape IAC (Interpret As Command) Datos IAC IP Envío del comando IP ÏT UC3M © 2003 IT-UC3M Datos Datos IAC IAC Datos Envío del carácter IAC como dato Aplicación TELNET 10 Redes y Servicios de Comunicaciones I 5 Señales fuera de banda Se utiliza para enviar señales que han de ser procesadas de manera inmediata (IP, AO). Mecanismo “SINCH” Notificación TCP urgente. Pone al extremo remoto en modo urgente + Comando TELNET DM (Data Mark). Marca el retorno al modo normal ÏT UC3M 11 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Negociación de opciones Ø Servicio básico definido por el NVT Ø Servicios adicionales implican el uso de opciones Ø Las opciones han de estar bien documentadas (RFCs) RED Cliente/Servidor Solicita permiso para usar la opción “xxx” Tras recibir el asentimiento, comienza a usarse la opción “xxx” Solicita al extremo remoto que comience a usar la opción “yyy” WILL “xxx” 253 xxx ÏT © 2003 IT-UC3M 251 Acepta que se use la opción “xxx” DO “xxx” xxx DO “yyy” yyy UC3M Servidor/Cliente 253 Asiente que utilizará la opción “yyy” y comienza a hacerlo. WILL “yyy” 251 yyy Aplicación TELNET 12 Redes y Servicios de Comunicaciones I 6 Restricciones en el uso de opciones Ø Siempre se puede rechazar la petición de una opción Ø Nunca se puede rechazar la petición para NO usar una opción Ø No se asentirán solicitudes de opciones ya en uso Ø Las solicitudes se emplearán para cambiar de estado. Ø Las opciones se insertarán justo cuando se desee su uso ÏT UC3M 13 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Opciones más destacadas Nombre Código RFC Transmite Binario 0 856 Cambia a transmisión binaria usando los 8 bits Eco 1 857 Permite a uno de los extremos hacer eco de los datos recibidos Suprime GA 3 858 Suprime el envío de la señal GA, pasando a modo full-duplex Estado 5 859 Pregunta por el estado de una determinada opción Marca de tiempo Tipo de Terminal Fin de Registro 6 860 24 884 Solicita la inclusión de una marca de tiempo en el flujo de datos para sintonizar ambos extremos de una conexión Intercambio de información sobre el modelo de terminal que se está utilizando 25 885 Terminar el envío de datos con el código EOR 34 1116 Usar edición local y enviar líneas completas en vez de caracteres individuales. Modo Línea ÏT UC3M © 2003 IT-UC3M Significado Aplicación TELNET 14 Redes y Servicios de Comunicaciones I 7 Establecimiento de una subnegociación El uso de la subnegociación enriquece la sintaxis del proceso de negociación de opciones (p.e. permite incorporar parámetros) Ø Inicialmente se acuerda el uso de la opción Ø Seguidamente se establece la subnegociación (comandos SB, SE) Ejemplo: Negociación opción “ABC” con parámetros Negociación normal de ABC Subnegociación de parámetros ÏT UC3M IAC WILL ABC IAC DO ABC IAC SB ABC <parámetros> SE 15 Aplicación TELNET © 2003 IT-UC3M Redes y Servicios de Comunicaciones I Ejemplo Subnegociación •Ejemplo → IAC, WILL, 24 ← IAC, DO, 24 → IAC, SB, 24, 1, IAC, SE • le pide tipo de terminal ← IAC, SB, 24, 0, ‘I’, ‘B’, ‘M’, ‘P’, ‘C’, IAC, SE • tipo de terminal – Para el caso concreto de la negociación de tipo de terminal, dos observaciones • La lista de terminales posibles está en la RFC de números asignados (actualmente la rfc1700) ÏT UC3M © 2003 IT-UC3M • El nombre se intercambia en mayúsculas. Aplicación TELNET 16 Redes y Servicios de Comunicaciones I 8 Modos de operación de TELNET Ø Se soportan cuatro modos de operación entre cliente y servidor: l Semidúplex ü Modo por defecto, pero raramente usado ü El cliente hace eco local y almacena los caracteres en un buffer. Los envía al servidor ü Sólo envía los caracteres al servidor cuando éste se lo solicita con un GA (go ahead) l Un carácter cada vez ü Como el rlogin: cada carácter se envía por separado, el servidor le hace eco y entonces se escribe en pantalla ü Para entrar en este modo – cliente envía DO SUPPRESS GO AHEAD o el servidor WILL SUPPRESS GO AHEAD – a continuación el servidor hace WILL ECHO l Una línea cada vez ü Si se hace SUPPRESS GO pero no se hace el WILL ECHO l Modo de líneas ü Como el anterior, pero negociado directamente. ÏT UC3M © 2003 IT-UC3M Aplicación TELNET 17 Redes y Servicios de Comunicaciones I 9