ARP- Address Resolution Protocol Elena Baikova M 4856 Estrutura do TCP/IP 1
ARP - O Problema O computador A quer transmitir dados através de uma rede TCP/IP para o computador B O endereço IP do computador B é conhecido Redes Físicas não entendem o endereço IP. Portanto, para que os dados cheguem ao host B é necessário um outro tipo de endereço: endereço Media Access Control - MAC O TCP/IP engloba um protocolo, ARP, que caracteriza a relação entre o endereço IP e o endereço MAC. ARP - Exemplo Cliente FTP utiliza a função gethostbyname para determinar o endereço IP de um servidor FTP Cliente FTP acciona o TCP para estabelecer a ligação TCP envia um pedido de ligação ao endereço IP, o qual está na rede local ARP é utilizado para determinar o endereço MAC Receptor responde com o endereço MAC A camada IP pode agora enviar o pacote 2
A sequência Resolver FTP TCP ARP IP Driver Driver ARP ARP Driver IP TCP Formato de ARP request Hardware Type Protocol Type Hardware Size Size Type Dest. Address Src Address Sender Enet Addr Sender IP Addr Target Enet Addr Target IP Addr 3
Notas ARP Realiza um broadcast na rede a procura do endereço físico (MAC) de um determinado IP Os computadores armazenam esse endereço físico de origem. O host de destino responde a esse broadcast enviando o seu endereço físico para o host que originalmente transmitiu o pacote ARP O ARP cache é criado a partir do armazenamento dos MAC s por parte dos hosts da rede A cache do ARP, funcionamento A cache do ARP mantém tanto entradas dinâmicas como entradas estáticas. As entradas dinâmicas são adicionadas e removidas automaticamente. Entradas estáticas ficam na cache até o computador ser iniciado. Cada entrada na cache do ARP tem uma expectativa potencial de vida de 10 minutos. Cada entrada que é adicionada ao cache do ARP recebe um timestamp. Se não for utilizada em 2 minutos, a entrada será apagada; caso contrário é apagada ao fim de 10 minutos. Se a cache do ARP atingir a sua capacidade máxima antes das entradas expirarem, a entrada mais antiga é apagada de forma a haver espaço para a próxima entrada. 4
A cache do ARP IP Address Hardware Address 131.107.255.255 = FFFFFFFFFFFF 131.107.3.5 = 080009654321 131.107.78.3 = 080006723111 131.107.9.4 = 080002345621 O comando arp O comando arp permite consultar e modificar a tabela de tradução de endereços IP para endereços físicos utilizada no protocolo ARP. Exemplo de utilização: >arp -a No ARP Entries Found >ping hanna.est.ips.pt Pinging hanna.est.ips.pt [146.193.0.221] with 32 bytes of data: Reply from 146.193.0.221: bytes=32 time=4ms TTL=255 Reply from 146.193.0.221: bytes=32 time=3ms TTL=255 Reply from 146.193.0.221: bytes=32 time=3ms TTL=255 Reply from 146.193.0.221: bytes=32 time=2ms TTL=255 >arp -a Interface: 146.193.0.222 Internet Address Physical Address Type 146.193.0.221 08-00-20-0a-b8-fa dynamic 146.193.0.254 00-60-5c-5e-01-40 dynamic 5
Exemplo de ARP exchange Sender MAC Destination MAC 11:07:54.537688 0:0:f8:0:a3:f2 ff:ff:ff:ff:ff:ff arp 42: arp who-has ragtop.cs.colorado.edu tell foobar.cs.colorado.edu 11:07:54.538665 0:0:f8:75:5b:8c 0:0:f8:0:a3:f2 arp 60: arp reply ragtop.cs.colorado.edu is-at 0:0:f8:75:5b:8c Exemplo de utilização do ARP em sistemas de Automação O computador principal (Supervisor Control Center - SCC) realiza a monitorização remota e gerência do sistema de alarme de uma empresa, ou seja de todos os hosts do sistema ligados aos PLCs com respectivos sensores. Passo 1: No computador principal cria-se manualmente uma tabela com os endereços IP e os respectivos endereços MAC de todos os hosts do sistema. Passo 2: O computador principal envia em loop o comando ping a todos os terminais do sistema. As respostas destes registam-se pelo ARP do Supervisor Control Center e analisam-se comparando com a tabela de controlo dos endereços MAC. Passo 3: Um intruso num dos andares da empresa pode desligar da rede o computador que controla o PLC com os respectivos sensores e ligar o seu portátil com mesmo endereço IP. Passo 4: No ciclo seguinte o programa que analisa a correspondência da tabela de controlo dos endereços MAC e cache actual do ARP descobre o endereço MAC desconhecido (de placa do portátil) e avisa a Segurança. 6
Esquema de implementação Um exemplo do sistema de alarme baseado na identificação de computadores pelo seu endereço físico (MAC) Bibliografia http://www.fe.up.pt/~goii2000/m3/tcpip2.htm http://www.cisco.com/univercd/cc/td/doc/product/software/ssr83/tsc_r/540 08.pdf http://www.inf.ufrgs.br/granville/protocolos/programanovo/mod1_1.pdf http://www.cse.sc.edu/~srihari/csce516/lecnotes/internetworking.6.pdf 7