Módulo 9: Conjunto de Protocolos TCP/IP e endereçamento IP Visão Geral A Internet foi desenvolvida para oferecer uma rede de comunicação que pudesse continuar funcionando em tempos de guerra. Embora tenha evoluído de maneira bem diferente daquela imaginada por seus idealizadores, ela ainda é baseada no conjunto de protocolos TCP/IP. O projeto do TCP/IP é ideal para uma rede descentralizada e robusta como é a Internet. Muitos protocolos usados hoje em dia foram criados usando o modelo TCP/IP de quatro camadas. É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada modelo oferece sua própria estrutura para explicar como uma rede funciona, mas há muita sobreposição entre eles. Sem conhecer os dois, é possível que um administrador de rede não tenha uma percepção suficientemente clara sobre as razões pelas quais uma rede funciona da maneira que funciona. Qualquer dispositivo da Internet que queira comunicar-se com outros dispositivos da Internet precisa ter um identificador exclusivo. Esse identificador é conhecido como endereço IP, porque os roteadores usam um protocolo da camada três, o protocolo IP, para encontrar o melhor caminho até esse dispositivo. O IPv4, versão atual do IP, foi concebido antes que houvesse uma grande demanda por endereços. O crescimento explosivo da Internet tem ameaçado esgotar o estoque de endereços IP. As sub-redes, a tradução de endereços de rede (NAT, Network Address Translation) e o endereçamento privado são usados para expandir o endereçamento IP sem que esse estoque termine. Uma outra versão do IP, conhecida como IPv6, apresenta melhorias em relação à versão atual, oferecendo um espaço de endereçamento muito maior, integrando ou eliminando os métodos usados para lidar com as deficiências do IPv4. Para fazer parte da Internet, além do endereço MAC físico, cada computador precisa de um endereço IP exclusivo, às vezes chamado de endereço lógico. Há vários métodos para atribuir um endereço IP a um dispositivo. Alguns dispositivos têm sempre um endereço estático, enquanto outros têm um endereço temporário atribuído a eles toda vez que se conectam à rede. Quando é necessário um endereço IP atribuído dinamicamente, o dispositivo pode obtê-lo por meio de vários métodos. Para que ocorra um roteamento eficiente entre os dispositivos, outras questões precisam ser resolvidas. Por exemplo, endereços IP duplicados podem impedir o roteamento eficiente dos dados. Os alunos que concluírem esta lição deverão ser capazes de: Explicar por que a Internet foi desenvolvida e como o TCP/IP se situa no projeto da Internet. Relacionar as 4 camadas do modelo TCP/IP. Descrever as funções de cada camada do modelo TCP/IP. Comparar o modelo OSI e o modelo TCP/IP. Descrever a função e a estrutura dos endereços IP. Entender por que as sub-redes são necessárias. Explicar a diferença entre os endereçamentos público e privado. Entender a função dos endereços IP reservados. Explicar o uso de endereçamento estático e dinâmico para um dispositivo. Entender como o endereçamento dinâmico pode ser feito usando RARP, BootP e DHCP. Usar ARP para obter o endereço MAC e enviar um pacote para outro dispositivo. Entender as questões relacionadas ao endereçamento entre redes. 1 9.1 Introdução ao TCP/IP 9.1.1 História e futuro do TCP/IP O Departamento de Defesa dos Estados Unidos (DoD) criou o modelo de referência TCP/IP porque queria uma rede que pudesse sobreviver a qualquer condições. Para ilustrar, imagine um mundo atravessado por muitos cabos, fios, microondas, fibras óticas e conexões de satélite. Imagine também a necessidade de transmitir dados independentemente da condição de um determinado nó ou rede. O DoD exigia transmissão confiável de dados para qualquer destino da rede sob quaisquer circunstâncias. A criação do modelo TCP/IP ajudou a resolver esse difícil problema de projeto. Desde então, o modelo TCP/IP tornou-se o padrão no qual a Internet se baseia. Ao ler sobre as camadas do modelo TCP/IP, tenha em mente a intenção original da Internet. Lembrando-se disso, haverá menos confusão. O modelo TCP/IP tem quatro camadas: a camada de aplicação, a camada de transporte, a camada de Internet e a camada de acesso à rede. Algumas das camadas do modelo TCP/IP têm o mesmo nome das camadas do modelo OSI. É essencial não confundir as funções das camadas dos dois modelos, pois as camadas contêm diferentes funções em cada modelo. A versão atual do TCP/IP foi padronizada em setembro de 1981 9.1.2 Camada de aplicação A camada de aplicação do modelo TCP/IP trata de protocolos de alto nível, questões de representação, codificação e controle de diálogos. O conjunto de protocolos TCP/IP combina todas as questões relacionadas às aplicações em uma única camada e garante que esses dados são empacotados corretamente antes de passá-los adiante para a próxima camada. O TCP/IP inclui não somente especificações da camada de Internet e transporte, tais como IP e TCP, mas também especificações para aplicações comuns. O TCP/IP tem protocolos que suportam transferência de arquivos, correio eletrônico e login remoto, em adição aos seguintes: FTP (File Transfer Protocol – Protocolo de Transferência de Arquivos) – O FTP é um serviço confiável, orientado a conexões, que usa o TCP para transferir arquivos entre sistemas que suportam o FTP. Este protocolo suporta transferências bidirecionais de arquivos binários e ASCII. TFTP (Trivial File Transfer Protocol – Protocolo de Transferência de Arquivos Simples) – O TFTP é um serviço sem conexão que usa o UDP (User Datagram Protocol – Protocolo de Datagrama de Usário). Esse protocolo é usado no roteador para transferir arquivos de configuração e imagens IOS da Cisco e para transferir arquivos entre sistemas que suportam TFTP. É útil em algumas redes locais porque opera mais rápido do que o FTP em um ambiente estável. NFS (Network File System – Sistema de Arquivos de Rede) – O NFS é um conjunto de protocolos de sistema de arquivos distribuído, desenvolvido pela Sun Microsystems, que permite acesso a arquivos de um dispositivo de armazenamento remoto, como um disco rígido, através da rede. SMTP (Simple Mail Transfer Protocol – Protocolo Simples de Transferência de Correio) – O SMTP administra a transmissão de correio eletrônico através de redes de computadores. Ele não oferece suporte à transmissão de dados que não sejam em texto simples. 2 Telnet (Terminal emulation – Emulação de terminal) – O Telnet permite o acesso remoto a outro computador. Ele permite que um usuário efetue logon em um host da Internet e execute comandos. Um cliente Telnet é chamado host local. Um servidor Telnet é chamado host remoto. SNMP (Simple Network Management Protocol – Protocolo Simples de Gerenciamento de Rede) – O SNMP é um protocolo que oferece uma forma de monitorar e controlar dispositivos de rede e de gerenciar configurações, coleta de dados estatísticos, desempenho e segurança. DNS (Domain Name System – Sistema de Nomes de Domínio) – O DNS é um sistema usado na Internet para converter Os nomes de donmínios e seus respectivos nós de rede divulgados publicamentede em endereços IP. 9.1.3 Camada de transporte A camada de transporte oferece serviços de transporte desde o host de origem até o host de destino. Ela forma uma conexão lógica entre dois pontos da rede, o host emissor e o host receptor. Os protocolos de transporte segmentam e remontam os dados das aplicações de camada superior enviados dentro do mesmo fluxo de dados, ou conexão lógica, entre os dois pontos. O fluxo de dados da camada de transporte oferece serviços de transporte ponta-a-ponta. Geralmente, a Internet é representada por uma nuvem. A camada de transporte envia pacotes de dados da origem para o destino receptor através dessa nuvem. O controle ponta-a-ponta, fornecido pelas janelas móveis e pela confiabilidade dos números de seqüenciamento e das confirmações, é a principal tarefa da camada de transporte quando se usa o TCP. A camada de transporte também define a conectividade ponta-a-ponta entre as aplicações do host. Os serviços de transporte incluem todos os serviços abaixo: TCP e UDP Segmentação de dados das aplicações da camadas superiores Envio de segmentos de um dispositivo em uma ponta para um dispositivo em outra ponta Somente TCP Estabelecimento de operações ponta-a-ponta Controle de fluxo proporcionado pelas janelas móveis Confiabilidade proporcionada pelos números de seqüência e confirmações 9.1.4 Camada de internet Geralmente, a Internet é representada por uma nuvem. A camada de transporte envia pacotes de dados da origem para o destino receptor através dessa nuvem. Essa nuvem trata de questões como "Qual dos vários caminhos é o melhor para uma rota especificada?" A finalidade da camada de Internet é escolher o melhor caminho para os pacotes viajarem através da rede. O principal protocolo que funciona nessa camada é o IP (Internet Protocol). A determinação do melhor caminho e a comutação de pacotes ocorrem nesta camada. Os seguintes protocolos operam na camada de Internet TCP/IP: O IP oferece roteamento de pacotes sem conexão, e uma entrega de melhor esforço. Ele não se preocupa com o conteúdo dos pacotes, apenas procura um caminho até o destino. 3 O ICMP (Internet Control Message Protocol – Protocolo de Mensagens de Controle da Internet) oferece recursos de controle e de mensagens. O ARP (Address Resolution Protocol – Protocolo de Resolução de Endereços) determina o endereço da camada de enlace (-o endereço MAC),ara os endereços IP conhecidos. O RARP (Reverse Address Resolution Protocol – Protocolo de Resolução Reversa de Endereços) determina os endereços IP quando o endereço MAC é conhecido. O IP realiza as seguintes operações: Define um pacote e um esquema de endereçamento Transfere dados entre a camada de Internet e as camadas de acesso à rede Roteia os pacotes para os hosts remotos 9.1.5 Camada de acesso à rede Finalmente, como esclarecimento sobre a tecnologia, o IP às vezes é considerado um protocolo não-confiável. Isso não significa que o IP não entregue os dados de maneira precisa através de uma rede. Chamá-lo de protocolo não-confiável significa simplesmente que o IP não realiza a verificação e correção de erros. Essa função é realizada pelos protocolos de camadas superiores, as camadas de transporte ou de aplicação. A camada de acesso à rede é também denominada camada host-to-network. A camada de acesso à rede é a camada que cuida de todas as questões necessárias para que um pacote IP estabeleça efetivamente um link físico com os meios físicos da rede. Isso inclui detalhes de tecnologia de redes locais e de WANs e todos os detalhes contidos nas camadas física e de enlace de dados do modelo OSI. Drivers de aplicativos, de placas de modem e de outros dispositivoss operam na camada de acesso à rede. A camada de acesso à rede define os procedimentos para estabelecer uma interface com o hardware de rede e para acessar o meio de transmissão. Padrões de protocolos conhecidos é detectada são instalados for mais como o SLIP (Serial Line Internet Protocol – Protocolo de Internet de Linha Serial) e o PPP (Point-to-Point Protocol – Protocolo Ponto a Ponto) oferecem acesso à rede através de uma conexão com modem. Devido a uma complexa interação entre as especificações de hardware, software e meios de transmissão, há muitos protocolos em operação nesta camada. Isso pode causar confusão para os usuários. A maioria dos protocolos reconhecíveis opera nas camadas de transporte e de Internet do modelo TCP/IP. As funções da camada de acesso à rede incluem o mapeamento de endereços IP para endereços físicos de hardware e o encapsulamento de pacotes IP em quadros. Com base no tipo de hardware e na interface de rede, a camada de acesso à rede define a conexão com os meios físicos da rede. Um bom exemplo de configuração da camada de acesso à rede seria a de um sistema Windows usando uma placa de rede de terceiros. Conforme a versão do Windows, a placa de rede seria detectada automaticamente pelo sistema operacional e os drivers adequados seriam instalados. Se a versão do Windows fosse mais antiga, o usuário precisa especificar o driver da placa de rede. O fabricante da placa fornece esses drivers em discos ou CD-ROMs. 9.1.6 Comparação modelo OSI com o modelo TCP/IP A seguir, veremos uma comparação entre o modelo OSI e o modelo TCP/IP, observando suas semelhanças e diferenças: 4 Semelhanças entre os modelos OSI e TCP/IP: Ambos são divididos em camadas . A camada de transporte do TCP/IP ao ultilizar o protocolo UDP. Ambos são divididos em camadas de transporte e de rede equivalentes. A tecnologia de comutação de pacotes (e não de comutação de circuitos) é presumida por ambos. Os profissionais de rede precisam conhecer ambos os modelos. Diferenças entre os modelos OSI e TCP/IP: O TCP/IP combina as camadas de apresentação e de sessão dentro da sua camada de aplicação. O TCP/IP combina as camadas física e de enlace do modelo OSI em uma única camada. O TCP/IP parece ser mais simples por ter menos camadas. A camada de transporte do TCP/IP, que utiliza o UDP, nem sempre garante a entrega confiável dos pacotes, ao contrário da camada de transporte do modelo OSI. A Internet se desenvolve com o uso does padrões de protocolos TCP/IP. O modelo TCP/IP ganha credibilidade graças a seus protocolos. Por outro lado, aRede normalmente não são implementadas sobre o protocolo do modelo OSI. O modelo OSI é usado como guia para o entendimento do processo de comunicação. 9.1.7 Arquitetura da Internet Embora a Internet seja complexa, há algumas idéias básicas relacionadas à sua operação. Nesta seção, examinaremos a arquitetura básica da Internet. A Internet é uma idéia que aparenta simples que, quando repetida em grande escala, permite a comunicação de dados quase instantânea ao redor do mundo entre quaisquer pessoas, em qualquer lugar, a qualquer momento. As redes locais são redes menores, limitadas a uma área geográfica. Muitas redes locais conectadas entre si possibilitam o funcionamento da Internet. Mas as redes locais têm limitações de escala. Embora tenham havidoavanços tecnológicos que melhoraram a velocidade das comunicações, com o Ethernet Metro Optical, Gigabit e 10 Gigabits, a distância ainda representa um problema. Focar na comunicação no nível da camada de aplicação entre os computadores de origem e destino e os computadores intemediários é uma forma de ter uma visão geral da arquitetura da Interet. Colocar instâncias idênticas de um aplicativo em todos os computadores da rede poderia facilitar a entrega de mensagens através da grande rede. Entretanto, isso apresenta problemas de escala. Para que um novo software funcione corretamente, é necessário que os novos aplicativos sejam instalados em todos os computadores da rede. Para que um novo hardware funcione corretamente, é necessário modificar o software. Qualquer falha de um computador intermediário ou de um aplicativo do computador causaria uma ruptura na cadeia de mensagens sendo transmitidas. A Internet usa o princípio da interconexão de camadas de rede. Usando o modelo OSI como exemplo, o objetivo é construir a funcionalidade da rede em módulos independentes. Isso permite uma diversidade de tecnologias de LAN nas camadas 1 e 2 e uma diversidade de aplicações funcionando nas camadas 5, 6 e 7. O modelo OSI oferece um mecanismo no qual os detalhes das camadas inferiores e superiores estão separados. Isso permite que os dispositivos de rede intermediários "comutem" o tráfego sem ter que se preocupar com os detalhes da LAN. 5 Isso leva ao conceito de internetworking, ou construção de redes compostas de redes. Uma rede de redes é chamada de internet (com "i" minúsculo). Quando falamos das redes que se desenvolveram a partir do Departamento de Defesa dos EUA, nas quais funciona a World Wide Web (www) ou rede mundial, usamos o "I" maiúsculo, Internet. As internets devem ser escalonáveis com relação à quantidade de redes e computadores conectados. A interconexão de redes deve ser capaz de lidar com o transporte de dados através de enormes distâncias. Deve ser flexível para dar conta das constantes inovações tecnológicas. Deve ser capaz de se ajustar às condições dinâmicas da rede. E as internets devem ser econômicas. Por fim, as internets devem ser projetadas para permitir comunicações de dados para qualquer pessoa, a qualquer momento, em qualquer lugar. A figura resume a conexão de uma rede física a outra por meio de um computador de função especial, chamado roteador. Essas redes são descritas como diretamente conectadas ao roteador. O roteador é necessário decisões sobre os caminhos a serem para cuidar das decisões sobre os caminhos a serem ultilizados para que ocorra a comunicação entre duas redes. São necessários muitos roteadores para manejar grandes volumes de tráfego de rede. A figura expande a idéia para três redes físicas conectadas por dois roteadores. Os roteadores tomam decisões complexas para permitir que todos os usuários em todas as redes se comuniquem. Nem todas as redes estão diretamente conectadas entre si. O roteador precisa de algum método para lidar com essa situação. Uma opção é que o roteador mantenha uma lista de todos os computadores e de todos os caminhos até eles. Assim, o roteador decidiria como encaminhar os pacotes de dados com base nessa tabela de referência. O encaminhamento é baseado no endereço IP do computador de destino. Essa opção ficaria difícil conforme fosse aumentando a quantidade de usuários. A escalabilidade é introduzida quando o roteador mantém uma lista de todas as redes, mas deixa os detalhes da entrega local para as redes físicas locais. Nesta situação, os roteadores passam mensagens para os outros roteadores. Cada roteador compartilha informações sobre quais redes estão conectadas a ele. Isso cria a tabela de roteamento. A figura mostra a transparência exigida pelos usuários. Mesmo assim, as estruturas física e lógica dentro da nuvem da Internet podem ser extremamente complexas, conforme indica a figura . A Internet tem crescido rapidamente para aceitar cada vez mais usuários. O fato da Internet terse tornado tão grande, com mais de 90.000 rotas centrais e 300.000.000 de usuários finais, é uma prova da solidez da sua arquitetura. Dois computadores, em qualquer parte do mundo, seguindo certas especificações de hardware, software e protocolo, podem comunicar-se de maneira confiável. A padronização das práticas e dos procedimentos para movimentação de dados através das redes tornou a Internet possível. 9.2 Endereçamento de Internet 9.2.1 Endereçamento de IP Para que dois sistemas quaisquer comuniquem-se, eles precisam ser capazes de se identificar e localizar um ao outro. Embora os endereços da figura não sejam endereços de rede reais, representam e mostram o conceito de agrupamento de endereços. Um computador pode estar conectado a mais de uma rede. Nesta situação, o sistema deve receber mais de um endereço. Cada endereço identificará a conexão do computador a uma rede diferente. Não se fala que um dispositivo tem um endereço, mas que cada um dos pontos de conexão (-ou interfaces), daquele dispositivo tem um endereço para uma rede.Isso permite que os outros computadores localizem o dispositivo nessa rede específica. A combinação de letra 6 (endereço da rede) e número (endereço do host) cria um endereço exclusivo para cada dispositivo da rede. Cada computador em uma rede TCP/IP deve receber um identificador exclusivo, ou endereço IP. Esse endereço, operando na camada 3, permite que um computador localize outro computador na rede. Todos os computadores também têm um endereço físico exclusivo, conhecido como endereço MAC. Esse endereço é atribuído pelo fabricante da placa de interface de rede. Os endereços MAC operam na camada 2 do modelo OSI. Um endereço IP é uma seqüência de 32 bits de 1s e 0s. A figura mostra um exemplo de um número de 32 bits. Para facilitar a utilização do endereço IP, geralmente ele é escrito como quatro números decimais separados por pontos. Por exemplo, o endereço IP de um computador é 192.168.1.2. Outro computador pode ter o endereço 128.10.2.1. Essa maneira de escrever o endereço é chamada de formato decimal pontuado. Nesta notação, cada endereço IP é escrito em quatro partes separada por pontos. Cada parte do endereço é denominada octeto, já que é formada de oito dígitos binários. Por exemplo, o endereço IP 192.168.1.8 seria 11000000.10101000.00000001.00001000 em notação binária. A notação decimal separada por ponots é um método mais fácil de entender do que o método que utiliza od dígitos binários um e zero. Essa notação decimal separada por ponots também evita a grande quantidade de erros de transposição que ocorreriam se fosse usada somente a numeração binária. A utilização da notação decimal separada por ponots permite que os padrões numéricos sejam mais facilmente entendidos. Tanto os números binários quanto os decimais na figura representam os mesmos valores, mas é mais fácil de se entender a notação decimal separada por ponots. Este é um dos problemas comuns quando se trabalha diretamente com números binários. As longas cadeias de uns e zeros repetidos aumentam a probabilidade de erros de transposição e omissão. É fácil ver a relação entre os números 192.168.1.8 e 192.168.1.9, enquanto que não é tão fácil reconhecer a relação entre 11000000.10101000.00000001.00001000 e 11000000.10101000.00000001.00001001. Observando os números binários, é quase impossível ver que são números consecutivos. 9.2.2 Conversão decimal/binário Há várias maneiras de se resolver um problema. Também existem várias maneiras de se converter números decimais em números binários. Aqui apresentamos um método, embora não seja o único. O aluno pode achar outro método mais fácil. É uma questão de preferência pessoal. Ao converter um número decimal em binário, é preciso determinar a maior potência de 2 que se encaixará no número decimal. Se esse processo deve funcionar com computadores, o lugar mais lógico para se começar é com os maiores valores que se encaixam em um byte ou dois bytes. Conforme mencionado anteriormente, o agrupamento mais comum de bits é o de oito bits, equivalente a um byte. Às vezes, porém, o maior valor que pode um byte pode comportar não é suficientemente grande para os valores necessários. Para acomodar isso, bytes são combinados. Em vez de dois números de 8 bits, cria-se um número de 16 bits. Em vez de três números de 8 bits, cria-se um número de 24 bits. Aplicam-se as mesmas regras dos números de 8 bits. Multiplique o valor da posição anterior por 2 para obter o valor da coluna atual. Em computação, como geralmente se fala em bytes, é mais fácil começar pelas fronteiras dos bytes e calcular a partir daí. Comece calculando alguns exemplos. O primeiro será 6.783. Como esse número é maior que 255, o maior valor possível em um único byte, usaremos dois bytes. Comece calculando a partir de 215. O equivalente binário de 6.783 é 00011010 01111111. O segundo exemplo é 104. Como esse número é menor que 255, ele pode ser representado por um único byte. O equivalente binário de 104 é 01101000. 7 Esse método funciona para qualquer número decimal. Considere o número decimal um milhão. Como um milhão é maior que o maior valor que pode ser guardado em dois bytes, 65.535, serão necessários pelo menos três bytes. Multiplicando-se por dois até alcançar 24 bits (3 bytes), o valor será 8.388.608. Isso significa que o maior valor que pode ser guardado em 24 bits é 16.777.215. Portanto, começando do bit 24, continue o processo até alcançar zero. Continuando com o procedimento descrito, determina-se que o número decimal 1.000.000 é igual ao número binário 00001111 01000010 01000000. A figura inclui alguns exercícios de conversão de números decimais em números binários. 9.2.3 Endereçamento IPv4 A conversão de binário para decimal é simplesmente o inverso. Basta colocar o binário na tabela e, se houver um 1 na posição de uma coluna, adicionar esse valor ao total. Converta 00000100 00011101 para decimal. A resposta é 1053. A figura inclui alguns exercícios de conversão de binário para decimal. Um roteador encaminha pacotes da rede de origem para a rede de destino usando o protocolo IP. Os pacotes devem incluir um identificador tanto para a rede de origem quanto para a de destino. Usando o endereço IP da rede de destino, um roteador pode entregar um pacote para a rede correta. Quando o pacote chega a um roteador conectado à rede de destino, esse roteador usa o endereço IP para localizar o computador específico conectado a essa rede. Esse sistema funciona de maneira muito parecida com o sistema dos correios. Quando uma correspondência é roteada, primeiro ela deve ser entregue à agência dos correios na cidade de destino usando-se o CEP. Em seguida, essa agência deve localizar o destino final nessa cidade usando-se o nome da rua. É um processo em duas etapas. Da mesma maneira, todo endereço IP tem duas partes. Uma parte identifica a rede à qual o sistema está conectado; a outra parte identifica o sistema específico na rede. Conforme mostrado na figura , cada octeto vai de 0 a 255. Cada um dos octetos divide-se em 256 subgrupos, que se dividem em outros 256 subgrupos com 256 endereços em cada um deles. Ao se referir ao endereço do grupo diretamente acima de um grupo na hierarquia, todos os grupos que se ramificam desse endereço podem ser mencionados como uma única unidade. Esse tipo de endereço é chamado de endereço hierárquico, porque contém diferentes níveis. Um endereço IP combina esses dois identificadores em um único número. Esse número deve ser exclusivo, já que endereços duplicados tornariam o roteamento impossível. A primeira parte identifica o endereço de rede do sistema. A segunda parte, chamada de parte do host, identifica qual é a máquina específica na rede. Os endereços IP são divididos em classes, para definir redes pequenas, médias e grandes. Os endereços de classe A são atribuídos a redes maiores. Os endereços de classe B são usados para redes de porte médio e os de classe C para redes pequenas. A primeira etapa para determinar qual parte do endereço identifica a rede e qual parte identifica o host é identificar a classe do endereço IP. 9.2.4 Endereços IP classes A, B, C, D e E Para acomodar redes de diferentes tamanhos e ajudar na classificação dessas redes, os endereços IP são divididos em grupos chamados classes. Isto é conhecido por enderçamento classful. Cada endereço IP completo de 32 bits é dividido em uma parte da rede e uma parte do host. Um bit ou uma seqüência de bits no início de cada endereço determina a classe do endereço. Há cinco classes de endereços IP, conforme mostrado na figura . 8 O endereço de classe A foi criado para suportar redes extremamente grandes, com mais de 16 milhões de endereços de host disponíveis. Os endereços IP de classe A usam somente o primeiro octeto para indicar o endereço de rede. Os três octetos restantes são responsáveis pelos endereços de rede. O primeiro bit de um endereço de classe A é sempre 0. Como esse primeiro bit é 0, o menor número que pode ser representado é 00000000, que também é o 0 decimal. O maior número que pode ser representado é 01111111, equivalente a 127 em decimal. Os números 0 e 127 são reservados e não podem ser usados como endereços de rede. Qualquer endereço que comece com um valor entre 1 e 126 no primeiro octeto é um endereço de classe A. A rede 127.0.0.0 é reservada para testes de loopback. Os roteadores ou as máquinas locais podem usar esse endereço para enviar pacotes para si mesmos. Por isso, esse número não pode ser atribuído a nenhuma rede. O endereço classe B foi criado para dar conta das necessidades de redes de porte médio a grande. Um endereço IP de classe B usa os dois primeiros octetos para indicar o endereço da rede. Os outros dois octetos especificam os endereços dos hosts. Os dois primeiros bits do primeiro octeto de um endereço classe B são sempre 10. Os seis bits restantes podem ser preenchidos com 1s ou 0s. Portanto, o menor número que pode ser representado por um endereço classe B é 10000000, equivalente a 128 em decimal. O maior número que pode ser representado é 10111111, equivalente a 191 em decimal. Qualquer endereço que comece com um valor no intervalo de 128 a 191 no primeiro octeto é um endereço classe B. Das classes de endereços originais, o espaço de endereços de classe C é o mais usado. Esse espaço de endereços tinha como objetivo suportar redes pequenas com no máximo 254 hosts. Um endereço classe C começa com o binário 110. Assim, o menor número que pode ser representado é 11000000, equivalente a 192 em decimal. O maior número que pode ser representado é 11011111, equivalente a 223 em decimal. Se um endereço contém um número entre 192 e 223 no primeiro octeto, é um endereço classe C. O endereço classe D foi criado para permitir multicasting em um endereço IP. Um endereço de multicast é um endereço de rede exclusivo que direciona os pacotes com esse endereço de destino para grupos predefinidos de endereços IP. Assim, uma única estação pode transmitir simultaneamente um único fluxo de dados para vários destinatários. O espaço de endereços de classe D, de forma muito semelhante aos outros espaços de endereços, é limitadomatematicamente. Os primeiros quatro bits de um endereço classe D devem ser 1110. Assim, o intervalo de valores no primeiro octeto dos endereços de classe D vai de 11100000 a 11101111, ou de 224 a 239 em decimal. Um endereço IP que comece com um valor no intervalo de 224 a 239 no primeiro octeto é um endereço classe D. Também foi definido um endereço classe E. Entretanto, a IETF (Internet Engineering Task Force) reserva esses endereços para suas próprias pesquisas. Dessa forma, nenhum endereço classe E foi liberado para uso na Internet. Os primeiros quatro bits de um endereço classe E são sempre definidos como 1s. Assim, o intervalo de valores no primeiro octeto dos endereços de classe E vai de 11110000 a 11111111, ou de 240 a 255 em decimal. A figura mostra o intervalo de endereços IP do primeiro octeto, tanto em decimal quanto em binário, para cada classe de endereços IP. 9 9.2.5 Endereços IP reservados Alguns endereços de host são reservados e não podem ser atribuídos a dispositivos em uma rede. Esses endereços de host reservados incluem o seguinte: Endereço de rede: Usado para identificar a própria rede Na figura , a seção identificada pela caixa superior representa a rede 198.150.11.0. Os dados que são enviados para qualquer host dessa rede (198.150.11.1- 198.150.11.254) serão vistos para fora da rede local como 198.159.11.0. O único momento em que os números dos hosts têm importância é quando os dados estão na rede local. A LAN que está contida na caixa inferior é tratada da mesma maneira que a LAN superior, com a diferença de que seu número de rede é 198.150.12.0. Endereço de broadcast: Usado para realizar broadcast de pacotes para todos os dispositivos de uma rede Na figura , a seção identificada pela caixa superior representa o endereço de broadcast 198.150.11.255. Os dados enviados para o endereço de broadcast são lidos por todos os hosts dessa rede (198.150.11.1- 198.150.11.254). A LAN que está contida na caixa inferior é tratada da mesma maneira que a LAN superior, com a diferença de que seu endereço de broadcast é 198.150.12.255. Um endereço IP com 0s binários em todas as posições de bits dos hosts é reservado para o endereço de rede. Em um exemplo de rede de classe A, 113.0.0.0 é o endereço IP da rede (conhecido como ID da rede) que contém o host 113.1.2.3. Um roteador usa o endereço IP da rede ao encaminhar dados na Internet. Em um exemplo de rede de classe B, o endereço 176.10.0.0 é um endereço de rede, conforme mostrado na figura . Em um endereço de rede classe B, os dois primeiros octetos são designados como a parte da rede. Os dois últimos octetos contêm 0s porque esses 16 bits são para os números de host e são usados para identificar os dispositivos conectados à rede. O endereço IP 176.10.0.0 é um exemplo de endereço de rede. Esse endereço nunca é atribuído como endereço de host. O endereço de host de um dispositivo da rede 176.10.0.0 poderia ser 176.10.16.1. Neste exemplo, "176.10" é a parte da rede e "16.1" é a parte do host. Para enviar dados a todos os dispositivos de uma rede, é necessário um endereço de broadcast. Um broadcast acontece quando uma origem envia dados a todos os dispositivos de uma rede. Para garantir que todos os outros dispositivos da rede processem o broadcast, o remetente deve usar um endereço IP de destino que eles possam reconhecer e processar. Os endereços IP de broadcast ultilizam bits 1s em toda a parte do endereço reservada para a identificação de host. No exemplo da rede 176.10.0.0, os 16 últimos bits formam o campo de hosts ou parte do host do endereço. Um broadcast enviado a todos os dispositivos dessa rede incluiria um endereço de destino 176.10.255.255. Isso porque 255 é o valor decimal de um octeto que contém 11111111. 9.2.6 Endereços IP públicos e privados A estabilidade da Internet depende diretamente da exclusividade dos endereços de rede usados publicamente. Na figura , há um problema no esquema de endereçamento da rede. Observando as redes, vemos que ambas tem o endereço de rede 198.150.11.0. O roteador nessa ilustração não será capaz de encaminhar os pacotes de dados corretamente. Endereços IP de rede duplicados impedem que o roteador realize sua função de selecionar o melhor caminho. Para cada dispositivo de uma rede, é necessário um endereço exclusivo. 10 Foi necessário criar um procedimento que garantisse que os endereços fossem realmente exclusivos. Inicialmente, uma organização conhecida como InterNIC (Internet Network Information Center – Centro de Informações da Rede Internet) cuidou desse procedimento. A InterNIC não existe mais e foi substituída pela IANA (Internet Assigned Numbers Authority). A IANA gerencia cuidadosamente o estoque de endereços IP para garantir que não haja duplicidade de endereços usados publicamente. A duplicidade causaria instabilidade na Internet e comprometeria sua capacidade de entregar datagramas para as redes. Os endereços IP públicos são exclusivos. Nunca pode haver mais de uma máquina que se conecte a uma rede pública com o mesmo endereço IP, pois os endereços IP públicos são globais e padronizados. Todas as máquinas conectadas à Internet concordam em obedecer a esse sistema. Os endereços IP públicos precisam ser obtidos de um provedor de serviços de Internet ou através de registro a um certo custo. Com o rápido crescimento da Internet, os endereços IP públicos começaram a escassear. Para ajudar a solucionar o problema, foram desenvolvidos novos esquemas de endereçamento, como o CIDR (classless interdomain routing – roteamento sem classes entre domínios) e o IPv6. O CIDR e o IPv6 serão discutidos mais adiante neste curso. Os endereços IP privados são outra solução para o problema da escassez iminente dos endereços IP públicos. Como foi dito, as redes públicas exigem que os hosts tenham endereços IP exclusivos. Entretanto, as redes privadas que não estão conectadas à Internet podem usar quaisquer endereços de host, contanto que cada host dentro da rede privada seja exclusivo. Muitas redes privadas existem em paralelo com as redes públicas. Porém, não é recomendável que uma rede privada use um endereço qualquer, pois essa rede pode ser conectada à Internet algum dia. O RFC 1918 reserva três blocos de endereços IP para uso interno e privado. Esses três blocos consistem de um endereço de classe A, um intervalo de endereços de classe B e um intervalo de endereços de classe C. Os endereços dentro desses intervalos não são roteados no backbone da Internet. Os roteadores da Internet descartam imediatamente os endereços privados. Para endereçar uma intranet não-pública, um laboratório de testes ou uma rede doméstica, pode-se usar esses endereços privados no lugar dos endereços globalmente exclusivos. Os endereços IP privados podem ser combinados, conforme mostrado no gráfico, com os endereços públicos. Isso poupará a quantidade de endereços usados para as conexões internas. Conectar uma rede que usa endereços privados à Internet exige a conversão dos endereços privados em endereços públicos. Esse processo de conversão é chamado de NAT (Network Address Translation – Conversão de Endereços de Rede). Geralmente, o roteador é o dispositivo que realiza a NAT. A NAT, juntamente com o CIDR e o IPv6, é tratada em maior profundidade mais adiante no curso. 9.2.7 Introdução às sub-redes As sub-redes são outro método para gerenciar os endereços IP. Esse método de dividir classes inteiras de endereços de redes em pedaços menores impediu o esgotamento completo dos endereços IP. É impossível abordar o TCP/IP sem mencionar as sub-redes. Como administrador de sistemas, é importante compreender a utilização de sub-redes como uma forma de dividir e identificar redes independentes através da LAN. Nem sempre é necessário dividir uma rede pequena em sub-redes. Entretanto, para redes grandes ou extremamente grandes, a divisão em sub-redes é necessária. Dividir uma rede em sub-redes significa usar a máscara de sub-rede para dividir a rede em segmentos menores, ou sub-redes, mais eficientes e mais fáceis de gerenciar. Um exemplo semelhante seria o sistema telefônico brasileiro, que é dividido em códigos DDD, prefixos e números locais. O administrador do sistema precisa resolver essas questões ao adicionar e expandir a rede. É importante saber quantas sub-redes ou redes são necessárias e quantos hosts serão necessários 11 em cada rede. Com as sub-redes, a rede não fica limitada às máscaras de rede padrão de classes A, B ou C, e há maior flexibilidade no projeto da rede. Os endereços de sub-rede incluem a parte da rede, mais um campo de sub-rede e um campo do host. O campo da sub-rede e o campo do host são criados a partir da parte do host original para toda a rede. A possibilidade de decidir como dibidir a parte reservada originalmente ao endereço de host em novos campos para a identificação de sub-rede e host, provendo para o administrador da rede uma maior flexibilidade no endereçamento. Para criar um endereço de sub-rede, um administrador de rede toma emprestados alguns bits do campo do host e os designa como o campo da sub-rede. A quantidade mínima de bits que podem ser emprestados é 2. Se criássemos uma sub-rede tomando somente um bit emprestado, o número da rede seria .0. O número de broadcast seria .255. A quantidade máxima de bits que podem ser emprestados é qualquer valor que deixe pelo menos 2 bits sobrando para o número do host. 9.2.8 IPv4 X IPv6 Quando o TCP/IP foi adotado, na década de 80, ele se baseava em um esquema de endereçamento em dois níveis. Na época, isso oferecia uma escalabilidade adequada. Infelizmente, os idealizadores do TCP/IP não poderiam prever que esse protocolo acabaria sustentando uma rede global de informações, comércio e entretenimento. Há mais de vinte anos, o IP versão 4 (IPv4) ofereceu uma estratégia de endereçamento que, embora fosse escalonável durante certo tempo, resultou em uma alocação ineficiente dos endereços. Os endereços classe A e B representam 75% do espaço de endereços do IPv4, embora menos de 17.000 organizações possam receber um número de rede classes A ou B. Os endereços de rede de classe C são muito mais numerosos do que os de classes A e B, embora representem somente 12,5% dos 4 bilhões de possíveis endereços IP. Infelizmente, os endereços de classe C estão limitados a 254 hosts utilizáveis. Isso não atende ás necessidades de organizações maiores, que não podem adquirir um endereço de classes A ou B. Mesmo se houvesse mais endereços classe A, B ou C, um excesso de endereços de rede faria com que os roteadores da Internet viessem a parar sob o peso do enorme tamanho das tabelas de roteamento necessárias para armazenar as rotas para alcançar cada rede. Já em 1992, a IETF (Internet Engineering Task Force – Força-Tarefa de Engenharia da Internet) identificou as duas seguintes preocupações específicas: Esgotamento dos endereços de rede IPv4 restantes, não atribuídos. Naquela época, o espaço de classe B estava prestes a se esgotar. Ocorreu um crescimento forte e rápido do tamanho das tabelas de roteamento da Internet quando mais redes de classe C ficaram on-line. A inundação de novas informações de rede daí resultante ameaçou a capacidade dos roteadores de Internet de reagir de maneira eficiente. Durante as duas últimas décadas, foram desenvolvidas diversas extensões do IPv4. Essas extensões foram projetadas especificamente para melhorar a eficiência de utilização do espaço de endereços de 32 bits. Duas das mais importantes extensões são as máscaras de sub-rede e o roteamento inderdomínios classless (CIDR), que serão discutidos em maior profundidade em lições posteriores. Nesse meio tempo, foi definida e desenvolvida uma versão ainda mais extensível e escalonável do IP, o IP versão 6 (IPv6). O IPv6 usa 128 bits em vez dos 32 bits usados atualmente no IPv4. O 12 IPv6 usa números hexadecimais para representar os 128 bits. Ele oferece 640 sextilhões de endereços. Essa versão do IP deve oferecer endereços suficientes para as futuras necessidades das comunicações. A figura mostra um endereço IPv4 e um endereço IPv6. Endereços IPv4 têm 32 bits de comprimento, são escritos em formato decimal e separados por pontos. Endereços IPv6 têm 128 bits de comprimento e são utilizados para identificar interfaces individuais ou conjuntos de interfaces. Endereços IPv6 são atribuídos a interfaces, não aos nós. Uma vez que cada interface pertence a um único nó, qualquer endereço unicast atribuído às interfaces de um nó podem ser utilizadas como um identificador deste nó. Endereços IPv6 são escritos em formato hexadecimal e separados por dois pontos. Os campos do IPv6 têm 16 bits de comprimento. Para facilitar a leitura dos endereços, os zeros à esquerda podem ser omitidos em todos os campos. O campo :0003: é escrito como :3:. A representação abreviada do IPv6 para os 128 bits usa oito números de 16 bits, mostrados como quatro dígitos hexadecimais. Após anos de planejamento e desenvolvimento, o IPv6 está sendo implementado lentamente em algumas redes. No futuro, o IPv6 pode vir a substituir o IPv4 como protocolo Internet dominante. 9.3 Obter um endereço IP 9.3.1 Obtendo um endereço da Internet Um host de rede precisa obter um endereço único para operar na Internet. O endereço físico ou MAC de um host só é significativo localmente, identificando o host dentro da rede local. Como esse endereço é de camada 2, o roteador não o utiliza para encaminhamento fora da LAN. Os endereços IP são os endereços mais usados para as comunicações na Internet. Esse protocolo é um esquema de endereçamento hierárquico que permite que os endereços individuais sejam associados entre si e tratados como grupos. Esses grupos de endereços permitem uma transferência eficiente de dados através da Internet. Os administradores de rede usam dois métodos para atribuir endereços IP. Esses métodos são: estático e dinâmico. Mais adiante nesta lição, abordaremos o endereçamento estático e três variações do endereçamento dinâmico. Independentemente do esquema de endereçamento escolhido, duas interfaces não podem ter o mesmo endereço IP. Dois hosts que tenham o mesmo endereço IP poderiam gerar um conflito, fazendo com que os dois hosts envolvidos não funcionassem corretamente. Conforme mostrado na figura , os hosts têm um endereço físico, atribuído à placa de interface de rede que permite a conexão ao meio físico. 9.3.2 Atribuição estática do endereço IP A atribuição estática funciona bem em redes pequenas, que mudam pouco. O administrador do sistema atribui e rastreia manualmente os endereços IP de cada computador, impressora ou servidor da intranet. Uma boa manutenção de registros é essencial para evitar problemas relacionados a endereços IP duplicados. Isso só é possível quando há uma quantidade pequena de dispositivos para rastrear. Os servidores devem receber um endereço IP estático, para que as estações de trabalho e os outros dispositivos sempre saibam como acessar os serviços necessários. Imagine a dificuldade que seria telefonar para uma empresa que mudasse de número de telefone todos os dias. Outros dispositivos que devem receber endereços IP estáticos são as impressoras de rede, os servidores de aplicativos e os roteadores. 13 9.3.3 Atribuição de endereço IP utilizando RARP O RARP (Reverse Address Resolution Protocol – Protocolo de Resolução Reversa de Endereços) associa um endereço MAC conhecido a um endereço IP. Essa associação permite que os dispositivos de rede encapsulem os dados antes de enviá-los à rede. Um dispositivo de rede, como uma estação de trabalho sem disco, por exemplo, pode conhecer seu endereço MAC, mas não seu endereço IP. O RARP permite que o dispositivo faça uma solicitação para saber seu endereço IP. Os dispositivos que usam o RARP exigem que haja um servidor RARP presente na rede para responder às solicitações RARP. Suponha uma situação em que um dispositivo de origem queira enviar dados a outro dispositivo. Nesse caso, o dispositivo de origem sabe seu próprio endereço MAC, mas não consegue localizar seu endereço IP na tabela ARP. O dispositivo de origem deve incluir tanto seu endereço MAC quanto seu endereço IP para que o dispositivo de destino recupere os dados, passe-os às camadas superiores do modelo OSI e responda ao dispositivo de origem. Assim, a origem inicia um processo chamado de solicitação RARP. Essa solicitação ajuda o dispositivo de origem a detectar seu próprio endereço IP. As solicitações RARP são enviadas por broadcast para a LAN e são respondidas pelo servidor RARP, que geralmente é um roteador. O RARP usa o mesmo formato de pacote do ARP, mas, em uma solicitação RARP, os cabeçalhos MAC e o "código de operação"(operation code) são diferentes dos de uma solicitação ARP. O formato do pacote RARP contém espaços para os endereços MAC dos dispositivos de destino e de origem. O campo de endereço IP de origem é vazio. O broadcast vai para todos os dispositivos da rede. Portanto, o endereço MAC de destino será definido como FF:FF:FF:FF:FF:FF. As estações de trabalho que executam o RARP têm códigos na ROM que as instruem a iniciar o processo RARP. As figuras a ilustram o processo RARP em um layout passo a passo. 9.3.4 Atribuição de endereço IP BOOTP O protocolo bootstrap (BOOTP) opera em um ambiente cliente-servidor e exige a troca de apenas um pacote para obter informações de IP. Entretanto, diferentemente do RARP, os pacotes BOOTP podem incluir o endereço IP, assim como o endereço de um roteador, de um servidor e informações específicas do fabricante. Um problema do BOOTP, contudo, é não ter sido projetado para fornecer atribuição dinâmica de endereços. Com o BOOTP, um administrador de rede cria um arquivo de configuração que especifica os parâmetros de cada dispositivo. O administrador precisa adicionar hosts e manter o banco de dados do BOOTP. Mesmo que os endereços sejam atribuídos dinamicamente, continua havendo uma relação de um para um entre a quantidade de endereços IP e a quantidade de hosts. Isso significa que para cada host da rede deve haver um perfil BOOTP com uma atribuição de endereço IP dentro dele. Não pode haver dois perfis com o mesmo endereço IP. Esses perfis poderiam ser usados ao mesmo tempo, o que corresponderia a dois hosts com o mesmo endereço IP. Um dispositivo usa o BOOTP para obter um endereço IP durante a inicialização. O BOOTP usa o UDP para transportar as mensagens. A mensagem UDP é encapsulada em um pacote IP. O computador usa o BOOTP para enviar um pacote IP de broadcast usando um endereço IP de destino somente com 1s, equivalente a 255.255.255.255 na notação decimal com pontos. O servidor BOOTP recebe o broadcast e depois o envia de volta. O cliente recebe um quadro e verifica o endereço MAC. Se o cliente encontrar seu próprio endereço MAC no campo do endereço de destino e um broadcast no campo de destino do IP, ele obtém e armazena o endereço IP e as outras informações fornecidas pela mensagem de resposta do BOOTP. As figuras a mostram esse processo em uma descrição passo a passo. 14 9.3.5 Gerenciamento de Endereços IP com uso de DHCP O DHCP (Dynamic Host Configuration Protocol) é o sucessor do BOOTP. Diferentemente do BOOTP, o DHCP permite que um host obtenha um endereço IP dinamicamente sem que o administrador da rede tenha que configurar um perfil individual para cada dispositivo. Tudo o que é necessário ao usar o DHCP é um intervalo de endereços IP definido IP em um servidor DHCP. À medida que ficam online, os hosts entram em contato com o servidor DHCP e solicitam um endereço. O servidor DHCP escolhe um endereço e o concede a esse host. Com o DHCP, toda a configuração de rede de um computador pode ser obtida em uma única mensagem. Isso inclui todos os dados fornecidos pela mensagem BOOTP mais um endereço IP concedido e uma máscara de sub-rede. A principal vantagem do DHCP em relação ao BOOTP é permitir a mobilidade dos usuários. Essa mobilidade possibilita que os usuários mudem as conexões da rede de um local para outro. Assim, deixa de ser necessário manter um perfil fixo para cada dispositivo conectado à rede, como acontecia com o sistema BOOTP. A importância desse avanço do DHCP é a sua capacidade de conceder um endereço IP a um dispositivo e, em seguida, recuperar esse endereço para outro usuário, depois que o primeiro usuário o tiver liberado. Isso significa que o DHCP oferece uma relação de endereços IP de um para vários e que um endereço está disponível para qualquer um que se conectar à rede. Uma descrição passo-a-passo do processo é apresentado nas figuras de a . 9.3.6 Problemas de resolução de endereços Um dos principais problemas dos sistemas em rede é como se comunicar com os outros dispositivos da rede. Nas comunicações por TCP/IP, um datagrama em uma rede local deve conter um endereço MAC de destino e um endereço IP de destino. Esses endereços devem estar corretos e coincidir com os endereços MAC e IP de destino do dispositivo host. Se não coincidirem, o datagrama será rejeitado pelo host de destino. As comunicações dentro de um segmento de LAN requerem dois endereços. Deve haver uma maneira de mapear automaticamente os endereços IP para endereços MAC. O usuário gastaria muito tempo se tivesse que criar os mapas manualmente. O TCP/IP tem um protocolo chamado ARP (Address Resolution Protocol – Protocolo de Resolução de Endereços), que pode obter automaticamente os endereços MAC para transmissão local. Surgem outros problemas quando os dados são enviados para fora da rede local. As comunicações entre dois segmentos de LAN têm uma tarefa adicional. Tanto o endereço IP quanto o endereço MAC são necessários para o host de destino e para o dispositivo de roteamento intermediário. O TCP/IP tem uma variação do ARP chamada Proxy ARP, que fornece o endereço MAC de um dispositivo intermediário para transmissão fora da LAN para outro segmento da rede. 9.3.7 Protocolo de Resolução de Endereços (ARP) Em redes TCP/IP , um pacote de dados deve conter tanto um endereço MAC de destino quanto um endereço IP de destino. Se um dos dois estiver faltando, os dados não passarão da camada 3 para as camadas superiores. Dessa forma, os endereços MAC e os endereços IP agem como verificadores e balanceadores entre si. Depois de determinarem os endereços IP dos dispositivos de destino, os dispositivos podem adicionar os endereços MAC de destino aos pacotes de dados. Alguns dispositivos mantêm tabelas que contêm os endereços MAC e os endereços IP de outros dispositivos conectados à mesma LAN. Elas são chamadas de tabelas ARP. As tabelas ARP são armazenadas na memória RAM, onde as informações sobre cada um dos dispositivos são mantidas automaticamente em cache. É muito raro que o usuário tenha que criar uma entrada na tabela ARP manualmente. Cada dispositivo em uma rede mantém sua própria tabela ARP. Quando 15 um dispositivo da rede quer enviar dados através dela, ele usa as informações fornecidas pela tabela ARP. Quando uma origem determina o endereço IP de um destino, ela consulta a tabela ARP a fim de localizar o endereço MAC do destino. Se a origem localizar uma entrada na sua tabela (endereço IP de destino para o endereço MAC de destino), ela associa o endereço IP ao endereço MAC e o utiliza para encapsular os dados. Então, o pacote de dados é enviado pelos meios físicos da rede para ser capturado pelo dispositivo de destino. Os dispositivos podem usar duas formas de obter os endereços MAC que eles precisam para adicionar aos dados encapsulados. A primeira maneira é monitorar o tráfego que ocorre no segmento local da rede. Todas as estações de uma rede Ethernet analisarão todo o tráfego para determinar se os dados são para elas. Parte desse processo é gravar os endereços IP e MAC de origem do datagrama em uma tabela ARP. Conforme os dados são transmitidos pela rede, os pares de endereços preenchem a tabela ARP. A outra maneira de obter um par de endereços para transmissão dos dados é enviar uma solicitação ARP broadcast. O computador que requer um par de endereços IP e MAC envia uma solicitação ARP broadcast. Todos os outros dispositivos da rede local analisam essa solicitação. Se um dos dispositivos locais corresponder ao endereço IP da solicitação, ele devolve uma resposta ARP que contém seu par IP-MAC. Se o endereço IP for para a rede local e o computador não existir ou estiver desligado, não haverá resposta à solicitação ARP. Nesta situação, o dispositivo de origem relata um erro. Se a solicitação for para uma rede com outro IP, há outro processo que pode ser usado. Os roteadores não encaminham pacotes de broadcast. Se este recurso estiver ativado, o roteador realiza um Proxy ARP. O Proxy ARP é uma variação do protocolo ARP. Nesta variação, um roteador envia ao host solicitante uma resposta ARP com o endereço MAC da interface na qual a solicitação foi recebida. O roteador responde com os endereços MAC às solicitações cujo endereço IP não esteja no intervalo de endereços da sub-rede local. Outro método para enviar dados ao endereço de um dispositivo que está em outro segmento da rede é configurar um gateway padrão. O gateway padrão é uma opção de host em que o endereço IP da interface do roteador é armazenado na configuração de rede do host. O host de origem compara o endereço IP de destino com o seu próprio endereço IP para determinar se os dois endereços IP estão localizados no mesmo segmento. Se o host receptor não estiver no mesmo segmento, o host de origem envia os dados usando o endereço IP real do destino e o endereço MAC do roteador. O endereço MAC do roteador foi obtido da tabela ARP, usando o endereço IP desse roteador. Se o gateway padrão no host e o recurso de Proxy ARP no roteador não estiverem configurados, nenhum tráfego poderá sair da rede local. Um dos dois precisa estar configurado para que haja uma conexão para fora da rede local. Resumo Deve ter sido obtido um entendimento dos principais conceitos a seguir: texto Por que a Internet foi desenvolvida e como o TCP/IP situa-se no projeto da Internet. As 4 camadas do modelo TCP/IP. As funções de cada camada do modelo TCP/IP. O modelo OSI comparado ao modelo TCP/IP. O endereçamento IP dá a cada dispositivo na Internet um identificador exclusivo. As classes de endereços IP são divisões lógicas do espaço de endereços usadas para atender às necessidades de vários tamanhos de redes. 16 As sub-redes são usadas para dividir uma rede em redes menores. Os endereços reservados desempenham um papel especial no endereçamento IP e não podem ser usados para nenhuma outra finalidade. Os endereços privados não podem ser roteados na Internet pública. A função de uma máscara de sub-rede é mapear as partes de um endereço IP que correspondem à rede e ao host. Algum dia, o IPv4 estará totalmente obsoleto e a versão usada comumente será a IPv6. Um computador precisa ter um endereço IP para se comunicar na Internet. Um endereço IP pode ser configurado estaticamente ou dinamicamente. Um endereço IP dinâmico pode ser alocado usando-se o RARP, BOOTP ou DHCP. O DHCP fornece mais informações a um cliente do que o BOOTP. O DHCP permite que os computadores sejam móveis, possibilitando a conexão a várias redes diferentes. O ARP e o Proxy ARP podem ser usados para solucionar problemas de resolução de endereços. 17