I Pv4 2004

532 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
532
No SlideShare
0
A partir de incorporações
0
Número de incorporações
44
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

I Pv4 2004

  1. 1. Protocolo IP Profa. Ana Cristina Benso da Silva Disciplina: Redes de Computadores
  2. 2. Roteiro <ul><li>IPv4 </li></ul><ul><ul><li>Características </li></ul></ul><ul><ul><li>Frame </li></ul></ul><ul><ul><ul><li>Campos do Frame </li></ul></ul></ul><ul><li>Opções IPv4 </li></ul><ul><li>Fragmentação e Remontagem </li></ul>
  3. 3. Características do IP <ul><li>Sistema de entrega fim-a-fim </li></ul><ul><li>É um protocolo </li></ul><ul><ul><li>Não orientados à conexão </li></ul></ul><ul><ul><li>Sem controle de erros e sem reconhecimento </li></ul></ul><ul><ul><li>Isso significa que o protocolo IP não executa: </li></ul></ul><ul><ul><ul><li>Controle de erros sobre os dados da aplicação </li></ul></ul></ul><ul><ul><ul><li>Controle de fluxo </li></ul></ul></ul><ul><ul><ul><li>Sequenciamento de dados </li></ul></ul></ul><ul><ul><ul><li>Entrega ordenada </li></ul></ul></ul>
  4. 4. Características do IP <ul><li>Serviço de entrega: Best-effort </li></ul><ul><ul><li>Os pacotes não são descartados sumariamente, o protocolo torna-se não confiável somente quando há exaustão de recursos </li></ul></ul><ul><li>Datagrama de tamanho variável </li></ul><ul><ul><li>IPv4: tamanho máximo 64 Kbytes </li></ul></ul><ul><li>Provê envio e recebimento </li></ul><ul><ul><li>Erros: ICMP </li></ul></ul>
  5. 5. Frame IP Version HLEN Service Type Total Length Identification Flags Fragment Offset Time to Live (TTL) Protocol Header Checksum Source IP Address Destination IP Address IP Options (if any) Padding 0 4 8 16 19 24 31 Data
  6. 6. Campos IP <ul><li>Version (4 bits) </li></ul><ul><li>HLEN (4 bits) </li></ul><ul><ul><li>Tamanho em no. de palavras de 32 bits </li></ul></ul><ul><ul><li>Header sem opções: 5 (20 bytes) </li></ul></ul><ul><ul><li>Header com opções: tamanho máximo 15 (60 bytes) </li></ul></ul><ul><li>Service Type </li></ul><ul><ul><li>Confiabilidade, precedência, atraso e throughput </li></ul></ul>
  7. 7. Campos do IP <ul><li>Total Length (16 bits) </li></ul><ul><ul><li>tamanho do header + área de dados </li></ul></ul><ul><li>Identification (16 bits) </li></ul><ul><ul><li>Identifica de forma única um pacotes IP </li></ul></ul><ul><li>Flags (3 bits) </li></ul><ul><ul><li>More Fragments (MF) </li></ul></ul><ul><ul><li>Don´t Fragment (DF) </li></ul></ul><ul><ul><li>Reserved </li></ul></ul>
  8. 8. Campos do IP <ul><li>Fragment Offset (13 bits) </li></ul><ul><ul><li>Múltiplo de byte </li></ul></ul><ul><li>Time to Live (8 bits) </li></ul><ul><li>Protocol ( 8 bits) </li></ul><ul><ul><li>Próximo nível a receber dados (protocolo que está encapsulado no frame IP) </li></ul></ul><ul><ul><li>ICMP (1), TCP (6), UDP (17) </li></ul></ul><ul><li>Header Checksum (16 bits) </li></ul><ul><ul><li>Soma dos complementos de 1 de blocos de 16 bits, contendo informações do header do IP </li></ul></ul>
  9. 9. Campos IP <ul><li>Endereço Origem (32 bits) </li></ul><ul><ul><li>Origem dos dados </li></ul></ul><ul><ul><li>Não é alterado ao longo da transmissão </li></ul></ul><ul><li>Endereço Destino (32 bits) </li></ul><ul><ul><li>Destino dos dados </li></ul></ul><ul><ul><li>Não é alterado ao longo da transmissão </li></ul></ul><ul><li>Opções (variável) </li></ul><ul><ul><li>Security, source route, record route, stream id (used for voice) for reserved resources, timestamp recording </li></ul></ul>
  10. 10. Campos do IP <ul><li>Padding (variável) </li></ul><ul><ul><li>Faz com que o header seja múltiplo de 4 </li></ul></ul><ul><li>Data (variável) </li></ul><ul><ul><li>Data + header < 65,535 bytes </li></ul></ul>
  11. 11. Service Type <ul><li>TOS ( Type of Service ) </li></ul><ul><li>Especifica como o Datagrama deve ser tratado </li></ul><ul><li>Divisão Original </li></ul><ul><ul><li>Precedence: importância do datagrama </li></ul></ul><ul><ul><li>D: baixo atraso </li></ul></ul><ul><ul><li>T: alto throughput </li></ul></ul><ul><ul><li>R: alta confiabilidade </li></ul></ul>Precedence D T R Unused 0 3 4 5 6
  12. 12. Service Type <ul><li>Problema </li></ul><ul><ul><li>Difícil para a Internet atender as solicitações de tipo de serviço </li></ul></ul><ul><ul><li>Então passa a ser usado como uma “dica” para algoritmos de roteamento não como uma demanda </li></ul></ul><ul><li>Em 1990 o IETF redefiniu o “ service type ” para acomodar os “ differentiated services ” </li></ul>CODEPOINT Unused 0 6
  13. 13. Service Type – compatibilidade <ul><li>Distinção entre os bits do codepoint </li></ul><ul><li>Se os últimos 3 bits ( codepoint ) contém 0 (zero) </li></ul><ul><ul><li>São definidas 8 classes de serviços que seguem a definição original </li></ul></ul><ul><ul><li>Precedência especial: 6 e 7 </li></ul></ul><ul><ul><ul><li>Roteador deve implementar ao menos 2 esquemas </li></ul></ul></ul><ul><ul><ul><ul><li>Baixa prioridade </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Alto prioridade </li></ul></ul></ul></ul><ul><ul><ul><li>3 bits em 0 e precedência 6 ou 7: alta prioridade </li></ul></ul></ul>
  14. 14. IP Options <ul><li>O campo de opções do protocolo IP é opcional </li></ul><ul><ul><li>Inicia após o endereço do destino </li></ul></ul><ul><ul><li>Pode estender o header do IP até o tamanho máximo de 60 bytes </li></ul></ul><ul><li>Formato do campo de opções </li></ul>0 1 3 COPY OPTION CLASS OPTION NUMBER
  15. 15. IP Options <ul><li>Copy (1 bit) </li></ul><ul><ul><li>Controla como os roteadores tratam as opções durante o processo de fragmentação </li></ul></ul><ul><li>Option Class (2 bits) </li></ul><ul><ul><li>Especifica a classe geral de opções </li></ul></ul><ul><ul><ul><li>Option Class Descrição </li></ul></ul></ul><ul><ul><ul><li>0 Controle da rede ou datagrama </li></ul></ul></ul><ul><ul><ul><li>1 Reservado </li></ul></ul></ul><ul><ul><ul><li>2 Depuração </li></ul></ul></ul><ul><ul><ul><li>3 Reservado </li></ul></ul></ul>
  16. 16. IP Options <ul><li>Option Number (5 bits) </li></ul><ul><ul><li>Especifica uma classe específica dentre da classe geral </li></ul></ul>Option Number Descrição 1 No operation 2 Security 3 Loose Route 7 Recorde Route 8 Stream Identifier 9 Strict Source Route 11 MTU Probe 12 MTU Reply 4 Timestamp 18 Traceroute
  17. 17. Record Route Option <ul><li>Provê uma forma de monitorar como os datagramas são roteados </li></ul><ul><li>Cada roteador que “roteia” o datagrama acrescenta seu endereço IP ao campo de opções </li></ul>copy + option class + option number = CODE (1 byte) CODE LENGTH POINTER FIRST IP ADDRESS SECOND IP ADDRESS ... 0 8 16 24 31
  18. 18. Code e Pointer <ul><li>Code ( 8 bits) </li></ul><ul><ul><li>Representa os campos copy, option class e option number </li></ul></ul><ul><ul><ul><li>Exemplo: </li></ul></ul></ul><ul><ul><ul><li>copy = 0, option class = 0, option number = 7 code = 7 </li></ul></ul></ul><ul><ul><ul><li>copy = 1, option class = 0, option number = 9 code = 137 </li></ul></ul></ul><ul><li>Pointer (8 bits) </li></ul><ul><ul><li>Aponta para próxima área a ser preenchida ou “consultada” </li></ul></ul><ul><ul><li>Deve ser alterada pelo host ou roteador que manipula dados do campo de opções </li></ul></ul>
  19. 19. Source Route Option <ul><li>Source Route </li></ul><ul><ul><li>Strict Source Route: rota exata a ser seguida </li></ul></ul><ul><ul><li>Loose Source Route: deve passar pelo menos por um dos roteadores </li></ul></ul>copy + option class + option number = CODE (1 byte) CODE LENGTH POINTER IP ADDRESS OF FIRST HOPE IP ADDRESS OF SECOND HOPE ... 0 8 16 24 31
  20. 20. Timestamp Option <ul><li>Similar ao Record Route </li></ul><ul><li>Inicialmente contém uma lista vazia de roteadores e tempos </li></ul><ul><li>Cada roteador acrescenta seus dados </li></ul>CODE LENGTH POINTER OFLOW FLAGS FIRST IP ADDRESS FIRST TIMESTAMP ... 0 8 16 24 31 copy + option class + option number = CODE (1 byte)
  21. 21. Timestamp Option <ul><li>Cada entrada na lista contém </li></ul><ul><ul><li>IP address (32 Bits) </li></ul></ul><ul><ul><li>Timestamp (inteiro de 32 bits) </li></ul></ul><ul><li>OFLOW (4 bits) </li></ul><ul><ul><li>Contador do número de roteador que não puderam acrescentar informações </li></ul></ul><ul><li>FLAGS </li></ul><ul><ul><li>Controla o formato exato do campo de timestamp </li></ul></ul>
  22. 22. Timestamp - Flags <ul><li>Os valores possíveis são </li></ul>Valor das Flags Descrição 0 Registre apenas o timestamp, omita o endereço IP 1 Acrescente o endereço IP e após o timestamp 3 Endereços IP são especificados pela origem. O roteador só irá registrar seu timestamp se o próximo IP na lista for o seu.
  23. 23. Fragmentação <ul><li>Cada padrão de rede tem um MTU diferenciado </li></ul><ul><ul><li>Ethernet: 1500 bytes </li></ul></ul><ul><ul><li>ATM: 53 bytes </li></ul></ul><ul><ul><li>FDDI: 4500 bytes </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><li>Datagramas maiores do que a MTU da rede devem ser fragmentados </li></ul>
  24. 24. Fragmentação <ul><li>Cada fragmento recebe uma cópia do header IP do datagrama original e uma porção de dados </li></ul>Header IP Dados Header IP Dados Frag #1 Header IP Dados Frag #1
  25. 25. Fragmentação <ul><li>No header IP dos fragmentos alteram-se os campos </li></ul><ul><ul><li>Flags, Fragment Offset, Total Length </li></ul></ul>Header IP Dados Header IP Dados Frag #1 Header IP Dados Frag #2 ID = xxxx DF = 0 MF = 1 OFSSET = 0 ID = xxxx DF = 0 MF = 0 OFSSET = 0+Tam FRAG #1 Original Fragmentos
  26. 26. Fragmentação - exemplo R1 R2 MTU = 1500 bytes MTU = 1000 bytes MTU = 1500 bytes 1 Datagrama Origem 3000 bytes 3 fragmentos de 1000 bytes 3 fragmentos de 1000 bytes ID = 12345, DF = 0 MF = 0 Offset = 0, len = 3000 ID = 12345, DF = 0 MF = 1 Offset = 0, len = 1000 ID = 12345, DF = 0 MF = 1 Offset = 1000, len = 1000 ID = 12345, DF = 0 MF = 0 Offset = 2000, len = 1000 ID = 12345, DF = 0 MF = 1 Offset = 0, len = 1000 ID = 12345, DF = 0 MF = 1 Offset = 1000, len = 1000 ID = 12345, DF = 0 MF = 0 Offset = 2000, len = 1000
  27. 27. Fragmentação com DF = 1 R1 MTU = 1500 bytes MTU = 1000 bytes 1 Datagrama Origem 3000 bytes 0 fragmentos Retorno ICMP ID = 12345, DF = 1 MF = 0 Offset = 0, len = 3000 ID = 12345, DF = 1 MF = 0 Offset = 0, len = 3000 Datagrama Descartado !!! ICMP – Destination Unreachable Fragmentation Neede and DF = 1 ICMP – Destination Unreachable Fragmentation Neede and DF = 1 Recebido pela origem do datagrama Se Offse t == 0 icmp
  28. 28. Remontagem <ul><li>Fragmentos são remontados somente no destino </li></ul><ul><ul><li>Roteadores intermediários não devem remontar datagramas </li></ul></ul><ul><ul><ul><li>Gasto de memória e processamento </li></ul></ul></ul><ul><ul><ul><li>Comutação de pacotes = fragmentos com rotas diferenciadas </li></ul></ul></ul><ul><li>Tempo máximo para remontagem </li></ul><ul><ul><li>Se faltam fragmentos e o tempo se esgota, os fragmentos são descartados </li></ul></ul><ul><ul><li>Destino envia para origem um ICMP de Time Exceeded </li></ul></ul>
  29. 29. Fragmentação & Remontagem Origem N. 7 N. 4 N. 3 N. 2 N. 1 Destino N. 7 N. 4 N. 3 N. 2 N. 1

×