Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Endereo Fsico
Cada interface de rede (NIC network interface card) vem com um identificador nico de fbrica. Este identificador o endereo fsico ou endereo de hardware da interface. Para garantir que no haver conflitos de endereos, fabricantes de placas de rede p.ex., Ethernet devem ser registrados junto a uma autoridade central. O cdigo identificador do fabricante chamado de OUI - Organizationally Unique Identifier. O tamanho (nmero de bits) do endereo fsico varia conforme a tecnologia de rede.
Endereo Fsico
(cont.)
O tamanho (nmero de bits) do endereo fsico varia conforme a tecnologia de rede. No caso da tecnologia Ethernet:
Os endereos tm 48 bits (6 bytes), representados por seis nmeros hexadecimais, separados por : Os 3 primeiros bytes definem o identificador do fabricante Os 3 ltimos bytes so definidos pelo fabricante, de forma nica Exemplo: 3COM = 02:60:8C:03:1D:91; IBM = 08:00:5A:07:4B:95; Cisco = 00:60:2F
Endereo Fsico
(cont.)
Endereo MAC
Tecnologias como Ethernet e Token Ring possuem esquemas prprios de endereamento no nvel de enlace. Normalmente, os protocolos do nvel MAC usam endereos fsicos na formatao das suas primitivas. Logo, no nvel MAC, para que um frame possa enviado de uma mquina a outra em um enlace de dados, o endereo fsico da estao destino deve ser conhecido. Endereo MAC = Endereo Ethernet = endereo fsico
Mac Header
Frame Ethernet
MAC Trailer Preamble (7 Bytes) SOFD (1 Byte) Destination Addr (6 Bytes) Source Addr (6 Bytes) Type (2 Bytes) Information (N Bytes) FCS (4 Bytes)
Problema
Num ambiente de rede geralmente se conhece o endereo de rede da mquina destino (ex: endereo IP) mas no o seu endereo fsico (ex: endereo Ethernet). Infelizmente, no existe nenhuma conexo ou relacionamento entre endereos Ethernet e endereos IP/Internet. Pior, endereos IP s fazem sentido numa arquitetura especfica, no caso, a arquitetura TCP/IP.
Problema
(cont.)
Host A quer se comunicar com host B. Host A conhece o endereo IPB mas no sabe o endereo fsico de B.
Resoluo de Endereos
Como ento um host obtm o endereo fsico de uma mquina destino quando ele necessita enviar um pacote atravs de uma rede fsica conhecendo apenas o endereo IP destino? A resposta usar um Protocolo de Resoluo de Endereos. A resoluo de endereos prov o mapeamento entre duas diferentes formas de endereos: endereos IP de 32 bits e qualquer tipo de endereo fsico usado no enlace de dados.
O Protocolo ARP Na arquitetura TCP/IP, a funo de resoluo de endereos desempenhada pelo protocolo ARP. ARP = Address Resolution Protocol O ARP foi originalmente usado em redes Ethernet, mas o seu projeto genrico, podendo ser usado em outros tipos de tecnologias de rede tais como Token-Ring e FDDI.
O Protocolo ARP O ARP faz o mapeamento dinmico entre endereos IP de 32 bits e endereos de hardware usados pelas vrias tecnologias de enlace.
No caso da tecnologia Ethernet, endereos IP de 32 bits so mapeados em endereos MAC de 48 bits (6 bytes).
Broadcast ARP
ARP Broadcast Who has IP address 200.241.16.8?
Host
Recall that a broadcast is forwarded by all bridges (bridges create a single logical network), but is not forwarded by routers (routers connect logically separate networks).
ARP Reply
Cache ARP
Para manter o nmero de broadcasts a um nvel mnimo, os hosts que usam o ARP mantm um cache de mapeamentos Internet-Ethernet j resolvidos pois, assim, no precisam usar o ARP toda hora que se quiser transmitir um pacote. Antes de transmitir um pacote o host sempre examina o seu cache ARP, buscando verificar se j existe mapeamento anterior para o endereo destino. Para que o cache no cresa demasiadamente, entradas so removidas se no forem usadas dentro de um certo perodo de tempo. O cache ARP tambm chamado de Tabela ARP.
O Cache ARP
(cont.)
Cache ARP
(cont.)
Trfego adicional na rede evitado fazendo o emissor do ARP Request incluir o seu prprio mapeamento Internet-Ethernet na primitiva. Isso feito para que o host destino possa adicionar esse mapeamento no seu cache. Como o ARP Request inicial uma mensagem do tipo broadcast, todos os computadores da rede vo receb-lo, e sero capazes de aprender esse mapeamento e armazen-lo nos seus respectivos cache.
Resumindo
O cache ARP (ou Tabela ARP) uma estrutura que mantm os mais recentes mapeamentos de endereos IP em endereos fsicos. Quando o host origem A recebe a resposta do host destino B, ele guarda no seu cache o endereo IP (IB) e o endereo fsico (FB) de B. Quando B recebe o broadcast de A pedindo seu endereo fsico, B guarda no seu cache os valores de IA e FA. O mapeamento endereo IP x endereo fsico residir no cache por um certo perodo. Esse tempo denominado de TTL (Time To Live).
2.
3.
4.
5.
O IP verifica se o endereo destino da rede local. A tabela ARP examinada para ver se j existe armazenado o endereo fsico da mquina destino. No existindo nenhum mapeamento, o ARP constri uma mensagem de ARP Request. Os endereos IP e fsico da mquina origem so includos na mensagem de Request. O Request enviado a todas as mquinas da rede local (via mecanismo de broadcast).
(cont.)
Cada mquina da rede recebe a mensagem e compara o endereo IP da pergunta com o seu prprio endereo IP. Se forem diferentes a mquina ignora o Request. A mquina cujo endereo IP igual ao endereo contido no Request responde afirmativamente. A mquina destino envia diretamente para a mquina origem uma mensagem de ARP Reply, informando o seu endereo fsico.
(cont.)
A mquina destino tambm altera a sua tabela ARP, incluindo o endereo IP e fsico da mquina origem. A mquina origem recebe o reply e inclui o endereo IP e fsico da mquina destino na sua tabela ARP.
223.1.2.1 223.1.2.2
223.1.2.2 223.1.2.1
Exemplo
(cont.)
Se no existir nenhum mapeamento, uma mensagem ARP Request enviada na rede (broadcast). A mensagem contm o endereo IP do roteador, ao invs do endereo da mquina destino. O roteador responde com o seu endereo fsico. A mquina origem envia o pacote de dados ao roteador para que esse possa entreg-lo rede destino.
(cont.)
No roteador, o IP verifica se o endereo destino local ou remoto. Se for remoto, o processo anterior repetido.
O roteador verifica a sua tabela de roteamento por uma rota para o gateway especificado e usa o ARP (cache ou broadcast) para obter o endereo fsico deste gateway.
Se for local, o roteador usa o ARP para obter o endereo fsico da mquina destino, via exame do cache ARP ou via broadcast. Finalmente, o pacote enviado diretamente mquina destino.
(cont.)
Encapsulamento do Pacote ARP Assim como o IP, o pacote ARP encapsulado no campo de dados do frame Ethernet, logo aps o cabealho. No caso do frame estar carregando um pacote ARP, o campo type que especifica o tipo de dado contido no frame possui o valor 0x0806 (para um ARP Request ou ARP Reply).
(cont.)
(cont.)
Tipo de interface/endereo de hardware. No caso do Ethernet o valor 1. Especifica o cdigo do protocolo que est sendo mapeado (0800H se for o IP). Tamanho do endereo de hardware (6 bytes se for Ethernet). Tamanho do endereo do protocolo de alto nvel (4 bytes se for o IP). Tipo da mensagem; 0001=request; 0002=response Endereo de hardware do n origem. Endereo IP do n origem. Endereo de hardware do n destino. Endereo IP do n destino.
Exemplo 1
0001 08 00 06 04 00 01 02 07 01 00 53 23 80 24 04 12 00 00 00 00 00 00 80 24 04 0B Ethernet IP Tamanho do endereo fsico Ethernet Tamanho do endereo IP Mensagem de request Endereo de hardware do n fonte Endereo IP do n fonte Endereo de hardware do n destino. Endereo IP do n destino.
A
ARP Request From Client A is Broadcast to All Nodes
Protocol Analyzer
(cont.)
Protocol Analyzer
(cont.)
Qual o endereo destino do frame 1? Qual o pedao de informao chave no frame 2? Que protocolos de enlace e rede esto sendo usados?
- - - - - - - - - - - - - - - - Frame 2 - - - - - - - - - - - - - - - - ----- ARP/RARP frame ----Hardware type = 1 (10Mb Ethernet) Protocol type = 0800 (IP) Length of hardware address = 6 bytes Length of protocol address = 4 bytes Opcode 2 (ARP reply) Sender's hardware address = WstDigE58C11 Sender's protocol address = [128.1.0.1] Target hardware address = WstDig488C11 Target protocol address = [128.1.0.2]
HEX 00 00 08 00 00 00 00 00
C0 06 C0 00
48 04 48 00
8C 00 8C 00
ASCII 11 00 02 00 11 80 00 00
00 00 01 00
C0 C0 00 00
E5 E5 02 00
8C 8C 00 00
11 11 00 00
Observaes
Observe que os papis de fonte e destino se invertem na resposta. Note que o uso do ARP no exclusivo do TCP/IP, j que o segundo campo identifica o protocolo que est usando o ARP. Observe tambm que, como o request original do ARP um broadcast, qualquer mquina da rede poderia usar a informao contida na mensagem ARP para alterar as entradas da sua tabela ARP. Entretanto, usualmente, uma mquina faz a alterao somente quando ela o destino da mensagem ARP.
(cont.)
> arp -a nomad-eth0.jvnc.net (128.121.50.50) at 0:0:c:2:85:11 r2d2.jvnc.net (128.121.50.2) at 8:0:20:a:2c:3f minie.jvnc.net (128.121.50.141) at 8:0:20:7:b5:da > telnet mickey.jnvc.net > > arp -a nomad-eth0.jvnc.net (128.121.50.50) at 0:0:c:2:85:11 r2d2.jvnc.net (128.121.50.2) at 8:0:20:a:2c:3f minie.jvnc.net (128.121.50.141) at 8:0:20:7:b5:da mickey.jvnc.net (128.121.50.143) at 8:0:20:7:53:8f >
Observaes Gerais
A tabela ARP mantm entradas estticas e dinmicas.
Entradas dinmicas so adicionadas e apagadas automaticamente. Entradas estticas permanecem na tabela at que o computador seja reiniciado.
A tabela ARP sempre mantm o endereo de broadcast de hardware (FF FF FF FF FF FF) para a sub-rede local como uma entrada permanente. Esta entrada permite a uma mquina aceitar uma mensagem broadcast do ARP. Este endereo no mostrado quando visualizamos a tabela.
Observaes Gerais
(cont.)
Na implementao do TPC/IP da Microsoft, cada entrada na tabela ARP tem um tempo de vida potencial de 10 minutos. Se ela no for usada em 2 minutos ela apagada; do contrrio ela apagada aps 10 minutos. Se o cache atingir a sua capacidade mxima, a entrada mais velha apagada para que a mais nova seja includa. Ambos os valores podem ser alterados via comando de configurao (parmetro ARPCacheLife).