Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... ·...

15
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

Transcript of Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... ·...

Page 1: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 2: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 3: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 4: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 5: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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.

Page 6: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 7: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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.

Page 8: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 9: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 10: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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)

Page 11: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 12: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 13: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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

Page 14: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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?

Page 15: Protocolos de Controlo - ipp.ptave.dee.isep.ipp.pt/~jml/ingre/priv/slides/Protocolos... · 2017-10-16 · Protocolos de Controlo ISEP ARP Reply 1. The addressed host (target) knows

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