sexta-feira, 22 de maio de 2009

Tudo sobre TCP/IP - parte1









O conjunto de protocolos TCP/IP (Transmission Control Protocol/Internet Protocol - Protocolo de Controle de Transmissão/Protocolo da Internet) está presente em quase na totalidade dos sistemas operacionais de rede disponíveis atualmente. É um protocolo flexível, recomendável tanto para redes pequenas quanto para redes gigantescas como a Internet, e compatível com uma enormidade de hardwares diferentes. Neste tutorial, discutiremos o funcionamento básico do TCP/IP incluindo uma descrição dos protocolos que o formam e explicação sobre como utilizar suas principais ferramentas.



As Origens



O TCP/IP foi primariamente desenvolvido nos anos 60 por uma agência do Departamento de Defesa Americano (DOD): a DARPA (Defense Advanced Research Projects Agency). Ele foi projetado para permitir que diferentes tipos de sistemas de computador se comunicassem como se fossem um sistema só em uma época que as arquiteturas variavam muito e eram guardadas a sete chaves. Vários fatores levaram à popularidade do TCP/IP e ele acabou sendo incorporado ao Unix da universidade de Berkeley no início da década de 80, tornando-se em seguida um padrão nas grandes universidades. Além disso, todas as propostas do governo dos Estados Unidos que incluíam redes na época incluiam também o TCP/IP. A criação de uma interface amigável para o usuário utilizar-se dos recursos do conjunto de protocolos (o navegador Web) permitiu que o usuário comum pudesse aproveitar-se das vantagens do protocolo.





Uma interface amigável ao usuário sempre ajudou programas de computador a deslancharem no mercado, incluindo o Windows e o conjunto de protocolos TCP/IP.



Arquitetura do TCP/IP



Os diversos tipos de protocolo disponíveis no TCP/IP trabalham em conjunto para que a comunicação possa ser efetuada. São organizados em um modelo de 4 camadas, como ilustrado abaixo.







Quando as informações são enviadas elas passam por todas essas camadas. Por exemplo, quando você transfere um arquivo para um servidor FTP (File Transfer Protocol, será explicado mais adiante), os dados e mais um cabeçalho contendo informações de controle do FTP serão enviados ao TCP: este adiciona suas informações de controle também e repassa os dados ao IP. Este por sua vez adiciona seu próprio cabeçalho e repassa o bloco de informações (incluindo todos os cabeçalhos) para o Ethernet, que então codifica os dados em uma forma que possa trafegar no cabo da rede. Ufa! Assim também ocorre quando o servidor FTP envia dados para o seu computador, só que no sentido inverso. Você entenderá melhor esse processo ao longo do tutorial.







Camada de Interface de Rede



Esta camada controla como os dados são formatados ou interpretados quando chegam diretamente do fio à sua placa de rede. Ela dita ao dispositivo de rede como enviar e receber os dados binários. Contém protocolos de Redes Locais (Local Area Networks) como Token Ring, FDDI (Fiber Distributed Data Interface - Interface de Dados Distribuídos na Fibra) e Ethernet (a mais utilizada em redes locais) e protocolos de Redes Amplas (Wide Area Networks), como ATM (Assynchronous Transfer Mode - Modo de Transferência Assíncrona), Frame Relay (Transmissão de Quadros) e redes Seriais.



Camada da Internet



A camada da internet contém quatro protocolos principais: ARP, IP, ICMP e IGMP, descritos e explanados a seguir.







O Protocolo de Resolução de Endereços cuida da resolução de endereços IP para endereços físicos, ou endereços MAC (Media Access Control - Controle de Acesso à Mídia). Estes endereços MAC são compostos por 48 bits, representados por 16 números hexadecimais de dois algarismos separados por traços, e identificam o computador em uma rede Ethernet. Por esta definição, 00-E0-2D-03-1A-7B é um endereço físico válido. Cada placa de rede ethernet possui um número único (não são fabricadas duas placas de rede com o mesmo número) que não pode ser mudado.



Um número hexadecimal é de base 16. Além dos números de 0-9 usa também letras de A-F. Foi criado para simplificar a exibição de números binários extensos, já que um dígito hexadecimal representa quatro dígitos binários (bits). Por exemplo, o número binário "1101" pode ser simplesmente escrito como "D" na base hexadecimal.



Cada vez que o computador resolve um endereço IP para endereço físico, ele grava esta informação em uma tabela que é mantida na memória chamada de cache do ARP. Assim, caso esta informação seja necessária mais tarde, um novo processo de resolução não será executado. No entanto, cada entrada na tabela tem um tempo de expiração, para evitar erros no caso de algum dispositivo na rede trocar de endereço IP.





A tabela cache do ARP pode ser exibida no Windows através do comando arp -a.



Processo de Resolução de Endereços MAC



1. O computador compara o endereço IP de destino de todos os pacotes de saída com o Cache do ARP, para ver se o endereço MAC já não foi resolvido anteriormente.



2. Caso o cache não tenha a informação, o ARP envia um broadcast na rede, pedindo para que o computador com o referido endereço IP responda com seu endereço físico. Esta solicitação inclui seu próprio MAC.



Broadcast é uma forma de transmissão de pacotes de dados na qual todos os clientes TCP/IP da rede processam o pacote. Opõe-se ao Unicast (pacote direcionado a um host específico) e Multicast (um grupo de hosts determinado recebe o pacote).



3. O dispositivo na rede com o endereço IP de destino adiciona a informação do endereço MAC do computador que enviou a solicitação ao seu cache ARP e responde a solicitação com seu próprio endereço físico.



4. A resposta é recebida e o endereço físico solicitado é armazenado no cache do ARP. O pacote finalmente é enviado ao destino.

Nenhum comentário:

Postar um comentário