Redes I Internet Protocol IP Prof. Dr. Amine BERQIA [email protected] http://w3.ualg.pt/~bamine/ Motivação Conectar várias tecnologias de ligação para formar uma maior rede de interconexão Necessário um esquema de endereçamento universal Utilização genérica Oculta as tecnologias subjacentes de utilizador final Facilita a comunicação entre domínios autónomos Capaz mover pacotes entre quaisquer computadores numa rede de interconexao Conectar Redes Heterogéneas Sistema computacional utilizado Propósito especial Dedicado Suporta tecnologias LAN ou de WAN Conhecido como router gateway Ilustração de um Router A G B Nuvem representa uma rede arbitrária Uma interface por rede Idéia base Um router pode interconectar redes que utilizam tecnologias diferentes, incluindo meios e tecnologias de acesso a meios diferentes, e esquemas de endereçamento físicos ou formatos de quadro diferentes. O Conceito de Internet Rede na Realidade Rede como visto pelos utilizadores Funções chave da Camada de rede Endereçamento global Fragmentação Routing (encaminhamento) Vamos focar principalmente o endereçamento e encaminhamento Exemplo de Camada de rede : Protocolo Internet (IP) Normalizado pelo IETF como RFC 791 Protocolo mais popular da Camada 3 Protocolo nuclear utilizado na Internet pública Protocolo sem conexão datagramas contêm identidade do destino cada datagrama enviado/tratado de forma independente Endereçamento de IP Fornece uma abstracção Independente de endereçamento de hardware (MAC) Utilizado por protocolos de camada mais altas aplicações Endereço IP Virtual só reconhecido por software Utilizado para toda a comunicação numa rede de interconexão IPv4 inteiro de 32 bits Valor distinto para cada computador/interface Atribuição do Endereço IP Um endereço de IP não identifica um computador específico. Pelo contrário, cada endereço de IP identifica uma conexão entre um computador e uma rede. Um computador com conexões de rede múltiplas (por exemplo, router) deve ser atribuído um endereço IP para cada conexão. Endereço IP Dividido em duas partes prefixo identifica a rede sufixo identifica o computador/interface Autoridade global atribui um prefixo distinto para a rede Administrador local atribui sufixo distinto para o computador/interface Classe de Endereços IP Class\bits 0 8 A 0 B 10 C 110 D 1110 E 11110 16 id-rede 24 id-computador id-rede id-computador id-rede id-comp. endereço multicast reservado para uso futuro Endereço IPv4 = 32 Bits 31 Bits iniciais determinaram a classe A classe determina o limite entre prefixo e sufixo Exemplo de Notação decimal Representa cada octeto em decimal separado por pontos Não é igual a nomes como www.ualg.pt 129.194.69.68 = Endereço IP 129.194 = id-rede 1000 0001 1100 0010 69.68 = id-computador 0100 0101 0100 0100 Quatro valores decimais por endereço de 32 bits Cada número decimal representa oito bits está entre 0 e 255 inclusivo Classes e Tamanho de Rede Tamanho máximo determinado por classe de endereço • Classe A grande • Classe B média • Classe C pequena Exemplo de Endereçamento Endereçamento IP : Problemas com Classes Crescimento de Internet Tamanho de tabela de routing Esgotamento de endereços Peso Administrativo Má utilização de endereços Endereçamento IP : Soluções Subnetting Máscara de Subrede de Comprimento variável (VLSM) Supernetting Classless InterDomain Routing (CIDR) Subnets(1) Endereçamento por SubNet é uma técnica que permite um conjunto múltiplo de redes interconectadas ser coberto por um único número de rede IP. Os endereços IP têm uma estrutura bem definida que permite a um gateway extrair a parte de rede dum endereço, simplesmente sabendo a sua classe e uma mascara opcional. Quer-se reduzir o numero de rede visíveis pelo mundo; Quer-se simplificar a gestão das muitas redes existentes numa organização; Uma organização grande pode ter 30 ou mais redes (uma para cada departamento). Seria agradável se precisássemos de apenas publicitar um único numero de rede para as 30 redes. Subnets(2) Para implementar subnetting, computadores e gateways usam uma máscara de subrede para extrair a parte de rede de um endereço de IP. No exemplo, 6 bits estão reservados para subrede, e 10 bits para o computador. Distinguir entre encaminhamento directo (o router sabe chegar ao destino) e indirecto (o router envia o pacote para outro encaminhar), Sem subrede, um router tem tabelas da forma: (outra_rede, 0) e (esta_rede,o computador). Com subrede, um router tem tabelas da forma: (esta_rede, subrede, 0) e (esta_rede, esta_subnet, o computador). Subnets(3) 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 140.192.56.45 1 0 0 140 0 1 1 0 0 1 1 0 192 0 0 0 0 0 0 0 1 N etwork 1 1 1 255 1 1 1 0 0 0 0 0 0 0 0 1 Subnet 1 1 1 1 1 1 255 1 1 1 0 0 1 1 0 0 0 192 0 0 140 1 56 1 1 1 1 1 1 1 1 255 1 1 0 0 0 0 0 1 1 1 56 1 1 192 0 45 0 1 0 1 0 0 0 0 H os t 0 NetMask 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 45 0 1 1 0 1 0 0 0 0 0 0 0 0 56 1 IP A ddress 1 0 Netw ork A ddress 140.192.56.0/24 24-bit mask 8-bit subnet mask 140.192.56.45 1 0 0 140 0 1 1 0 0 1 1 0 0 0 0 N etwork 1 1 1 255 1 1 1 0 0 0 1 1 1 1 1 1 255 1 1 1 0 0 1 1 0 0 0 0 0 0 0 IP A ddress H os t 1 1 1 1 1 1 240 1 0 0 0 0 0 0 1 1 192 140.192.48.0/20 20-bit mask 4-bit subnet mask 0 Subnet 140 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 0 0 NetMask Netw ork A ddress Subnets(4) Subnet Mas k Bits Bits C om bo's C las s B C las s C N/A N et 's H os ts H os ts Clas s B Subnet Mas ks Clas s C Subnet Mas ks 2 22 4 -2 = 2 16382 62 Bits N et work s H os ts Bits N et work s H os ts 3 23 8 -2 = 6 8190 30 4 14 H 4094 os ts 4 14 H 14 os ts 4 24 16 -2 = 14 4094 14 7 126 14 H510 os ts 2 14 2 H 62 os ts 5 25 32 -2 = 30 2046 6 12 4094 14 H 62 os ts 3 14 H os ts 6 26 64 -2 = 62 1022 2 6 14 H os ts 6 14 H os ts 7 27 128 -2 = 126 510 10 14 H os ts 8 28 256 -2 = 254 254 9 29 512 -2 = 510 126 10 210 1024 -2 = 1022 62 11 211 2048 -2 = 2046 30 12 212 4096 -2 = 4094 14 13 213 8192 -2 = 8190 6 14 214 16384 -2 = 16382 2 VLSM Máscara de Subrede de Comprimento variável Pode ser complexo e confuso Utiliza endereçamento mais eficazmente. Supernetting Combina múltiplas classes de endereço menores num bloco maior 208 1 1 0 1 0 0 0 0 207 1 1 0 0 1 1 1 1 52 0 0 1 1 0 1 0 0 208 1 1 0 1 0 0 0 0 207 1 1 0 0 1 1 1 1 53 0 0 1 1 0 1 0 1 208 1 1 0 1 0 0 0 0 207 1 1 0 0 1 1 1 1 54 0 0 1 1 0 1 1 0 208 1 1 0 1 0 0 0 0 207 1 1 0 0 1 1 1 1 55 0 0 1 1 0 1 1 1 208 1 1 0 1 0 0 0 0 207 1 1 0 0 1 1 1 1 52 0 0 1 1 0 1 0 0 0 208.207.52.0/24 0 0 0 0 0 0 0 0 0 208.207.53.0/24 0 0 0 0 0 0 0 0 0 208.207.54.0/24 0 0 0 0 0 0 0 0 0 208.207.55.0/24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 208.207.52.0/22 CIDR Classless Inter-domain Routing Implementa informação de supernetting em routers de IP Anuncia blocos de CIDR menores Diminui o tamanho da tabela de routing Formato datagrama IPv4 bit 0 VERS 4 HLEN 8 Tipo deServiço Identificação Time to Live 16 19 24 31 Comprimento total Flags Tipo Offset de fragmento Checksum de cabeçalho Endereço IP origem Endereço IP Destino Opções de IP (pode ser omitido) DADOS Padding Datagramas IP Pode-se atrasar Duplicado Entregue fora de ordem Perdido Pode mudar rotas de pacote para pacote Sem conexão IPv6(1) Motivação: Vamos ficar sem Classes B disponíveis (dentro de anos). Eventualmente todo o espaço de endereçamento de 32 bits irá esgotar. Embora 32 bits representa 4 bilhões nos, o routing hierárquico não distribui endereços uniformemente. Simplesmente não sabemos escalonar encaminhamentos para além de algumas dezenas de milhares de redes. Assim, aumentando o tamanho dos endereços IP resolve os problemas 1 e 2, mas não ajuda com o problema de escalonamento. IPv6(2) IPv6(3) Este é um problema de engenharia no sentido que distribuir actualizações de rotas, calcular novas tabelas de routing, e guardar todas as rotas consome recursos de processador e memória. Podemos faze-lo para 10,000 redes, talvez até mesmo 100,000, mas não para 1,000,000. Encontrar o equilíbrio certo entre estes custos é difícil. A necessidade de mais endereços dá-nos uma oportunidade para melhorar em outros aspectos de actual IP (IPv4). Repare no cabeçalho da Figura anterior, e a utilização do espaço de endereçamento. Durante o período de transição, serão incluídos endereços de IPv4 em endereços de IPv6. Transição De IPv4 Para IPv6 Durante a transição, nem todos os routers serão actualizados para IPv6; Como irá a rede funcionar? Duas aproximações propostas: Dual Stack e Tunneling Dual Stack: Alguns routers com pilha dupla (v6, v4); outros são só routers de v4 Routers de pilha dupla traduzem o pacote a para um pacote v4 se o próximo router for só v4 DNS pode ser usado para determinar se um router é pilha dupla ou não Serão perdidas algumas informações e características de v6 se um pacote tiver que passar por qualquer router v4 Protocolos Internet de Controlo ICMP ARP / RARP BOOTP/DHCP ICMP Quando um módulo de IP encontra um erro enquanto processa um datagrama, envia de volta uma mensagem de erro ICMP ao remetente original do datagrama. Erros: Destination Unreachable: Quando um router não consegue encaminhar um datagrama ( não tem uma entrada apropriada na sua tabela de encaminhamentos), este descarta o datagrama e responde ao computador de origem com uma mensagem “destination unreachable”. Na prática, o computador origem precisa dum encaminhamento diferente ou de tentar novamente mais tarde. Tempo Excedeu: À medida que um datagrama é processado, os routers fazem o campo Time-To-Live (TTL) decrementar. Se o TTL alcança 0, o router descarta o datagrama e envia uma mensagem “tempo excedeu” ao remetente. O campo de dados da mensagem inclui parte do cabeçalho do datagrama. Problema de parâmetro: Quando computador ou um router encontra um problema em processar um datagrama IP, este devolve uma mensagem de “problema de parâmetro” ao remetente do datagrama. Source Quench: Quando um router entra em congestão e esgota o seu espaço de memória, poderá descartar o pacote e enviar uma mensagem de “Source Quench”. Mensagens de Source Quench servem para pedir que o remetente reduza a taxa à quu está a enviar datagramas. ARP Protocolo de Resolução de endereço (ARP) é um protocolo que permite aos computadores mapear endereços da Internet dinamicamente a endereços físicos: - O computador origem precisa apenas de saber o endereço do computador destino. - Envia uma quadro especial de pedido ARP que utiliza a capacidade de difusão do Ethernet. Assim, todas as máquinas na LAN irão receber o pedido de ARP. - O pedido de ARP pergunta ` qual é o endereço Ethernet correspondente ao endereço Internet A.B.C.D ´? - Cada máquina recebe uma cópia da mensagem difundida, e a máquina que tem o endereço de IP desejado responde com seu endereço de Ethernet . - Claro que, uma máquina não envia um pacote de ARP cada vez que deseja enviar um datagrama IP. - Em vez disso, cada máquina mantém uma memória (cache) de mapeamentos recentemente usados, e um pedido de ARP só é enviado se o mapeamento desejado já não estiver na memória. RARP ARP trata o problema de determinar o endereço de hardware que corresponde a um determinado endereço IP. Mas encontrar o meu próprio endereço IP? O protocolo que mapeia endereços de hardware a endereços na Internet é chamado ARP Inverso, ou RARP. Necessário quando uma máquina diskless (sem disco) arranca. Não sabe o seu próprio endereço de IP (e não o pode ler isto do disco local!). O cliente em fase de arranque comunica com um servidor para obter seu endereço na Internet. O cliente comunica com um servidor usando um protocolo especial que requer só quadros Ethernet. Basicamente diz “O meu endereço de ethernet é aa.bb.cc.dd.ee.ff. alguém conhece o meu endereço IP?“ A difusão vai para todos os nós, inclusive o servidor de RARP. O servidor de RARP mantém um banco de dados de mapeamentos de endereço físico para endereços Internet. DHCP DHCP: Protocolo de Configuração Dinâmica de Computadores (RFC 1531) Utilizado para fornecer a estações de trabalho um endereço de IP. Este endereço pode ser mudado cada vez que a máquina arranca. Permite flexibilidade de configuração. A seguir descreve-se o protocolo: Estação de trabalho difunde mensagem de DHCPDISCOVER no arranque. Vários Servidores de DHCP podem responder com mensagens de DHCPOFFER, que contem: Endereço de IP, máscara de subrede, Endereço de router Tempo de renovação Estação de trabalho responde a um oferta com DHCPREQUEST. Pedido pode incluir informações como: servidores de DNS, servidores de horas, ficheiros de arranque, Servidor de DHCP aloca um endereço IP e responde com mensagem de DHCPACK com opções pedidas. BOOTP BOOTP: protocolo de arranque (RFC 951) Estação de trabalho difunde pedido BOOTP que contem o seu endereço MAC no arranque; Servidor de BOOTP responde com: – Endereço de IP do computador – Endereço de servidor de ficheiros, nome de ficheiro de arranque, – Servidores de DNS, máscara de subrede, endereço de router, Routers poderão encaminhar pedidos de BOOTP, dependendo de configuração.