Redes de Computadores DCC/UFJ Capítulo 4 Camada de Rede Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados pelos autores James F. Kurose e Keith W. Ross All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved Network Layer 4-1
Capítulo 4: Camada de Rede Objetivos: entender os princípios relativos aos serviços providos pela camada de rede: modelos dos serviços da camada de rede repasse versus roteamento como funciona um roteador roteamento (seleção do caminho) escalabilidade IPv6, mobilidade implementação na Internet Network Layer 4-2
Capítulo 4: Camada de Rede 4. 1 Introdução 4.2 Circuito virtual e datagrama 4.3 Roteadores 4.4 IP: Protocolo Internet Formato do Datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de Roteamento Estado de Enlace (Link state) Vetor de Distâncias (Distance Vector) Roteamento hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 Roteamento Broadcast and multicast Network Layer 4-3
Camada de Rede segmento da camada de transporte entre host de origem e destino no lado do transmissor, encapsula os segmentos em datagramas no lado receptor, entrega os segmentos a camada de transporte protocolos da camada de rede em todos os hosts e roteadores Roteador examina os campos do cabeçalho IP em todos os datagramas application transport application transport Network Layer 4-4
Duas funções chaves da camada de rede repasse: move pacotes da entrada do roteador para a saída apropriada roteamento: determina o caminho que os pacotes devem tomar entre a origem e o destino algoritmo de roteamento analogia: roteamento: planejar uma viagem da origem ao destino repasse: uma conexão, por exemplo Network Layer 4-5
Repasse e roteamento routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet s header 0111 1 3 2 Network Layer 4-6
Estabelecimento de conexão Função importante em algumas arquiteturas da camada de redes: ATM, frame relay, X.25 Antes do envio dos datagramas, os hosts e os roteadores envolvidos estabelecem um circuito virtual roteadores envolvidos rede vs transporte (serviço de conexão): rede: entre dois hosts (envolvendo também os roteadores, no caso dos circuitos virtuais) transporte: entre dois processos Network Layer 4-7
Modelos de serviço de rede Q: Qual o modelo de serviço para um canal transportando datagramas? Exemplos de serviços para datagramas individuais: garantia de entrega garantia de entrega com um atraso menor que 40 msec Exemplos de serviços para um fluxo de datagramas: entrega em ordem Garantia de banda mínima jitter máximo garantido Network Layer 4-8
Modelos de serviço da camada de rede: Network Architecture Service Model Bandwidth Guarantees? Loss Order Timing Congestion feedback Internet ATM ATM ATM ATM best effort CBR VBR ABR UBR none constant rate guaranteed rate guaranteed minimum none no yes yes no no no yes yes yes yes no yes yes no no no (inferred via loss) no congestion no congestion yes no Network Layer 4-9
Capítulo 4: Camada de Rede 4. 1 Introdução 4.2 Circuito virtual e datagrama 4.3 Roteadores 4.4 IP: Protocolo Internet Formato do Datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de Roteamento Estado de Enlace (Link state) Vetor de Distâncias (Distance Vector) Roteamento hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 Roteamento Broadcast and multicast Network Layer 4-10
Serviços com conexão e sem conexão na camada de rede redes de datagrama provêm serviços sem conexão redes de circuitos virtuais provêm serviços com conexão semelhantes os serviços da camada de transporte, mas: transporte: sistema final-sistema final rede: núcleo de rede Network Layer 4-11
Circuitos Virtuais Caminho entre a origem e destino se comporta como um circuito de telefone desempenho ações da rede ao longo do caminho entre origem-destino estabelecimento de chamada cada pacote carrega um identificador de Circuito Virtual (não o endereço final) Todos os roteadores entre origem-destino mantêm o estado para cada uma das conexões recursos de enlace e roteador (largura de banda, buffers) devem ser alocados para o circuito virtual( recursos dedicados = serviços previsível) Network Layer 4-12
Implementação do Circuito Virtual um circuito virtual consiste de: 1. caminho entre a origem e o destino 2. números de circuitos virtuais, um número para cada enlace ao longo do caminho 3. entradas nas tabelas de repasse nos roteadores ao longo do caminho Pacote que pertence ao CV carrega o número de CV (não o endereço de destino) Número de VC pode mudar em cada enlace. Novo número de CV é definido a partir da tabela de repasse Network Layer 4-13
Tabela de Repasse VC number 12 1 2 3 22 32 Tabela de repasse no primeiro roteador interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 Roteadores devem manter informações do estado da conexão! Network Layer 4-14
Circuitos virtuais: protocolos de sinalização Usado para o estabelecimento e manutenção do CV Usado em ATM, frame-relay, X.25 Não é usado na Internet application transport 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call 1. Initiate call 2. incoming call application transport Network Layer 4-15
Redes de Datagramas não existe estabelecimento de conexão na camada de rede roteadores: não guardam o estado de conexão fim-a-fim Não existe o conceito de conexão na camada de rede Pacotes são repassados usando o endereço destino pacotes trocados entre a mesma origem e o mesmo podem seguir por caminhos diferentes application transport 1. Send data 2. Receive data application transport Network Layer 4-16
Tabela de Repasse 4 billion possible entries Destination Address Range Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 2 11001000 00010111 00011111 11111111 otherwise 3 Network Layer 4-17
Regra da concordância do prefixo mais longo Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3 Examples DA: 11001000 00010111 00010110 10100001 Which interface? DA: 11001000 00010111 00011000 10101010 Which interface? Network Layer 4-18
Datagrama ou circuito virtual: por quê? Internet (datagrama) dados trocados entre computadores serviços elásticos, sem requerimento de tempo sistemas finais inteligentes podem adaptar e implementar controle e recuperação de erro simplicidade no núcleo de rede, complexidade nas bordas muitos tipos de enlaces características diferentes Dificuldade de prover serviço uniforme ATM (CV) baseada na telefonia Sistemas finais simples complexidade no núcleo de rede Network Layer 4-19
Capítulo 4: Camada de Rede 4. 1 Introdução 4.2 Circuito virtual e datagrama 4.3 Roteadores 4.4 IP: Protocolo Internet Formato do Datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de Roteamento Estado de Enlace (Link state) Vetor de Distâncias (Distance Vector) Roteamento hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 Roteamento Broadcast and multicast Network Layer 4-20
Arquitetura do Roteador Duas funções chaves: executar algoritmos de roteamento/protocolos (RIP, OSPF, BGP) repasse de datagramas do enlace de entrada para o de saída Network Layer 4-21
Funções da Porta de Entrada Physical layer: bit-level reception Data link layer: e.g., Ethernet see chapter 5 Comutação descentralizada: dado um datagrama, procure a porta de saída usando a tabela de repasse da memória da porta de entrada objetivo: completar o processamento na porta de entrada com a velocidade da linha enfileiramento: se datagramas chegam mais rapidamente do que a taxa de repasse da comutação Network Layer 4-22
Três tipos de comutadores Network Layer 4-23
Comutação usando memória Primeira geração de roteadores: computadores tradicionais com a comutação entre portas feita sob o controle direto da CPU pacote copiado na memória do sistema Velocidade limitada pela largura de banda da memória Input Port Memory Output Port System Bus Network Layer 4-24
Comutação via barramento Datagrama é transmitido da memória da porta de entrada para a memória da porta de saída via barramento compartilhado contenção de barramento: velocidade de comutação limitada pela largura de banda do barramento barramento de32 Gbps, Cisco 5600: velocidade suficiente para acesso e roteadores de empresas Network Layer 4-25
Comutação via rede interconexão supera limitações da largura de banda do barramento redes do tipo Banyan, outros tipos de redes de interconexão desenvolvidas inicialemente para conectar processadores em sistemas multiprocessados design avançado: fragmenta os datagramas em células de tamanho fixo, comutando-as através do roteador Cisco 12000: comuta 60 Gbps através da rede de interconexão Network Layer 4-26
Portas de Saída Buffering acontece quando a chegada de datagramas é mais rápida do que a taxa de transmissão do enlace de saída Disciplina de Escalonamento escolhe uma das filas para transmissão Network Layer 4-27
Enfileiramento na Porta de Saída Enfileiramento ocorre quando a taxa de chegada via o comutador é maior que a taxa de transmissão do enlace Enfileiramento e perda em razão de overflow do bufer de saída! Network Layer 4-28
Enfileiramento na porta de entrada Elemento de comutação é mais lento do que a chegada nas portas de entrada-> enfileiramento pode ocorrer nas filas de entrada Head-of-the-Line (HOL) blocking: datagrama na primeira posição de umas das filas pode impedir que outros datagramas sejam encaminhados Atraso de enfileiramento e perdas em consequência do overflow do buffer de entrada! Network Layer 4-29