590 likes | 707 Views
Metas do capítulo: entender os princípios em que se fundamentam os serviços de rede: roteamento (seleção de caminhos) escalabilidade como funciona um roteador tópicos avançados: IPv6, mobilidade instanciação e implementação na Internet. Capítulo 4: Camada de Rede. 4. 1 Introdução
E N D
Metas do capítulo: entender os princípios em que se fundamentam os serviços de rede: roteamento (seleção de caminhos) escalabilidade como funciona um roteador tópicos avançados: IPv6, mobilidade instanciação e implementação na Internet Capítulo 4: Camada de Rede 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
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 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 aplicação transporte rede enlace física aplicação transporte rede enlace física Camada de rede 4: Camada de Rede
Funções principais da camada de rede • encaminhamento: move pacotes de uma entrada do roteador para a saída apropriada • roteamento: determina a rota a ser seguida pelos pacotes da fonte até o destino • Algoritmos de roteamento analogia: • roteamento: processo de planejar uma viagem da origem até o destino • encaminhamento: processo de atravessar uma encruzilhada durante a viagem 4: Camada de Rede
Relacionamento entre roteamento e encaminhamento Algoritmo de roteamento tabela encaminhamento local valor cabeçalho link saída 0100 0101 0111 1001 3 2 2 1 valor no cabeçalho do pacote que está chegando 1 0111 2 3 4: Camada de Rede
Estabelecimento de conexão • 3ª função importante em algumas arquiteturas de rede: • ATM, frame relay, X.25 • Antes dos datagramas fluírem, dois hosts e roteadores intermediários estabelecem uma conexão virtual • Roteadores são envolvidos • Serviço de conexão das camadas de transporte e de rede: • Rede: entre dois hosts • Transporte: entre dois processos 4: Camada de Rede
Q: Qual é o modelo de serviço para o “canal” que transporta pacotes do remetente ao receptor? Exemplos de serviços para fluxos de datagramas: Entrega ordenada Banda mínima garantida para o fluxo Restrições quanto a alterações no espaçamento entre os pacotes Modelo de serviço de rede Exemplos de serviços para datagramas individuais: • Entrega garantida • Entrega garantida com atraso menor que 40 mseg 4: Camada de Rede
Modelos de serviço da camada de rede: Garantias ? Arquiteturade Rede Internet ATM ATM ATM ATM Modelo deserviço melhoresforço CBR VBR ABR UBR Informa s/congestion.? não (inferido via perdas) sem congestion. sem congestion. sim não Perdas não sim sim não não Banda nenhuma taxaconstante taxagarantida mínima garantida nenhuma Ordem não sim sim sim sim Tempo não sim sim não não 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
Serviços da camada de rede com e sem conexão • Rede datagrama provê um serviço de camada de rede não orientado a conexões • Rede CV provê um serviço de camada de rede orientado a conexões • Análogos aos serviços da camada de transporte, mas: • 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
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 “caminho da-origem-ao-destino se comporta como um circuito telefônico” em termos de desempenho em ações da rede ao longo do caminho da-origem-ao-destino Circuitos virtuais 4: Camada de Rede
Implementação de CV Um CV consiste de: • 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 encaminhamento dos roteadores ao longo do caminho • Pacote que pertence a um CV carrega o número do CV • Número do CV deve ser trocado a cada enlace • Novo número do CV vem da tabela de encaminhamento 4: Camada de Rede
Número do CV 22 32 12 3 1 2 número da interface Tabela de encaminhamento Tabela de encaminhamento no roteador noroeste: Interface de entrada # CV de entrada Interface de saída # CV de saída 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Roteadores mantêm informação sobre o estado da conexão! 4: Camada de Rede
usados para estabelecer, manter, destruir CV usados em ATM, frame-relay, X.25 não usados na Internet de hoje aplicação transporte rede enlace física aplicação transporte rede enlace física Circuitos virtuais: protocolos de sinalização 6. dados recebidos 5. começa fluxo de dados 4. conexão completa 3. chamada aceita 1. inicia chamada 2. chegada de chamada 4: Camada de Rede
não requer estabelecimento de chamada na camada de rede roteadores: não guardam estado sobre conexões fim a fim não existe o conceito de “conexão” na camada de rede pacotes são roteados tipicamente usando endereços de destino 2 pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes aplicação transporte rede enlace física aplicação transporte rede enlace física Rede de datagramas: o modelo da Internet 1. envia dados 2. recebe dados 4: Camada de Rede
Tabela de encaminhamento 4 bilhões de entradas possíveis Faixa de Endereços de DestinoInterface de Saída 11001000 00010111 00010000 00000000 a 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 a 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 a 2 11001000 00010111 00011111 11111111 caso contrário 3 4: Camada de Rede
Casamento com o prefixo mais longo Casamento com o prefixoInterface de Saída 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 caso contrário 3 Exemplos Qual interface? ED: 11001000 00010111 00010110 10100001 Qual interface? ED: 11001000 00010111 00011000 10101010 4: Camada de Rede
Internet troca de dados entre computadores serviço “elástico”, sem reqs. temporais estritos sistemas terminais “inteligentes” (computadores) podem se adaptar, exercer controle, recuperar de erros núcleo da rede simples, complexidade na “borda” muitos tipos de enlaces características diferentes serviço uniforme difícil ATM evoluiu da telefonia conversação humana: temporização estrita, requisitos de confiabilidade requer serviço garantido sistemas terminais “burros” telefones complexidade dentro da rede Rede de datagramas ou CVs: por quê? 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
Sumário de Arquitetura de Roteadores Duas funções chave de roteadores: • usam algoritmos/protocolos de roteamento (RIP, OSPF, BGP) • comutam datagramas do enlace de entrada para a saída 4: Camada de Rede
Funções da Porta de Entrada Comutação descentralizada: • 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 Camada física: recepção de bits Camada de enlace: p.ex., Ethernet veja capítulo 5 4: Camada de Rede
Três tipos de matriz de comutação 4: Camada de Rede
Comutação via Memória Roteadores da primeira geração: • pacote copiado pelo processador (único) do sistema • velocidade limitada pela largura de banda da memória (2 travessias do barramento por datagrama) Memória Porta de Entrada Porta deSaída Barramento do Sistema Roteadores modernos: • processador da porta de entrada consulta tabela, copia para a memória • Cisco Catalyst 8500 4: Camada de Rede
Comutação via Barramento • datagrama da memória da porta de entrada à memória da porta de saída via um barramento compartilhado • contenção pelo barramento: taxa de comutação limitada pela largura de banda do barramento • Barramento de 1 Gbps, Cisco 1900: velocidade suficiente para roteadores de acesso e corporativos (mas não regionais ou de backbone) 4: Camada de Rede
Comutação via uma Rede de Interconexão • supera limitações de banda dos barramentos • Redes Banyan, outras redes de interconexão desenvolvidas inicialmente para interligar processadores num multiprocessador • Projeto avançado: fragmentar datagrama em células de tamanho fixo, comutar células através da matriz de comutação. • Cisco 12000: comuta N Gbps pela rede de interconexão. 4: Camada de Rede
Porta de Saída • Buffers necessários quando datagramas chegam da matriz de comutação mais rapidamente que a taxa de transmissão • Disciplina de escalonamento escolhe um dos datagramas enfileirados para transmissão 4: Camada de Rede
Filas na Porta de Saída • usa buffers quando taxa de chegada através do comutador excede taxa de transmissão de saída • enfileiramento (retardo), e perdas devidas ao transbordo do buffer da porta de saída! 4: Camada de Rede
Filas na Porta de Entrada • Se matriz de comutação for mais lenta do que a soma das portas de entrada juntas -> pode haver filas nas portas de entrada • Bloqueio cabeça-de-linha : datagrama na cabeça da fila impede outros na mesma fila de avançarem • retardo de enfileiramento e perdas devido ao transbordo do buffer de entrada! 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
Funções da camada de rede em estações, roteadores: • protocolo ICMP • relata erros • “sinalização” de roteadores • 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 encam. A Camada de Rede na Internet Camada de transporte: TCP, UDP Camada de rede Camada de enlace Camada física 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
Formato do datagrama IP comprimento total do datagrama (bytes) número da versão do protocolo IP 32 bits comprimento do cabeçalho (bytes) tipo de serviço comp.cab ver comprimento para fragmentação/ remontagem início do fragmento “tipo” dos dados (DS) bits ident. 16-bits número máximo de enlaces restantes (decrementado a cada roteador) camada superior sobre-vida checksum Internet endereço IP de origem 32 bits endereço IP de destino 32 bits protocolo da camadasuperior ao qual entregar os dados p.ex. marca de tempo, registrar rota seguida, especificar lista de roteadores a visitar. Opções (se tiver) dados (comprimento variável, tipicamente um segmento TCP ou UDP) Quanto overhead com o TCP? • 20 bytes do TCP • 20 bytes do IP • = 40 bytes + overhead cam. aplic. 4: Camada de Rede
cada enlace de rede tem MTU (max.transmission unit) - maior tamanho possível de quadro neste enlace. tipos diferentes de enlace têm MTUs diferentes datagrama IP muito grande dividido (“fragmentado”) dentro da rede um datagrama vira vários datagramas “remontado” apenas no destino final bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados IP: Fragmentação & Remontagem fragmentação: entrada: um datagrama grande saída: 3 datagramas menores remontagem 4: Camada de Rede
compr =1040 compr =4000 compr =1500 ID =x ID =x ID =x bit_frag =0 bit_frag =0 bit_frag =1 início =185 início =370 início =0 compr =1500 ID =x bit_frag =1 início =0 IP: Fragmentação & Remontagem Exemplo • Datagrama de 4000 bytes • MTU = 1500 bytes um datagrama grande vira vários datagramas menores 1480 bytes de dados início = 1480/8 4: Camada de Rede
4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast Capítulo 4: Camada de Rede 4: Camada de Rede
endereço IP: ident. de 32-bits para interface de estação, roteador interface: conexão entre estação, roteador e enlace físico 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.2 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 Endereçamento IP: introdução 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4: Camada de Rede
endereço IP: 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) interfaces de dispositivos com a mesma parte de rede nos seus endereços IP podem alcançar um ao outro sem passar por um roteador Sub-redes 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 LAN 223.1.3.2 223.1.3.1 Esta rede consiste de 3 redes IP 4: Camada de Rede
Sub-redes 223.1.1.0/24 223.1.2.0/24 Receita • desassociar cada interface do seu roteador, estação • criar “ilhas” de redes isoladas • cada rede isolada é uma sub-rede 223.1.3.0/24 Máscara da sub-rede: /24 4: Camada de Rede
Quantas sub-redes? 223.1.3.27 223.1.3.1 223.1.3.2 Sub-redes 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.7.1 223.1.9.2 223.1.9.1 223.1.7.2 223.1.8.1 223.1.8.2 223.1.2.6 223.1.2.1 223.1.2.2 4: Camada de Rede
Endereçamento IP: CIDR • CIDR:Classless InterDomain Routing • 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 estação parte de rede 11001000 0001011100010000 00000000 200.23.16.0/23 4: Camada de Rede
Endereços IP: como conseguir um? Q: 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” (mais no próximo capítulo) 4: Camada de Rede
Endereços IP: como conseguir um? Q: Como a rede obtém a parte de rede do endereço IP? A: Recebe uma porção do espaço de endereços do seu ISP Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20 provedor Organização 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organização 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organização 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organização 7 11001000 00010111 00011110 00000000 200.23.30.0/23 4: Camada de Rede
200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Endereçamento hierárquico: agregação de rotas Endereçamento hierárquico permite anunciar eficientemente informação sobre rotas: Organização 0 Organização n 1 “mande-me qq coisacom endereços quecomeçam com 200.23.16.0/20” Organização 2 Provedor A Internet Organização 7 “mande-me qq coisa com endereços que começam com 199.31.0.0/16” Provedor B 4: Camada de Rede
200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Endereçamento hierárquico: rotas mais específicas Provedor B tem uma rota mais específica para a Organização 1 Organização 0 “mande-me qq coisacom endereços quecomeçam com 200.23.16.0/20” Organização 2 Provedor A Internet Organização 7 “mande-me qq coisacom endereços quecomeçam com 199.31.0.0/16 ou 200.23.18.0/23” Provedor B Organização 1 4: Camada de Rede
Endereçamento IP: a última palavra... P: Como um provedor IP consegue um bloco de endereços? A: ICANN: Internet Corporation for Assigned Names and Numbers • aloca endereços • gerencia DNS • aloca nomes de domínio, resolve disputas (no Brasil, estas funções foram delegadas ao NIC.br pelo Comitê Gestor Internet BR – www.cg.org.br) 4: Camada de Rede
NAT: Network Address Translation resto da Internet rede local (e.x., rede caseira) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Datagramas com origem ou destino nesta rede usam endereços 10.0.0/24 para origem e destino (como usual) 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 4: Camada de Rede
NAT: Network Address Translation • Motivação: a rede local usa apenas um endereço IP, no que concerne ao mundo exterior: • não há necessidade de alocar faixas de endereços do ISP: • apenas um endereço IP é usado para todos os dispositivos • pode modificar endereços de dispositivos na rede local sem notificar o mundo exterior • pode trocar de ISP sem mudar os endereços dos dispositivos na rede local • dispositivos dentro da rede local não são explicitamente endereçáveis, i.e., visíveis do mundo exterior (um incremento de segurança) 4: Camada de Rede
NAT: Network Address Translation Implementação: um roteador NAT deve: • datagramas saindo:trocar (IP origem, # porta ) de cada datagrama saindo para (IP NAT, novo # porta) . . . clientes/servidores remotos vão responder usando (IP NAT, novo # porta) como endereço destino. • lembrar (na tabela de tradução NAT) cada par de tradução (IP origem, # porta ) para (IP NAT, novo # porta) • datagramas entrando:trocar (IP NAT, novo # porta) nos campos de destino de cada datagrama entrando para o (IP origem, # porta) correspondente armazenado na tabela NAT 4: Camada de Rede
2 4 1 3 O: 138.76.29.7, 5001 D: 128.119.40.186, 80 O: 10.0.0.1, 3345 D: 128.119.40.186, 80 1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80 2: roteador NAT muda end. origem do datagrama de 10.0.0.1, 3345 p/ 138.76.29.7, 5001, e atualiza tabela O: 128.119.40.186, 80 D: 10.0.0.1, 3345 O: 128.119.40.186, 80 D: 138.76.29.7, 5001 NAT: Network Address Translation Tabela de tradução NAT end. lado WAN end. lado LAN 138.76.29.7, 5001 10.0.0.1, 3345 …… …… 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 4: roteador NAT muda end. destino do datagrama de 138.76.29.7, 5001 p/ 10.0.0.1, 3345 3: Resposta chega p/ end. destino: 138.76.29.7, 5001 4: Camada de Rede
NAT: Network Address Translation • campo do número de porta com 16-bits: • 60.000 conexões simultâneas com um único endereço no lado WAN! • NAT é controverso: • roteadores deveriam processar somente até a camada 3 • viola o argumento fim-a-fim • possibilidade do uso de NAT deve ser levado em conta pelos projetistas de aplicações (p.e., P2P) • escassez de endereços, por outro lado, deveria ser resolvida com o IPv6 4: Camada de Rede