• Nenhum resultado encontrado

Protocolo de resolução de endereços: ARP

N/A
N/A
Protected

Academic year: 2021

Share "Protocolo de resolução de endereços: ARP"

Copied!
26
0
0

Texto

(1)

Protocolo de resolução de

endereços: ARP



Introdução,

cache

ARP, formato

do pacote ARP, exemplos de ARP

em acção,

proxy

ARP, ARP

(2)

Endereço físico



Os endereços IP fazem apenas sentido no protocolo

IP;



Ligação de dados (nível 2) - esquema de

endereçamento independente da camada de rede;



Mesmo cabo pode ser partilhado por protocolos de

rede diferentes



Envio de uma trama de uma rede local para outra

 Em que interface deve ser enviada a trama - endereço físico  Nível 2 nunca utiliza o endereço IP do datagrama.

(3)

ARP –

Address Resolution

Protocol

 Mapeamento entre os endereços IP em qualquer tipo de

endereços utilizados pela camada de ligação lógica

 RARP - mapeamento inverso  Mapeamento dinâmico

 Não é da responsabilidade do utilizador ou do administrador

 Possível ARP estático

 Não é necessário estar sempre a fazer o ARP;

 Sempre que o IP é mudado, esta entrada na tabela ARP fica

inválida.

 Ligações ponto-a-ponto não utilizam ARP

(4)

Exemplo – FTP

 1 - Aplicação, o cliente de FTP, determina o endereço IP do terminal (função gethostbyname) - DNS;  2 - Cliente FTP pede à camada TCP para

estabelecer uma ligação com esse endereço IP;

 3 - TCP envia a mensagem

de pedido de ligação para o utilizador remoto, enviando o datagrama IP para o

(5)

Exemplo – FTP

 4 - Onde quer que se

encontre o utilizador

destino, o datagrama IP é enviado para um terminal ou router numa rede local directamente ligada à de origem;

 5 - Se a rede for Ethernet, o

terminal origem converte o endereço IP no endereço físico Ethernet (ARP);

 6 - ARP envia uma trama

Ethernet, ARP request, para todos os terminais da rede;

(6)

Exemplo – FTP

 7 - Ao receber a mensagem,

o terminal destino

reconhece o seu endereço IP, e envia um ARP reply, contendo o endereço IP e o seu endereço físico.

 8 - A mensagem ARP reply é

recebida no terminal origem;

 9 - O datagrama IP pode ser

enviado para o terminal destino.

(7)

Cache ARP e comando ARP



Cache

ARP

 Contém mapeamentos efectuados mais recentemente;

 Tempo normal de expiração de uma entrada - 20 minutos.

 bsdi % arp –a

sun (140.252.13.33) at 8:0:20:3:f6:42 svr4 (140.252.13.34) at 0:0:c0:c2:9b:26

(8)
(9)

Pacote ARP



Ethernet

End. destino End. origem Tipo trama Tipo hard. Tipo prot. Tamanho end. hard. Tamanho end. prot.Op.

End. eth. origem End. IP origem End. eth. destino End. IP destino

Cabeçalho Ethernet ARP Request/Reply (28 bytes)

Tipo de endereço hardware 1 - ARP Request 2 - ARP Reply 3 - RARP Request 4 - RARP Reply

Terminal recebe um ARP Request a si direccionado

Preenche campo de endereço de hardware, troca os endereços origem com os endereços destino, e coloca o campo op. a 2.

(10)
(11)
(12)

Exemplos ARP (1)

bsdi % arp –a Verifica que a cache ARP se encontra vazia

bsdi % telnet svr4 discard Liga-se ao servidor de discard

Trying 140.252.13.34... Connected to svr4. Escape character is '^]'. ^] telnet> quit Connection closed. Saída no tcdump 1 0.0 0:0:c0:6f:2d:40 ff:ff:ff:ff:ff:ff arp 60: arp who-has svr4 tell bsdi

2 0.002174 (0.0022) 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 arp 60: arp reply svr4 is-at 0:0:c0:c2:9b:26

(13)

Exemplos ARP (2) – Pedido ARP

para um terminal não existente

bsdi % date ; telnet 140.252.13.36 ; date Sat Jan 30 06:46:33 MST 1993

