Administração e Projeto de Redes Material de apoio Protocolo IP e Algorítmos de Roteamento Cap.8 17/01/2010 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais. O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente. Bibliografia básica: KUROSE, James F.; ROSS, Keith. Redes de Computadores e a INTERNET - Uma nova abordagem. Pearson. : , 2001. 3 Comentário: Formato do datagrama IP (Versão 4) tamanho total do datagrama (bytes): Máximo 64 octetos classe de serviço 32 bits versão do protocolo IP tamanho do header (bytes) número máximo de saltos (decrementado em cada roteador) protocolo da camada superior com dados no datagrama: TCP = 6; UDP = 17; ICMP = 1; IGRP = 88; OSPF = 89 Tamanho do cabeçalho TCP? ver head. type of len service 16-bit identifier time to live protocolo length flgs fragment offset Internet checksum Para fragmentação/ remontagem Flags sinalizam: • Fragmenta Sim/Não • Último fragmento Sim/Não 32 bit endereço IP de origem 32 bit endereço IP de destino 20 bytes do TCP 20 bytes do IP = 40 bytes + cabeçalho da camada de aplicação Opções (se houver) Dados (tamanho variável, tipicamente um segmento TCP ou UDP) Ex.: marca de tempo, registro de rota lista de roteadores a visitar. Fragmentação e Remontagem de pacotes IP 4 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: 1518 bytes). Datagramas IP grandes podem ser divididos dentro da rede (fragmentados). Um datagrama pode dar origem a vários datagramas. A “remontagem” ocorre apenas no IP de destino final. O cabeçalho IP é usado para identificar e ordenar datagramas que foram fragmentados. 5 Protocolo IPv6 - Motivação Motivação inicial da implementação do IPv6: A capacidade de endereçamento 32 bits do IPv4 estava praticamente esgotada. Motivação adicional: Melhorar o formato do cabeçalho IP para permitir maior velocidade de processamento e de transmissão (simplificação). Mudanças no cabeçalho para incorporar mecanismos de controle de QoS (Quality of Service). Comentário: Formato do datagrama IP (Versão 6) 6 Classe de tráfego: equivale à Classe de Serviço do IPv4. Trata de QoS. Rótulo de fluxo: associado com a função de QoS. Define tratamentos semelhantes para pacotes com mesmo rótulo de fluxo (p.ex. VoIP, streaming). Comprimento da carga útil: quantidade de bytes de dados carregados no pacote IP. Próximo Cabeçalho: indica onde está o cabeçalho (extensão) e equivale ao campo Protocolo do IPv4 quando não tem cabeçalho extensão. Limite de saltos: equivalente ao TTL do IPv4. Tamanho fixo 40 octetos 7 IPv4 versus IPv6 IPv4 Cabeçalhocomtamanhovariável Temdetecção de errousandoCheck Sum Fragmentaçãode pacotes IPnarede é opcional, definidapelohost de origem (bit nocampoFlag) IPv6 Cabeçalhotemtamanhofixo40bytes Checksumfoi removidoparareduzir o tempode processamentodos pacotes dentrodo roteador Nãoé permitidaa fragmentação de grandes pacotes narede ICMPv6: nova versão de ICMPinclui mensagemde tipos de mensagens adicionais. Por ex.: “Packet Too Big”. Opções: sãopermitidas, mas são alocadas emcabeçalhos suplementares, indicados pelocampo “Próximocabeçalho” Funções de gerenciamentode grupos multicast 8 Transição do IPv4 para IPv6 Nem todos os roteadores podem ser atualizados simultaneamente. Estratégia de Tunelamento: IPv6 transportado dentro de pacotes IPv4 entre roteadores IPv4 (encapsulamento). 9 NAT – Network Address Translation Motivação: Nem sempre é interessante manter os hosts e servidores com endereços IP públicos, ou nem sempre temos endereços IP públicos disponíveis para todos os hosts. 3 tipos de NAT NAT Estático: 1 endereço IP público para 1 endereço IP privado. NAT Dinâmico: Pool de endereços IP públicos para atender os hosts situados na LAN. NAT Overload ou PAT: 1 endereço IP público para “n” endereços IP privados. 10 NAT – Network Address Translation Benefícios: Deve-se alocar tantos endereços IP públicos quanto necessários para permitir o acesso à Internet, seguindo a regra 1 para 1 (1 endereço IP público por host acessando a Internet simultaneamente). É possível alterar os endereços dos dispositivos LAN sem precisar notificar as demais LANs. É possível mudar de ISP, que altera o endereço IP, sem alterar os endereços dos dispositivos na rede local. Os dispositivos da LAN não são explicitamente endereçáveis ou visíveis pelo mundo exterior (um adicional de segurança). 11 Como funciona o processo NAT ? Datagramas que saem do roteador NAT: É substituido o “endereço IP de origem na LAN” de cada datagrama pelo “endereço IP do NAT”. . . . clientes/ servidores destino responderão usando “endereço IP do NAT” como endereço de destino. No roteador NAT existe a Tabela de Tradução do NAT que associa cada “endereço IP de origem” para o par de tradução NAT: “endereço IP do NAT”. Datagramas que chegam no roteador NAT: É substituído o “endereço IP do NAT” de cada datagrama pelo “endereço IP de origem na LAN” correspondente armazenado da Tabela de Tradução do NAT. Comentário: PAT: Port Address Translation 12 Variação do NAT: Network Address Translation. Recurso utilizado quando não há endereços IP públicos para todos os hosts da LAN. Outros nomes: SNAT/Masquerading: Linux (Iptables). NAT Overload. Hide-Mode NAT (CheckPoint). NAPT (RFC 3022). Internet Connection Sharing (Microsoft). Opera na camada 3 e camada 4 do modelo OSI, enquanto que o NAT opera somente na camada 3. 13 PAT – Port Address Translation Motivação: As LANs podem utilizar apenas um endereço IP para dar acesso à WAN. Benefícios: Não é preciso alocar uma gama de endereços do ISP. Apenas um endereço IP é usado para todos os dispositivos da LAN. É possível alterar os endereços dos dispositivos LAN sem precisar notificar as demais LANs. É possível mudar de ISP, que altera o endereço IP, sem alterar os endereços dos dispositivos na rede local. Os dispositivos da LAN não são explicitamente endereçáveis ou visíveis pelo mundo exterior (um adicional de segurança). O uso do PAT é controverso: Roteadores deveriam processar somente até a camada 3 (Rede). Violação do argumento fim-a-fim (host fala diretamente com host) (IP-IP). A possilidade do uso de PAT deve ser levada em conta pelos desenvolvedores de aplicações. Por ex., nas aplicações P2P. A escassez de endereços deveria ser resolvida pelo IPv6. 14 Como funciona o processo PAT ? Datagramas que saem do roteador PAT: É substituido o “endereço IP de origem na LAN, porta TCP#” de cada datagrama pelo “endereço IP do PAT, nova porta TCP# do PAT”. . . . clientes/ servidores destino responderão usando “endereço IP do PAT, nova porta TCP# do PAT” como endereço de destino. No roteador PAT existe a Tabela de Tradução do PAT), que associa cada “endereço IP de origem, porta TCP#” para o par de tradução PAT: “endereço IP do PAT, nova porta TCP# do PAT”. Datagramas que chegam no roteador PAT: É substituído o “endereço IP do PAT, nova porta TCP# do PAT” de cada datagrama pelo “endereço IP de origem na LAN, porta TCP#” correspondente armazenado da Tabela PAT de Tradução do PAT. 15 Exemplo do esquema PAT 2: roteador PAT substitui end. origem do datagram de 10.0.0.1, 3345 para 138.76.29.7, 5001 e atualiza a tabela 3: resposta chega endereço de destino: 138.76.29.7, 5001 1: hospedeiro 10.0.0.1 envia datagrama para 128.119.40, 80 4: roteador PAT substitui o endereço de destino do datagrama de 138.76.29.7, 5001 para 10.0.0.1, 3345 16 A Camada de Rede Entidade de rede em roteadores ou hospedeiros: Camada de Transporte: TCP, UDP Camada de Rede Prot. de roteamento • Escolha de caminhos • RIP, OSPF, BGP Tabela de rotas Protocolo IP • Endereçamento • Formato dos datagramas •Tratamento de pacotes Protocolo ICMP • Aviso de erros • Sinalização de rotas Camada de Enlace Camada Física 17 Conectividade LAN-to-LAN Roteadores encapsulam e de-encapsulam pacotes de dados no seu percurso pela rede quando eles são transferidos do sistema X ao Y. X C C Y A A Application Presentation Session Transport Network Data Link Physical B B A Network Data Link Physical B Network Data Link Physical C Network Data Link Physical Application Presentation Session Transport Network Data Link Physical Determinação do caminho do pacote (path) 18 Roteadores encontram o melhor caminho através da rede: Tabelas de Roteamento (Routing tables) dentro dos roteadores contém a informação da topologia da rede. É usada para determinar o roteamento. A decisão do roteador é local: escolher com base na Tabela de Roteamento, qual a porta de saída para encaminhamento do pacote IP recebido. 5 2 8 4 1 3 9 Which Path? 10 6 7 11 19 Algumas métricas de roteamento Comprimento do caminho (path): total de hops (enlaces/ pulos) ou total dos custos de cada hop do path. Confiabilidade (Reliability): taxa de falhas (MTBF), tempo de recuperação de falha (MTTR), taxa de erros (bits errados). Atraso da rede (Delay): tempo decorrido para o pacote chegar ao seu destino (tamanho das filas, congestionamento da rede, distância física percorrida pelo pacote. Largura de faixa (velocidade do link) e carga (% de ocupação): depende da velocidade do link e forma de uso. Custo de comunicação ($): custo operacional dos links (OPEX). R1 R1 0 R2 R2 13 R3 R2 15 R4 R4 6 R5 R2 25 R6 R4 26 C u sto Referência: Roteador #1 P r ó x im o H o p Exemplo da montagem da Tabela de Roteamento D e s t in a t á r io 20 21 Roteamento Multiprotocolo Roteadores multiprotocolo podem rotear diversos protocolos de rede simultaneamente. Cada protocolo tem sua própria tabela de roteamento. Routing Tables IPX 3a.0800.5678.12ab Novell Apple IPX 4b.0800.0121.ab13 IP DEC Token Ring IP 15.16.50.3 AppleTalk 100.110 VAX DECnet 5.8 Token Ring IP 15.16.42.8 AppleTalk 200.167 IP 15.17.132.6 VAX DECnet 10.1 22 Roteamento Estático (Static Routing) A Tabela de Roteamento é atualizada manualmente pelo Administrador da Rede. Benefícios: Reflete o conhecimento do Administrador sobre a topologia. Privacidade — não é compartilhado como parte de um processo de atualização com os demais roteadores. Evita a sobrecarga de processamento devido ao roteamento dinâmico. Uso quando a rede é “Terminada”, isso é, quando o roteador só tem uma porta de acesso ao resto da rede. A B LAN 23 Roteamento Dinâmico (Dynamic Routing) Os roteadores trocam informações sobre a topologia e funcionalidade da rede entre si e atualizam suas Tabelas de Roteamento. Uma mudança no caminho preferencial (AD-DC) altera a nova rota para (AB-BC) até que AD seja restaurado e nova atualização da Tabela Roteamento irá ocorrer. A X D A B X C D B C 24 Objetivos dos Algoritmos de Roteamento Otimização: seleção da melhor rota com base em métricas e ponderações (pesos) usados nos cálculo. Simplicidade e baixa carga de processamento: softwares “leves”. Robustez e estabilidade: desempenho adequado mesmo diante de situações não previstas (exemplo: alto tráfego). Rápida convergência: as informações sobre as melhores rotas são rapidamente recebidas e incorporadas pelos roteadores envolvidos (lentidão na convergência pode gerar “loops” ou quedas da rede). Flexibilidade: adaptação rápida e precisa às mudanças da rede (disponibilidade do roteador, velocidade dos links, dimensionamento de filas de entrada e saída e atraso (latência) dos pacotes, etc..). Classificação dos algoritmos de roteamento 25 Estático ou dinâmico? Estático: As rotas mudam lentamente ao longo do tempo. Dinâmico: As rotas mudam mais rapidamente. Podem responder a mudanças no custo dos enlaces. Atualizações periódicas da Tabela de Roteamento. Global ou Descentralizada? Global: Todos os roteadores têm informações completas da topologia e do custos dos enlaces. Algoritmos “link state”. Descentralizada: Roteadores só conhecem informações sobre seus vizinhos e os enlaces para eles. Troca de informações com os vizinhos. Algoritmos “distance vector”. Global: Algorítmo “Link State” de roteamento dinâmico 26 O roteador mantém o mapa lógico de “toda” a rede. Os roteadores somente trocam informações entre si quando ocorrer uma mudança na rota ou serviço. Os mapas da rede vão sendo “construídos” em cada roteador (“convergência”). Roteador inunda (“flooding”) a rede com informações de todos os seus enlaces (conexões para redes e conexões para outros roteadores) e as alterações são conhecidas imediatamente. Eficiente, mas é mais complexo para configurar. Conhecido como “Primeiro Caminho Mais Curto” (Shortest Path First). Exemplo: OSPF – Open Shortest Path First. Descentralizado: Algorítmo “Distance Vector” de roteamento dinâmico 27 O roteador mantém o mapa lógico de parte da rede. Somente os roteadores vizinhos trocam, periodicamente, mensagens de suas tabelas de roteamento entre si, mesmo que não tenham sido alteradas desde a última troca de informações. A Tabela de Roteamento tem informação necessária para atingir o próximo roteador na direção de cada um dos roteadores existentes na rede (Próximo Hop). Também chamado roteamento por rumor (routing by rumor). Fácil de configurar, mas é um processo mais lento de “aprendizado” para os roteadores otimizarem suas Tabelas de Roteamento. Exemplo: RIP e IGRP. Internet: Por que usar Roteamento hierárquico? 28 Supondo uma idealização para fins de estudo: Roteadores são todos idênticos. Redes “flat” (o plano de numeração é livre e não depende de região). … na prática, isso não é verdade ou possível. Escala: com 200 milhões de destinos: Não é possível armazenar todos os destinos numa única tabela de rotas! As mudanças na tabela de rotas irão congestionar os enlaces! A realidade é uma Autonomia Administrativa: Internet = rede de redes. Cada administração de rede pode querer controlar o roteamento na sua própria rede. 29 Roteamento hierárquico Agrega roteadores em regiões, chamados “sistemas autônomos ” (AS-Autonomous System). As regiões AS são interligadas usando roteadores Gateway que estão na borda da rede AS. Roteadores no mesmo AS rodam o mesmo protocolo de roteamento. Protocolo de roteamento “intra-AS” (Dentro da Rede). Roteador Gateway interligam : Tem link direto para um roteador em outro AS. 30 Roteamento intra-AS Também conhecido como Interior Gateway Protocols (IGP). Protocolos de roteamento intra-AS mais comuns: RIP: Routing Information Protocol. OSPF: Open Shortest Path First. IGRP: Interior Gateway Routing Protocol (proprietário da Cisco). 31 Roteamento inter-AS da Internet: BGP BGP (Border Gateway Protocol): é o padrão de fato para uso na Internet. BGP provê cada AS dos meios para: Obter informações de alcance de sub-rede dos Assinantes Vizinhos. Propagar informações de alcance para todos os roteadores internos ao AS. Determinar “boas” rotas para as sub-redes baseado em informações de alcance e política. Permite que uma subnet comunique sua existência para o resto da Internet: “Estou aqui”. BGP – Border Gateway Protocol: conceitos básicos 32 Pares de roteadores (BGP peers) trocam informações de roteamento por conexões TCP semi-permanentes: sessões BGP. Note que as sessões BGP não correspondem aos links físicos. Quando AS2 comunica um prefixo ao AS1, AS2 está prometendo que irá encaminhar todos os datagramas destinados a esse prefixo em direção ao prefixo. AS2 pode agregar prefixos em seu comunicado.