EXEMPLO:
Servidor que permite a edio remota de texto O cliente estabelece uma conexo TCP com o servidor, envia as teclas digitadas e l a sada que retorna do servidor
Arquitetura e Protocolos de Redes TELNET/FTP
Protocolo TELNET
Estabelece uma conexo TCP e passa as teclas digitadas pelo usurio diretamente para o computador remoto Carrega a sada da mquina remota na tela do usurio Servio transparente: o teclado e a tela do usurio parecem estar diretamente conectados mquina remota
Arquitetura e Protocolos de Redes TELNET/FTP
Protocolo TELNET
Software cliente TELNET permite ao usurio especificar uma mquina remota dando o nome do domnio ou o endereo IP Oferece trs servios bsicos: 1. Define um NVT (Network Virtual Terminal) que prov uma interface padro para sistemas remotos
Protocolo TELNET
2. Inclui um mecanismo que permite que o cliente e o servidor negociem opes, alm de providenciar um conjunto padro de opes 3. Trata ambas as extremidades da conexo simetricamente. Em particular, no fora que a entrada seja feita com o uso do teclado, nem que a sada seja exibida numa tela
Arquitetura e Protocolos de Redes TELNET/FTP
Protocolo TELNET
O programa de aplicao na mquina do usurio se torna cliente O cliente estabelece uma conexo TCP com o servidor O cliente aceita as teclas digitadas pelo usurio no seu teclado e as envia para o servidor, enquanto simultaneamente aceita os caracteres que o servidor envia e as apresenta na tela do usurio
Arquitetura e Protocolos de Redes TELNET/FTP
Protocolo TELNET
Protocolo TELNET
Problema: Na prtica mais complexo, pois deve lidar com mltiplas conexes simultneas Soluo: O servidor mestre espera por novas conexes e cria um escravo para lidar com cada conexo
Protocolo TELNET
Pseudoterminal: termo usado para descrever o ponto de entrada do sistema operacional que permite que um programa como o servidor TELNET transfira as teclas digitadas como se as mesmas viessem de um teclado Cada servidor escravo envia uma seqncia de dados TCP de um cliente para um determinado pseudoterminal
Arquitetura e Protocolos de Redes TELNET/FTP
Protocolo TELNET
Ter o servidor TELNET como programa em nvel de aplicao oferece vantagens e desvantagens Vantagem: Modifica e controla o servidor mais facilmente do que se o cdigo fosse embutido no sistema operacional Desvantagem: ineficincia
Arquitetura e Protocolos de Redes TELNET/FTP
Acomodando heterogeneidade
Para funcionar entre sistemas diferentes, deve acomodar os detalhes de computadores e sistemas operacionais heterogneos Exemplo: alguns sistemas requerem que linhas de texto terminem com o caracter CR (ASCII carriage control), outros requerem o LF (ASCII linefeed), enquanto outros ainda requerem os dois A tecla para interrupo tambm varia
Arquitetura e Protocolos de Redes TELNET/FTP
Acomodando heterogeneidade
NVT(Network Virtual Terminal): TELNET define como os dados e as seqncias de comandos so enviadas atravs da Internet O software do cliente traduz as teclas para o formato NVT e as envia para o servidor O software do servidor traduz os dados recebidos do formato NVT para o formato requerido pelo sistema remoto Retorno de dados feito de maneira anloga
Arquitetura e Protocolos de Redes TELNET/FTP
Acomodando heterogeneidade
Uso do formato NVT:
Acomodando heterogeneidade
Formato NVT - Toda comunicao envolve 8 bits - Conjunto de caracteres USASCII, que inclui 95 caracteres imprimveis (letras, nmeros, smbolos de pontuao), e 33 que so usados como cdigos de controle
Arquitetura e Protocolos de Redes TELNET/FTP
Acomodando heterogeneidade
Interpretaes padro para caracteres de comando:
Acomodando heterogeneidade
Seqncia de dois caracteres CR-LF como padro para trmino de linha Quando um usurio pressiona a tecla ENTER para o trmino de linha no terminal local, o cliente TELNET deve mape-la em CR-LF para transmiti-la. O servidor TELNET ento a recebe e a traduz para o caracter correspondente (ENTER) na mquina remota
Arquitetura e Protocolos de Redes TELNET/FTP
Comandos de Telnet
Nome EOF SUSP ABORT EOR SE NOP DM BRK IP Cdigo (decimal) 236 237 238 239 240 241 242 243 244 Descrio end-of-file suspend current process (job control) abort process end of record subopo end No operation data mark Break interrupt process
10
Comandos de Telnet
Nome AO AYT EC EL GA SB WILL WONT DO DONT IAC Cdigo (decimal) 245 246 247 248 249 250 251 252 253 254 255 Descrio abort output are you there? escape character erase line go ahead subopo begin opo negotiation opo negotiation opo negotiation opo negotiation data byte 255
Opes do Telnet
Embora o Telnet inicie ambos os lados da conexo assumindo o padro NVT, a primeira comunicao que normalmente ocorre em uma conexo Telnet a negociao de opes. Cada lado pode enviar ou receber 4 tipos de requisies.
Arquitetura e Protocolos de Redes TELNET/FTP
11
Gerenciamento de opes
Cliente 1. 2. 3. 4. 5. 6. WILL WILL DO DO WONT DONT Servidor -> <-> <-> <-> <-> <-> <WONT DONT WONT WILL DONT DO Descrio Emissor quer habilitar opo receptor diz OK Emissor quer habilitar opo receptor diz NO emissor quer que receptor habilite opo receptor diz OK emissor quer que receptor habilite opo receptor diz NO emissor quer desabilitar opo receptor deve dizer OK emissor quer que receptor desabilite opo receptor deve dizer OK
Gerenciamento de opes
Cada opo de negociao requer 3 Bytes: o byte IAC, seguido do byte do tipo de requisio e pelo byte da opo que se deseja habilitar ou desabilitar. Atualmente, mais de 40 opes podem ser negociadas.
12
Name
RFC 857 858 859 860 1091 1073 1079 1372 1184 1408
Negociao de subopes
Algumas opes necessitam de mais parmetros que simplesmente habilitar ou desabilitar. Neste caso, a seqncia de bytes iniciada por IAC, seguida por SB e finalizada por IAC, depois SE. Os bytes das subopes seguem entre IAC SB e IAC SE.
Arquitetura e Protocolos de Redes TELNET/FTP
13
Exemplo de subopo
Para especificar o tipo de terminal: Emissor envia: <IAC, WILL, 24> Receptor OK: <IAC, DO, 24> Emissor envia: <IAC, SB, 24, 1, IAC, SE> Receptor especifica terminal: <IAC, SB, 24, 0, 'I', 'B', 'M', 'P', 'C', IAC, SE>
Arquitetura e Protocolos de Redes TELNET/FTP
Modos de operao
H 4 modos de operao possveis para clientes e servidores telnet:
Half-duplex Character at a time (um caractere por vez) Line at a time (uma linha por vez) Linemode
14
Comandos locais
O cliente Telnet permite, como o cliente Rlogin, enviar comandos para a mquina local. Desta maneira, possvel mudar caractersticas da sesso ou imprimir informaoes. Grande parte dos clientes telnet possui um comando help que lista as opes de comandos locais disponveis
Arquitetura e Protocolos de Redes TELNET/FTP
15