Escolar Documentos
Profissional Documentos
Cultura Documentos
Tcpip v2 Sessao 6
Tcpip v2 Sessao 6
Protocolos TCP/IP
Sesso n6
Jorge Gomes
jorge@lip.pt
MTU
Os frames do nvel de ligao possuem um tamanho mximo para a
quantidade de informao til que podem transportar.
No caso de uma rede Ethernet a carga til de um frame pode ser 1492
ou 1500 bytes dependendo do tipo de encapsulamento.
Pode ser maior com Jumbo frames
Pode ser mais pequeno se tivermos de transportar informao sobre
VLANs
Ethernet
IEEE 802.3/802.2
loopback
PPP (baixo atraso)
1500
1492
16436
296
MTU
Quando duas maquinas ligadas mesma rede local comunicam
entre si o MTU relevante o MTU da rede local.
No entanto quando duas maquinas ligadas a redes diferentes
comunicam entre si os datagramas IP podem ter de atravessar
varias redes com MTUs diferentes.
Neste ultimo caso o MTU relevante o MTU mais pequeno de entre
todos os MTUs das varias redes que o datagrama atravessar.
Uma vez que o encaminhamento de trfego numa rede IP
dinmico o MTU de uma ligao tambm pode variar no tempo.
MTU
O MTU tem impacto directo no desempenho:
da rede switches / routers etc
dos hosts
MTU
Em algumas circunstncias os MTUs pequenos podem ser
recomendveis por reduzirem a latncia.
Numa linha srie RS232 a 9600bits/s um MTU baixo pode melhorar
a resposta interactiva.
9600bits/s com 8 bits por byte mais 1 start bit e 1 stop bit = 960bytes/s
Se no mesmo link estiver a ser usado por uma aplicao interactiva e
por uma aplicao de transferncia de ficheiros (FTP) que transmite
grandes pacotes de dados (1024 bytes por pacote).
Ento temos de esperar cerca de 533ms em media antes de podermos
enviar um pequeno pacote da aplicao interactiva.
Estudos efectuados mostram que respostas superiores a 100-200ms
so mal toleradas pelos humanos.
Uma reduo do MTU da linha para 256 bytes reduz o tempo mximo
de espera para 266ms e o tempo mdio para 133ms.
O valor de MTU apresentado para o PPP 296bytes = 256 data + 40
headers.
Protocolo IP
(Nvel de rede)
IP
O IP (RFC 791) o protocolo de rede do TCP/IP.
O IP usado por protocolos como o TCP,UDP, ICMP e IGMP entre
outros
O IP fornece um servio no garantido:
No garante a chegada dos datagramas ao destino.
No garante a sequencia de chegada.
O cabealho IP
O tamanho mnimo de um cabealho IP 20 bytes (5 * 32bits).
O cabealho pode ter mais de 20 bytes se forem usadas opes.
O tamanho mximo do cabealho 60 bytes (15 * 32bits).
O cabealho est dividido em palavras de 32 bits.
Cada palavra de 32 bits transferida em formato big endian.
Ordem de transmisso bits 0-7, 8-15, 16-23, 24-31.
O cabealho IP
Os campos do cabealho IP so:
Verso: a verso de IP mais usada a verso 4 (existe a 6).
Tamanho: tamanho do cabealho em palavras de 32 bits.
Tipo de servio (TOS):
3 bits de precedncia: indicam a importncia do datagrama.
4 bits TOS: tipo de servio, cada um dos 4 bits define um tipo de
servio. S um dos 4 bits pode estar activo.
Minimizar os atrasos.
Maximizar debito de transferncia.
Maximizar fiabilidade.
Minimizar o custo monetrio.
1 bit no usado.
O cabealho IP
O cabealho IP
verso
(4)
tamanho
(4)
Tipo de servio
(8)
identificao
(16)
tempo de vida
(8)
protocolo
(8)
offset do fragmento
(13)
checksum do cabealho
(16)
endereo IP de origem
(32)
endereo IP de destino
(32)
opes
dados
Precedncia e TOS
Originalmente o campo de 8 bits de TOS eram
divididos em:
3 bits de precedncia
4 bits de tipo de servio (TOS)
1 bit reservado
Precedncia
(3)
0
Tipo de servio
(4)
3
Reservado
(1)
7
Precedncia
3 bits de precedncia:
Usados para definir a politica de queueing
No afecta a escolha da rota apenas a prioritizao
Os valores de precedncia so geralmente ignorados pois
podem ser usados indevidamente
111
110
101
100
010
001
000
Network control
Internetwork control
CRITIC-ECP
Flash override
Immediate
Priority
Routine
TOS
O campo de tipo de servio (ToS) usado como indicao para os
routers e hosts para tratamento diferenciado na escolha da rota
Requer configurao explicita dos equipamentos caso contrario
ignorado
Num dado pacote apenas um bit pode estar activo
Tipos de servio originais usados por algumas aplicaes
Aplicao
telnet
rlogin
FTP
control
data
TFTP
SMTP
comando
data
SNMP
NNTP
BGP
Minimizao
de atrasos
Bit 3
Maximizar
Transferncia
Bit 4
Maximizar
Fiabilidade
Bit 5
Minimizar
Custos
Bit 6
Valor
Hex
1
1
0
0
0
0
0
0
0x10
0x10
1
0
1
0
1
0
0
0
0
0
0
0
0x10
0x08
0x10
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0x10
0x08
0x04
0x02
0x04
Diff Serv
No final dos anos 90 o IETF redefiniu o bits de tipo de servio.
O novo esquema designa-se por servios diferenciados:
Differentiated Services Code Point (DSCP).
Codepoint
6 bits
No Usado
2 bits
Atribudo por
Interpretaes pr-definidas pelo IETF
Para uso local ou testes
Para uso local ou testes (por enquanto)
Class
0 controlo (maioria das opes)
2 debug e medies (internet timestamp)
Number
Identifica a opo
Opes IP
Number:
0: fim da lista de opes, no tem campo data
1: No operation, no tem campo data
usado p/ alinhamento a 32 bits
2: Security, 11 bytes de data
classificao de segurana (DoD, agencias de segurana)
3: Loose source routing (desaconselhado)
4: Internet timestamp
7: Record route
8: Stream ID, 4 bytes de data (obsoleto)
9: Strict source routing (desaconselhado)
18: enhanced traceroute (RFC 1393)
Option length:
Tamanho do campo options data em octetos
Subnets
Um endereo IP possui duas componentes endereo
de rede e endereo de sistema (host).
possvel partir a componente de sistema em:
Endereo de sub-rede (subnet).
Endereo de sistema (host).
Subnets
254 Hosts
24 bits
8 bits
Net 193.137.55
24 bits
Net 193.137.55
16 SubNets
4 bits
24 bits
4 bits
64 SubNets
24 bits
Net 193.137.55
14 Hosts
2 Hosts
6 bits
4 SN
2 bits
2 bits
62 Hosts
6 bits
Subnets
Exemplo com uma rede /24 (antiga classe C).
Subnet de 3 bits d 8 subnets
Net 193.137.55
24 bits
8 SN
3 bits
30 Hosts
5 bits
Endereo IP(2)
Endereo IP(10)
00000000
00100000
01000000
01100000
10000000
10100000
11000000
11100000
0
32
64
96
128
160
192
224
193.137.55.0
193.137.55.32
193.137.55.64
193.137.55.96
193.137.55.128
193.137.55.160
193.137.55.192
193.137.55.224
Subnets
Net 193.137.55
8 SN
24 bits
3 bits
30 Hosts
5 bits
Router
Internet
Router
193.137.55.160
10100000(2)
Router
193.137.55.16
00100000(2)
Router
193.137.55.128
10000000(2)
Router
193.137.55.64
01000000(2)
193.137.55.96
01100000(2)
Subnets e mascaras
Para configurar uma interface IP necessrio saber:
o endereo IP atribudo interface.
quantos bits so usados para definir a rede e subnet caso exista.
Para definir o numero de bits usados para definir a rede + subnet usase uma mascara de 32 bits em que os bits de rede so representados
por 1 e os bits de host por 0 (zero).
Para o exemplo anterior a representao ser:
24 bits de rede + 3 bits de subnet + 5 bits de host
27 bits para definir a componente de rede + 5 bits para a componente
hosts
11111111 11111111 11111111 11100000(2)
0xffffffe0
255.255.255.224
x.x.x.x /27
Subnets e mascaras
Com base no endereo IP da interface e sua mascara um host
pode terminar se um datagrama se destina:
a um host na mesma rede IP
a um host noutra rede IP (o datagrama ter de ser enviado para um
router)
ou se o datagrama um broadcast
8 SN
24 bits
3 bits
30 Hosts
5 bits
Mascara
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 111 1
27 bits
0 0
0 0
5 bits
Subnets
Continuando o exemplo de subnets numa rede /24
Usando os 3 primeiros bits do host para definir subnets
Endereo IP(2)
Endereo IP(10)
Mascara(2)
Mascara(10)
00000000
00100000
01000000
01100000
10000000
10100000
11000000
11100000
0
32
64
96
128
160
192
224
11100000
11100000
11100000
11100000
11100000
11100000
11100000
11100000
224
224
224
224
224
224
224
224
Subnets
Exemplo com uma rede /24 (antiga classe C).
Subnet de 3 bits d 8 subnets
Net 193.137.55
24 bits
8 SN
3 bits
30 Hosts
5 bits
Mascara (10)
193.137.55.0 /27
193.137.55.32 /27
193.137.55.64 /27
193.137.55.96 /27
193.137.55.128 /27
193.137.55.160 /27
193.137.55.192 /27
193.137.55.224 /27
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
Endereos IP especiais
Na tabela seguinte:
0 significa um campo com todos os bits a zero.
1 significa um campo com todos os bits a um.
netid, hostid significam um valor que no todo 0 ou todo 1.
Endereo IP
Net
0
0
127
1
netid
netid
netid
Subnet
Host
origem
destino
subnetid
1
0
hostid
qualquer
1
1
1
1
OK
OK
OK
nunca
nunca
nunca
nunca
nunca
nunca
OK
OK
OK
OK
OK
Descrio
Endereos IP especiais
Exemplos:
0.0.0.0
255.255.255.255
0.0.0.7/24
193.136.97.255/24
127.0.0.1/8
Endereo IP
Net
0
0
127
1
netid
netid
netid
Subnet
Host
origem
destino
subnetid
1
0
hostid
qualquer
1
1
1
1
OK
OK
OK
nunca
nunca
nunca
nunca
nunca
nunca
OK
OK
OK
OK
OK
Descrio
Subnet Zero
A primeira subnet tem todos os digitos binarios a 0
designada por subnet zero
ip subnet-zero
Subnet All-Ones
A ltima subnet tem todos os digitos binarios a 1
por vezes designada por subnet All-Ones
Subnets variveis
O RFC1009 permite que uma rede dividida em subnets
possa usar mascaras de diferentes tamanhos.
O RFC sobre novos requisitos de routing veio tornar
o suporte de subnets de tamanho varivel um
requisito.
O uso de mascaras de tamanho varivel permite uma
gesto mais eficiente do espao de endereamento.
O maior problema com as subnets de tamanho varivel
a falta de suporte em alguns protocolos de routing
para o envio das mascaras de subnet juntamente com
os endereos das subnets.
Os protocolos de routing mais recentes no possuem
este problema.
Subnets variveis
Exemplo de subnets de tamanho varivel usando uma
rede /24 :
Endereo IP(2)
00000000
00100000
01000000
01000000
01001000
01010000
01011000
01100000
10000000
10100000
10100000
10110000
11000000
11100000
Endereo IP(10)
0
32
64
64
72
80
88
96
128
160
160
176
192
224
Mascara(2)
11100000
11100000
11100000
11111000
11111000
11111000
11111000
11100000
11100000
11100000
11110000
11110000
11100000
11100000
Mascara(10)
224
224
224
248
248
248
248
224
224
224
240
240
224
224
Encaminhamento IP
ou routing IP
(Nvel de rede)
Encaminhamento IP
O encaminhamento efectuado pelo nvel IP.
Todos os sistemas com IP fazem encaminhamento
Encaminhamento IP
Encaminhamento de datagramas IP quando se trata da
comunicao entre sistemas na mesma rede IP:
Envio directo
IP orig: A dest: B
MAC orig: A dest: B
R1
IP orig: A dest: B
MAC orig: A dest: R1
R2
IP orig: A dest: B
MAC orig: R2 dest: B
Encaminhamento IP
A maior parte dos sistemas existentes podem ser
configurados para funcionarem eles mesmo como routers.
A diferena entre um sistema normal (host) e um router:
ao contrario de um host um router reenvia datagramas entre as suas
interfaces.
Encaminhamento IP
Nvel de transporte
(TCP, UDP etc.)
Sim
Endereo IP de destino
um endereo de
multicast ou broadcast,
ou endereo de uma
interface local ?
No
No
O sistema
um router
Datagrama
eliminado
Sim
IP
Nvel de ligao
(driver de rede)
Rede
Funo
IP de sada
Consulta da
tabela de
encaminhamento
Tabela de encaminhamento
Uma tabela de encaminhamento IP contm:
Endereo IP de destino: pode ser um endereo de um host, ou
o endereo de uma rede.
Um endereo de rede possui a poro do endereo reservada para o host
a zero.
Tabela de encaminhamento
Exemplo de tabela de routing:
Destination
10.0.0.0
Gateway
0.0.0.0
Genmask
255.0.0.0
Flags
U
Iface
eth0
Tabela de encaminhamento
O encaminhamento IP efectua as seguintes operaes:
1. Procura na tabela de encaminhamento uma linha que corresponda
completamente ao endereo IP de destino.
Tabela de encaminhamento
Quando uma interface inicializada uma rota directa
automaticamente adicionada:
Para redes partilhadas (Ethernet) a rota para a rede IP.
Para uma ligao ponto a ponto a rota para o host no outro
extremo da ligao.
Tabela de encaminhamento
O endereo, mascara e broadcast da interface eth0 :
inet addr:10.1.1.101
Bcast:10.255.255.255
Mask:255.0.0.0
Destination
10.0.0.0
Gateway
0.0.0.0
Genmask
255.0.0.0
Flags
U
Iface
eth0
Default route
A default route a rota usada:
Quando no existe nenhuma outra rota mais apropriada para chegar ao
destino pretendido.
Ou seja quando a comparao do endereo IP de destino com cada uma das
outras rotas existentes na tabela de routing falha.
Flags de routing
Existem 5 flags que podem aparecer em tabelas de
routing:
U a rota est UP.
H a rota aponta para uma maquina. Se esta flag no estiver
presente a rota aponta para uma rede.
G a rota indirecta atravs de um router. Se esta flag no
estiver presente a rede ou maquina de destino esto numa
rede directamente ligada a uma interface da maquina local.
D a rota foi criada por uma mensagem de ICMP redirect.
M a rota foi modificada por uma mensagem de ICMP redirect.
Flags de routing
A flag G distingue uma rota directa de uma rota
indirecta:
Rota directa: a maquina de destino encontra-se numa rede
directamente ligada maquina local:
Tratando-se de uma rede partilhada o endereo MAC de destino a usar no
envio do frame ser o endereo MAC da maquina de destino.
O endereo MAC ter de ser obtido por ARP a partir do endereo IP.
Gateway
0.0.0.0
0.0.0.0
0.0.0.0
193.136.90.254
Genmask
255.255.255.255
255.255.255.0
255.0.0.0
0.0.0.0
Flags
UH
U
U
UG
MSS
0
0
0
0
Window
0
0
0
0
irtt
0
0
0
0
Iface
eth0
eth0
lo
eth0
Destino 193.136.90.67
Destino 193.136.90.0
Gateway
0.0.0.0
0.0.0.0
0.0.0.0
193.136.90.254
Genmask
255.255.255.255
255.255.255.0
255.0.0.0
0.0.0.0
Flags
UH
U
U
UG
MSS
0
0
0
0
Window
0
0
0
0
irtt
0
0
0
0
Iface
eth0
eth0
lo
eth0
Destino 127.0.0.0
Destino 0.0.0.0
Tabela de encaminhamento
Para o destino 172.30.1.0 mascara 255.255.255.0
# netstat -rn
Kernel IP routing table
Destination
Gateway
172.30.1.0
0.0.0.0
0.0.0.0
172.30.1.254
Genmask
255.255.255.0
0.0.0.0
Flags
U
UG
MSS Window
0 0
0 0
irtt Iface
0 eth1
0 eth1
Tabela de encaminhamento
Para o destino 193.136.75.0 mascara 255.255.255.0
A gateway o router 10.193.1.254 (flag G)
A interface para chegar ao router a eth0
Gateway
10.193.1.254
0.0.0.0
10.193.1.254
10.193.1.253
Genmask
255.255.255.0
255.255.0.0
255.0.0.0
0.0.0.0
Flags
UG
U
UG
UG
MSS
0
0
0
0
Window
0
0
0
0
irtt
0
0
0
0
Iface
eth0
eth0
eth0
eth0
Tabela de encaminhamento
Destination
10.193.1.2
193.136.75.240
10.193.0.0
0.0.0.0
Gateway
0.0.0.0
0.0.0.0
0.0.0.0
193.136.75.254
Genmask
255.255.255.255
255.255.255.240
255.255.0.0
0.0.0.0
Flags
UH
U
U
UG
MSS
0
0
0
0
Window
0
0
0
0
irtt
0
0
0
0
Iface
tun0
eth2
eth3
eth2
Tabela de encaminhamento
Em verses mais actuais do Linux a rede 127.0.0.0 no
aparece nas tabelas de routing
A rede 127.0.0.0 tratada como local e por isso no
precisa de aparecer nas tabelas
As redes de scope local no aparecem nas tabelas de
routing
# /sbin/ip addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:23:7d:db:ca:42 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.101/8 brd 10.255.255.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:23:7d:db:ca:43 brd ff:ff:ff:ff:ff:ff
Tabela de encaminhamento
O comando ip tambm pode ser usado para listar e
manipular as tabelas de routing
scope link
src 10.1.1.101
Tabela de encaminhamento
*S
C
C
S
Destination
----------0.0.0.0/0
10.0.0.0/8
172.16.1.0/24
192.168.75.0/24
Gateway
------via 172.16.1.1, Vl 31
Direct, Vl 10
Direct, Vl 31
via 172.16.1.75, Vl 31
Encaminhamento
Exemplos para RedHat Linux:
As rotas para as redes locais so criadas automaticamente
quando a interface de rede configurada
A configurao da interface de rede pode ser vista em:
/etc/sysconfig/network-scripts/ifcfg-eth0
Se a interface de rede for a eth3 ento ser ifcfg-eth3
IPADDR=10.78.45.1
NETMASK=255.255.0.0
NETWORK=10.78.0.0
/etc/sysconfig/network-scripts/route-eth0
GATEWAY0=10.78.0.100
ADDRESS0=193.136.31.0
NETMASK0=255.255.255.0
Encaminhamento
Para criar rotas tambm se pode usar o comando /sbin/route
As rotas criadas desta forma desaparecem com reboot
Exemplos:
/sbin/route add net 0.0.0.0 netmask 0.0.0.0 gw 193.136.73.4 dev eth0
Encaminhamento
Adicionar rotas estticas num router com IOS (CISCO) ou similar
Exemplos:
ip route 0.0.0.0 0.0.0.0 193.135.9.5
ip route 10.78.0.0 255.255.0.0 186.65.12.46
ip route 10.50.23.0 255.255.255.0 187.158.35.92
ip route 10.50.24.0 255.255.255.0 Null0
show ip route
show ip route static
show ip route connected
Fragmentao IP
O nvel de ligao impe um limite mximo no tamanho dos
frames. Este limite corresponde ao MTU do IP:
Quando o IP necessita de enviar um datagrama, primeiro obtm o
MTU da interface por onde o datagrama vai ser transmitido.
O tamanho de cada datagrama comparado ao MTU da interface.
Se um datagrama for superior ao MTU ento tem de ser fragmentado
antes de ser transmitido.
Fragmentao IP
Os campos do cabealho IP que so usados na fragmentao
so:
Identificao: identifica cada datagrama logo tem de ser copiada
para cada fragmento de um mesmo datagrama.
Flags:
Bit 0: no usado
Bit 1: bit dont fragment usado para indicar que um datagrama nunca
deve ser fragmentado. Se este bit estiver activo e o recurso
fragmentao for necessrio o datagrama deitado fora e uma mensagem
de erro enviada para a origem.
Bit 2: more fragments bit usado num fragmento para indicar que se
seguem mais fragmentos. O ultimo fragmento tem este bit a zero.
Fragmentao IP
Se um fragmento for perdido todo o datagrama do qual faz parte
ter de ser transmitido novamente.
No existe qualquer possibilidade de retransmitir um fragmento
perdido.
A fragmentao aumenta probabilidade de todo um pacote ter de
ser retransmitido
A fragmentao pode levar a ocupao da rede por fragmentos
que tm de voltar a ser todos retransmitidos caso um nico se
perca
Fragmentao IP
Quando um primeiro fragmento de um datagrama recebido
lanado um temporizador durante o qual o sistema espera pela
chegada dos restantes fragmentos.
Este temporizador dura entre 30 e 60 segundos por fragmento.
Se no chegarem todos os fragmentos ento os fragmentos que
chegaram so deitados fora.
Se os fragmentos tiverem de ser deitados fora ento:
Se o primeiro fragmento do datagrama j tiver chegado, uma
mensagem de erro (ICMP time exceeded) enviada para a maquina
de origem do datagrama.
A mensagem de erro inclui os primeiros 8 bytes de dados do
datagrama.
Se o primeiro fragmento ainda no tiver chegado, ento nenhuma
mensagem de erro enviada porque no existem disponveis os
primeiros bytes de dados do datagrama.
Fragmentao IP
Um datagrama pode ser fragmentado por qualquer
router ao longo do caminho:
O host de origem nunca chega a saber da fragmentao
Se um fragmento se perde todo o datagrama tem de ser
repetido
Pssimo em redes congestionadas
Fragmentao IP
Path MTU discovery:
RFC 1191 de 1990 mas com adopo pratica a partir de 2002
Os datagramas IP so enviados com o bit de dont fragment 1
Se a fragmentao for necessria o router:
Ter de deitar fora o fragmento
Gerar mensagem de erro ICMP do tipo: Fragmentation needed but dont
fragment bit is set
A mensagem ICMP contm o MTU mximo permitido
Como funciona:
Envia-se o maior datagrama possivel
Se receber uma mensagem de erro ICMP
Reenviar o datagrama mas usando como tamanho
o valor de MTU contido na mensagem ICMP recebida
Protocolo ARP
(Nvel de ligao)
ARP
Os endereos IP s fazem sentido para o nvel de rede
do TCP/IP
Os protocolos de ligao usados em redes partilhadas como a
Ethernet, etc usam os seus prprios endereos de hardware
MAC address
A resoluo de endereos
Efectua o mapeamento entre endereos IP e os endereos de
hardware usados no nvel de ligao.
Tipo
hard
(2)
Tipo
proto
(2)
endereo
Origem
(6)
tipo
0x0806
(2)
Compr.
hard
(1)
Compr.
proto
(1)
DADOS
trailer
CRC
(4)
(46-1500)
Oper
(2)
Endereo
hard origem
(6)
Endereo
proto origem
(4)
Endereo
hard destino
(4)
Endereo
proto destino
(6)
Funcionamento do ARP
Funcionamento do ARP
Funcionamento do ARP
Quero falar com
193.145.9.2
193.145.9.1
193.145.9.2
193.145.9.3
00:BB:D1:A3:F0:01
00:AA:C1:FE:B7:FE
00:CD:D1:00:1C:AB
Broadcast ARP-request
Enviado para o broadcast Ethernet
Sou o 193.145.9.1
Tenho o MAC 00:BB:D1:A3:F0:01
Pergunto quem tem o 193.145.9.2 ?
Unicast ARP-reply
Para 00:BB:D1:A3:F0:01 IP 193.145.9.1
Eu sou o 193.145.9.2
E o meu MAC 00:AA:C1:FE:B7:FE
Funcionamento do ARP
A existncia da cache ARP fundamental ao bom
desempenho do protocolo.
As entradas da cache expiram alguns minutos aps a
sua criao.
O TTL das entradas depende do sistema
Num host tipicamente 20 minutos
$ /sbin/arp -a
monica.lip.pt
stlip02.lip.pt
ns01.lip.pt
nbjorge.lip.pt
swlip01-lan.lip.pt
lnlip01.lip.pt
(10.1.1.50)
(10.1.160.2)
(10.226.1.1)
(10.31.1.1)
(10.0.0.254)
(10.1.1.101)
Proxy ARP
O Proxy ARP permite que um router responda a pedidos ARP
provenientes de uma rede em beneficio de um sistema ligado a
outra rede.
Este comportamento leva o sistema que efectua o pedido a
considerar o router como sendo o detentor do endereo IP.
Todos os datagramas IP so assim enviados para o router que os
encaminha para o verdadeiro destino.
193.137.55.20
255.255.255.0
193.137.55.19
255.255.255.0
193.137.55.18
255.255.255.0
Host
Proxy ARP
On behalf of the PPP hosts
PPP
Host
Host
Router
ARP
Reply
193.137.55.17
255.255.255.0
193.137.55.0
255.255.255.0
host
ARP
Req
Broadcast
193.137.55.78
255.255.255.0
ARP Gratuito
Um ARP gratuito o envio de um pedido ARP por um
sistema para traduo o seu prprio endereo IP.
Um ARP gratuito possui o endereo de protocolo de
origem igual ao endereo de protocolo de destino.
As vantagens do ARP gratuito so:
Pode ser usado durante o boot de um sistema para determinar
se algum outro sistema possui o mesmo endereo IP.
Permite actualizar o endereo de hardware nas caches dos
vrios sistemas caso o endereo de hardware seja alterado:
Porque a placa de rede foi substituda.
Porque um servidor de backup com o mesmo endereo IP tomou o
lugar do servidor principal aps uma falha deste.
ARP Linux
O comando ARP pode ser usado para criar entradas
estticas de ARP
[root@lnsys01 jorge]# arp -s 10.0.0.112 00:22:19:21:fe:e8
[root@lnsys01 jorge]# arp a
swlip01-lan.lip.pt (10.0.0.254) at 00:01:e8:56:08:3d [ether] on eth0
? (10.0.0.112) at 00:22:19:21:fe:e8 [ether] PERM on eth0
monica.lip.pt (10.1.1.50) at 00:11:d8:5c:75:b9 [ether] on eth0
Protocolo RARP
(Nvel de ligao)
RARP
Os endereos IP das interfaces so normalmente obtidos a
partir de ficheiros de configurao locais.
Em alguns sistemas como terminais X, impressoras ou
estaes de trabalho sem disco, o endereo IP obtido a
partir da rede como base no endereo de hardware.
Cada interface de rede possui um endereo de hardware
nico atribudo pelo fabricante.
O RARP (RFC 903) envia um broadcast para a rede com o
endereo de hardware da interface, um servidor de RARP
responde directamente com o endereo IP correspondente.
O formato de um pacote RARP idntico ao ARP, com a
diferena do frame type que no caso do RARP 0x8035. O
campo de operao 3 para um pedido e 4 para uma
resposta.
RARP
A implementao de um cliente RARP bastante simples,
mas a implementao de um servidor RARP bastante mais
complicada.
Um servidor RARP precisa de manter uma lista de endereos IP e
endereos de hardware correspondentes.
Como os kernels no podem ler ficheiros directamente a
funcionalidade de um servidor RARP tem de ser implementada como
um processo.
O RARP usa um tipo especifico de frame no nvel de ligao o que
implica que seja capaz de receber e enviar frames deste tipo.
Logo as implementaes de servidores RARP encontram-se bastante
ligadas a sistemas operativos especficos.
Protocolo ICMP
(Nvel de rede)
ICMP
O ICMP (RFC 950) usado para transmitir mensagens de erro.
As mensagens de erro ICMP so produzidas pelas camadas IP,
TCP ou UDP.
As mensagens ICMP so transmitidas dentro de datagramas IP.
Como o ICMP encapsulado em datagramas IP tem as mesmas
propriedades:
No oferece garantias de que chegue um datagrama chegue ao
destino.
connectionless ou seja no mantida qualquer informao de
estado sobre datagramas sucessivos. Cada datagrama tratado
independentemente.
Datagrama IP
Cabealho
IP
(20)
Mensagem
ICMP
Formato de mensagem
ICMP
tipo
(8)
cdigo
(8)
checksum
(16)
ICMP
Para evitar broadcast storms as mensagens de erro
ICMP nunca so produzidas nas seguintes condies:
Em resposta a outra mensagem de erro ICMP.
Em resposta a um datagrama destinado a um endereo de
broadcast ou multicast IP.
Em resposta a um datagrama enviado como broadcast do nvel
de ligao.
Em resposta a um fragmento que no seja o primeiro.
Em resposta um datagrama cujo endereo de origem no
defina um sistema especifico.
Cdigo
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Descrio
Resposta de eco (usado pelo Ping)
Destino no alcanvel
Rede no alcanvel
Sistema no alcanvel
Protocolo no alcanvel
Porta no alcanvel
Fragmentao necessria mas bit DF activo
Falha de source routing
Rede de destino desconhecida
Sistema de destino desconhecido
Sistema de origem isolado (obsoleto)
Rede de destino proibida administrativamente
Sistema de destino proibido administrativamente
Rede no alcanvel para o TOS especificado
Sistema no alcanvel para o TOS especificado
Comunicao administrativamente proibida
Precedncia de sistema violada
Cutoff de precedncia em efeito
Query
Erro
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Cdigo
Descrio
0
1
2
3
Redireco
Redireco para rede
Redireco para sistema
Redireco para tipo de servio e rede
Redireco para tipo de servio e sistema
x
x
x
x
9
10
0
0
Anuncio de router
Pedido de router
x
x
0
1
Tempo excedido
Tempo de vida igual a zero durante transito
Tempo de vida igual a zero na reassemblagem
x
x
0
1
Problema de parmetros
Cabealho IP errado
Opo necessria no est presente
x
x
11
12
Query
Erro
Cdigo
Descrio
Query
13
14
0
0
x
x
15
16
0
0
x
x
17
18
0
0
Pedido de mascara
Resposta de mascara
x
x
Erro
Para o IPv6
Para mobilidade
Para traceroute experimental com IP options
Para aplicao experimental em protocolos de segurana AH
e ESP para autenticidade e encriptao
etc
Pedido de mascara e
resposta
Tipo 17 ou 18
(8)
Cdigo 0
(8)
Identificador
(16)
checksum
(16)
Numero de sequncia
(16)
Mascara de rede
(32)
Cdigo 0
(8)
Identificador
(16)
checksum
(16)
Numero de sequncia
(16)
Destino no alcanvel
Tipo 3
(8)
Cdigo 0-15
(8)
Identificador
(16)
checksum
(16)
Numero de sequncia
(16)
Ping
O Ping um programa que serve para determinar se outro
sistema est acessvel na rede IP.
Usualmente se um sistema no for capaz de responder a um
Ping tambm no ser capaz de responder a protocolos de
nvel mais alto:
Esta afirmao pode no ser verdade para sistemas protegidos por
firewalls.
A resposta a pedidos de echo ICMP pode estar inibida
Existem tambm alguns sistemas que carregam dinamicamente o
suporte para TCP/IP (antigo MacOS).
Eco ICMP
Tipo 0 ou 8
(8)
Cdigo 0
(8)
Identificador
(16)
checksum
(16)
Numero de sequncia
(16)
Dados opcionais
Ping
O Ping pode ser usado de varias formas:
Para testar se um sistema est alcanvel enviando um nico
pedido de eco.
Para testar a conectividade medindo a perda de pacotes e o
RTT enviando pedidos de eco segundo a segundo.
Para testar a conectividade medindo a perda de pacotes e o
RTT mnimo, mximo e mdio enviando novos pedidos de eco
logo que as respostas aos anteriores chegam.
Verificar o MTU gerando pacotes de diferentes tamanhos
Compr.
39
(1)
Ptr
4 - 40
(1)
Ender
IP 1
(4)
Ender
IP 2
(4)
Ender
IP 3
(4)
...............
Ender
IP 9
(4)
Compr.
36 - 40
(1)
Ptr
4 - 40
(1)
OF FL
(1)
Tempo
1
(4)
Tempo
2
(4)
Tempo
3
(4)
. . . . . . . . . . . .. .
Tempo
9
(4)
Traceroute
O comando traceroute uma ferramenta de debugging para
redes IP que permite ver qual a rota que o trfego segue entre
dois sistemas.
O traceroute no usa a opo IP de registo de rota.
O comando traceroute funciona:
Enviando datagramas UDP para o host de destino usando uma porta
UDP de destino potencialmente livre ( > 30000).
O que faz gerar um ICMP porta no alcanvel quando chega ao
destino.
Traceroute
O traceroute permite tambm obter o RTT entre o sistema de
origem e cada router intermedirio at ao sistema de destino,
atravs da cronometragem do envio de cada datagrama UDP at
recepo da mensagem de erro ICMP correspondente.
Ateno:
Como o routing IP dinmico no existe nenhuma garantia que todos
os datagramas usados num traceroute sigam o mesmo percurso.
O percurso que as mensagens ICMP seguem pode ser diferente do
percurso dos datagramas UDP (routing assimtrico).
Por estas razes no se pode tirar concluses sobre o tempo de
demora a alcanar um determinado router, porque no sabemos o
tempo de cada um dos trajectos mas sim o somatrio da ida e volta.
Para se determinar o caminho no sentido contrario preciso:
pedir a algum que esteja do outro lado para efectuar um traceroute no
sentido inverso.
Usar loose source routing
Traceroute
$ traceroute www.google.com
traceroute to www.google.com (74.125.77.147), 30 hops max, 60 byte packets
1 swlip01-lan.lip.pt (10.0.0.254) 0.522 ms 0.613 ms 0.702 ms
2 gtlip-routers.lip.pt (172.16.1.1) 2.352 ms 2.385 ms 2.412 ms
3 193.137.1.233 (193.137.1.233) 3.960 ms 3.998 ms 4.035 ms
4 ROUTER4.10GE.Lisboa.fccn.pt (193.137.0.20) 4.077 ms 4.115 ms 4.153 ms
5 fccn.rt1.mad.es.geant2.net (62.40.124.97) 13.460 ms 13.617 ms 13.716 ms
6 so-7-2-0.rt1.gen.ch.geant2.net (62.40.112.25) 36.140 ms 35.973 ms 36.536 ms
7 so-3-3-0.rt1.fra.de.geant2.net (62.40.112.70) 44.363 ms 42.977 ms 43.082 ms
8 TenGigabitEthernet7-3.ar1.FRA4.gblx.net (207.138.144.45) 43.478 ms 42.763 ms 42.832 ms
9 67.16.133.34 (67.16.133.34) 43.892 ms 44.030 ms 44.167 ms
10 google-1.ar4.fra3.gblx.net (64.208.110.14) 43.931 ms 43.483 ms 43.617 ms
11 209.85.255.172 (209.85.255.172) 51.503 ms 50.539 ms 209.85.255.170 (209.85.255.170) 55.306 ms
12 72.14.232.208 (72.14.232.208) 72.901 ms 209.85.248.182 (209.85.248.182) 74.347 ms 75.180 ms
13 64.233.175.246 (64.233.175.246) 83.199 ms 78.545 ms 78.182 ms
14 209.85.255.143 (209.85.255.143) 78.961 ms 72.14.239.197 (72.14.239.197) 79.665 ms 79.587 ms
15 209.85.255.110 (209.85.255.110) 79.509 ms 209.85.255.106 (209.85.255.106) 79.238 ms 79.644 ms
16 ew-in-f147.1e100.net (74.125.77.147) 80.580 ms 81.603 ms 81.060 ms
mtr
Compr.
39
(1)
Ptr
4 - 40
(1)
Ende
r IP 1
(4)
Ende
rIP 2
(4)
Ende
r IP 3
(4)
...............
Ende
r IP 9
(4)
Traceroute
Anteriormente foi dito que para verificar o trajecto no
sentido inverso se podia usar loose source routing
juntamente com o traceroute.
O truque consiste em usar o endereo do host remoto
a partir do qual pretendemos efectuar o traceroute
como um endereo da lista de loose routers e o
endereo da maquina de origem como destino final.
1
2
3
Origem
R1
R2
Destino
Fragmentao requerida
Tipo 3
Cdigo 4
checksum
(8)
(8)
(16)
Campo no usado (zero)
MTU da interface causadora
(16)
(16)
Cabealho IP incluindo opes
do datagrama IP que originou a mensagem ICMP
mais os primeiros 8 bytes de dados do datagrama IP
MTU de um trajecto
Existe um mtodo de ajuste dinmico do MTU (RFC 1191)
que permite enviar datagramas com um tamanho mximo
que no ultrapasse o MTU de um trajecto:
O mtodo consiste em enviar datagramas com o bit de dont
fragment activo.
O primeiro datagrama possui uma tamanho igual ao MTU da interface
da maquina de origem.
Se o datagrama ultrapassar o MTU de alguma interface ao longo do
trajecto ento uma mensagem de erro de fragmentao requerida
recebida.
Se mensagens de erro forem recebidas o tamanho dos datagramas
diminudo para o MTU especificado na mensagem de erro.
Caso o campo MTU da mensagem de erro esteja a zero o tamanho do
datagrama diminudo de acordo com uma tabela.
O MTU recalculado para cada trajecto de 10 em 10 minutos.
Cdigo 0
(8)
checksum
(16)
Redireco ICMP
Uma mensagem de redireco ICMP enviada por um router para
o endereo IP de origem de um datagrama, quando o datagrama
deveria ter sido enviado para outro router.
Por exemplo:
Uma maquina envia um datagrama para o default router.
O default router verifica a sua tabela de routing e determina
que o datagrama dever ser encaminhado para outro router.
Se o default router determina que a interface que deve usar
para enviar o datagrama para o outro router a mesma
interface pela qual o datagrama foi recebido ento:
O datagrama encaminhado para o router.
Uma mensagem de ICMP redirect enviada para o endereo IP da
maquina de origem indicando que futuros datagramas devem ser
enviados directamente para o outro router. Esta mensagem d
origem adio de uma nova rota na maquina de origem.
Redireco ICMP
A
Router X
Router Y
Encaminhamento IP
Nvel de transporte
(TCP, UDP etc.)
ICMP
Comando
netstat
ou route
Sim
Endereo IP de destino
um endereo de
No
multicast ou broadcast,
?
ou endereo de uma
interface local ?
Funo
IP de sada
determinar
prximo
router
Tabela de
encaminhamento
Processamento
de opes IP
Nvel de ligao
(driver de rede)
Rede
Processos
de routing
Comandos
de routing
Redireco ICMP
Tipo 5
(8)
Cdigo 0-3
(8)
checksum
(16)
Solicitao de router
Tipo 10
(8)
Cdigo 0
(8)
checksum
(16)
Anuncio de router
Tipo 9
(8)
N de endereos
(8)
Cdigo 0
(8)
Tama. de endereo
(8)
checksum
(16)
Tempo de vida em segundos
(16)
Endereo IP do router
(32)
Nvel de preferncia
(32)
Protocolo UDP
(Nvel de transporte)
Protocolo UDP
O UDP um protocolo de transporte simples que no oferece
garantia de chegada ao destino e sequncia de chegada dos seus
datagramas.
Em UDP cada operao de output de um programa gera
exactamente um nico datagrama UDP.
Os programas que utilizam UDP devem preocupar-se com o
tamanho dos datagramas IP que so gerados a partir dos
datagramas UDP de forma a no ultrapassar o MTU.
Encapsulamento UDP
Cabealho
IP
(20)
Cabealho
UDP
(8)
DADOS
UDP
Protocolo UDP
Qual ento o tamanho mximo de dados que pode ser
enviado num datagrama UDP:
Teoricamente o tamanho maximo de datagrama IP 65535
bytes
Retirando o header IP (20 bytes) e o header UDP (8 bytes)
sobram 65507 bytes para dados
Se o datagrama IP for superior ao MTU vai ocorrer
fragmentao (deve-se evitar a fragmentao !!!)
Na prtica:
O tamanho mximo de buffer UDP limita frequentemente a recepo dos
segmentos. O tamanho mximo dos pacotes NFS so frequentemente o
limite (8192 bytes em NFSv2, 32KB ou 54KB em verses mais recentes).
Deve-se ser muito cuidado com o tamanho dos datagramas especialmente
em ligaes WAN onde o MTU pode ser mais pequeno que na LAN.
Muitas aplicaes limitam os dados UDP a 512 bytes ou menos para ficarem
dentro do tamanho de datagrama IP garantido 576 bytes
Protocolo UDP
Porta de origem
(16)
Porta de destino
(16)
Tamanho
(16)
Checksum UDP
(16)
Dados
Protocolo UDP
O facto de o protocolo IP e UDP poderem suportar datagramas de
um determinado tamanho no quer dizer que todas as aplicaes
suportem esse tamanho.
Os APIs UDP permitem s aplicaes definir qual o tamanho
mximo de datagrama que desejam receber.
Quando um datagrama superior ao mximo que uma aplicao
deseja receber o resultado depende da implementao do API.
BSD: o datagrama truncado e o excesso deitado fora. As verses
mais recentes permitem notificar a aplicao da ocorrncia da
truncagem (Linux).
SVR4 socket API: No trunca o datagrama e o excesso retornado
em chamadas subsequentes. A aplicao no notificada.
TLI API: No trunca o datagrama e o excesso retornado em
chamadas subsequentes. Uma flag indica ao programa que deve
efectuar mais reads para obter o resto do datagrama.
Servidores UDP
Para receber ou transmitir datagramas UDP um programa tem de
se associar (efectuar o bind) a uma ou mais portas UDP.
Em sistemas com mltiplos endereos IP possvel especificar num programa
qual o endereo utilizar para receber datagramas
Usualmente um programa quando efectua o bind este feito sobre todos os
endereos IP do sistema.
Servidores UDP
Normalmente um programa servidor pode receber
datagramas UDP de qualquer endereo IP.
possvel definir qual o endereo IP remoto e porta
UDP remota dos quais um programa aceita receber
datagramas UDP.
Resumindo:
Local
Remoto
IP.porta
IP.porta
IP.porta
*.*
*.porta
*.*
Servidores UDP
Processos UDP:
$ netstat --udp -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
udp
0
0
*:syslog
*:*
udp
0
0
*:snmp
*:*
udp
0
0
*:sunrpc
*:*
udp
0
0
*:ipp
*:*
udp
0
0
*:ntp
*:*
Servidores UDP
Restrio de acesso:
Proto Recv-Q Send-Q Local Address
udp
0
0
127.0.0.1:ntp
Foreign Address
*:*
Foreign Address
197.44.67.51:*
Foreign Address
197.44.67.51:123
TFTP
(Trivial File Transfer
Protocol)
TFTP
O TFTP frequentemente usado para transferir o
sistema operativo e ficheiros de configurao
Ex. durante o boot de dispositivos de rede.
TFTP
Mensagem TFTP
Header
IP
(20)
Opcodes
1 - Leitura
2 - Escrita
3 - dados
4 - ACK
5 - Erro
Header
UDP
(8)
opcode
1 ou 2
(2)
Nome do ficheiro
(n)
opcode
3
(2)
Numero
de bloco
(2)
opcode
4
(2)
Numero
de bloco
(2)
opcode
5
(2)
Numero
de erro
(2)
Zero
0
(1)
modo
(n)
Dados
(0-512)
Mensagem
de erro
(n)
Zero
0
(1)
Zero
0
(1)
TFTP
Cada transferncia entre cliente e servidor comea com o cliente
enviando um pedido de leitura ou escrita de um ficheiro.
Na maior parte dos casos a transferncia uma leitura.
Os primeiros dois bytes de uma mensagem tftp possuem um
cdigo de operao que indica tambm qual o restante formato
da mensagem.
Para uma leitura ou escrita segue-se o nome do ficheiro
terminado por um byte contendo zero.
Segue-se o modo de codificao dos dados que consiste numa
sequencia de caracteres terminando num byte contendo zero. As
duas possibilidades so:
octet : sequencia binria sem interpretao.
netascii : sequencia de linhas de texto ASCII terminadas por CRLF.
TFTP
O protocolo funciona em modo start-and-wait
o transmissor envia um pacote de dados e espera pela
confirmao de chegada (ACK) desse pacote antes de enviar
o prximo.
TFTP
De modo a poder lidar com vrios clientes simultaneamente o
protocolo TFTP prev que:
O primeiro datagrama UDP contendo o pedido de leitura ou escrita
seja enviado pelo cliente para a porta UDP 69 do servidor.
O servidor aloca para esta ligao uma porta efmera e responde ao
cliente usando a porta efmera em vez da porta 69.
O cliente detecta que o servidor mudou de porta e est a usar uma
porta efmera, a partir deste momento o cliente passa a enviar os
datagramas para o servidor nesta nova porta UDP.
Cliente
Servidor
51357
69
51357
1039
51357
1039
51357
1039
BOOTP
(Bootstrap Protocol)
BOOTP
Tal como RARP o BOOTP permite que um sistema que no
conhea o seu endereo IP, o possa obter atravs da rede.
O BOOTP possui vantagens sobre o RARP:
Permite obter informao adicional para alm do endereo IP.
Como funciona sobre UDP pode atravessar varias redes fsicas, o
RARP no encaminhado por routers e por isso precisa de um
servidor em cada rede fsica.
Header
IP
(20)
Header
UDP
(8)
BOOTP
Opcode
(8)
Tipo de Hardware
Comp.end. hardw
Contador de salto
(8)
(8)
(8)
Identificador de transaco
(32)
Numero de segundos
No usado
(16)
(16)
Endereo IP do cliente
(32)
Endereo IP resposta
(32)
Endereo IP do servidor
(32)
Endereo IP do router
(32)
Endereo de hardware do cliente
(16bytes)
Nome do servidor
(64bytes)
Nome do ficheiro de boot
(128bytes)
Outra informao
(64bytes)
BOOTP
Os campos de uma mensagem BOOTP so:
Opcode: Tipo de mensagem (1 pedido, 2 resposta).
Tipo de hardware: Tipo de rede local (1 ethernet).
Comp.end. Hardw: Comprimento do endereo de hardware (6 para ethernet).
Contador de salto: Inicializado a zero pode ser usado por um proxy.
Identificador de transaco: inicializado pelo cliente e retornado pelo
servidor.
Numero de segundos: inicializado pelo cliente quando inicializa o processo
de boot. Pode ser usado por um servidor secundrio para que responda aps
um determinado intervalo de tempo em que no haja resposta do servidor
primrio.
Endereo IP do cliente: Se o cliente conhecer o seu endereo preenche-o caso
contrario inicializa-o a zero.
Endereo IP reposta: Preenchido pelo servidor com o endereo IP do cliente
quando o campo Endereo IP do cliente chega com valor zero.
Endereo IP do servidor: Endereo do servidor que responde.
Endereo IP do router: Se um proxy for usado deve preencher este campo com
o seu endereo.
Endereo de hardware do cliente: Preenchido pelo cliente.
BOOTP
Os campos de uma mensagem BOOTP so (continuao):
Nome do servidor: Opcionalmente preenchido pelo servidor.
Nome do ficheiro de boot: Opcionalmente preenchido pelo servidor.
Outra informao: Suporte para varias extenses.
BOOTP
O cliente BOOTP normalmente disponibilizado na memoria ROM
de dispositivos de rede sem disco.
Descrio do funcionamento do servidor :
Escuta por datagramas UDP com pedidos BOOTP na porta 67.
Consulta uma tabela local contendo informao sobre os clientes
BOOTP.
A tabela indexada atravs do endereo de hardware do cliente.
BOOTP
As mensagens BOOTP podem atravessar routers desde que esta
funcionalidade seja suportada pelo router:
Um pedido BOOTP um broadcast logo no atravessa redes IP.
Se o router suportar a funcionalidade de BOOTP proxy, ento quando
receber um pedido BOOTP na sua porta 67:
Aceita o pedido como se fosse um servidor.
Actualiza o campo do pedido correspondente ao Endereo IP do router.
Envia-o directamente para o servidor BOOTP em modo unicast. Podendo
assim atravessar outros routers de forma transparente.
BOOTP
Fim da lista
de opes
Tipo=255
(1)
Pad
Tipo=0
(1)
Mascara de
Subnet
Tipo=1
(1)
Tam.=4
(1)
Mascara de subnet
(4)
Offset
temporal
Tipo=2
(1)
Tam.=4
(1)
Tempo
(4)
Router
Tipo=3
(1)
Tam.=n
(1)
Router preferido
(4)
2 router
(4)
...
BOOTP
Existem varias opes possveis incluindo:
Mascara de subnet.
Offset temporal em segundos da rede do cliente em relao ao UTC.
Lista de routers na rede do cliente por o ordem de preferncia.
Lista por ordem de preferncia de servidores de tempo.
Lista por ordem de preferncia de servidores de DNS.
Lista por ordem de preferncia de servidores de logging.
Lista por ordem de preferncia de servidores de impresso.
Nome do cliente.
Tamanho do ficheiro de boot.
Nome do domnio DNS do cliente.
Endereo do servidor de swap.
Pathname para um directrio contendo a root do cliente.
Endereo de broadcast.
Etc.