Transcript
Protocolos TCP/IP
ARP (Address Resolution Protocol): o protocolo é responsável em fazer a
conversão entre os endereços IPs e os endereços MAC da rede. Em uma rede
grande, os pacotes TCP/IP são encaminhados até a rede de destino através
dos roteadores. Atingindo o destino, o protocolo ARP entra em acção para
detectar o endereço da placa de rede para qual o pacote deve ser entregue,
já que no pacote há somente o endereço IP de destino e não o endereço da
placa de rede.
O RAP funciona mandado primeiramente uma mensagem de broadcast para a rede
perguntando, a todas as máquinas, qual responde pelo endereço IP para o
qual pretende-se transmitir um pacote. Então, a tal maquina que corresponde
o tal endereço responde, identificando-se e informando o seu endereço MAC
para que a transmissão de dados entre essas maquinas possa ser
estabelecida.
Exemplo: 192.168.1.254 ether 00:30:CD:03:CD:D2 C eth0
192.168.1.23 ether 00:11:D8:56:62:76 C eth0
O ARP é utilizado apenas dentro de rede local.
RARP (Reverse Address Resolution Protocol): o protocolo RARP permite que
uma maquina descubra um endereço IP através de um endereço MAC, fazendo o
inverso do que o protocolo ARP faz.
o protocolo RARP é utilizado essencialmente para as estações de trabalho
que não têm disco duro e que desejam conhecer o seu endereço físico.
O protocolo RARP permite a uma estação conhecer o seu endereço IP a partir
de uma tabela de correspondência entre endereço MAC (endereço físico) e
endereços IP alojados por uma ponte (gateway) situada na mesma rede local
(LAN).
Para tal, é necessário que o administrador defina os parâmetros do gateway
(switch) com a tabela de correspondência dos endereços MAC/IP. Com efeito,
ao contrário do ARP, este protocolo é estático. É necessário, por isso, que
a tabela de correspondência esteja sempre actualizada para permitir a
conexão de novas placas de rede.
IP (Internet Protocol): o protocolo IP é um protocolo não orientado a
conexão, isto é, ele não verifica se o datagrama chegou ou não ao destino.
A função do IP é o roteamento, ou seja, adicionar mecanismos para que o
datagrama chegue o mais rapidamente possível ao seu destino. Isso é feito
com o auxílio dos roteadores da rede, que escolhem os caminhos mais rápidos
entre a origem e o destino.
O protocolo IP determina o destinatário da mensagem graças a 3 campos:
O campo dirige IP: endereço da máquina.
O campo máscara de subrede: uma máscara de subrede permite ao protocolo
IP determinar a parte do endereço IP que se refere à rede.
O campo ponte estreita por defeito: Permite ao protocolo Internet saber a
que máquina entregar o datagrama, se por acaso a máquina de destino não
está na rede local.
Datagrama
Os dados circulam na Internet sob a forma de datagramas (fala-se também de
pacotes). Os datagramas são dados encapsulados, isto é, são dados aos quais
se acrescentaram cabeçalhos que correspondem a informações sobre o seu
transporte (como o endereço IP de destino).
Os dados contidos nos datagramas são analisados (e eventualmente alterados)
pelos switches que permitem o seu trânsito.
Estrutura Simplificada do Datagrama IP
Estrutura do Datagrama IP
Maneira Tradicional de se representar a estrutura do Datagrama IP
"<-- "32 bits "--> "
"Versão "Comprimento "Tipo de serviço "Comprimento total "
"(4 bits)"de cabeçalho"(8 bits) "(16 bits) "
" "(4 bits) " " "
"Identificação "Bandeira "Desfasamento fragmento "
"(16 bits) "(3 bits) "(13 bits) "
"Duração de vida "Protocolo "Soma de controlo cabeçalho "
"(8 bits) "(8 bits) "(16 bits) "
"Endereço IP fonte (32 bits) "
"Endereço IP destino (32 bits) "
"Dados "
No datagrama IP encontramos os seguintes campos:
Versão (4bits): trata-se da versão do protocolo IP que se utiliza
(actualmente utiliza-se a versão 4 IPv4) para verificar a validade do
datagrama. É codificada em 4 bits.
Comprimento de cabeçalho, ou IHL para Internet Header Length (4 bits):
trata-se do número de palavras de 32 bits que constituem o cabeçalho
(nota: o valor mínimo é 5). Este campo é codificado em 4 bits.
Tipo de serviço (8 bits): indica a maneira segundo a qual o datagrama
deve ser tratado.
Comprimento total (16 bits) : indica a dimensão total do datagrama em
bytes. A dimensão deste campo de 2 bytes, a dimensão total da
datagrama não pode exceder 65536 bytes. Utilizado conjuntamente com a
dimensão do cabeçalho, este campo permite determinar onde estão
situados os dados.
Identificação, bandeiras (flags) e deslocação de fragmento são campos
que permitem a fragmentação dos datagramas, e que serão explicados
abaixo.
Duração de vida chamada também TTL, para Time To Live (8 bits): este
campo indica o número máximo de switchs através através dos quais o
datagrama pode passar. Assim este campo é reduzido a cada passagem em
switch, quando este atinge o valor crítico de 0, o switch destrói o
datagrama. Isto evita o congestionamento da rede pelos datagramas
perdidos.
Protocolo (8 bits): este campo, em notação decimal, permite saber de
que protocolo procede o datagrama: ICMP : 1, IGMP : 2, TCP : 6, UDP :
17.
Soma de controlo do cabeçalho ou, em inglês, header checksum (16
bits) : este campo contém um valor codificado de 16 bits, que permite
controlar a integridade do cabeçalho a fim de determinar se este não
foi alterado durante a transmissão. A soma de controlo é o complemento
de todas as palavras de 16 bits do cabeçalho (campo soma de controlo
excluído). Isto faz-se para que, quando se faz a soma dos campos do
cabeçalho (soma de controlo incluída), se obtenha um número com todos
os bits posicionados a 1.
Endereço IP fonte (32 bits) : Este campo representa o endereço IP da
máquina emissora, permite ao destinatário responder.
Endereço IP destino (32 bits) : endereço IP do destinatário da
mensagem.
Dados: são os dados que o datagrama está carregando.
ICMP (Internet Control Message Protocol): é um protocolo que permite gerir
as informações relativas aos erros nas máquinas conectadas. Dado os poucos
controlos que o protocolo IP realiza, permite não corrigir estes erros mas
dá-los a conhecer aos protocolos das camadas vizinhas. Assim, o protocolo
ICMP é utilizado por todos os switches, que o utilizam para assinalar um
erro (chamado Delivery Problem).
Caso um roteador não consiga passar adiante um datagrama recebido – por
estar congestionado demais ou então por ter zerado o campo Tempo de Vida
(TTL, Time To Live), do datagrama, por exemplo, ele precisa informar ao
transmissor do datagrama que ocorreu um erro.
Como mostramos na figura a seguir, a mensagem ICMP è transmitida usando um
datagrama IP. Como o IP não verifica se um datagrama chegou ou não ao
destino, pode ocorrer de a própria mensagem ICMP ser perdida no meio
caminho.
Encapsulamento de uma mensagem ICMP
Estrutura das mensagens ICMP
Cada mensagem ICMP possui uma estrutura própria, mas todas elas começam da
mesma maneira, mostrada na figura 2. O campo tipo informa justamente o tipo
de mensagem ICMP. Sò para você ter uma ideia concreta dos tipos de
mensagens ICMP existentes, na tabela a seguir mostramos alguns desses tipos
e seu valor numérico (entrado no campo Tipo).
Cabeçalho do protocolo ICMP
"Valor "Tipo da mensagem ICMP "
"0 "Resposta á mensagem de eco "
"3 "Aviso de destino inalcançável "
"4 "Redução da velocidade de transmissão "
"5 "Solicitação de redireccionamento "
"8 "Mensagem de eco "
"11 "Tempo de vida excedido "
"12 "Problema de parâmetros "
"13 "Solicitação de horário "
"14 "Respostas á solicitarão de horário "
"17 "Solicitação da mascara de endereço "
"18 "Resposta á solicitação da mascara de endereço "
O campo Código prove mais informações sobre a mensagem ICMP, e o campo
Checksum apresenta a soma de todos os valores presentes na mensagem ICMP.
Checksum - é uma conta que consiste em somar todos os bytes presentes no
pacote de dados e enviar o resultado dentro do próprio pacote.
Funcionamento de algumas das mensagens ICMP existentes:
ECO
A mensagem de eco serve para verificar se o caminho entre o transmissor e o
receptor esta bom. O transmissor envia um datagrama contendo uma mensagem
ICMP de eco e o receptor, ao receber essa mensagem, responde com uma
mensagem ICMP de resposta de eco, incluindo no datagrama os dados recebidos
no datagrama original. Na maioria dos sistemas operacionais, o comando que
efectua esta tarefa e chamado ping. Versões mais sofisticadas do ping, em
vez de enviarem uma única mensagem de eco, enviam várias, mostrando
estatísticas de tempo e perda de datagramas.
DESTINO INALCANÇAVEL
Caso o roteador não consiga entregar um determinado datagrama, ele envia
para o transmissor uma mensagem ICMP de destino inalcançável.
CONGESTIONAMENTO
Um roteador pode porventura receber um número maior de datagramas do que
ele e capaz de processar. Caso isso ocorra, dizemos que o roteador esta
congestionado. Neste tipo de situação, o roteador inclusive pode ter de
descartar datagramas por não estar sendo capaz de recebe - los naquele
momento. Quando isso ocorre, o roteador envia uma mensagem de redução da
velocidade de transmissão ao transmissor do datagrama descartado. O
transmissor, ao recebera essa mensagem, passa a transmitir datagramas a uma
velocidade menor.
Como você pode perceber pela tabela mostrada anteriormente, não existe
nenhuma mensagem ICMP para fazer o transmissor retornar a sua velocidade de
transmissão normal. Então, o transmissor voltara gradualmente a sua
velocidade de transmissão normal a medida em que for parando de receber
mensagens ICMP de redução da velocidade de transmissão.
REDIRECIONAMENTO
Caso o roteador verifique que na rede local onde ele está instalado existe
uma rota melhor a ser usada para enviar um datagrama recebido, ele envia
uma mensagem ICMP de solicitação de redireccionamento ao transmissor,
enviando também o datagrama ao destino.
Essa mensagem e extremamente útil actualizar as máquinas a respeito das
melhores notas disponíveis na rede local. Para entender melhor esse
procedimento, observe a figura 3. Imagine que a máquina 200.123.123.1
queria mandar um pacote de dados para um micro presente na rede 3 mas, por
causa de sua configuração (que esta indicando o endereço 200.123.123.2 com
default gateway, isto e, o ponto de saída padrão da rede esta configuração
não esta indicada na figura 3.23), enviou o datagrama1 (endereço
200.123.123.2).O roteador 1 encaminhara o datagrama ao roteador 2 e mandara
uma mensagem ICMP de redireccionamento a máquina transmissora informando
que o melhor caminho para aquele destino (rede 3) e através do roteador 2
(endereço 200.123.123.3).
funcionamento da mensagem de redireccionamento
Note que esse esquema só funciona na rede local onde o roteador esta
instalado. Ele não serve para apontar a melhor rota dentro de uma rede
interconectada com outras redes, onde há outros roteadores envolvidos.
Por exemplo, observe a figura 4. O roteador 5, ao receber um datagrama
vindo da maquina transmissora não tem como enviar de volta uma mensagem
ICMP para o roteador 1 informando que o caminho mais curto ate ele e feito
através do roteador 4, já que o roteador 5 não sabe qual e o endereço IP do
roteador 1!
Figura4:O comando ICMP de redireccionamento não reprograma roteadores em
redes interconectadas
TEMPO DE VIDA EXCEDIDO
Quando o contador Tempo de Vida (TTL, Time to Live) do datagrama e zerado,
o roteador enviam para a máquina transmissora uma mensagem ICMP de tempo de
vida excedido.
Como vimos anteriormente, todo datagrama IP possui um campo tempo de vida,
que possui um valor que e decrementado a cada vez que o datagrama passa por
um roteador.
Esse campo serve para que os roteadores descartem datagramas que não
estejam conseguindo atingir o seu destino por algum motivo (um roteador mal
configurado no meio do caminho, por exemplo). Dessa forma, esse mecanismo
faz com que datagramas perdidos não fiquem infinitamente circulando na
rede.
PROBLEMA NOS PARAMETROS
Quando um roteador ou uma máquina encontra problemas para processar um
datagrama e não há nenhuma outra mensagem ICMP que cubra o problema
encontrado, o roteador (ou maquina) envia uma mensagem de problema nos
parâmetros para o transmissor. Normalmente essa mensagem e usada quando o
roteador não consegue descodificar correctamente as informações presentes
no cabeçalho IP do datagrama, isto e, quando há algum problema no cabeçalho
do datagrama.
SOLICITAÇÃO DE HORÀRIO
Através dessa mensagem de controlo uma máquina pode pedir o horário do
relógio de outra máquina que esteja conectada na rede. A máquina
transmissora envia um comando de solicitação de horário (mensagem ICMP tipo
13) a máquina da qual quer saber o horário, incluindo no datagrama a hora
do envio do datagrama. A máquina receptora responde ao comando de
solicitação de horário (mensagem ICMP tipo 14) incluindo o horário que o
datagrama chegou ate ela e o horário em que o datagrama de resposta foi
enviado.
O horário e contado em milissegundos a partir da meia-noite, Horário
Universal (GMT, Greenwich Mean Time, horário de Greenwich).
Um dos usos desse comando poderia ser o de sincronizar o relógio de duas
máquinas. O problema e que há um atraso provocado pela rede, que impede que
essa sincronia fique 100% perfeita. Outro uso desse comando e para medir o
tempo de resposta da rede, isto e, o tempo que um datagrama demora para
atingir um determinado destino.
O User Datagram Protocol (UDP) é um protocolo de transporte não orientado
á conexão. O UDP é pouco confiável, não existem técnicas no protocolo para
confirmar que os dados chegaram ao destino correctamente. Por esse motivo
esse protocolo não é usado no transporte de dados importantes como arquivos
e e-mails.
Protocolos que Utilizam o UDP
Como dito anteriormente, o protocolo UDP é simples se comparado ao TCP,
então somente alguns protocolos utilizam o UDP para transporte de dados que
são: o TFTP (Trivial File Transfer Protocol), SNMP (Simple Network
Management Protocol), DHCP (Dynamic Host Control Protocol), DNS (Domain
Name Service).
Estrutura do Datagrama UDP
Como foi visto no TCP/IP as aplicações comunicam-se com os protocolos da
camada de transporte (o UDP e o TCP) através de portas.
Significados dos diferentes campos
Porta Origem : trata-se do número de porta que corresponde à aplicação
emissora do segmento UDP. Este campo representa um endereço de resposta
para o destinatário. Assim, este campo é opcional, isto significa que se
não se precisar a porta fonte, as 16 bits deste campo serão postas a
zero, neste caso o destinatário não poderá responder (isto não é
necessariamente necessário, nomeadamente para mensagens unidireccionais.
Porta Destino : Este campo contém a porta que corresponde à aplicação da
máquina destinatário à qual nos dirigimos.
Tamanho da mensagem : Este campo precisa o comprimento total do segmento,
incluindo o cabeçalho, ora o cabeçalho tem um comprimento de 4 x 16 bits
(são 8 x 8 bits), então o campo comprimento é necessariamente superior ou
igual a 8 bytes.
Soma de controlo (checksum): Trata-se de uma soma de controlo realizada
de maneira a poder controlar a integridade do segmento.
O TCP (Transmission Control Protocol) é um dos principais protocolos da
camada de transporte do modelo TCP/IP. Ele permite, a nível das aplicações,
gerir os dados em proveniência da (ou com destino à) camada inferior do
modelo (ou seja, o protocolo IP). Quando os dados são fornecidos ao
protocolo IP, este encapsula-os em datagramas IP, fixando o campo protocolo
em 6 (para saber que o protocolo ascendente é o TCP...). O TCP é um
protocolo orientado para a conexão, isto é, ele permite a duas máquinas
comunicantes, controlar o estado da transmissão.
As principais características do protocolo TCP são:
TCP entrega ordenadamente os datagramas provenientes do protocolo IP
TCP verifica a onda de dados para evitar uma saturação da rede
TCP formata os dados em segmentos de comprimento variável para "entregá-
los" ao protocolo IP
TCP permite o multiplex dos dados, quer dizer, faz circular,
simultaneamente, as informações que proveem de fontes (aplicações, por
exemplo) distintas numa mesma linha
TCP permite a início e o fim de uma comunicação de maneira educada.
Objectivos do TCP
Graças ao protocolo TCP, as aplicações podem comunicar de forma segura
(graças ao sistema de avisos de recepção do protocolo TCP),
independentemente das camadas inferiores. Isto significa que os roteadores
(que trabalham na camada Internet) tem como único papel o encaminhamento
dos dados sob a forma de datagramas, sem se preocuparem com o controle dos
dados, porque este é realizado pela camada de transporte (mais
concretamente pelo protocolo TCP).
Durante uma comunicação através do protocolo TCP, as duas máquinas devem
estabelecer uma conexão. A máquina emissora (a que pede a conexão) chama-se
cliente, enquanto a máquina receptora se chama servidor. Diz-se então que
estamos num ambiente Cliente-Servidor.
As máquinas em tal ambiente comunicam em modo ligado, ou seja, que a
comunicação é feita nos dois sentidos.
Para permitir o bom desenrolar da comunicação e de todos os controles que a
acompanham, os dados são encapsulados, isto é, juntamos ao pacote de dados
um cabeçalho que vai sincronizar as transmissões e assegurar a sua
recepção.
Outra particularidade do TCP é poder controlar o débito dos dados graças à
sua capacidade para emitir mensagens de dimensão variável: estas mensagens
são chamadas de "segmentos".
O protocolo TCP é o mais complexo do sistema de protocolos TCP/IP. Ele
recebe os datagramas IP e trata de colocados em ordem (já que em redes de
grande os datagramas geralmente chegam for a de ordem) e verificar se todos
chegaram correctamente. O IP não verifica se um datagrama chegou ou não ao
destino, ficando o TCP responsável por essa tarefa.
As aplicações enviam dados a serem transmitidos pela rede ao protocolo TCP,
através de canais virtuais de comunicação chamados de portas. As portas
mais usadas pelo protocolo TCP são:
"Porta "Uso "
"11 "Systat "
"15 "Netsat "
"20 "FTP(Dados) "
"21 "FTP(Controle) "
"23 "Telnet "
"25 "SMTP "
"43 "Whois "
"79 "Finger "
"80 "HTTP "
Transmissão e recepção de pacotes
O protocolo TCP envia uma mensagem de confirmação de recebimento a máquina
transmissora chamada acknowledge (também chamada ack).
Se o transmissor não receber uma confirmação de recebimento dentro de um
determinado tempo, o pacote é retransmitido, já que isso significa que
datagrama IP carregando informações inseridas pelo protocolo TCP foram
desgastados no meio do caminho por algum motivo.
ESTRUTURA DO SEGMENTO TCP
Estrutura do segmento TCP
Maneira tradicional de se representar a estrutura do segmento TCP.
Encontramos os seguintes campos no cabeçalho TCP:
Porta de origem: indica a aplicação que origina os dados.
Porta do destino: indica a aplicação para a qual os dados serão
entregues no receptor.
Número de sequência: identifica o número do primeiro byte presente no
segmento dentro do fluxo de dados gerados pela aplicação.
Número de confirmação: é o acknowledge (ack). Aqui é colocado o número
de sequência do próximo segmento que o receptor espera receber.
HLEN ou Offset: Esse campo (header lenght) especifica o tamanho do
cabeçalho do pacote TCP, contado em número de 32 bits, isto é, o
número de linhas existentes na figura xxx (em outras palavras o numero
de bits existentes no cabeçalho dividido por 32). O tamanho mínimo do
cabeçalho é de cinco palavras de 32bits (20 bytes), sendo esse o valor
mais comum do campo HLEN já que normalmente o campo opções + pad não é
usado. Quando este campo é usado, o valor do campo HLEN é seis.
Reservados: Esse campo não é usado.
Bits de controlo ou bits de código: esses bits são usados para
controle, conforme mostra a próxima tabela(os seis bits deste campo
são contados da esquerda para a direita, isto é, o bit URG é o
primeiro da esquerda e assim por diante).
"Bit "Significado "
"URG "O campo ponteiro "
"ACK "O campo Número de confirmação é válido "
"PSH "Força a entrega dos dados (push) "
"RST "Reiniciar a conexão "
"SYN "Sincronismo, determina o número de "
" "sequência inicial "
"FIN "O transmissor chegou ao fim de seus dados "
Tamanho da janela: define o tamanho da janela, em bytes, que será
usada na conexão.
Checksum: é calculado de forma similar ao checksum do protocolo UDP,
com a criação de um pseudo - cabeçalho.
Ponteiro urgente: caso existam casos que precisem serem processados
antes de a conexão chegar ao fim, dentro de uma mesma conexão, o bit
URG é activado e este campo é usado para informar a posição, dentro do
segmento, em que os dados urgentes terminam.
Opções + pad: Esse campo é opcional e possui tamanho variável. Se não
for usado, o tamanho do cabeçalho TCP é de 20 bytes. Caso seja usado,
o tamanho do cabeçalho passa a ter 24bytes. Se o campo opções for
menor que 32 bits, então são adicionados zeros (chamados pad) ate que
tamanho desse campo tenha 32 bits (4 bytes). Normalmente este campo é
usado para que o transmissor e o receptor troquem informações sobre
qual será o tamanho máximo do segmento que será usado na conexão. Essa
informação é chamada tamanho máximo do segmento ou MSS (Maximum
segment size).
DNS (Domain Name System) – um sistema de gerenciamento de nomes hierárquico
e distribuído operando segundo duas definições:
Examinar e actualizar seu banco de dados e resolver nomes de domínios
em endereços de rede IPs.
Resolução de nomes de domínios ou resolução de endereços à correlação
entre os endereços IP e o nome de domínio associado.
Os servidores DNS possuem funções: converter endereços nominais em
endereços IP e vice-versa.
O sistema de nomes utilizado possui uma estrutura hierárquica.
Exemplo da estrutura hierárquica de servidores na internet.
Um servidor .com por exemplo, é responsável por todos os endereços
terminados em .com, assim como u servidor .com.br é responsável por todos
os endereços terminados em .com.br.
Cada rede local TCP/IP precisa ter ao menos um servidor DNS. Todos os
pedidos por conversão de nomes em endereços IP ou vice-versa são enviados a
este servidor. Caso ele não consiga efectuar essa conversão (também chamada
resolução), ele responde o pedido informando o endereço de um servidor que
seja hierarquicamente superior a ele e, com isso, a maior probabilidade de
conhecer o endereço solicitado.
Se outro servidor contactado também não conhecer o endereço, ele responderá
informando o endereço de outro servidor hierarquicamente superior e assim
sucessivamente, até o endereço ser localizado (ou não, caso seja um
endereço inexistente).
Formato das Mensagens DNS
O formato da mensagem DNS é mostrado na figura a seguir. Ela possui um
cabeçalho de tamanho fixo (12 bytes) e uma área de dados variável (as
secções de perguntas, respostas, autoridades e informações adicionais).
Encapsulamento da mensagem DNS Formato das
mensagens DNS
Os campos existentes na mensagem DNS são as seguintes:
Identificação: usado para numerar a mensagem DNS, para que a máquina
que enviou a mensagem consiga identificar correctamente a resposta
para a mensagem, quando ela chega.
Parâmetros: identificar o tipo de mensagem, conforme a tabela a
seguir. Por exemplo, se o bit zero estiver desativado, significa que a
mensagem é uma pergunta; já se ele estiver activado, a mensagem é uma
resposta, e assim por diante. O bits são contados da esquerda para a
direita dentro deste campo.
"Bit "Significado "
"0 "Operação: 0: Pergunta, 1: Resposta "
"1 a 4 "Tipo de Pergunta: 0: Padrão; 1: Reserva; 2; Complementar "
" "1 (obseleto); 3: Complementar 2 (obseleto) "
"5 "Resposta de autoridade "
"6 "Mensagem Truncada "
"7 "Recorrência desejada "
"8 "Recorrência disponível "
"9 a 11 "Reservado "
"12 a 15 "Tipo de resposta; 0: Não houve erros; 1: Erro no formato "
" "de pergunta; 2: folha no servidor; 3: nome inexistente "
Número de perguntas: informa o número de perguntas existentes no campo
secção de perguntas.
Número de respostas: idem para as respostas.
Número de Autoridades: idem para endereços de autoridades.
Número de informações adicionais: idem para as informações adicionais.
Telnet
O protocolo Telnet é um protocolo standard de Internet que permite io
interface de terminais e de aplicações através da Internet. Este protocolo
fornece as regras básicas para permitir ligar um cliente (sistema composto
de uma afixação e um teclado) a um intérprete de comando (do lado do
servidor).
O protocolo Telnet baseia-se numa conexão TCP para enviar dados em
formato ASCII codificado em 8 bits entre os quais se intercalam sequências
de controlo Telnet. Fornece assim um sistema orientado para a comunicação,
bidireccional (half-duplex), codificado em 8 bits fácil de aplicar.
O protocolo Telnet assenta em três conceitos fundamentais:
O paradigma do terminal rede virtual (NVT, Network Virtual Terminal);
O princípio de opções negociadas;
As regras de negociação.
O telnet é um terminal remoto, onde o micro cliente pode fazer um login em
um servidor qualquer que esteja conectado à rede (ou à Internet, se a rede
estiver conectada a ela). Com isso, através do Telnet o usuário pode
manipular o servidor como se ele estivesse sentado em frente a ele,
localmente – muito embora o usuário possa estar a milhares de quilómetros
de distancia. Tudo aquilo que o usuário fizer no terminal remoto, na
verdade ele estará fazendo no servidor, e não em seu computador local.
O telnet é extremamente simples. Ele usa o código ASCII puro para a
transmissão de dados, utilizando o protocolo TCP através da porta 23.
Assim, quando é pressionada a tecla A no cliente é imediatamente enviado o
valor 65 para o servidor (65 é o valor ASCII da tecla A).
FTP (File Transfer Protocol): é como o seu nome o indica, um protocolo de
transferência de ficheiro.
Esse protocolo utiliza duas portas para se comunicar com o TCP: 21, por
onde circulam informações de controle (por exemplo, o nome do arquivo a ser
transferido) e 20, por onde circulam os dados.
O papel do Protocolo FTP
O protocolo FTP define a maneira segundo a qual os dados devem ser
transferidos numa redeTCP/IP.
O protocolo FTP tem como objectivos:
permitir uma partilha de ficheiros entre máquinas distantes
permitir uma independência dos sistemas de ficheiros das máquinas
clientes e servidor
permitir transferir dados de maneira eficaz
o modelo FTP
O protocolo FTP inscreve-se num modelo cliente-servidor, ou seja, uma
máquina envia ordens (o cliente) e a outra espera pedidos para efectuar
acções (o servidor).
Aquando de uma conexão FTP, dois canais de transmissão estão abertos :
Um canal para os comandos (canal de controlo)
Um canal para os dados
Funcionamento do FTP
Os micros clientes necessitam de um programa cliente FTP para terem acesso
a um servidor FTP. Na conexão, é pedido um login e um senha. O servidor de
FTP pode ser configurado para receber conexões anónimas, sem a necessidade
de senha, para arquivos que deseje tornar públicos.
SMTP (Simple Mail Transfer Protocol)
É o protocolo padrão para envio de e-mails através da internet. É um
protocolo relativamente simples, baseado em texto simples, onde um ou
vários destinatários de uma mensagem são especificado (e, na maioria dos
casos, validados) sendo, depois a mensagem transferida. É bastante fácil
testar um sevidor SMTP usando o programa telnet.
Esse protocolo usa a porta 25 numa rede TCP. A resolução de um servidor
SMTP de um dado domínio é possibilitada por sua entrada MX (Mail eXchange).
E e-mail é hoje um dos meios mais conhecidos para nós, humanos, trocarmos
informações. Ele é trocado através de um protocolo chamado SMTP.
Funcionamento de e-mail
A comunicação entre os programas clientes e os servidores de e-mail é
extremamente simples. Toda comunicação é feita em ASCII puro, através de
comandos extremamente simples que são facilmente entendidos por humanos. O
conteúdo da mensagem em si também é enviado em ASCII puro. Actualmente pode-
se usar o padrão MIME em lugar do ASCII. O padrão MIME foi criado para
permitir o envio de informações não-ASCII, como imagens e documentos que
não estejam no formato texto puro dentro do e-mail. Permite o envio de
arquivos anexados (attachments) ao e-mail.
HTTP
O protocolo HTTP (HyperText Transfer Protocol) é o protocolo mais utilizado
na Internet desde 1990. A versão 0.9 destinava-se unicamente a transferir
dados na Internet (em especial páginas Web escritas em HTML). A versão 1.0
do protocolo (a mais utilizada) permite doravante transferir mensagens com
cabeçalhos que descrevem o conteúdo da mensagem utilizando uma codificação
de tipo MIMO.
O objectivo do protocolo HTTP é permitir uma transferência de ficheiros
(essencialmente no formato HTML) localizados graças a uma cadeia de
caracteres chamada URL entre um navegador (o cliente) e um servidor Web
(chamado de resto http nas máquinas UNIX).
A internet não seria a mesma sem o WWW (world wide web). O bom que a
internet sofreu nos últimos anos foi graças à criação desse recurso. Um
site www consiste em uma série de documentos hipermédia, acessados através
de um endereço, também chamado URL (uniforme Resource Locator), como por
exemplo, www.seusite.com.br.
A transferência de documentos hipermédia é feita através do protocolo HTTP.
Um servidor WWW hospeda o site, enquanto um cliente (um browser Internet)
faz a requisição dos documentos lá contidos. Essa transferência é feita
usando a porta 80 do protocolo TCP. Esses documentos são escritos em
diversas linguagens e o browser é o responsável por interpretar tais
linguagens. A mais simples de todas é o texto puro, passando pelo famoso
HTML (HyperText Markup Language) e chegando a outras linguagens mais
recentes e suportadas somente pelos navegadores mais novos.
Exemplo de uma comunicação HTTP
A comunicação usando o HTTP é bidireccional e permite dois recursos para a
diminuição do trafego da rede e para o aumento do desempenho.
Cache – que é a copia dos últimos arquivos acessados no disco duro do
usuário, permite que o navegador em vez de ir novamente ao servidor www
buscar os mesmos arquivos já lidos, os busquendo disco duro local do
usuário, aumentando o desempenho.
Proxy – que permite que uma máquina intermediaria entre o cliente e o
servidor www funcione como um cache. Por exemplo pode se configurar um
servidor proxy em sua rede local para ser usado como intermediário no
acesso à internet. Quando a máquina faz acesso à internet, os dados são
copiados para o disco duro do servidor proxy. Com isso se alguma máquina
pedir um documento que esteja no proxy, não será necessário ir na internet
buscar os dados, aumentando o desempenho e diminuindo o trafego.
Funcionamento de um Servidor Proxy.
NB: Para saber mais acerca dos protocolos é so baixarem o livro que se
encontra na plataforma moodle, e estudarem, porque neste livro apenas tem
um resumo de todos trabalhos de defesa.