Você está na página 1de 15

Protocolos

Check Point Threat Extraction secured de Controlo


this document Get Original

Protocolos de Controlo

V2.2, Paula Viana, 2011


V2.3, Miguel Leitão, 2012

Histórico
V1.0, Paula Viana, 1999
V2.0, Paula Viana, 2004
v2.1, Paula Viana, 2005
v2.2, Paula Viana, 2006

ISEP
Protocolos de Controlo

Internet - Protocolos de Controlo


 Transmissão de Dados
 IP

 Protocolos de Controlo
 ICMP - Internet Control Message Protocol
• reporta erros
• mensagem encapsulada num pacote IP (não fiável!)
• IP TOS = 0
• IP Protocol = 1
• 1º byte do campo de dados identifica tipo de mensagem ICMP
• Formato da mensagem ICMP depende do tipo de mensagem
• RFC 792
 ARP - Address Resolution Protocol
• RFC 826
• Mensagem encapsulada numa trama Ethernet (tipo de trama = 0x0806)
 RARP - Reverse Address Resolution Protocol
• RFC 903

ARP - Address Resolution Protocol

 Protocolo IP é independente do Protocolo de nível 2


 Datagrama IP é encapsulado numa trama nível 2
 Tramas implementam o seu próprio mecanismo de endereçamento:
• Placas ethernet recebem e enviam tramas baseadas num endereço ethernet
de 48 bits!!

 Necessário efectuar a tradução de endereços IP em endereços de


nível inferior
• Mapeamento dinâmico: ARP – Address Resolution Protocol (RFC 826)
• Mensagens ARP encapsuladas em tramas de nível 2
• Ethernet: trama do tipo 0x0608

ISEP
Protocolos de Controlo

ARP - Address Resolution Protocol


 Como mapear endereços IP em endereços ethernet?

Soluções:
 Tabela de conversão de endereços!

