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