Capítulo 4: Camada de Rede Objetivos do capítulo: r entender os princípios por trás dos serviços da camada de rede: m m m m m m r modelos de serviço da camada de rede repasse versus roteamento como funciona um roteador roteamento (seleção de caminho) lidando com escala tópicos avançados: IPv6, mobilidade instanciação, implementação na Internet 4: Camada de Rede 4a-1 Capítulo 4: Camada de Rede 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O Protocolo da Internet (IP) r m m m m Formato do datagrama Endereçamento IPv4 ICMP IPv6 r 4.5 Algoritmos de roteamento m m m r 4.6 Roteamento na Internet m m m r Estado de enlace Vetor de distâncias Roteamento hierárquico RIP OSPF BGP 4.7 Roteamento broadcast e multicast 4: Camada de Rede 4a-2 Camada de rede r r r r r transporta segmentos da estação remetente à receptora no lado remetente, encapsula segmentos dentro de datagramas no lado receptor, entrega os segmentos para a camada de transporte protocolos da camada de rede em todos os sistemas finais e roteadores roteadores examinam campos de cabeçalho de todos os datagramas IP que passam por eles aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física 4: Camada de Rede aplicação transporte rede enlace física 4a-3 Funções principais da camada de rede r r repasse: move pacotes analogia: de uma entrada do roteador para a saída apropriada roteamento: r roteamento: processo de planejar uma viagem da origem até o destino determina a rota a ser seguida pelos pacotes r repasse: processo de da fonte até o destino atravessar uma encruzilhada durante m Algoritmos de a viagem roteamento 4: Camada de Rede 4a-4 Relacionamento entre roteamento e repasse algoritmo de roteamento determina o caminho fim-a-fim através da rede Algoritmo de roteamento tabela de repasse determina o repasse local neste roteador tabela de repasse local valor cabeçalho link saída 0100 0101 0111 1001 valor no cabeçalho do pacote que está chegando 0111 3 2 2 1 1 3 2 4: Camada de Rede 4a-5 Estabelecimento de conexão r r r 3ª função importante em algumas arquiteturas de rede: m ATM, frame relay, X.25 m roteadores são envolvidos Antes dos pacotes fluírem, dois hosts e roteadores intermediários estabelecem uma conexão virtual Serviço de conexão das camadas de transporte e de rede: m m rede: entre dois hosts (envolve também roteadores intermediários no caso de CVs) transporte: entre dois processos 4: Camada de Rede 4a-6 Modelo de serviço de rede P: Qual é o modelo de serviço para o “canal” que transfere pacotes do remetente ao receptor? Exemplos de serviços para pacotes individuais: r Entrega garantida r Entrega garantida com atraso limitado: r Ex.: menor que 40 mseg Exemplos de serviços para um fluxo de datagramas: r Entrega ordenada de pacotes r Largura de banda mínima garantida r restrições em mudanças no espaçamento entre pacotes. 4: Camada de Rede 4a-7 Modelos de serviço da camada de rede: Arquitetura de Rede Internet r Modelo de Banda serviço ATM melhor esforço CBR ATM VBR ATM ABR ATM UBR Garantias ? Indicação de Perdas Ordem Tempo congestion.? nenhuma não não não taxa constante taxa garantida mínima garantida nenhuma sim sim sim sim sim sim não sim não não (inferido via perdas) sem congestion. sem congestion. sim não sim não não Modelo Internet está sendo estendido: Intserv, Diffserv m Capítulo 7 4: Camada de Rede 4a-8 Capítulo 4: Camada de Rede 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O Protocolo da Internet (IP) r m m m m m Formato do datagrama Endereçamento IPv4 ICMP IPv6 IPSec r 4.5 Algoritmos de roteamento m m m r 4.6 Roteamento na Internet m m m r Estado de enlace Vetor de distâncias Roteamento hierárquico RIP OSPF BGP 4.7 Roteamento broadcast e multicast 4: Camada de Rede 4a-9 Serviços orientados e não orientados para conexão r rede datagrama provê um serviço de camada de rede sem conexões r rede circuito virtual provê um serviço de camada de rede orientado para conexões r análogos aos serviços da camada de transporte, mas: m m m Serviço: host-a-host Sem escolha: rede provê ou um ou o outro Implementação: no núcleo da rede 4: Camada de Rede 4a-10 Redes de circuitos virtuais “caminho da-origem-ao-destino se comporta como um circuito telefônico” m m r r r r em termos de desempenho em ações da rede ao longo do caminho da-origem-ao-destino estabelecimento de cada chamada antes do envio dos dados cada pacote tem ident. de CV (e não endereços origem/dest) cada roteador no caminho da-origem-ao-destino mantém “estado” para cada conexão que o atravessa recursos de enlace, roteador (banda, buffers) podem ser alocados ao CV (recursos dedicados = serviço previsível) 4: Camada de Rede 4a-11 Implementação de CV Um CV consiste de: 1. 2. 3. r r caminho da origem para o destino números (identificadores) de CV, um número para cada enlace ao longo do caminho entradas nas tabelas de repasse dos roteadores ao longo do caminho pacote que pertence a um CV carrega o número do CV (ao invés do endereço de destino) Número do CV deve ser trocado a cada enlace m Novo número do CV vem da tabela de repasse 4: Camada de Rede 4a-12 Tabela de repasse Número do CV 22 12 1 Tabela de repasse no roteador noroeste: 2 32 3 número da interface Interface de entrada # CV de entrada Interface de saída # CV de saída 1 2 3 1 … 12 63 7 97 … 3 1 2 3 … 22 18 17 87 … Roteadores mantêm informação sobre o estado da conexão! 4: Camada de Rede 4a-13 Circuitos virtuais: protocolos de sinalização usados para estabelecer, manter, destruir CV r usados em ATM, frame-relay, X.25 r não usados na Internet convencional r aplicação 6. dados recebidos aplicação transporte 5. começa fluxo de dados transporte rede 4. conexão completa 3. chamada aceita rede 1. inicia chamada enlace 2. chegada de chamada enlace física física 4: Camada de Rede 4a-14 Rede de datagramas: o modelo da Internet r r r não requer estabelecimento de chamada na camada de rede roteadores: não guardam estado sobre conexões fim a fim m não existe o conceito de “conexão” na camada de rede pacotes são repassados tipicamente usando endereços de destino m 2 pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes aplicação transporte rede 1. envia dados enlace física aplicação transporte rede 2. recebe dados enlace física 4: Camada de Rede 4a-15 Tabela de repasse 4 bilhões de endereços IP, ao invés de listar endereços destino individuais lista faixa de endereços (entradas agregáveis da tabela) algoritmo de roteamento tabela de repasse local endereço dest link saída faixa-endereços 1 faixa-endereços 2 faixa-endereços 3 faixa-endereços 4 3 2 2 1 endereço IP de destino no cabeçalho do pacote que chega 1 3 2 4: Camada de Rede 4a-16 Origens das redes de circuitos virtuais e de datagramas Internet r r r ATM troca de dados entre r computadores r m serviço “elástico”, sem reqs. temporais estritos muitos tipos de enlaces m características diferentes m serviço uniforme difícil sistemas terminais r “inteligentes” (computadores) m podem se adaptar, exercer controle, recuperar de erros m núcleo da rede simples, complexidade na “borda” evoluiu da telefonia conversação humana: m temporização estrita, requisitos de confiabilidade m requer serviço garantido sistemas terminais “burros” m telefones m complexidade dentro da rede 4: Camada de Rede 4a-17 Capítulo 4: Camada de Rede 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O Protocolo da Internet (IP) r m m m m Formato do datagrama Endereçamento IPv4 ICMP IPv6 r 4.5 Algoritmos de roteamento m m m r 4.6 Roteamento na Internet m m m r Estado de enlace Vetor de distâncias Roteamento hierárquico RIP OSPF BGP 4.7 Roteamento broadcast e multicast 4: Camada de Rede 4a-18 Sumário de Arquitetura de Roteadores Duas funções chave de roteadores: r r usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP) comutam datagramas do enlace de entrada para a saída 4: Camada de Rede 4a-19 Funções das Portas de Entrada Camada física: recepção de bits Camada de enlace: p.ex., Ethernet veja capítulo 5 Comutação descentralizada: r r r dado o dest. do datagrama, procura porta de saída usando tab. de rotas na memória da porta de entrada meta: completar processamento da porta de entrada na ‘velocidade da linha’ filas: se datagramas chegam mais rápido que taxa de re-envio para matriz de comutação 4: Camada de Rede 4a-20 Elemento (matriz) de comutação r transfere pacotes do buffer de entrada para o buffer de saída apropriado r taxa de comutação: taxa na qual os pacotes podem ser transferidos das entradas para as saídas: m m frequentemente medida como múltiplo das taxas das linhas de entrada/saída N entradas: desejável taxa de comutação N vezes a taxa da linha. 4: Camada de Rede 4a-21 Três tipos de comutação 4: Camada de Rede 4a-22 Portas de Saída r r enfileiramento necessário quando datagramas chegam do elemento de comutação mais rapidamente do que a taxa de transmissão disciplina de escalonamento escolhe um dos datagramas enfileirados para transmissão 4: Camada de Rede 4a-23 Capítulo 4: Camada de Rede 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O Protocolo da Internet (IP) r m m m m Formato do datagrama Endereçamento IPv4 ICMP IPv6 r 4.5 Algoritmos de roteamento m m m r 4.6 Roteamento na Internet m m m r Estado de enlace Vetor de distâncias Roteamento hierárquico RIP OSPF BGP 4.7 Roteamento broadcast e multicast 4: Camada de Rede 4a-24 A Camada de Rede na Internet Funções da camada de rede em estações, roteadores: Camada de transporte: TCP, UDP Camada de rede protocolo IP •convenções de endereços •formato do datagrama •convenções de manuseio do pct Protocolos de rot. •seleção de rotas •RIP, OSPF, BGP Tabela de repasse protocolo ICMP •relata erros •“sinalização” de roteadores Camada de enlace Camada física 4: Camada de Rede 4a-25 Formato do datagrama IP número da versão do protocolo IP comprimento do cabeçalho (bytes) “tipo” dos dados (DS) número máximo de enlaces restantes (decrementado a cada roteador) protocolo da camada superior ao qual entregar os dados Quanto overhead com o TCP? r 20 bytes do TCP r 20 bytes do IP r = 40 bytes + overhead cam. aplic. 32 bits comp. tipo de comprimento ver serviço cab início do ident. 16-bits bits fragmento sobre- camada checksum superior vida Internet comprimento total do datagrama (bytes) para fragmentação/ remontagem endereço IP de origem 32 bits endereço IP de destino 32 bits Opções (se tiver) dados (comprimento variável, tipicamente um segmento TCP ou UDP) p.ex. marca de tempo, registrar rota seguida, especificar lista de roteadores a visitar. 4: Camada de Rede 4a-26 Endereçamento IP: introdução endereço IP: ident. de 32-bits para interface de estação, roteador r interface: conexão entre estação, roteador e enlace físico r m m m roteador típico tem múltiplas interfaces estação pode ter múltiplas interfaces endereço IP associado à interface, não à estação ou roteador 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 223.1.3.1 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 4: Camada de Rede 1 4a-27 Subredes r endereço IP: m m r parte de rede (bits de mais alta ordem) parte de estação (bits de mais baixa ordem) O que é uma subrede IP? (da perspectiva do endereço IP) m interfaces de dispositivos com a mesma parte de rede nos seus endereços IP m podem alcançar um ao outro sem passar por um roteador intermediário 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.3.27 223.1.2.2 subrede 223.1.3.1 223.1.3.2 Esta rede consiste de 3 subredes 4: Camada de Rede 4a-28 Subredes 223.1.1.0/24 223.1.2.0/24 Receita r desassociar cada interface do seu roteador, estação r criar “ilhas” de redes isoladas r cada rede isolada é uma sub-rede 223.1.3.0/24 Máscara da sub-rede: /24 4: Camada de Rede 4a-29 Endereçamento IP: CIDR r CIDR: Classless InterDomain Routing (Roteamento Interdomínio sem classes) m m parte de rede do endereço de comprimento arbitrário formato de endereço: a.b.c.d/x, onde x é no. de bits na parte de rede do endereço parte de rede parte de estação 11001000 00010111 00010000 00000000 200.23.16.0/23 4: Camada de Rede 4a-30 Endereços IP: como conseguir um? P: Como o host obtém um endereço IP? codificado pelo administrador num arquivo Windows: Painel de controle->Rede>Configuração>tcp/ip->propriedades UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: obtém endereço dinamicamente de um servidor “plug-and-play” 4: Camada de Rede 4a-31 Tradução de endereços na rede (NAT) resto da Internet rede local (e.x., rede caseira) 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 deixando a rede local têm o mesmo único endereço IP NAT origem: 138.76.29.7, e diferentes números de porta origem Datagramas com origem ou destino nesta rede usam endereços 10.0.0/24 para origem e destino (como usual) 4: Camada de Rede 4a-32 Tradução de endereços na rede (NAT) 2: roteador NAT muda end. origem do datagrama de 10.0.0.1, 3345 p/ 138.76.29.7, 5001, e atualiza tabela 2 Tabela de tradução NAT end. lado WAN end. lado LAN 1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345 …… …… O: 10.0.0.1, 3345 D: 128.119.40.186, 80 O: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 O: 128.119.40.186, 80 D: 138.76.29.7, 5001 3: Resposta chega p/ end. destino: 138.76.29.7, 5001 3 1 10.0.0.4 O: 128.119.40.186, 80 D: 10.0.0.1, 3345 10.0.0.1 10.0.0.2 4 10.0.0.3 4: roteador NAT muda end. destino do datagrama de 138.76.29.7, 5001 p/ 10.0.0.1, 3345 4: Camada de Rede 4a-33 Capítulo 4: Camada de Rede 4. 1 Introdução r 4.2 Redes de circuitos virtuais e de datagramas r 4.3 O que há dentro de um roteador r 4.4 O Protocolo da Internet (IP) r m m m m Formato do datagrama Endereçamento IPv4 ICMP IPv6 r 4.5 Algoritmos de roteamento m m m r 4.6 Roteamento na Internet m m m r Estado de enlace Vetor de distâncias Roteamento hierárquico RIP OSPF BGP 4.7 Roteamento broadcast e multicast 4: Camada de Rede 4a-34