Faculdade de Tecnologia Senac Pelotas Unidade Curricular Redes de Computadores II Camada de Rede Resumo Prof. Eduardo Maroñas Monks Sumário Funções da Camada de Rede Roteadores Protocolos Protocolo IP Roteamento Estático Protocolo ICMP NAT Referências Bibliográficas Redes de Computadores II - Camada de Rede 2 Camada de Rede Transporta segmentos do hospedeiro transmissor para o receptor No lado transmissor, encapsula os segmentos em datagramas No lado receptor, entrega os segmentos à camada de transporte Protocolos da camada de rede em cada hospedeiro, roteador Roteador examina campos de cabeçalho em todos os datagramas IP que passam por ele Redes de Computadores II - Camada de Rede 3 Roteamento de Datagramas Não existe estabelecimento de conexão na camada de rede Roteadores: não existe estado sobre conexões fim-a-fim O conceito “conexão” não existe na camada de rede Pacotes são encaminhados pelo endereço do hospedeiro de destino Pacotes para o mesmo destino podem seguir diferentes rotas Redes de Computadores II - Camada de Rede 4 Roteadores Duas funções-chave do roteador: Executar algoritmos/protocolos (RIP, OSPF, BGP) Comutar os datagramas do link de entrada para o link de saída Redes de Computadores II - Camada de Rede 5 Roteadores – Portas de Entrada Camada física: recepção de bits Camada de enlace: ex.: Ethernet (veja capítulo 5) Comutação descentralizada: Dado o destino do datagrama, procura a porta de saída usando a tabela de comutação na memória da porta de entrada Objetivo: completar o processamento da porta de entrada na ‘velocidade da linha’ Fila: se os datagramas chegam mais rápido do que a taxa de comutação para o switch Redes de Computadores II - Camada de Rede 6 Roteadores – Portas de Saída Buffering necessário quando datagramas chegam do switch mais rápido do que a taxa de transmissão Disciplina de agendamento escolhe entre os datagramas na fila para transmissão Redes de Computadores II - Camada de Rede 7 Protocolos Entidade de rede em roteadores ou hospedeiros: Camada de Transporte: TCP, UDP Camada de rede Protocolo IP • Endereçamento • Formato dos datagramas • Tratamento de pacotes Prot. de roteamento • Escolha de caminhos • RIP, OSPF, BGP Tabela de rotas Protocolo ICMP • Aviso de erros • Sinalização de rotas Camada de enlace Camada física Redes de Computadores II - Camada de Rede 8 Protocolo IP IP = Internet Protocol Responsável pela entrega dos pacotes entre redes distintas O envio dos pacotes é feito sem conexão e garantias de entrega Encapsula como dados, os PDUs (Packet Data Units) das camadas de transporte e aplicação Redes de Computadores II - Camada de Rede 9 Protocolo IP versão do protocolo IP tamanho do header (bytes) classe de serviço número máximo de saltos (decrementado em cada roteador) ver head. type of len service 16-bit identifier prototime to live protocolo da camada superior com dados no datagrama Tamanho do cabeçalho TCP 20 bytes do TCP 20 bytes do IP = 40 bytes + cabeçalho da camada de aplicação Redes de Computadores II - Camada de Rede colo length fragment flgs offset Internet checksum tamanho total do datagrama (bytes) para fragmentação/ remontagem 32 bit endereço IP de origem 32 bit endereço IP de destino Opções (se houver) data (tamanho variável, tipicamente um segmento TCP ou UDP) Ex.: marca de tempo, registro de rota, lista de roteadores a visitar 10 Protocolo IP - Fragmentação Enlaces de rede têm MTU (max. transfer size) — corresponde ao maior frame que pode ser transportado pela camada de enlace. Tipos de enlaces diferentes possuem MTU diferentes (Ethernet: 1.518 bytes) Datagramas IP grandes devem ser divididos dentro da rede (fragmentados) Um datagrama dá origem a vários datagramas “Remontagem” ocorre apenas no destino final O cabeçalho IP é usado para identificar e ordenar datagramas relacionados Redes de Computadores II - Camada de Rede 11 Endereçamento IP Endereço IP: Parte da sub-rede (bits de ordem superior) Parte do hospedeiro (bits de ordem inferior) O que é uma sub-rede? Interfaces de dispositivo com a mesma parte de subrede do endereço IP Podem alcançar fisicamente uns aos outros sem intervenção de roteador Redes de Computadores II - Camada de Rede 12 Endereçamento IP Multihomed – hosts com duas interfaces de rede, ligados a mesma rede ou a outras interfaces O fato de ter duas interfaces, mesmo em redes diferentes, não caracteriza o host como roteador! Redes de Computadores II - Camada de Rede 13 Roteamento A padronização da arquitetura TCP/IP possibilitou a interligação de redes das mais variadas tecnologias. Por exemplo, podemos ter conectadas redes baseadas em mainframes, com redes ethernet, token ring e ATM, apenas fazendo uso de roteadores entre elas. Em uma interligação de redes a 3a camada, camada de rede da origem , se comunica diretamente com a camada de rede do host de destino. Com isto, as característica da tecnologia de rede são abstraídas das camadas superiores, Transporte e Aplicação. Portanto, podemos usar números Ips para acessar uma página na Internet, e o aplicativo, no caso um browser, no host de origem não fica sabendo que tipo de tecnologia de rede local existia no host destino. O único pré-requisito nesta comunicação, é que ambos os hosts implementem a arquitetura TCP/IP. Redes de Computadores II - Camada de Rede 14 Roteamento Para poder conectar redes heterôgeneas, um roteador não pode transmitir uma cópia de um quadro de uma rede, diretamente, para outra. Para manter a heterogenidade, uma interconexão de rede deve definir um formato de pacotes independente do hardware. No caso da Internet o pacote IP tem esta função. Redes de Computadores II - Camada de Rede 15 Tabela de Roteamento Redes de Computadores II - Camada de Rede 16 Roteamento Estático Configurado manualmente pelo administrador Não considera as alterações no estado da rede Comando para adição de uma rota indireta no Linux: Rede de Destino Redes de Computadores II - Camada de Rede Máscara de Subrede Interface do Next Hop 17 Roteamento Estático Default Gateway Rotas indiretas Define a saída padrão Representado como a rede 0.0.0.0 e máscara de subrede 0.0.0.0 Adicionadas pelo administrador Que dizer que não está ligada diretamente ao roteador Rotas diretas São aquelas que estão ligadas diretamente as interfaces do roteador Redes de Computadores II - Camada de Rede 18 Resumo sobre roteamento Este procedimento No roteador B, o irá acontecer até quadro será Para montar um a chegada no na e enviar recebido quadro Ao saber o roteador B. interface externa naArede local, o endereço MAC, cadaepassagem serároteador irá o roteador irá por um roteador, encaminhado gerar na na sua gerar um quadro o campo TTL do interna interface interface contendo o protocolo IP A rede interna. mensagens ARP pacote IP será de destino do em broadcast decrementado eenviado pacote está solicitando o originalmente e o campo cd ligada endereço físico encaminhará na checagem diretamente do IP dea destino. rede local. recalculado. este roteador. Não está. O quadro ethernet O IP de destino deverá está ser na mesma enviado para o Para descobrir o rede da origem? Ao saberMAC o endereço gateway. Ao receber o AND da máscara doendereço gateway,MAC será quadro na da interface do host com aenviada uma do interface, o roteador A, rede do destino. mensagem emo roteador irá host poderá Resultou na broadcast ARP verificar o o quadro rede da origem? naenviar rede local. endereço IP de até o roteador destino. Se (gateway). houver a rede de destino em sua tabela de roteamento, haverá o repasse para a interface do next hop. Protocolo ICMP ICMP = Internet Control Message Protocol Usado por computadores e roteadores para troca de informação de controle da camada de rede Error reporting: hospedeiro, rede, porta ou protocolo Echo request/reply (usado pela aplicação ping) Transporte de mensagens: Mensagens ICMP transportadas em datagramas IP ICMP message: tipo, código, mais primeiros 8 bytes do datagrama IP que causou o erro Redes de Computadores II - Camada de Rede Tipo 0 3 3 3 3 3 3 4 8 9 10 11 12 Código Descrição 0 echo reply (ping) 0 dest. network unreachable 1 dest host unreachable 2 dest protocol unreachable 3 dest port unreachable 6 dest network unknown 7 dest host unknown 0 source quench (congestion control - not used) 0 echo request (ping) 0 route advertisement 0 router discovery 0 TTL expired 0 bad IP header 20 Protocolo ICMP O transmissor envia uma série de segmentos UDP para o destino O 1o possui TTL = 1 O 2o possui TTL = 2 etc. no de porta improvável Quando o enésimo datagrama chega ao enésimo roteador: O roteador descarta o datagrama E envia à origem uma mensagem ICMP (type 11, code 0) A mensagem inclui o nome do roteador e o endereço IP Quando a mensagem ICMP chega, a origem calcula o RTT O traceroute faz isso três vezes Critério de interrupção O segmento UDP finalmente chega ao hospedeiro de destino O destino retorna o pacote ICMP “hospedeiro unreachable” (type 3, code 3) Quando a origem obtém esse ICMP, ela pára. Redes de Computadores II - Camada de Rede 21 Protocolo ICMP Mensagens de redirecionamento •Neste exemplo H1 envia para R1 um datagrama destinado a rede N2. Entretanto, R1 verifica que R2 está na mesma rede e possui uma rota direta para N2. Então, R1 redireciona o datagrama para R2 e envia uma mensagem ICMP de redirecionamento (Redirect Message) para o host H1 que guardará em cache a nova rota para ser utilizada na próxima vez. •Comando no linux para listar a entradas no cache da tabela de roteamento: ip route show cache Redes de Computadores II - Camada de Rede 22 Protocolo ICMP Echo Request Echo Reply Redes de Computadores II - Camada de Rede 23 NAT (Network Address Translation) restante da Internet rede local (ex.: rede doméstica) 10.0.0/24 10.0.0.4 10.0.0.1 10.0.0.2 138.76.29.7 10.0.0.3 todos os datagramas que saem da rede local possuem o mesmo e único endereço IP do NAT de origem: 138.76.29.7, números diferentes de portas de origem Redes de Computadores II - Camada de Rede datagramas com origem ou destino nesta rede possuem endereço 10.0.0/24 para origem, destino (usualmente) 24 NAT (Network Address Translation) Motivação: redes locais podem utilizar apenas um endereço IP: 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). Redes de Computadores II - Camada de Rede 25 NAT (Network Address Translation) Implementação: o roteador NAT deve: Datagramas que saem: substituir (endereço IP de origem, porta #) de cada datagrama para (endereço IP do NAT, nova porta #) . . . clientes/servidores remotos responderão usando (endereço IP do NAT, nova porta #) como endereço de destino. Lembrar (na tabela de tradução do NAT) cada (endereço IP de origem, porta #) para o par de tradução (endereço IP do NAT, nova porta #). Datagramas que chegam: substituir (endereço IP do NAT, nova porta #) nos campos de destino de cada datagrama pelos correspondentes (endereço IP de origem, porta #) armazenados da tabela NAT Redes de Computadores II - Camada de Rede 26 NAT (Network Address Translation) 2: roteador NAT substitui end. origem do datagrama de 10.0.0.1, 3345 para 138.76.29.7, 5001, atualiza a tabela 3: resposta chega endereço de destino: 138.76.29.7, 5001 Redes de Computadores II - Camada de Rede 1: hospedeiro 10.0.0.1 envia datagrama para 128.119.40, 80 4: roteador NAT substitui o endereço de destino do datagrama de 138.76.29.7, 5001 para 10.0.0.1, 3345 27 NAT (Network Address Translation) Campo número de porta com 16 bits: 60.000 conexões simultâneas com um único endereço de LAN NAT é controverso: Roteadores deveriam processar somente até a camada 3 Violação do argumento fim-a-fim A possilidade de NAT deve ser levada em conta pelos desenvolvedores de aplicações, ex., aplicações P2P A escassez de endereços deveria ser resolvida pelo IPv6 Redes de Computadores II - Camada de Rede 28 Referências Bibliográficas TCP/IP handbook -http://www.sans.org/security-resources/tcpip.pdf IPv6 Pocket Guide - http://www.sans.org/securityresources/ipv6_tcpip_pocketguide.pdf Capítulo 4 do livro “Redes de Computadores” – Kurose e Ross TCP/IP Tutorial and Technical Overview- disponível em http://www.redbooks.ibm.com/redbooks/pdfs/gg243376. pdf TCP/IP Guide – disponível em http://www.tcpipguide.com/ RFC 1918 Redes de Computadores II - Camada de Rede 29