ÏT - UC3M

Anuncio
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
Descargar