Construir e manter tabelas.... :-(

 Broadcast “A quem pertence este endereço IP?”


• Optimizações:
• cache (timeout para permanência na cache!) – Porquê?
• quem interroga envia automaticamente o seu par de endereços (todas
as máquinas na rede ficam a saber!)
• cada máquina ao arrancar faz o broadcast de uma mensagem de ARP
com o seu endereço

ARP Request/Reply
TCP/IP Protocol Suite

ISEP
Protocolos de Controlo

ARP Examples

ARP Packet Format TCP/IP Protocol Suite


7

Hardware type (2 bytes) Protocol type (2 bytes)


Hardware address Protocol address
Operation code (2 bytes)
length (1 byte) length (1 byte)
Source hardware address*

Source protocol address*

Target hardware address*

Target protocol address*

* Note: The length of the address fields is determined by the corresponding address length fields
Operation Code: Request = 1 : Reply = 2

ISEP
Protocolos de Controlo

ARP Frame

The ARP packet is encapsulated within an Ethernet frame.


Type field for Ethernet is x0806.

ARP Request
1. ARP Request is enclosed in an Ethernet frame
with destination address ff:ff:ff:ff:ff:ff (and source
its own Ethernet address)
2. All hosts on the local network read the frame
3. The target host recognises the request for its IP
address and Replies.

ISEP
Protocolos de Controlo

ARP Reply
1. The addressed host (target) knows the source's
Ethernet address as read from the request
packet.
2. The target sends an ARP Reply containing its
own Ethernet address to the source host.
3. Other hosts do nothing.
4. Target The source gets the reply and reads out
the target's Ethernet address
5. It can now use that Ethernet address to send IP
packets

ARP Example

ISEP
Protocolos de Controlo

ARP Cache
 Sending ARP requests for every outgoing packet
and waiting for responses is inefficient
 Requires bandwidth
 Consumes Time

 Solution:
 ARP cache maintained at each node
 Size limit = 512 entries

ARP Cache
When ARP receives a MAC address, it is placed in
a cache.
When the next request comes in for the same IP
address, the entry in cache is used
Cache entries are associated with a validation time.

ISEP
Protocolos de Controlo

Proxy ARP
Responds to ARP Requests that arrives from one of its
connected networks for a host that is on another of its connected
networks.

Request

ARP Bridging

 A bridge is a host with two interfaces, one on each network


 If host h1 wishes to send to host h2 it must determine its
hardware address
 h1 broadcasts an ARP requesting for h2 MAC Address
 The bridge sees this request and responds on behalf of h2 but it
supplies its own hardware address b1

ISEP
Protocolos de Controlo

ARP Spoofing (ARP Poisoning)


 Sending fake or 'spoofed', ARP messages to an Ethernet LAN.
 To make other machines believe an IP address is associated to a different
MAC address.

 Defenses
 Static ARP table
 ARP snooping (Monitor the network for ARP uses).
 Detection: Arpwatch (sending email when updates occur),

 Legitimate use
 Redirect a user to a registration page before allow usage of the network.
 …

ARP Command
 To display ARP table
arp -a

 To enter manually (Static Entry):


arp -s 192.168.1.2 00-FE-FE-FE-FE-FE

 To delete entry
arp -d 192.168.1.2

ISEP
Protocolos de Controlo

RARP - Reverse Address Resolution Protocol


 ARP: sabendo o endereço IP, qual o endereço Ethernet?

 RARP: sabendo o endereço Ethernet, qual o endereço IP?


• Máquinas sem disco desconhecem o seu endereço IP
• Máquinas sem disco conhecem o seu endereço MAC (disponível na carta de rede)

 Modo de Operação
• Broadcast de uma mensagem RARP com o endereço MAC de origem
• Obriga a existência de 1 servidor de RARP
• Resposta do tipo Unicast
• Após recepção de resposta, endereço IP é registado em memória

 Encapsulamento
• Mensagem RARP é encapsulada numa trama MAC
• Ethernet: type 0x8035

 Alternativas
 BOOTP e DHCP
• semelhante a RARP mas o servidor pode estar noutra rede (mensagens são enviadas através de routers)

Solutions for dynamic assignment of IP addresses

 Reverse Address Resolution Protocol (RARP)


 Works similar to ARP
 Broadcast a request for the IP address associated with a given MAC address
 RARP server responds with an IP address
 Only assigns IP address (not the default router and subnetmask)

ARP Ethernet MAC


IP address
address
(32 bit)
(48 bit)
RARP

ISEP
Protocolos de Controlo

BOOTP - Bootstrap Protocol


 RFC 951
 Atribuição de endereço IP a 1 host
 Protocolo do tipo Cliente-Servidor (tal como RARP)
 Protocolo da camada Aplicação
 Mensagens encapsuladas em pacotes UDP
 Evita a necessidade de 1 servidor RARP em cada rede
(servidor de BOOTP pode estar noutra rede)
 Além do endereço IP, permite a obtenção de informação extra:
• Endereço IP da Gateway
• Endereço IP do Servidor de DNS e de relógio
• Máscara de sub-rede

 Atribuição de endereços é feita com base numa tabela fixa


• Endereço MAC  Endereço IP

 Pouco eficiente num cenário de mobilidade entre redes (portáteis, PDAs,…)


• Solução: DHCP

BOOTP
 BOOTstrap Protocol (BOOTP)
• From 1985
• Host can configure its IP parameters at boot time.
• 3 services.
• IP address assignment.
• Detection of the IP address for a serving machine.
• The name of a file to be loaded and executed by the client machine
(boot file name)

 Not only assign IP address, but also default router, network mask, etc.
 Sent as UDP messages (UDP Port 67 (server) and 68 (host))
 Use limited broadcast address (255.255.255.255):
• These addresses are never forwarded

22

ISEP
Protocolos de Controlo

DHCP – Dynamic Host Configuration Protocol


 Atribuição de endereço IP a 1 host
 Protocolo do tipo Cliente-Servidor (tal como BOOTP)
 Protocolo da camada Aplicação
 Mensagens encapsuladas em pacotes UDP
 Tal como BOOTP, permite obter informação extra
 Suporta várias formas de atribuição de endereços
 Endereços estáticos
• 1 endereço IP fixo associado a 1 endereço MAC
 Endereços dinâmicos
• Número de endereços disponíveis inferior ao número de clientes
• Hosts não simultaneamente ligados à rede (p.e.: ISP)
• Atribuição de 1 endereço IP de entre uma gama possível
• Em cada ligação à rede um host pode obter endereços diferentes
• Endereço atribuido tem 1 tempo de validade
 Endereços estáticos e dinâmicos em simultâneo. p.e:
• endereços fixos para máquinas do tipo desktop
• Endereços dinâmicos para máquinas do tipo laptop

ICMP - Tipos de Mensagens

 Destination unreachable
• router não consegue encontrar o destino
• Ex: Df = 1 e uma rede de “pacotes pequenos” é encontrada
 Time exceeded - Time to Live = 0
• Routers mal configurados - pacotes em loop
• congestionamento na rede
• valores de TTL demasiado pequenos
 Parameter problem - campo do cabeçalho inválido
• erro no software (emissor ou router)
 Source quench
• enviada a máquinas que estão a gerar muito tráfego (máquina deverá
diminuir o nº de pacotes que injecta na rede) aumenta tráfego!!!!
controlo de congestionamento no nível de transporte

ISEP
Protocolos de Controlo

ICMP - Tipos de Mensagens

 Redirect
• router verifica que rota usada para transmitir 1 pacote não é a melhor!

 Echo request/Echo reply


• verificar se um host está acessível

 Timestamp request/Timestamp reply


• verificar se um host está acessível (o mesmo que echo)
mas
• tempo de chegada da mensagem e tempo da resposta enviados!

ICMP – Formato das Mensagens

ISEP
Protocolos de Controlo

Ping - Implementação

 Pode ser utilizado como ferramenta de diagnóstico


 Utilizado para testar se 1 host está acessível
 Usa ICMP Echo request/Echo reply

• Comando: ping host


• Resposta: host is alive (se houve resposta)
host unreachable (se não houver resposta passados 20seg)

• Comando: ping -s host


enviadas mensagens consecutivas
• Resposta: lista com indicação do round-trip-delay para cada mensagem

no envio, o campo de dados do ICMP é preenchido com o tempo actual


no regresso esse valor é subtraído ao novo tempo actual

Ping - Exemplo
 sun % ping -s svr4 (máquinas na mesma rede)
PING svr4 (140.252.13.34): 56 data bytes
64 bytes from svr4 (140.252.13,34): icmp_seq=0. time=7.ms
1º tempo superior aos outros...
64 bytes from svr4 (140.252.13.34): icmp_seq=1. time=4.ms (porquê)
64 bytes from svr4 (140.252.13.34): icmp_seq=2. time=4.ms
64 bytes from svr4 (140.252.13.34): icmp_seq=3. time=4.ms
---svr4 PING Statistics---
4 packets transmitted, 4 packets received, 0% packet loss, round-trip (ms) min/avg/max = 4/4/7

 gemini % ping vangogh.cs.berkeley.edu (máquinas em redes diferentes)


64 bytes from (128.32.130.2): icmp_seq=0. time=660.ms
64 bytes from (128.32.130.2): icmp_seq=5. time=1780.ms
64 bytes from (128.32.130.2): icmp_seq=7. time=380.ms
64 bytes from (128.32.130.2): icmp_seq=8. time=420.ms O que aconteceu?
64 bytes from (128.32.130.2): icmp_seq=9. time=390.ms
64 bytes from (128.32.130.2): icmp_seq=14. time=110.ms
64 bytes from (128.32.130.2): icmp_seq=15. time=170.ms
64 bytes from (128.32.130.2): icmp_seq=16. time=100 ms
----vangogh.CS.Berkeley.EDU PING Statistics----
17 packets transmitted,8 packets received,52% packet loss,round-trip(ms) min/avg/max=100/501/1780

ISEP
Protocolos de Controlo

Bibligrafia Recomendada
 William Stallings, Data and Computer Communications,
7th Edition, Prentice Hall, Chapter 18 - Internet Protocols
 Richard Stevens, TCP/IP illustrated Volume I: The protocols
 Andrew S. Tanembaum, Computer Networks, 3rd Edition,
Prentice Hall, Chapter 5.54

ISEP

Você também pode gostar