protocolos de controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/protocolos... ·...
Post on 12-Aug-2020
11 Views
Preview:
TRANSCRIPT
Protocolos de Controlo
ISEP
V2.2, Paula Viana, 2011
V2.3, Miguel Leitão, 2012
Protocolos de Controlo
Histórico V1.0, Paula Viana, 1999
V2.0, Paula Viana, 2004 v2.1, Paula Viana, 2005 v2.2, Paula Viana, 2006
Protocolos de Controlo
ISEP
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
Protocolos de Controlo
ISEP
ARP - Address Resolution Protocol
Como mapear endereços IP em endereços ethernet?
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
Soluções:
ARP Request/Reply T
CP
/IP
Pro
toco
l S
uit
e
Protocolos de Controlo
ISEP
ARP Examples
TC
P/IP
Pro
toco
l S
uit
e
ARP Packet Format 7
Hardware type (2 bytes)
Hardware address
length (1 byte)
Protocol address
length (1 byte)Operation code (2 bytes)
Target hardware address*
Protocol type (2 bytes)
Source hardware address*
Source protocol 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
Protocolos de Controlo
ISEP
The ARP packet is encapsulated within an Ethernet frame.
Type field for Ethernet is x0806.
ARP Frame
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.
Protocolos de Controlo
ISEP
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
Protocolos de Controlo
ISEP
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.
Protocolos de Controlo
ISEP
Request
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.
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
Protocolos de Controlo
ISEP
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
Protocolos de Controlo
ISEP
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)
RARP - Reverse Address Resolution Protocol
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)
RARP
Ethernet MAC
address
(48 bit)
ARPIP address
(32 bit)
Protocolos de Controlo
ISEP
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
22
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
Protocolos de Controlo
ISEP
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
DHCP – Dynamic Host Configuration Protocol
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
Protocolos de Controlo
ISEP
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
Protocolos de Controlo
ISEP
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
64 bytes from svr4 (140.252.13.34): icmp_seq=1. time=4.ms
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
1º tempo superior aos outros...
(porquê)
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
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
O que aconteceu?
Protocolos de Controlo
ISEP
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
top related