PROTOCOLOS DE ROTEAMENTO
Aula 02: Protocolo IP
PROTOCOLO IP
1
PRÓXIMOS PASSOS DATAGRAMA IPV4;
2
FRAGMENTAÇÃO IP.
3
Camada de rede na internet
• Internet Protocol (IP):
• Formata as PDUs das camadas usuárias em datagramas;
• Faz o roteamento dos datagramas.
• Protocolos de roteamento:
• Descobre as rotas através da inter-rede;
• Exemplos: RIP, OSPF, BGP...
• Internet Control Message Protocol (ICMP):
• Gera mensagens de erro e controle do protocolo IP
• Internet Group Management Protocol (IGMP)
• Address Resolution Protocol (ARP):
• Resolve endereços de inter-rede em intra-rede.
Características do IP(TCP/IP)
pode
Características do protocolo de IP - IP — entrega de melhor esforço
ótica
Pacote IPv4 encapsulamento de IP
Cabeçalho do datagrama
Campo de dados do datagrama
Cabeçalho do quadro
Campo de dados do quadro
Camada de rede
Camada de enlace de dados
• Conceito: Denominação dada à unidade de dados do protocolo de rede IP. Os datagramas são
transportados no campo de dados dos quadros da camada de enlace de dados, em um processo
conhecido como encapsulamento.
Datagrama IP
Todos os campos do cabeçalho são de tamanho fixo, com exceção dos campos OPÇÕES e PADDING
Versão: (4 bits) indica a versão do protocolo IP sendo usada, o que determina o formato do cabeçalho
Ex.: IPv4, IPv6
Datagrama IP
IHL - Internet Header Length :
indica o tamanho do cabeçalho em no. de
palavras de 32 bits, indicando o início do
campo de dados
Tipo de Serviço (TOS): (8 bits) especifica a qualidade do serviço que deve ser prestado pelas redes por onde passar o datagrama:
na teoria, podem ser especificados o Retardo, o Desempenho, a Confiabilidade etc.;
na prática, os roteadores não processam
estes parâmetros, ignorando esse campo.
Datagrama IP – Tipo de serviço
Procedência (3 bits):
indica a procedência do datagrama 0 (procedência normal) a 7 (controle de rede)
Tipo de transporte :
• D (1 bit): solicita um mínimo de atraso na transmissão (intervalo baixo)
• T (1 bit) alta capacidade — throughput
• R (1 bit) mais confiabilidade na transmissão
Comprimento Total (16 bits):
header + dados:
• composto de 16 bits: tamanho máximo do datagrama é 65.535 bytes;
• todos computadores na internet devem
estar preparados para aceitar datagramas
de 576 bytes.
Datagrama IP
Identificação, flags e offset de fragmento:
• Fragmentação
Tempo de vida (8 bits):
indica o tempo máximo que o datagrama pode trafegar na rede:
• este tempo é decrementado em cada
gateway de acordo com o tempo gasto para processá-lo;
• quando o campo atinge valor = 0 seg, o
datagrama é descartado (evita loop infinito).
Datagrama IP
Protocolo (8 bits):
• indica o protocolo do nível superior(especifica
o formato da área de dados).
Checksum (16 bits):
• é utilizado para garantir a integridade dos
dados que constituem o cabeçalho do
datagrama, cabe ao nível de transporte
garantir a integridade dos dados.
Datagrama IP
Endereço Origem e Destino (32 bits):
identificam a fonte e o destino.
Opções:
tamanho variável e não é obrigatório:
• usado para testes e depuração da rede;
• -classe (controle, indicação de erros, medição e testes);
• nr. da opção (identificam as funções
auxiliares).
Datagrama IP
padding:
(tamanho variável) usado para garantir que o
comprimento do cabeçalho do datagrama seja
sempre múltiplo de 32 bits
Datagrama IP
Fragmentação:
Cada tecnologia de rede possui um tamanho de pacote diferente :
• Ethernet: 1500 octetos
• ATM: 53 octetos
• FDDI: 4500 octetos
Os datagramas permanecem fragmentados até o destino final.
identificação flag offset
Campos de Fragmentação
• Identificação (16 bits): contém o número que identifica o datagrama
este campo é copiado nos headers dos fragmentos para permitir que o destinatário saiba a qual
datagrama original os fragmentos pertencem.
Datagrama IP
Campos de Fragmentação
• fragment offset (13 bits):
• indica a posição do fragmento no datagrama original, numerando a partir do 0 (zero);
• um datagrama original de 1400 octetos.
• segmentado em 3 partes:
1) fragment offset = 0;
2) fragment offset = 600;
3) fragment offset = 1200.
identificação flag offset
identificação flag offset
Campos de Fragmentação
• flags (3 bits): cada um com uma função específica
• bit 0 (DF - don’t fragment ): quando setado, significa que o datagrama não pode ser fragmentado;
• bit 1 e 2 (MF - more fragments): setado significa que existem mais fragmentos.
Fragmentação
• Cada fragmento recebe uma cópia do header IP do datagrama original e uma porção de dados
Header IP Dados
Header IP Dados Frag #1
Header IP Dados Frag #1
• No header IP dos fragmentos alteram-se os campos
• Flags, Fragment Offset, Total Length
Header IP Dados
Header IP Dados Frag #1
Header IP Dados Frag #1
Fr ag men tos
Original
ID = xxxx
DF = 0 MF =1 OFSSET = 0 ID = xxxx
DF = 0 MF = 0 OFSSET = 0+Tam FRAG #1
Fragmentação — exemplo
R1 R2
MTU = 3000 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
MTU = 3000 bytes R1 MTU = 1000 bytes
1 Datagrama Origem 3000 bytes
0 fragmentos Retorno ICMP
ID = 12345, DF = 1MF = 0
Offset = 0, len = 3000 ID = 12345, DF = 1 MF = 0 Offset = 0, len = 3000
Datagrama Descartado !!!
ICMP–Destination Unreachable Fragmentation Needed and DF = 1 ICMP–Destination Unreachable
Fragmentation Needed and DF = 1
Recebido pela origem do datagrama Se Offse t == 0 icmp