Parte 3: Camada de Rede Objetivos: Visão Geral: Entender os princípios dos serviços da Camada de Rede: Roteamento (seleção de caminho). Implementação na Internet. Serviços da Camada de Rede. Princípios de roteamento: seleção de caminho. Roteamento estático. Camada de Rede -1 Funções da Camada de Rede Transporte de datagramas originados e destinados a host s. Protocolos da Camada de Rede em cada host e router. Duas funções importantes: application transport Determinação do caminho: Fazer a rota por datagramas a partir da origem para o destino: Routing algorithms. Comutação: move datagramas da interface de entrada para a interface de saída apropriada. application transport Camada de Rede -2
Arquitetura da Camada de Rede Host ou router. Transport layer: TCP, UDP Network layer Routing protocols path selection RIP, IGRP, OSPF routing table IP protocol Convenções para end. Formato do datagrama. Manipulação de datagramas. ICMP protocol Mensagens de controle. Link layer layer STD 5 (IP e ICMP) - RFCs 791, 950, 919 e 922, com atualizações na RFC 1349. Camada de Rede -3 Modelos de Serviços de Rede A camada de rede movimenta segmentos da camada de transporte de um host até outro. O principal papel dos roteadores é comutar datagramas que trafegam em links de entrada para links de saída. Exceto para propósitos de controle, reoteadores não executam protocolos de transporte e de aplicações. Determinação do caminho. Comutação. Call Setup (ATM e Frame Relay). Funções Importantes! Camada de Rede -4
Redes de Datagrama: O modelo Internet. Sem call setup na Camada de Rede. Roteadores: não sabem o status das conexões finais. Sem o conceito de connection no nível de rede. Datagramas tipicamente roteados usando destination net ID. Datagramas entre o mesmo source-dest par poderão utilizar diferentes caminhos. application transport 1. Send data 2. Receive data application transport Camada de Rede -5 Formato do Datagrama IP Número da Versão do IP. Header bytes. type of data. Max number remaining hops (decrementado em cada router). Identificação do Protocolo da Camada Superior(*). Formado por um cabeçalho IP e dados relevantes para os Protocolos superiores. 32 bits ver head. type of len service fragment 16-bit identifier flgs offset time to Internet live Protocol checksum 32 bit source IP address 32 bit destination IP address Options (if any) data (variable, typically a TCP or UDP segment) Tamanho total do Datagrama (bytes) max 65.535. Para fragmentation/ Reassembly. Ex.: timestamp, record route taken, specify list of routers to visit. http://www.protocols.com/pbook/tcpip.htm#ip (*) http://www.iana.org/assignments/protocol-numbers Camada de Rede -6
IP Fragmentação & Remontagem Links da rede possuem MTU (max.transfer size): Diferentes tipos de link, diferentes MTUs. Datagramas IP grandes são divididos ( fragmented ) dentro da rede: Um datagrama transforma-se em diversos outros datagramas. A remontagem reassembled é efetuada somente no destino final. Bits do cabeçalho IP são usados para identificar e ordenar os fragmentos. reassembly fragmentation: in: one large datagram out: 3 smaller datagrams Camada de Rede -7 IP Fragmentation and Reassembly =4000 ID =x fragflag =0 offset =0 One large datagram becomes several smaller datagrams =1500 ID =x fragflag =1 offset =0 =1500 =1040 ID =x ID =x fragflag =1 offset =1480 fragflag offset =0 =2960 Camada de Rede -8
O que é Roteamento? É o ato de mover informações em uma determinada inter a partir de uma origem para um destino, passando (tipicamente por pelo menos um nó intermediário. Alcançou popularidade comercial somente em meados dos anos 80. Host O POP-PL Host D POP-PA Host Q POP-RG Algoritmos de roteamento determinam o melhor caminho, utilizando um padrão métrico, inicializando e mantendo tabelas de roteamento, atualizadas mediante a troca de mensagens. Camada de Rede -9 Visão geral da arquitetura de um Router Um router possui duas funções chaves: Executa algoritmos de roteamento/protocol (estático, RIP, IGRP, OSPF, ). Faz a comutação de datagramas de links de entrada para links de saída. Camada de Rede -10
Componentes do Roteamento Os algoritmos de roteamento são relativamente simples e basicamente os mesmos para a maioria dos protocolos de roteamento. Host A Host B POP-PL POP-RG Host A precisa enviar um datagrama para o Host B: o Host A envia datagrama para o Default Gateway (Router). o O DG examina o endereço do destinatário para determinar o próximo salto e iniciar a transmissão. o O Próximo salto poderá, de fato, ser o Host destinatário. Caso contrário, normalmente o próximo salto será outro roteador, que executará o mesmo processo de decisão de comutação. Camada de Rede -11 Tabela de Roteamento Banco de dados utilizado pelo IP na comutação de datagramas. Na tabela de roteamento podem ser encontrados três tipos de mapeamento: o o o 1. As rotas diretas para as redes conectadas localmente. 2. As rotas indiretas, para as redes que são atingidas via uma ou mais gateways. 3. A rota padrão, que contém a rota (direta ou indireta) a ser usada quando a rede de destino IP não for encontrada nos mapeamentos do tipo 1 e 2. POP-PA POP-PL POP-BG Site PORTO POP-RG Camada de Rede -12
O Algoritmo de Roteamento IP Algoritmo Geral O IP usa um algoritmo único para rotear um datagrama, o qual possui a seguinte forma: endereço IP da rede de destino = meu endereço IP de rede? sim Enviar datagrama IP na rede local. Host A não Enviar datagrama IP para a gateway correspondente ao endereço IP da rede de destino. Host B Host A IP: POP-PL POP-RG Host B IP: Camada de Rede -13 O Algoritmo de Roteamento IP Fluxograma para o algoritmo de roteamento IP. Obtém endereço IP de destino. Compara o endereço da rede/ sub-rede. Há uma correspondência? NÃO SIM Entrega diretamente usando a interface local correspondente. Há uma rota de entrada indireta? NÃO SIM Entrega indiretamente ao endereço IP do roteador correspondente. A rota padrão é especificada? NÃO SIM Entrega diretamente para o endereço IP do roteador padrão. Envia mensagem de erro ICMP "rede inatíngivel". Camada de Rede -14
ICMP: Internet Control Message Protocol Usado por hosts e routers para a comunicação de informações do nível de rede: Relatório de erro: host inalcansável, rede, porta, Echo request/reply (usado pelo utilitário ping). Camada de rede acima do IP: Mensagens ICMP são carregadas em datagramas IP. CASES: - Utilitário ping. - Obtendo máscara de sub-rede para estações sem disco. RFCs 792 e 950 pertencem ao STD 5. Type: 0 40 Code: 0-15 Type Code description 0 0 Resposta de eco (ping) 3 0 dest. unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 Requisição de eco (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header 13 17 0 request mask of subnet 18 0 response mask of subnet Camada de Rede -15