O Nível de Rede • Papel: Obtém pacotes na origem e faz chegar ao destino final. Realiza saltos em pontos intermediários (roteadores). Contrasta com o nível de enlace que apenas faz os quadros chegarem de uma máquina a outra adjacente. • Objetivos: – Serviços independentes da tecnologia da sub-rede; – Poupar o Nível de Transporte dos detalhes das topologias, do número e tipo de sub-redes presentes; – Endereçamento disponível ao Nível de Transporte deve ter um plano uniforme através das LANs e WANs. Nível 3 1 Questões típicas do Nível de Rede Para definir o caminho pelo qual os pacotes devem seguir da origem ao destino (Roteamento), deve responder: • A determinação da rota é estática ou dinâmica? • Que ação tomar em caso de congestionamento? • Como contabilizar o uso para cobrar dos usuários? • Como compatibilizar endereçamentos diferentes em redes heterogêneas? • Como compatibilizar protocolos diferentes nas várias etapas do caminho? Comutação de Pacotes: Um host com um pacote a enviar, o transmite ao roteador mais próximo que espera o pacote inteiro chegar, confere o checksum e encaminha para o próximo roteador. Assim sucessivamente até chegar ao host Nível 3 2 de destino. Serviços oferecidos ao Transporte • Sem conexão: deixa ao nível 4 a complexidade – confiabilidade delegada às pontas (abordagem defendida pela comunidade Internet). Pacotes independentes chamados datagramas. • Orientado a conexão: antes do envio de dados estabelecese a conexão com o par – simplifica o nível 4, pois o nível 3 já apresenta serviço confiável (abordagem defendida pelas companhias telefônicas). • No protocolo IP (Internet Protocol) o serviço de Rede é sem conexão – alivia os roteadores; a medida que as garantias de qualidade de serviço tornam-se importantes, a Internet evolui, adquirindo propriedades associadas ao Nível 3 3 serviço com conexão. Sem conexão x Com conexão Questões a comparar: Endereçamento, Manutenção de Estado, Roteamento, Falha no roteador, QoS, Controle de congestionamento Nível 3 4 Comparação: Circuito Virtual versus Datagrama Nível 3 5 5.2 - Algoritmos de Roteamento • Propriedades desejáveis: correto, robusto, estável, eficiente, justo • Classes de Algoritmos: – Estático : Shortest Path, Flooding – Dinâmico: Link State Routing (RIP, IS-IS, OSPF) Nível 3 6 Caminho mais curto (Dijkstra) • As cinco primeiras etapas utilizadas no cálculo do menor caminho de A a D. As setas indicam o nó ativo. Nível 3 7 Roteamento de Estado de Enlace (Link State Routing) Algoritmo empregado no OSPF (Open Shortest Path First). O roteamento é dividido em 5 partes: 1. Descobrir seus vizinhos e aprender seus endereços de rede; 2. Medir o retardo ou custo até cada vizinho; 3. Criar um pacote que informe tudo o que acabou de aprender; 4. Enviar esse pacote a todos os outros roteadores; 5. Calcular o caminho mais curto até cada um dos outros roteadores. Nível 3 8 OSPF - Open Shortest Path First • Pacote de estado do enlace: • Buffer no roteador B: Nível 3 9 Roteamento para dispositivos móveis (1) • Hosts móveis: Como os outros hosts vão localizar o host móvel? Problemas: Modificar rotas dos roteadores, mobilidade na aplicação, serviços contratados pelo IP. • Agente Local, Endereço de “Care of” Nível 3 Nível 3 10 Roteamento para dispositivos móveis (2) Passos do roteamento móvel: 1) Host Móvel comunica care of ao Agente local; 2) Transmissor envia pacote para endereço original; 3) Agente Local intercepta o pacote, o encapsula com novo cabeçalho (tunelamento) e envia ao Host Móvel; 4) Host móvel envia resposta ao transmissor; 5) Transmissor adota endereço care of para tunelar os próximos pacotes. Nível 3 11 Roteamento em redes Ad Hoc (1) Problema maior que roteamento para hosts móveis: Hosts e roteadores são móveis! • MANETs (Mobile Ad hoc Networks). • Alg de roteamento: AODV (Ad hoc On-demand Distance Vector) considera limitadas largura de banda e bateria. • Cada nó precisa manter uma tabela de vetor de distância classificada por destino com o vizinho a enviar pacotes para alcançar o destino. • Quando um nó quer alcançar outro, neste momento vai descobrir a rota (on-demand). Emite um pacote ROUTE REQUEST (flooding); Nível 3 12 Roteamento em redes Ad Hoc (2) a) A quer transmitir um pacote para o nó I, emite um pacote ROUTE REQUEST alcançado por B e D; b) B e D retransmitem, alcançando C, F e G. Os pacotes tem número de sequencia para manter o controle de cópias. (D recebeu de A e B e não faz flood 2 vezes); c) E e H recebem e inundam (I recebe 2 vezes de G e H); d) Quando I recebe, responde (ROUTE REPLY) que segue pelo caminho inverso. Cada nó deve lembrar quem enviou a solicitação. As setas indicam a rota inversa armazenada. Nível 3 13 Manutenção de rotas Periodicamente, cada nó transmite por broadcast uma msg Hello que os vizinhos respondem. Se não houver resposta, o nó elimina a entrada correspondente da tabela. Se G sair do ar, D elimina as entradas para G e I; D notifica A que elimina sua entrada para I. Vizinhos ativos contam para vizinhos ativos recursivamente até que todas as rotas dos nós que dependem do que saiu sejam eliminadas de todas as tabelas de rotas. Nível 3 14 Congestionamento Congestionamento: Quantidade de pacotes presente na subrede é tão grande que a sub-rede não consegue entregar todos => a fila explode => pacotes são descartados => pacotes devem ser retransmitidos => o desempenho é degradado. É uma questão global, diferente do controle de fluxo que é uma questão entre transmissor e receptor. - Estratégias empregadas: tentar evitar ou lidar com ele. Nível 3 15 Soluções para congestionamento Em diferentes escalas de tempo: Escolher que Diminuir a Escala de meses: pacotes descartar. carga: recusa Aumentar recursos RED: Random Early novos acessos Detection Ajustar as rotas de acordo Na iminência do com padrões de tráfego: congestionamento (monitorar causam oscilação nas parâmetros), a rede solicita que tabelas de rotas (não é as fontes atrasem ou a rede normalmente utilizado). atrasa o tráfego. (Bit ECN – Idéia: dividir o tráfego por Explicit Congestion Notification) 16 vários caminhos. Nível 3 5.4 - Qualidade de Serviço Necessidades dos Fluxos: Largura de Banda (Throughput); Atraso (Delay); Flutuação (Jitter); Perda (Drop). • Aplicações versus Rigidez de Requisitos; • Categorias de QoS: –CBR (Constant Bit Rate) : Telefonia –VBR –RT (Variable Bit Rate – Real Time): videoconferencia compactada –VBR – NRT: Video on Demand –Best Effort: Transferência de arquivo. Nível 3 17 5.4.2 - Modelagem de Tráfego Técnicas de modelagem tentam regular a taxa média dos fluxos que entram na rede, permitem tratar rajadas curtas. (b) Balde furado (Leaky bucket): independente da velocidade de entrada, a saída ocorre a taxa constante R. Se balde cheio até B, escorre pelas bordas; (a) Se o pacote chega com balde cheio, espera em uma fila ou é descartado. (c) Token bucket: retiram-se do balde na medida da demanda, 18 não mais que B símbolos. A entrada é na taxa R. 5.4.3 - Escalonamento de pacotes Algoritmos podem alocar recursos do roteador entre fluxos concorrentes. FIFO: Descartam a cauda (os mais novos que não cabem). Não dá boa QoS. RED: Descartam aleatoriamente quando fila cresce. Risco. Rodízio de Fila (Round Robin): Filas diferentes para fluxos diferentes. WFQ (Weighted Fair Queueing): rodízio de filas ponderado. Atribuir um peso a um fluxo que precise de mais banda. 19 Serviços Integrados (IntServ) - 1 RSVP (Resource reSerVation Protocol) para melhorar QoS: Cada grupo recebe um endereço (multicast), que está no pacote. Alg. de rota constrói spanning tree com os membros. Receptor envia msg de reserva; os roteadores guardam a largura de banda necessária. Quando msg chegar a origem a banda foi reservada em todo o caminho. (b) ST para 1 (c) ST para 2 Nível 3 20 Serviços Integrados (IntServ) - 2 Exemplo do processo de reserva: (a) Host 3 solicita um canal ao Host 1; (b) Host 3 solicita um segundo canal ao Host 2; (c) Host 5 solicita um canal ao Host 1. No trecho A-E-H já reservado. Problema: configurar antecipadam/ os fluxos (“conexão” c/21 Nível 3 muitos fluxos...) e manter estado de cada fluxo nos roteadores. Serviços Diferenciados (DiffServ) – 1 IntServ tem problemas de escalabilidade: estratégia mais simples que não exige configuração antecipada nem envolvimento de todo o caminho: DiffServ. No domínio do ISP definem-se classes de serviço e são oferecidos serviços diferenciados a cada classe (usa campo do cabeçalho IP para a classificação). Classes de serviço (IETF): (1) Classe de encaminhamento expresso: => pouca perda, atraso e flutuação; (está comum marcar VoIP como expresso). Nível 3 22 Serviços Diferenciados (DiffServ) – 2 (2) Classe de encaminhamento garantido: mais elaborada: define 4 classes de prioridade, e 3 classes de descarte, totalizando 12 classes. • Uma implementação possível: Após classificar o pacote quanto a prioridade, passar por um gerenciador de tráfego, como token bucket que combina informação de descarte. Roteador pode utilizar enfileiramento ordenado com rodízio de fila ponderado. Nível 3 23 5.5 – Interligação de redes A heterogeneidade veio para ficar! Enquanto não verificarem que a tecnologia [preencha a gosto] é melhor... • Diferenças possíveis entre redes relativas à camada de rede (afora questões físicas como modulação e questões de enlace como formato do quadro): Nível 3 24 5.5.2 - Conectar redes - 1 • Camada comum acima que oculta as diferenças das redes; foi separada nos protocolos TCP e IP de Cerf e Kahn : Turing Award (2004) – Nobel de Computação. a) Uma Rede com 3 tipos de rede: WiFi, MPLS (MultiProtocol Label Switching) e Ethernet; MPLS – protocolo de nível 2.5, orientado a conexão que cria circuito virtual Nível 3 25 b) Processamento dos protocolos => necessidade de fragmentação :WiFi/Eth Conectar redes - 2 • Bridges poderiam fazer esta tradução de um tipo de LAN para outra, mas as diferenças são tantas que não é mais comum utilizá-las para isto. • Hoje, bridges conectam LANs iguais, e roteadores conectam LANs diferentes: Problemas difíceis de contornar como tamanho de pacotes diferentes, já tem um esquema de fragmentação na camada de rede que pode ser usado. • O roteador tem habilidade também para lidar com vários protocolos de rede (IPx, AppleTalk), porém hoje são mais relevantes IPv4 e IPv6 que não são compatíveis. • Traduzir pacotes IPv4 para IPv6 e vice-versa pode ser difícil (128 bits para 32 bits Nível de 3endereço), então... 26 5.5.3 - Tunelamento Se a rede de origem é do mesmo tipo da rede de destino, mas há uma rede diferente entre elas, encapsular os dados das pontas dentro de pacotes transportados pela rede intermediária. Nível 3 27 Fragmentação Cada rede impõe um tamanho máximo a seus pacotes: Ethernet:1.500B; WiFi: 2.272B; IP: 65.515B (a) Pacote original contendo 10 bytes de dados (b) Fragmentos após passarem por uma rede que admite 8 bytes de dados (c) Fragmentos após passarem por uma rede que admite 5 bytes de dados Nível 3 28 Descoberta de MTU MTU – Maximum Transmission Unit Como cabeçalho de fragmento é transmitido (overhead) e perder um fragmento implica em perder o pacote (overhead), é preferível remover a fragmentação, descobrindo a MTU do caminho. Roteador liga um bit no cabeçalho IP para não usar fragmentação e descarta pacote. Quando a origem recebe o pacote de erro, usa a informação do erro para gerar pacotes menores. Tarefa migra dos rots para os hosts. Nível 3 29 5.6 - A Camada de Rede da Internet Internet: coleção interconectada de muitas redes IP (Internet Protocol) a camada de rede da Internet Nível 3 30 O cabeçalho IPv4 - 1 Version: versão do protocolo sendo usado; atualmente há transição entre IPv4 e IPv6; IHL: Header Lenght – quantas palavras de 32 bits há no cabeçalho, pois este não tem tamanho constante; a parte fixa tem 20 bytes. Serviços Diferenciados: 6 bits Nível 3– Classe de Serviço; 2 bits 31 Notificação de congestionamento (ECN); O cabeçalho IPv4 - 2 Tamanho Total: Inclui cabeçalho e dados. Até 64Kbytes (Em redes Ethernet o máximo é 1500 bytes. Identificação: Número identificando a qual pacote este fragmento pertence. DF : D´ont fragment: para descoberta da MTU; Nível 3 32 O cabeçalho IPv4 - 3 MF : More Fragments – para informar que seguem mais fragmentos – o último fragmento tem este bit desligado; Deslocamento de fragmento: onde este fragmento se encaixa no pacote corrente; Múltiplos de 8 bytes. Time to Live: Iniciado com 255, é decrementado a cada hop; quando atinge zero o fragmento é descartado. Evita 33 Nível 3 vida indefinida para um pacote; O cabeçalho IPv4 - 4 Protocol: Que protocolo de transporte é usado (TCP/UDP); Header checksum: Deve ser recomputado em cada roteador, pois no mínimo mudou o campo time to live; Source Address e Destination Address Options:Permite incluir informação não presente no projeto Nível 3 34 original. Endereços IP O endereço IP identifica unicamente uma rede e uma máquina nesta rede. • O endereço utiliza 4 bytes normalmente escritos em notação decimal com um ponto como separador. Possibilidades entre 0.0.0.0 e 255.255.255.255 • Endereços IP são hierárquicos: composto de uma parte de rede nos bits superiores e uma parte de host nos bits inferiores => uma rede tem um bloco contíguo de endereços IP; • Números de redes são atribuídos pela ICANN (Internet Corporation for Assigned Names and Numbers) criada em 1998 para evitar conflitos; delegam endereços à autoridades regionais. Nível 3 35 Classes de endereços IP Definidas inicialmente na Internet (antes de 1993) e não mais utilizadas: • • • • Classe A – 126 redes com 16 milhões de hosts cada; Classe B – 16.382 redes (214) com 64k (216) hosts cada; Classe C – 2 milhões de redes (221) com 254 hosts cada. Classe D – Endereços multicast – para encaminhar um Nível 3 36 datagrama a múltiplos hosts. Máscaras de Rede O tamanho do prefixo corresponde a uma máscara de sub-rede, com 1s na parte destinada a rede. Os prefixos são manipulados pelos roteadores que não precisam conter todos os endereços alcançáveis, mas apenas todas as redes alcançáveis. Nível 3 37 Subdivisão de Redes • É possível subdividir a rede para uso interno, para melhor organização e aproveitamento do espaço de endereçamento: • Suponha uma universidade dona do espaço: 128.208.0.0/16; deixou metade dos endereços para a CC, ¼ dos endereços para a EE e 1/8 dos endereços para Artes; esta subdivisão não precisa ser conhecida externamente. EE: 1000 0000 1101 0000 00xx.... CC: 1000 0000 1101 0000 1xxx.... Artes: 1000 0000 1101 0000 011x... Nível 3 38 CIDR:Classless InterDomain Routing Para diminuir o tamanho das tabelas de rotas combinamse pequenos prefixos em um único prefixo maior, ou seja que contém mais endereços (agregação de rota). O prefixo mais abrangente é da super-rede. Exemplo: A partir de 194.24.0.0 há 8192 (=213) ends em um bloco disponível. Cambridge solicitou 2048 (=211) endereços; Oxford solicitou 4096 (=212) endereços; Edinburgh solicitou 1024 (=210) endereços. O maior prefixo neste caso é 194.24.0.0/19 que contém o bloco todo incluindo a porção disponível. Nível 3 39 Agregação de prefixos IP Cada faixa atribuída deve ser conhecida pelos roteadores? Não necessariamente: o roteador de Londres que conhece as 3 redes, agrega os 3 prefixos em um: 194.24.0.0/19, que é passado para Nova York. NY reduziu 3 entradas para uma. Nível 3 40 Rota mais específica primeiro Se São Francisco solicitou 1024 endereços e foi alocado o bloco que ainda estava disponível (194.24.12.0/22). Os pacotes devem ser enviados na direção da rota mais específica, ou do maior prefixo combinado. Nível 3 41 Tabela de Roteamento Indica para onde enviar as mensagens. RIT – Routing Information Table. Indica: Destino Máscara Gateway Interface End. de Máscara rede ou na subIP rede destino Endereço Quantos da roteadores Interface atravessar pela qual até o será destino. enviada a mensagem Próximo roteador que possa entregar datagrama Nível 3 Métrica 42 NAT – Network Address Translation Técnica contra esgotamento de endereços IP: • Atribuir a cada empresa um único endereço IP válido; internamente utilizam-se IPs privativos. Na saída do pacote ocorre conversão para o IP válido. • Intervalos privativos: (Classe A) 10.0.0.0 , (Classe B)172.16.0.0 e (Classe C) 192.168.0.0 Problema: quando o pacote volta endereçado ao IP válido, como saber para quem devolver a resposta? Manipular Nível 3 43 porta de origem. IPv6 (1) Endereços de 16 bytes de comprimento. Suporta 2128 , aproximadamente 3x1038, o que na prática significa endereços ilimitados; Possibilidade do IPv4: 4.3 bilhões - Hoje estima-se 5.5 bilhões de dispositivos; (2) Simplificação do cabeçalho: De 13 campos no IPv4 para 7 no IPv6 -> processamento mais rápido nos roteadores; (3) Melhor suporte a opções: campos antes necessários, passam a ser opcionais. O roteador pode saltar opções não pertinentes. (4) Avanços em segurança com características de privacidade e autenticação. (5) Melhor tratamento de tipo de serviço: com o tráfego Nível 3 44 multimídia necessita mais que 8 bits. Cabeçalho IPv6 Tamanho Fixo: 40 Bytes Pilha Dupla x Túnel A quer enviar mensagem para F. O IPv4 que há no meio encapsula o IPv6. A B Ipv6 C Ipv6 A Ipv6 D Ipv4 B Ipv4 E C Ipv6 D Ipv4 F Ipv6 Ipv6 Ipv4 E F Ipv6 Nível Rede 46 Ipv6