Nível de rede - Tópicos Introdução: Revisão do modelo de camadas Serviços genéricos do nível de rede IP: Serviços e endereçamento NAT, ICMP, IPv6 Encaminhamento 4 30 Como se obtém um endereço IP? P: Como é que um nó obtém um endereço IP? O endereço pode estar configurado no sistema Windows: control-panel->network->configuration- >tcp/ip->properties UNIX: /etc/rc.config Obtém o endereço dinamicamente, através da rede : Dynamic Host Configuration Protocol plug-and-play 4 31
: Dynamic Host Configuration Protocol Objetivo: permitir que os nós obtenham um endereço dinamicamente a partir de um servidor da rede quando se ligam a essa rede Reutilização de endereços que não estão em uso Endereços podem estar associados a um determinado nó Bom para utilizadores móveis que usam temporariamente a rede : Resumo do protocolo Nó dissemina mensagem discover [opcional] Serv. responde com offer [opcional] Nó pede endereço IP: mensagem request Serv. envia endereço: mensagem ack 4 32 : cenário cliente-servidor 223.1.1.1 223.1.2.5 servidor 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 NS Cliente que chega à rede e precisa de endereço 4 33
: cenário cliente-servidor Servidor : 223.1.2.5 discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 Novo cliente tempo request offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 DCVP server ID: 223.1.2.5 Lifetime: 3600 secs src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 server ID: 223.1.2.5 Lifetime: 3600 secs ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 server ID: 223.1.2.5 Lifetime: 3600 secs 4 34 : mais do que endereços IP O protocolo pode fornecer mais do que apenas um endereço IP na sub-rede: Endereço do encaminhador a utilizar pelo cliente Nome e endereço IP do servidor DNS Máscara da rede (que indica qual é a parte do endereço IP que representa a sub-rede, e qual a parte que corresponde ao nó na sub-rede) 4 35
: exemplo UDP IP Eth Phy O portátil quer end. IP, do router e do servidor DNS: usa o Pedido request encapsulado em UDP, encapsulado em IP, encapsulado em Ethernet UDP IP Eth Phy 168.1.1.1 router (executa ) Broadcast de trama Ethernet na LAN (destino: FFFFFFFFFFFF), recebida pelo servidor no router Ethernet desmultiplexada para IP desmultiplexada para UDP desmultiplexada para 4 36 : exemplo UDP IP Eth Phy Servidor prepara resposta com endereço IP do cliente, endereço do router e nome e endereço IP do servidor DNS UDP IP Eth Phy router (executa ) Encapsulamento da resposta, trama enviada ao cliente e desmultiplexagem no cliente Cliente fica a saber o seu endereço IP, o nome e o endereço IP do servidor DNS e o endereço IP do router de saída da rede 4 37
Como se obtém um endereço IP? P: Como é que a rede obtém a parte da sub-rede do endereço IP? R: Fica com uma parte do espaço de endereços que pertencem ao seu ISP Bloco ender. ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 Organização 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23 4 38 Endereçamento hierárquico: agregação de rotas O endereçamento hierárquico permite anunciar informação de encaminhamento de forma mais eficiente: Organização 0 200.23.16.0/23 Organização 1 200.23.18.0/23 Organização 2 200.23.20.0/23 Organização 7 200.23.30.0/23.... Um-certo-ISP Outro-ISP Envia-me tudo o que seja para endereços começados por 200.23.16.0/20 Envia-me tudo o que seja para endereços começados por 199.31.0.0/16 Internet 4 39
Como se obtém um endereço IP? P: Como é que um ISP obtém um bloco de endereços? R: ICANN: Internet Corporation for Assigned Names and Numbers Atribui endereços Gere o DNS Atribui nomes de domínio e resolve disputas 4 40 Sumário: Ao concluir o estudo deste tema deverá ter capacidade para: Descrever o funcionamento e objetivo do protocolo Explicar os processos de atribuição de endereços IP: como é que um ISP obtém gamas de endereços IP como é que são atribuídos endereços IP a sub-redes como é que os nós obtêm um endereço IP numa sub-rede 4 41
Bibliografia Versão Customizada por José Rufino e António Casimiro de: Computer Networking: a top-down approach featuring the Internet. 6th Edition. J. Kurose and K. Ross. Addisson Wesley. 2012. Capítulo 4 TCP/IP Tutorial and Technical Overview, IBM Redbooks, December 2006. Outros elementos de estudo complementares indicados na página da unidade curricular. 4 42 Nível de rede - Tópicos Introdução: Revisão do modelo de camadas Serviços genéricos do nível de rede IP: Serviços e endereçamento NAT, ICMP, IPv6 Encaminhamento 4 43
NAT: Network Address Translation Internet global 138.76.29.7 Rede local (p.ex., rede doméstica) 10.0.0/24 10.0.0.4 10.0.0.1 10.0.0.2 10.0.0.3 Todos os datagramas que saem da rede local têm o mesmo endereço NAT IP: 138.76.29.7, com números do porto de origem diferentes Os datagramas com origem ou destino nesta rede têm endereços 10.0.0/24 na origem ou destino (como normalmente) 4 44 NAT: Network Address Translation Motivação: a rede local precisa apenas de um único endereço IP na perspetiva do mundo externo: Não é necessário ter vários endereços IP fornecidos pelo ISP: um endereço IP para todos os dispositivos Pode-se alterar os endereços dos dispositivos na rede local sem que isso tenha de ser visível no exterior Pode-se mudar de ISP sem se ter de alterar os endereços IP dos dispositivos na rede local Os dispositivos na rede local não podem ser explicitamente endereçados, não são visíveis a partir do exterior (o que é uma vantagem de segurança) 4 45
NAT: Network Address Translation Concretização: O router que faz NAT tem de: Datagramas que saem: substituir (endereço IP origem, porto) de cada datagrama por (endereço NAT IP, novo porto)... Os clientes/servidores remotos vão responder usando (endereço NAT IP, novo porto) no endereço de destino Registar (na tabela de tradução NAT) cada par (endereço IP origem, porto) e correspondente (endereço NAT IP, novo porto) Datagramas que chegam: substituir (endereço NAT IP, novo porto) no campo de destino de cada datagrama que chega pelo correspondente (endereço IP origem, porto) guardado na tabela NAT 4 46 NAT: Network Address Translation 2: O NAT router altera o endereço de origem do datagrama de 10.0.0.1, 3345 para 138.76.29.7, 5001, e atualiza tabela 2 Tabela tradução NAT End. externo End. interno 138.76.29.7, 5001 10.0.0.1, 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: A resposta chega para o endereço de destino: 138.76.29.7, 5001 10.0.0.4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 4: O NAT router altera o endereço de destino de 138.76.29.7, 5001 para 10.0.0.1, 3345 1: host 10.0.0.1 envia datagrama para 128.119.40.186, 80 10.0.0.1 10.0.0.2 10.0.0.3 4 47
NAT: Network Address Translation O campo do porto no cabeçalho tem 16 bits: Podem existir cerca de 60,000 ligações simultâneas com um único endereço IP para a rede local! O utilização de NAT gera controvérsia: Os routers só deviam processar até ao nível 3 Mas neste caso têm de alterar cabeçalhos de nível 4 Existe uma pequena violação do argumento fim-a-fim A escassez de endereços devia ser resolvida com o IPv6 em vez de se utilizar NAT 4 48 Problema do atravessamento NAT Um cliente pretende ligar-se ao servidor com o endereço 10.0.0.1 O endereço é local à rede LAN (o cliente não o pode usar como endereço de destino) Só há um endereço IP visível externamente: 138.76.29.7 Solução 1: Configurar estaticamente o NAT para encaminhar pedidos de ligação num certo porto para o servidor P.ex., (123.76.29.7, porto 2500) encaminha para 10.0.0.1 porto 25000 Cliente? 138.76.29.7 NAT router 10.0.0.4 10.0.0.1 4 49
Problema do atravessamento NAT Solução 2: Protocolo UPnP (Universal Plug and Play) IGD (Internet Gateway Device) Os nós que estão na rede local e que são afetados pelo NAT podem: 1. Ficar a saber qual é o endereço IP público/externo da rede (138.76.29.7) 2. Adicionar/remover entradas de tradução na tabela NAT (com certo tempo de validade) Consegue-se automatizar a configuração estática da tabela de NAT 138.76.29.7 NAT router IGD 10.0.0.4 10.0.0.1 4 50 Nível de rede - Tópicos Introdução: Revisão do modelo de camadas Serviços genéricos do nível de rede IP: Serviços e endereçamento NAT, ICMP, IPv6 Encaminhamento 4 51
ICMP Internet Control Message Protocol Utilizado por nós e routers para enviar informação de nível de rede Avisos de erro: nó, rede, porto ou protocolo inacessível (unreachable) Pedido/resposta de echo (usado pelo comando ping) É um protocolo de nível de rede que está acima do IP: As mensagens ICMP são transmitidas em datagramas IP Mensagem ICMP: contém os campos Tipo e Código, e ainda os primeiros 8 bytes do datagrama IP que causou o erro Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header 4 52 Nível de rede - Tópicos Introdução: Revisão do modelo de camadas Serviços genéricos do nível de rede IP: Serviços e endereçamento NAT, ICMP, IPv6 Encaminhamento 4 53
IPv6 Motivação inicial: A gama de endereços IP com 32-bits está hoje totalmente esgotada Motivação adicional: Novo formato do cabeçalho permite melhorias na velocidade de processamento e reencaminhamento Alterações no cabeçalho permitem lidar com requisitos de Qualidade de Serviço (QoS) Formato do datagrama IPv6: Cabeçalho com dimensão fixa de 40 bytes Não é permitida a fragmentação de pacotes 4 54 Cabeçalho IPv6 Classe: identifica classe (prioridade) de um datagrama Etiqueta do fluxo (Flow Label): identifica a que fluxo pertence um determinado datagrama (embora o conceito de fluxo não esteja bem definido) Cabeçalho seguinte (Next header): identifica protocolo de camada superior para os dados (p.ex, TCP ou UDP) ver class flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits 4 55
Outras alterações relativamente a IPv4 Checksum: Totalmente removido para reduzir tempo de processamento em cada encaminhador Options: Ainda existe, mas fora do cabeçalho (o campo Next Header é usado para indicar que existem opções) ICMPv6: Nova versão do protocolo ICMP Mais tipos de mensagens, p.ex. Packet Too Big Funções para gestão de disseminação dentro de um grupo (multicast) 4 56 Transição do IPv4 para o IPv6 Nem todos os encaminhadores podem ser substituídos em simultâneo Não se pode ter um dia D da mudança Então como é que a rede vai funcionar com uma mistura de encaminhadores IPv4 e IPv6? Pilha dupla: Os nós conseguem falar ao mesmo tempo tanto IPv4 como IPv6 Túneis: Os datagramas IPv6 são transportados em datagramas IPv4 entre encaminhadores IPv4 4 57
Pilha dupla 4 58 Vista lógica: Vista física: Túneis A B E F túnel IPv6 IPv6 IPv6 IPv6 A B E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 4 59
Vista lógica: Vista física: Túneis A B E F túnel IPv6 IPv6 IPv6 IPv6 A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F dados Src:B Dest: E Flow: X Src: A Dest: F Src:B Dest: E Flow: X Src: A Dest: F Flow: X Src: A Dest: F dados dados dados A-to-B: IPv6 B-to-C: IPv6 dentro de IPv4 B-to-C: IPv6 dentro de IPv4 E-to-F: IPv6 4 60 Sumário: NAT, ICMP, IPv6 Ao concluir o estudo deste tema deverá ter capacidade para: Descrever o funcionamento do NAT Enumerar aplicações e limitações do NAT Enumerar aplicações do ICMP Enumerar algumas das características do IPv6 Identificar e justificar diferenças entre o IPv6 e o IPv4, explicando de que forma contribuirão para o melhor funcionamento da Internet Descrever sumariamente as soluções baseadas em túneis e em pilha dupla como formas de compatibilizar a utilização em simultâneo de IPv4 e IPv6 4 61
Bibliografia Versão Customizada por José Rufino e António Casimiro de: Computer Networking: a top-down approach featuring the Internet. 6th Edition. J. Kurose and K. Ross. Addisson Wesley. 2012. Capítulo 4 TCP/IP Tutorial and Technical Overview, IBM Redbooks, December 2006. Outros elementos de estudo complementares indicados na página da unidade curricular. 4 62