Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro
Ementa Introdução a Redes de Computadores A Camada Aplicação A Camada Transporte A Camada Rede A Camada Enlace A Camada Física
Camada rede Protocolos de rede Fornecem comunicação entre hospedeiros diferentes Serviços Encaminhamento Roteamento Endereçamento Comunicação de erros e de informações
Encaminhamento x roteamento Encaminhamento Envolve a transferência de um pacote de um enlace de entrada para um enlace de saída dentro de um roteador Roteamento Envolve todos os roteadores de uma rede, cujas interações por meio de protocolos de roteamento determinam as rotas que os pacotes devem seguir Tabela de roteamento Indica para qual enlace de saída o pacote deve ser encaminhado Kurose chama de tabela de repasse
Algoritmos e de tabelas de roteamento (fonte: Kurose)
Camada rede Modelos de serviço de rede Entrega garantida Entrega garantida com atraso limitado Entrega ordenada de pacotes Largura de banda mínima garantida Variação máxima do atraso garantida
Camada rede Modelos de serviço de rede (fonte: Kurose)
Circuitos virtuais x datagramas Camada rede pode oferecer serviços orientados ou não a conexão Circuito virtual Orientado a conexão Datagrama Não orientado a conexão
Circuitos virtuais Circuito virtual consiste em Caminho entre a origem e o destino Números de CVs Um número para cada enlace ao longo do caminho Registros na tabela de roteamento em cada roteador ao longo do caminho
Rede de circuito virtual (fonte: Kurose) Tabela de roteamento no roteador R1: Interface de entrada VC # de entrada Interface de saída VC # de saída 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87
Circuitos virtuais Roteadores devem manter informações de estado das conexões em curso Três fases Estabelecimento de CV Pode haver reserva de recursos Transferência de dados Fechamento de CV
Circuitos virtuais Estabelecimento e transferência de dados (fonte: Kurose)
Datagramas Usam endereços de destino para rotearem os pacotes
Tabela de roteamento - 1/2 (fonte: Kurose) 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
Tabela de roteamento - 2/2 (fonte: Kurose) Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3 Exemplos DA: 11001000 00010111 00010110 10100001 Qual interface? DA: 11001000 00010111 00011000 10101010 Qual interface?
Datagramas Roteadores usam a regra da concordância do prefixo mais longo
Interconexão de redes Vários tipos diferentes de redes
Interconexão de redes Conjunto de redes interconectadas (fonte: Tanenbaum)
Interconexão de redes Diferenças entre redes (fonte: Tanenbaum)
Interconexão de redes Necessidade de comunicação global Interconexão pode ser feita na camada rede através dos roteadores Protocolo IP tem como objetivo a interligação de redes
IP Protocolo da Internet (Internet Protocol) Definido na RFC 791 Serviços Detecção de erros no cabeçalho Fragmentação/remontagem Endereçamento Encaminhamento (apresentado posteriormente)
Formato do datagrama IPv4 (adaptado de Tanenbaum) Data
IP - formato do datagrama Versão (4 bits) Comprimento do cabeçalho - IHL (4 bits) Tamanho em palavras de 32 bits Tipo de serviço - ToS (6 bits) Comprimento do datagrama (16 bits) Tamanho máximo de 65535 octetos Identificador (16 bits) Todos os fragmentos de um datagrama possuem um mesmo identificador
IP - formato do datagrama Flags (2 bits) DF - não fragmentar MF - mais fragmentos Último fragmento tem o bit igual a 0 Deslocamento de fragmentação (13 bits) Informa (em múltiplos de 8 octetos) a que ponto do datagrama o fragmento pertence Fragmentos (exceto o último) têm de ser múltiplos de 8 octetos Existem no máximo 8192 fragmentos por datagrama
IP - formato do datagrama Tempo de vida - TTL (8 bits) Para garantir que datagramas não fiquem circulando indefinidamente pela rede Decrementado de uma unidade a cada roteador Quando chega a 0, o datagrama é descartado e é enviada uma mensagem à origem Protocolo (8 bits) Indica o protocolo da camada transporte Soma de verificação do cabeçalho (16 bits) Análoga à utilizada no TCP e no UDP Deve ser recalculada a cada roteador TTL muda
IP - formato do datagrama Endereço de origem (32 bits) Endereço de destino (32 bits) Opções Permitem que o cabeçalho IP seja ampliado Ex.: Enchimento (cabeçalho é múltiplo de 32 bits) Fonte: Tanenbaum
IP - formato do datagrama Dados Podem carregar dados do transporte ou outros tipos de dados, como mensagens ICMP
IP - fragmentação/remontagem MTU do enlace estabelece um limite máximo para o datagrama IP Fragmentação MTU do enlace de saída é menor que o tamanho do datagrama IP Se DF=0 e tamanho do fragmento é maior que a MTU do enlace de saída roteador envia pacote ICMP A fragmentação pode ocorrer em diferentes pontos da rede para um mesmo pacote original Remontagem é feita nos sistemas finais
Fragmentação/remontagem no IP (fonte: Kurose)
Fragmentação/remontagem no IP (adaptada de Kurose) Exemplo datagrama de 4000 bytes MTU = 1500 bytes tamanho =4000 ID =x fragflag =0 offset =0 Um grande datagrama se torna vários datagramas menores 1480 bytes no campo de dados offset = 1480/8 tamanho =1500 tamanho =1500 tamanho =1040 ID =x ID =x ID =x fragflag =1 fragflag =1 fragflag =0 offset =0 offset =185 offset =370