Trying 140.252.13.36...

telnet: Unable to connect to remote host: Connection timed out

Sat Jan 30 06:47:49 MST 1993 76 seg depois da primeira data

bsdi % arp –a Verifica a cache ARP

? (140.252.13.36) at (incomplete)

Saída no tcdump

1 0.0 arp who-has 140.252.13.36 tell bsdi

2 5.50909 (5.50909) arp who-has 140.252.13.36 tell bsdi

(14)

Proxy

ARP



Router

responde a pedidos ARP por um

terminal



Router

- agente

proxy

para o terminal

destino, retransmitindo-lhe pacotes vindos de

outros terminais



Processo transparente para terminais de

origem



Pensam que quem enviou a resposta ARP foi o

terminal destino

(15)

Proxy

ARP

gemini % arp -a

netb (140.252.1.183) at 0:80:ad:3:6a:80 sun (140.252.1.29) at 0:80:ad:3:6a:80

Elementos da rede de cima com tabelas de encaminhamento com entradas para a rede de baixo;

Router envia datagramas para o seu

(16)

Necessidade do

proxy

ARP



Esconder duas redes físicas uma da outra que

tenham um

router

no meio a funcionar como agente

de

proxy



Duas redes físicas podem usar o mesmo identificador

de rede



Agente

proxy

responde a pedidos ARP numa rede

para um terminal noutra rede



Quando redes não suportam a criação de sub-redes,

sempre que corram uma implementação antiga de

TCP/IP.

(17)

ARP gratuito



Envio de pedido ARP para obter o seu

próprio endereço IP



Detecta duplicação de endereços



Outros terminais actualizam a sua

cache

de ARP

Saída no tcdump

1

0.0

0:0:c0:6f:2d:40 ff:ff:ff:ff:ff:ff arp 60

(18)

Protocolo de resolução

inversa: RARP



Formato do pacote RARP,

exemplos de RARP, características

especiais dos servidores de RARP.

(19)

RARP (

Reverse

ARP)



Arranque de sistema com disco local - obtém

endereço IP de um ficheiro de configuração que se

encontra no disco;



Sistema sem disco (um terminal X, uma impressora)

necessita de uma outra forma de obter o endereço IP

 Sistema sem disco lê o endereço físico

 Envia pedido RARP (broadcast para a rede) a pedir o seu

endereço IP



Implementação algo complicada;



Formato de um pacote ARP idêntico ao de um RARP:

 Tipo de trama é 0x8035;

 Campo op = 3 para pedido RARP e op = 4 para resposta

(20)

RARP – Exemplos (1)

 Forçar o sun a fazer bootstrap da rede em vez do seu disco

local;

 Correr servidor RARP e TCPDump no bsdi;

 Assim que sun recebe o endereço IP, envia um TFTP

read-request (RRQ) para o ficheiro 8CFCOD21.SUN4C:

 8CFCOD21 = 140.252.13.33;

 SUN4C indica o tipo de sistema que está a ser bootstrapped.

Saída no tcdump

1 0.0 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff

rarp 60: rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42

2 0.13 (0.13) 0:0:c0:6f:2d:40 8:0:20:3:f6:42 rarp 42:

rarp reply 8:0:20:3:f6:42 at sun (140.252.13.33)

3 0.14 (0.01) 8:0:20:3:f6:42 0:0:c0:6f:2d:40 ip 65:

(21)

RARP – Exemplos (2)



Se não existir nenhum servidor de RARP na rede;

1 0.0 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3;f6:42 2 6.55 ( 6.55) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 3 15.52 ( 8.97) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 4 29.32 (13.80) 8:0:20:3:f6:42 ff:ff:ff;ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 5 52.78 (23.46) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 6 95.58 (42.80) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0;20:3:f6:42 7 100.92 ( 5.34) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3;f6:42 tell 8:0:20:3:f6:42 8 107.47 ( 6.55) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 9 116.44 ( 8.97) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 10 130.24 (13.80) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 11 153.70 (23.46) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42 12 196.49 (42.79) 8:0:20:3:f6:42 ff:ff:ff:ff:ff:ff rarp 60:

rarp who-is 8:0;20:3:f6:42 tell 8:0:20:3:f6:42

