A Camada de Rede Romildo Martins Bezerra CEFET/BA Redes de Computadores II A Camada de Rede e o protocolo IP.............................................................. 2 O protocolo IP ....................................................................................... 2 Formato do IP ..................................................................................... 3 Endereçamento IP................................................................................... 3 Endereçamento com Classes e sem Classes .................................................. 4 Classes Reservadas ............................................................................... 5 IPS privados e públicos .......................................................................... 6 NAT - Network Address Translation ........................................................... 6 Endereçamento Dinâmico ....................................................................... 7 Roteamento IP ....................................................................................... 7 Roteamento estático............................................................................. 7 Estudo de Caso – Windows Server ................................................................ 8 Estudo de Caso – Linux ............................................................................. 9 Pesquise .............................................................................................. 9 Temas para trabalhos .............................................................................. 9 Bibliografia ........................................................................................... 9 As notas de aulas são referências para estudo. Portanto não devem ser adotadas como material didático absoluto! Versão 0.3 – 01/09/2008 Romildo Martins Bezerra A Camada de Rede e o protocolo IP Na comunicação entre as redes é necessário de alguns requisitos para fornecer conectividade e seleção de caminho entre transmissor e receptor. Na camada de enlace, a comunicação é possível, pois transmissor e receptor estão na mesma rede. Já na camada de rede uma comunicação entre ambos é realizada host a host, ou seja, numa rede com diversos roteadores a comunicação é feita através de pares de roteadores. O modelo utilizado na Internet é uma rede de datagramas onde a comunicação entre sistemas finais não requer estabelecimento de conexão (circuito virtual) e não utiliza de forma exclusiva o meio de comunicação. (Figura01). Figura 01. Conceito de Datagrama [2] Na figura 01 é visto o modelo de datagrama onde não existe a garantia de que todos os pacotes seguirão o mesmo caminho, uma vez que os caminhos são baseados nas rotas configuradas nos roteadores. Tais rotas podem ser definidas de forma manual (rotas estáticas) ou configuradas automaticamente (protocolos de roteamento). No decorrer do curso, veremos as duas técnicas. No modelo TCP/IP a camada de rede recebe os serviços da camada de enlace e presta serviços para a camada de transporte. A lista de serviços oferecidos é: • Interconexão – prover conexão lógica entre diversas redes físicas heterogêneas (podem conter diferentes tecnologias de enlace, por exemplo, ATM e ethernet) de forma que as camadas superiores abstraiam o caminho percorrido. • Endereçamento – Prover a identificação de forma única de um host na rede ao qual faz parte seja esta rede uma LAN ou a Internet. • Roteamento – prover a escolha de rotas por onde os pacotes irão trafegar para que cheguem ao seu destino. Vale ressaltar que o P utiliza o conceito de datagrama. • Encapsulamento – encapsular pacotes recebidos de camadas superiores num datagrama. • Fragmentação – permite que um datagrama viaje por diferentes redes sem a preocupação com a tecnologia executadas. Assim, algumas vezes é necessário dividir os pacotes para se adaptar ao novo segmento de rede. Neste contexto, estudaremos o protocolo IP que executa a tarefa básica de levar pacotes de dados da origem para o destino e suas funções básicas como interconexão, endereçamento e roteamento.. Além dele, veremos também outros da mesma camada como o ICMP (usado para transmitir informação de diagnóstico sobre a transmissão IP) que é colocado acima do IP mas executam funções da camada de rede. O protocolo IP O Internet Protocol, ou simplesmente IP, é um protocolo da camada de rede responsável pelo encaminhamento dos dados numa rede. Presta todos os serviços de rede (interconexão, roteamento, endereçamento, fragmentação e encapsulamento) para as camadas superiores. È o protoclo base da arquitetura internet e é utilizado por todos os serviços de aplicação como: páginas, e-mail, transferência de arquivos, gerência de redes, resolução de nomes, dentre outros. 2y Camada Protocolo 5.Aplicação HTTP, SMTP, FTP, SSH, RTP, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, DNS, Ping.... 4.Transporte TCP, UDP... 3.Rede IP (IPv4, IPv6) , ARP, RARP, ICMP, IPSec ... 2.Enlace Ethernet, 802.11 WiFi, IEEE 802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP, Frame Relay... Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, ... 1.Física Tabela 01. Protocolos e Camadas da Arquitetura Internet Romildo Martins Bezerra Formato do IP Detalhamento do Datagrama IP • • • • • • VER – informa a versão do protocolo. HLEN – informa o tamanho do cabeçalho Service – tem como objetivo idenificar o tipo de serviço para dar preferência no roteamento. Entretanto não foi muito utilizado. Maiores detalhes RFC791. TTL – indica a quantidade de hops entre transmissor e receptor. O valor é decrementado a cada roteador do caminho. Source IP e Destination IP – indica os endereços origem e destino. Checksum – serve para verificar a integridade do cabeçalho IP. Figura 02. Campos do datagrama IP[1] Endereçamento IP Cada computador conectado a internet possui um endereço IP único e universal composto de 32 bits e pode ser escrito da seguinte forma: 200.217.69.132 Tal endereço também pode ser escrito com a seguinte notação binária: 11001000. 11011001. 1000101. 10000100 Diferentemente do MAC Address o endereço IP é configurado via software e pode ser alterado pelo usuário e/ou administrador da rede. Para a configuração do endereço IP devemos também levar em consideração: • • Mascara – “Uma máscara de subrede também conhecida como subnet mask ou netmask é um número de 32 bits usada para separar em um IP a parte correspondente à rede pública, à subrede e aos hosts. Uma subrede é uma divisão de uma rede de computadores - é a faixa de endereços lógicos reservada para uma organização. A divisão de uma rede grande em menores resulta num tráfego de rede reduzido, administração simplificada e melhor desempenho de rede. No IPv4 uma subrede é identificada por seu endereço base e sua máscara de subrede.” Segundo o Wikipedia Gateway – é um dispositivo intermediário geralmente destinado a interligar redes servindo de caminho para elas. Pode também separar domínios de colisão ou mesmo traduzir protocolos. Exemplos: roteadores, firewalls e Proxy. O que é uma mascara /24? A representação /24 indica a quantidade de bits destinada ao endereço da rede (netid), ou seja, uma mascara /24 pode ser escrita em binário como: 11111111.1111111.1111111.00000000 ou em decimal: 255.255.255.0 Quantos hosts cabem numa rede /24? Nesta seção entenderemos o endereçamento estático e dinâmico, endereçamento por classes e sem classes, endereços públicos e privados, além de comandos básicos no Windows e Linux. 3y Romildo Martins Bezerra Endereçamento com Classes e sem Classes Quando o endereço IP foi utilizado inicialmente com classe de endereçamento, onde o escopo dos possíveis IPs subdividido em cinco classes: Classe A B C D E Primeiros Bits 0 10 110 1110 11110 Endereço 1.0.0.0 até 127.255.255.255 128.0.0.0 até 191.255.255.255 192.0.0.0 até 223.255.255.255 224.0.0.0 até 239.255.255.255 240.0.0.0 até 247.255.255.255 Mascara /8 /16 /24 - Observações Multicast Reservado Tabela 02. Classes de Endereçamento Na criação do endereçamento com classes, um endereço IP era subdividido, de forma fixa, em duas partes, identificador de rede (netid) e identificador de host (hostid). Esta subdivisão pode ser vista na Tabela 02. Classe A B C Primeiro Byte netid netid netid Terceiro Byte hostid hostid netid Segundo Byte hostid netid netid Quarto Byte hostid hostid hostid Tabela 03. Classes e alocação fixa de netid e hostid Assim um endereço classe A que utilizasse o conceito de endereçamento por classes (126.0.0.0/8) teria a possibilidade de 224 dispositivos de rede. Será que existe uma rede desse tamanho? Quantos switches seriam necessários para montar uma rede local deste tipo? Daí surge à necessidade de uma melhor utilização dos endereços IP visando evitar o desperdício. O endereçamento sem classes permite uma maior flexibilização da mascara de rede de acordo com o tamanho da rede. Por exemplo, uma rede 192.168.10.0/24 pode conter 256 possibilidades de IP, das quais: • • 192.168.10.0 192.168.10.255 – Identifica a rede - Corresponde ao IP de difusão (broadcast) Assim restando 254 possíveis endereços IPs (192.168.10.1 até 192.168.10.254). daí nos perguntamos, qual a menor mascara para uma rede com 100 computadores? Num endereço classe C, são reservados 8bits para endereços de host. Mas para 100 computadores precisaríamos de apenas 7bits (27 = 128). Assim poderíamos alocar um endereço de host para rede da seguinte forma: 10 0 192 168 11000000 10101000 00001010 00000000 netid netid netid hostid Tabela 04. IP Classe C /24 sendo redimensionando 192 11000000 netid 168 10101000 netid 10 00001010 netid 0 00000000 hostid Tabela 05. IP Classe C 192.168.10.0/25 192 11000000 netid 168 10101000 netid 10 00001010 netid 0 10000000 hostid Tabela 06. IP Classe C 192.168.10.128/25 Note que um endereço de mascara /24 (256 possibilidades) foi subdividido em dois endereços /25. Esta realocação de bits pode ser feita com os bits seguintes e com qualquer mascara inicial. 4y Romildo Martins Bezerra Mascara /24 /25 /26 /27 /28 /29 /30 Redes 1 2 4 8 16 32 64 Possibilidades 256 128 64 32 16 8 4 Endereços Possíveis 254 126 62 30 14 6 2 Tabela 07. Possibilidades de distribuição de um IP Classe C Esta subdivisão de endereços IP é uma atividade comum para o administrador de redes, seja do provedor de acesso ou apenas uma grande rede. Abaixo seguem alguns casos de exemplo Figura 03. Rede referente as Tabelas 05 e 06 Perguntas Rápidas 1. 2. 3. Quantas redes existem na figura ao lado? Supondo que cada rede tenha no máximo 26 computadores, quais seriam as subredes e suas respectivas máscaras? È possível dividir em números ímpares de rede? Figura 04. Distribuição de um IP Classe C em 3 subredes /26 que comportam até 62 hosts. Classes Reservadas Existem classes de endereços reservadas que não podem ser consideradas como endereçáveis para acesso na internet, como: • 127.0.0.0/8 – IP de loopback1 • 0.0.0.0 – Identificador da rede • 255.255.255.255 – IP de broadcast (todas as redes) • 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16 – Exemplos de IPs para redes privadas. Serão vistos maiores detalhes na seção seguinte. 1 O endereço de loopback local permite à aplicação-cliente endereçar ao servidor na mesma máquina sem saber o endereço do host, chamado de "localhost (127.0.0.1). 5y Romildo Martins Bezerra IPS privados e públicos Dentre as 4 bilhões de possibilidades disponíveis, três faixas são reservadas para redes privadas. Uma rede privada não pode se comunicar diretamente com redes públicas, como a internet. Se um dispositivo em uma rede privada deseja acessar a internet, será necessária a utilização de um gateway. Normalmente este gateway terá que fazer NAT (Network address translation). A partir de agora, qualquer referência a IPs privados tem como objetivo informar que o mesmo pertence a uma rede que não pode conectar-se diretamente a internet. Tais endereços são comumente utilizados em redes locais (LANs). NAT - Network Address Translation Com o compartilhamento de internet entre diversas estações numa LAN saindo por um único gateway, surgiu o problema de como os computadores pertencentes à esta LAN poderiam receber as respostas aos seus pedidos feitos para fora da rede. Como sabemos, uma LAN com IPs privados (10.0.0/8 ou 172.16.0.0/12 e 192.168.0.0/16) nunca poderiam acessar a internet pois não existem redes com tais faixas de IP e o computador que recebesse um pedido com um desses números não saberia para onde enviar a resposta. Figura 05. Exemplo de uma LAN com único IP público [1]. Desta forma, o gateway responsável pelo acesso à outras redes precisavam traduzir o endereço interno para um IP público endereçável à internet. Sendo assim, os pedidos teriam de ser gerados com um IP global do router. Mas quando a resposta chegasse ao router, seria preciso saber a qual dos computadores presentes na LAN pertencia àquela resposta. A solução encontrada foi fazer um mapeamento baseado no IP interno e na porta local do computador. Figura 06. Processo de tradução de endereços IP [2]. Resumindo, pode-se afirmar que com o NAT [2]: • Não é preciso alocar uma gama de endereços do ISP: apenas um endereço IP é usado para todos os dispositivos; • Podem-se alterar os endereços dos dispositivos na rede local sem precisar notificar o mundo exterior; • Pode-se mudar de ISP sem alterar os endereços dos dispositivos na rede local; • Dispositivos da rede local não são explicitamente endereçáveis ou visíveis pelo mundo exterior (um adicional de segurança). 6y Romildo Martins Bezerra Endereçamento Dinâmico Até o momento apenas aprendemos o básico sobre o endereçamento IP. Se um administrador de rede necessitar alterar o endereço de uma estação é necessário configurar apenas o endereço IP, máscara e default gateway. Como visto no laboratório, esta é uma tarefa fácil. Entretanto imagine que a rede possui mais de 1000 computadores em cinco cidades diferentes, quanto tempo você levaria? Ou imagine apenas a alteração do default gateway de sua rede? Visando tornar o endereçamento IP fácil e menos suscetível a erros foi criado o DHCP (Dynamic Host Configuration Protocol). O DCHP é um protocolo que os computadores utilizam para obter informações de configuração sem exigir um administrador na estação configurada, utilizando uma abordagem cliente/servidor. Quando uma estação é inicializada (IP 0.0.0.0), ela envia um broadcast para toda a rede (DHCP Discovery) e espera um servidor oferecer um possível IP disponível através de uma mensagem (DHCP Offer). A partir daí, uma requisição é feita a partir do número oferecido (DHCP Request) . Ao confirmar o pedido (DHCP Reply), a estação está “alugando” um endreço Ip do servidor DHCP por um pedido de tempo, ou seja, esta requisição não ficará fixa para sempre, e como conseqüência disso, o endereço Ip poderá ser realocado. Maiores detalhes do funcionamento do DHCP serão vistos no decorrer do curso. Figura 07. Processo de tradução de endereços IP capturado pelo Wireshark Roteamento IP Roteamento consiste na escolha do caminho onde os datagramas irão trafegar. Diferentemente do tráfego rodoviário, onde os automóveis podem escolher sua rotas, a escolha dos caminhos neste caso é feita pelos dispositivos de rede. Dessa forma, um datagrama é conduzido até o seu destino final de acordo com as tabelas de roteamento. Roteamento estático Neste roteamento a tabela é construída manualmente pelo administrador da rede ou técnico de suporte. Assim qualquer mudança na topologia da rede ou sua respectiva configuração impacta diretamente na mudança de configuração da tabelas de roteamento. Para encaminhamento de um datagrama, é necessário que o dispositivo que irá efetuar o roteamento possua pelo menos três campos: IP destino, máscara e gateway. Para facilitar o encaminhamento, alguns roteadores também indicam a interface que o datagrama será encaminhado. Recomendo fortemente treinar a configuração da tabela de roteamento com os exercícios disponíveis na página da disciplina. 7y Romildo Martins Bezerra Configuração dos Routers 2 WAN01 192.168.1.0/24 1 4 1 2 WAN02 1 3 192.168.2.0/24 1 WAN03 192.168.3.0/24 2 2 Router 1 int01 –10.1.10.251 int02 –192.168.1.1 int03 –192.168.2.1 Int04 –192.168.3.1 Router 2 int02 –10.1.20.251 int01 –192.168.1.2 Router 3 int02 –10.1.30.251 int01 –192.168.2.2 Router 4 int02 –10.1.40.251 int01 –192.168.3.2 Figura 08 – Exemplo de Tabela de Roteamento Estudo de Caso – Windows Server Nesta seção serão vistos alguns utilitários simples de linha de comando presentes no Windows Server que facilitam a administração de redes de computadores. Recomendo o teste dos parâmetros para práticas de laboratório e resolução de problemas. • Ipconfig - Exibe todos os valores de configuração de rede TCP/IP e atualiza as configurações do protocolo de configuração dinâmica de hosts (DHCP) e do sistema de nomes de domínios (DNS). Quando usado sem parâmetros, o ipconfig exibe endereços IPv6 ou o endereço IPv4, a máscara da sub-rede e o gateway padrão para todos os adaptadores. • Ping - Verifica a conectividade de nível IP com outro computador TCP/IP através do envio de mensagens de solicitação de eco de protocolo ICMP. A confirmação das mensagens de resposta é exibida juntamente com o tempo de ida e volta. Ping é o principal comando TCP/IP usado para resolver problemas de conectividade, acesso e resolução de nomes. Usado sem parâmetros, ping exibe a ajuda. • Tracert - Determina o caminho adotado até um destino enviando mensagens de solicitação de eco do protocolo de mensagens de controle da Internet (ICMP) ou ICMPv6 para o destino com valores cada vez maiores do campo Tempo de vida (TTL). O caminho exibido é a lista de interfaces próximas dos roteadores no caminho entre um host de origem e um destino. A interface próxima é a interface do roteador que está mais perto do host de envio no caminho. Usado sem parâmetros, tracert exibe ajuda. • Netstat - Exibe as conexões TCP ativas, as portas nas quais o computador está escutando, as estatísticas Ethernet, a tabela de roteamento IP, as estatísticas IPv4 (para os protocolos IP, ICMP, TCP e UDP) e as estatísticas IPv6 (para os protocolos IPv6, ICMPv6, TCP via IPv6 e UDP via IPv6). Usado sem parâmetros, netstat exibe as conexões TCP ativas. • Route - Exibe e modifica as entradas na tabela de roteamento IP local. Usado sem parâmetros, route exibe ajuda. O que fazem os comandos? • ping –t –l 32000 www.uol.com.br • route ADD 10.1.1.0 MASK 255.255.255.0 192.168.1.1 8y Romildo Martins Bezerra • • • ipconfig /flushdns netstat –n tracert –d www.uol.com.br Estudo de Caso – Linux • Route - manipula a tabela de roteamento IP do kernel. Seu principal uso é configurar rotas estáticas para hosts ou redes especificadas através de uma interface, após a mesma ter sido configurada com o programa ifconfig. • Ping - Verifica se um computador está disponível na rede. Este comando é muito utilizado por alguns programas de conexão e administradores para verificar se uma determinada máquina está conectada na rede e também para verificar o tempo de resposta de cada máquina da rede. • Traceroute - Mostra o caminho percorrido por um pacote para chegar ao seu destino. Este comando mostra na tela o caminho percorrido entre os Gateways da rede e o tempo gasto de retransmissão. Este comando é útil para encontrar computadores defeituosos na rede caso o pacote não esteja chegando ao seu destino. • Netstat - Mostra conexões de rede, tabela de roteamento, estatísticas de interfaces, conexões masquerade, e mensagens. • TCPtraceroute - Em comparação com o traceroute normal, tcptraceroute não usa pacotes ICMP. Mas ainda assim usa o princípio do TTL para os hops, porém com pacotes TCP. A grande questão é que os pacotes TCP sempre são liberados no firewall e não bloqueados como o ICMP. O que fazem os comandos? • • ifconfig eth0 10.0.0.3 netmask 255.255.0.0 up route add default gw 10.0.0.1 Pesquise 1. Como é que o TCP/IP faz para saber se o computador de origem e o computador de destino pertencem a mesma rede? 2. Como o roteador da figura 06 consegue identificar para onde o pedido deve voltar? 3. Como é possível otimizar um servidor DHCP? 4. O DHCP utiliza que protocolo de Transporte? Por quê? 5. O RIP apresenta a melhor métrica? Porque? 6. Veja o utilitário netsh e pathping do Windows. 7. Qual a vantagem do tcptraceroute do Linux? 8. O que é NAT de porta? 9. Quais as funções de firewall? 10. O que é um servidor proxy? Temas para trabalhos 1. 2. 3. OSPF IPV6 Wireshark Bibliografia [1] FOROUZAN, B.A. Comunicação de Dados e Redes de Computadores. 3ª Edição. Bookman. 2006 [2] KUROSE, J. Redes de Computadores e a Internet. 3ª Edição. Addison-Wesley, 2006. [3] COMER, D. E. Redes de Computadores e a Internet. 4ª Edição. Bookman. 2007. 9y