quinta-feira, 10 de março de 2011

Portas e Protocolos Parte 2

Como funciona o TCP ?
No TCP, os dados são transmitidos através de conexões. Tudo começa com o cliente enviando o pacote "SYN", que solicita a abertura da conexão. Caso a porta esteja fechada, o servidor responde com um pacote "RST" e a conversa pára por aí. Caso, por outro lado, exista algum servidor disponível na porta solicitada (um servidor http, por exemplo), então ele responde com outro pacote "SYN", seguido de um um pacote "ACK", avisando que a porta está disponível e prosseguindo com a abertura da conexão.
O cliente responde então com outro pacote "ACK", o que abre oficialmente a conexão. Começa então a transferência dos dados, que são organizados em pacotes. O protocolo TCP/IP permite o uso de pacotes com até 64 kbytes, mas normalmente são usados pacotes com até 1500 bytes, que é o tamanho máximo de um frame Ethernet. Pacotes maiores podem ser transmitidos normalmente através da rede, mas precisam ser fragmentados, ou seja, divididos em pedaços menores, com até 1500 bytes.
Para cada pacote recebido, a estação envia um pacote de confirmação e, caso algum pacote se perca, ela solicita a retransmissão. Cada pacote inclui 4 bytes adicionais com um código de CRC, que permite verificar a integridade do pacote. É através dele que o cliente sabe quais pacotes chegaram danificados.
Depois que todos os dados são transmitidos, o servidor envia um pacote "FYN" que avisa que não tem mais nada a transmitir. O cliente responde com outro pacote "FYN" e a conexão é oficialmente encerrada.
Graças a tudo isso, a confiabilidade é muito boa. Quando a conexão está ruim, é normal ocorrerem mais perdas de pacotes e retransmissões, mas as corrupções são geralmente causadas pelo próprio programa que está baixando o arquivo e não pelo protocolo. O problema é que toda esta formalidade torna as transferências um pouco mais lentas. Imagine que, para transmitir uma mensagem de texto com 300 bytes, via TCP, seria necessário transmitir um total de 9 pacotes! 
Veja um exemplo de como a transmissão funcionaria:
Estação: SYN (solicita a abertura da conexão)
Servidor: SYN (confirma o recebimento e avisa que a porta está disponível)
Servidor: ACK (inicia a conexão)
Estação: ACK (confirma)
Estação: DATA (é enviado o pacote com a mensagem de texto)
Servidor: OK (a confirmação, depois de verificar a integridade do pacote)
Estação: FYN (solicita o fechamento da conexão)
Servidor: FYN (confirma)
Estação: FYN (confirma que recebeu a confirmação)




ICMP

Ao contrário do TCP e do UDP, o ICMP não é usado para a transmissão de dados, mas nem por isso deixa de desempenhar diversas funções importantes. A mais trivial delas é o ping, que usamos para verificar se uma determinada máquina está online
Outra função importante do ICMP é o controle do TTL (time to live) de cada pacote TCP ou UDP. Os pacotes tem vida curta e sua única função é carregar os dados até o destino. Eles são transmitidos de um roteador a outro e, uma vez que chegam ao destino, são desmontados e destruídos.
Concluindo, os pacotes ICMP são usados (durante as transferências de dados) também para regular a velocidade da transmissão, fazendo com que o servidor envie pacotes na maior velocidade possível permitida pelo link, sem entretanto sobrecarregar o link do cliente. Sempre que um dos roteadores pelo caminho, percebe que o link está saturado, envia um pacote ICMP "Source Quench", que faz o servidor reduzir a velocidade da transmissão. Sem isso, os pacotes excedentes seriam descartados, causando um grande desperdício de banda.

  • A gestão de erros do ICMP

O protocolo ICMP (Internet Control Message Protocol) é um protocolo que permite gerir as informações relativas aos erros ns 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 switchs, que o utilizam para assinalar um erro
Para saber as mensagens de erros do ICMP o site   http://pt.kioskea.net/contents/internet/icmp.php3 oferece todas as informações necessárias .




DHCP

O DHCP ("Dynamic Host Configuration Protocol" ou "protocolo de configuração dinâmica de endereços de rede") permite que todos os micros da rede recebam suas configurações de rede automaticamente a partir de um servidor central, sem que você precise ficar configurando os endereços manualmente em cada um.


PROTOCOLO ARP

Ele oferece uma maneira mais facil de descobrir o endereço MAC do host. A estação manda um pacote de broadcast ( chamado ARP request ), contendo o endereço IP do host destino e ele responde com seu endereço MAC. 
Existe também o "RARP" ( Reverse ARP ) ,que tem função oposta : constatar um host da rede quando o endereço MAC é conhecido, mas o IP não.
"ARPING" é um pequeno utilitário que utiliza o ARP ao invés do ping para descobrir se outras maquinas de rede estão online.
A vantagem é que mesmo maquinas protegidas por firewall, ou por configurações para não responder pings, respondem a pacotes ARP fazendo com que ele seja mais uma ferramenta interessante na hora de diagnosticar problemas na rede.  

Nenhum comentário:

Postar um comentário