•Frequência de retransmissões; •Quando o timeout atinge um determinado limite (superior a 42.8 segundos), é feito o reset para 5.34 segundos.

(22)

Projecto de um servidor RARP



Dependente do sistema;



ARP é muito simples

 Responder com endereços físicos é simples e faz parte da

implementação do kernel TCP/IP;



Servidores RARP como processos de utilizadores

 Servidor fornece um mapeamento entre o endereço físico e um

endereço IP para vários terminais (todos os sistemas sem disco na rede);

 Este mapeamento encontra-se num ficheiro de disco;

 Os kernels não lêm os ficheiros de disco;

 Um servidor de RARP funciona como um processo de utilizador,

e não faz parte de uma implementação do kernel TCP/IP.

 Pedidos RARP são transmitidos como tramas Ethernet

(0x8035);

 Um servidor RARP tem de ter uma forma de enviar e receber

(23)

Projecto de um servidor RARP



Vários servidores RARP por rede



Pedidos RARP enviados como

broadcasts

ao nível

físico;



Não são encaminhados por

routers

;



São necessários vários servidores RARP numa

única rede;



Aumento do número de utilizadores:

 Aumento do tráfego da rede – todos os servidores RARP

enviam uma resposta RARP por cada pedido RARP;

 Possibilidade de resposta ao mesmo tempo – aumento

(24)

Aula prática 5



Erro

Bind: port already in use

ao reiniciar um servidor

TCP

 Em que estado está(ão) a(s) ligação(ões) que usa(m) a

porta desse servidor? (Sugestão: use netstat -ant)

 Estado TIME_WAIT

 Pág. 40 do livro das práticas

 Por que razão este erro não ocorre quando se reinicia o

servidor sem que nenhum cliente o tenha contactado?

 Porque não se entra neste estado?

 função setsockopt() com opção SO_REUSEADDR

 Antes da chamada a bind()

 int setsockopt(int s, int level, int optname, const void *optval,

socklen_t optlen)

 setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on,

(25)

Aula prática 5



Cliente e um servidor de

daytime

usando o protocolo

UDP

 Cliente tem que enviar um pacote (ainda que vazio) ao

servidor para este conhecer o seu endereço e lhe poder responder. Com o protocolo TCP isto não é necessário. Porquê?

 int sendto(int s, const void *msg, size_t len, int flags, const

struct sockaddr *to, socklen_t tolen)

 int recvfrom(int s, void *buf, size_t len, int flags, struct

(26)

Aula prática 5



Cliente – em vez de utilizar a função

connect

 Contacta o servidor com uma mensagem vazia  Recebe informação que servidor lhe envia



Servidor – em vez de utilizar a função

accept

 Recebe mensagem vazia do cliente, vê qual o seu endereço  Envia informação de daytime, ou outra que faça parte do

seu serviço



Entrega deste trabalho na aula da

semana de 10 de Novembro

Referências

Documentos relacionados

Deixar de atender a exigências legais ou regulamentares quando devidamente notificado pela autoridade ambiental competente no prazo concedido, visando à regularização, correção

- Conte lá bem essa história - pediu o capitão. - Conto-vos, lá isso conto-vos, e não pensem que quem conta uma história, acrescenta um ponto. O que vos vou contar é tão

Curvas de rarefação (Coleman) estimadas para amostragens de espécies de morcegos em três ambientes separadamente (A) e agrupados (B), no Parque Estadual da Ilha do Cardoso,

autoincriminação”, designadamente através da indicação de exemplos paradigmáticos. Sem prejuízo da relevância da matéria – traduzida, desde logo, no número e

§ 7º A renda mensal inicial da aposentadoria por invalidez concedida por transformação de auxílio-doença será de cem por cento do salário benefício que

margem esquerda do rio Tietê, na altura da Penha, Zona Leste da RMSP, possui cerca de 100 km² de área de drenagem, comprimento de pouco mais de 20 km e larguras variando entre 5 e

2.- Mecanismo avaliación e modificación de programación didáctica Escala (Indicadores de logro) 1 2 3 4 1.- Deseñáronse unidades didácticas ou temas a partir

Os materiais utilizados para embalagem e as peças descartaddas no reparo do equipamento devem ser encaminhados para reciclagem em empresas especializadas de acordo com o tipo