Qual propriedade do ARP força todas as NICs Ethernet a processar uma solicitação ARP?

O Address Resolution Protocol ( ARP ) é um protocolo de comunicação usado para descobrir o endereço da camada de link , como um endereço MAC , associado a um determinado endereço de camada da Internet , normalmente um endereço IPv4 . Esse mapeamento é uma função crítica no pacote de protocolos da Internet . O ARP foi definido em 1982 pelo RFC  826 , [1] que é o Internet Standard STD 37.

ARP foi implementado com muitas combinações de redes e tecnologias de camada de link de dados, como IPv4 , Chaosnet , DECnet e Xerox PARC Universal Packet (PUP) usando os padrões IEEE 802 , FDDI , X.25 , Frame Relay e Modo de Transferência Assíncrona (ATM) .

Em redes IPv6 ( Internet Protocol Version 6 ), a funcionalidade do ARP é fornecida pelo Neighbour Discovery Protocol (NDP).

Escopo operacional

O Protocolo de Resolução de Endereço é um protocolo de solicitação-resposta cujas mensagens são encapsuladas por um protocolo de camada de enlace. Ele é comunicado dentro dos limites de uma única rede, nunca roteado por nós de internetworking. Esta propriedade coloca o ARP na camada de link do conjunto de protocolos da Internet . [2]

Estrutura do pacote

O Protocolo de Resolução de Endereço usa um formato de mensagem simples contendo uma solicitação ou resposta de resolução de endereço. O tamanho da mensagem ARP depende da camada de link e dos tamanhos de endereço da camada de rede. O cabeçalho da mensagem especifica os tipos de rede em uso em cada camada, bem como o tamanho dos endereços de cada uma. O cabeçalho da mensagem é completado com o código de operação para solicitação (1) e resposta (2). A carga útil do pacote consiste em quatro endereços, o hardware e o endereço de protocolo dos hosts remetente e receptor.

A estrutura principal dos pacotes ARP é mostrada na tabela a seguir, que ilustra o caso de redes IPv4 rodando em Ethernet. Neste cenário, o pacote tem campos de 48 bits para o endereço de hardware do remetente (SHA) e endereço de hardware de destino (THA), e campos de 32 bits para o remetente correspondente e endereços de protocolo de destino (SPA e TPA). O tamanho do pacote ARP, neste caso, é de 28 bytes.

Protocolo de Internet (IPv4) sobre pacote ARP Ethernet
Offset de octeto 0 1
0 Tipo de hardware (HTYPE)
2 Tipo de protocolo (PTYPE)
4 Comprimento do endereço de hardware (HLEN) Comprimento do endereço de protocolo (PLEN)
6 Operação (OPER)
8 Endereço de hardware do remetente (SHA) (primeiros 2 bytes)
10 (próximos 2 bytes)
12 (últimos 2 bytes)
14 Endereço de protocolo do remetente (SPA) (primeiros 2 bytes)
16 (últimos 2 bytes)
18 Endereço de hardware de destino (THA) (primeiros 2 bytes)
20 (próximos 2 bytes)
22 (últimos 2 bytes)
24 Endereço de protocolo de destino (TPA) (primeiros 2 bytes)
26 (últimos 2 bytes)
Tipo de hardware (HTYPE) Este campo especifica o tipo de protocolo de link de rede. Exemplo: Ethernet é 1. Tipo de protocolo (PTYPE) Este campo especifica o protocolo de internetwork para o qual a solicitação ARP se destina. Para IPv4, tem o valor 0x0800. Os valores de PTYPE permitidos compartilham um espaço de numeração com aqueles para EtherType . [3] [4] [5] Comprimento do hardware (HLEN) Comprimento (em octetos ) de um endereço de hardware. O comprimento do endereço Ethernet é 6. Comprimento do protocolo (PLEN) Comprimento (em octetos) dos endereços de internetwork. O protocolo de internetwork é especificado em PTYPE. Exemplo: o comprimento do endereço IPv4 é 4. Operação Especifica a operação que o remetente está executando: 1 para solicitação, 2 para resposta. Endereço de hardware do remetente (SHA) Endereço de mídia do remetente. Em uma solicitação ARP, este campo é usado para indicar o endereço do host que está enviando a solicitação. Em uma resposta ARP, este campo é usado para indicar o endereço do host que a solicitação estava procurando. Endereço de protocolo do remetente (SPA) Endereço de internetwork do remetente. Endereço de hardware de destino (THA) Endereço de mídia do receptor pretendido. Em uma solicitação ARP, este campo é ignorado. Em uma resposta ARP, este campo é usado para indicar o endereço do host que originou a solicitação ARP. Endereço de protocolo de destino (TPA) Endereço de internetwork do receptor pretendido.

Os valores dos parâmetros do protocolo ARP foram padronizados e são mantidos pela Internet Assigned Numbers Authority (IANA). [6]

O EtherType para ARP é 0x0806. Isso aparece no cabeçalho do quadro Ethernet quando a carga útil é um pacote ARP e não deve ser confundido com PTYPE, que aparece dentro desse pacote ARP encapsulado.

Exemplo

Dois computadores em um escritório (Computador 1 e Computador 2) são conectados um ao outro em uma rede local por cabos Ethernet e switches de rede , sem gateways ou roteadores intermediários . O Computador 1 possui um pacote para enviar ao Computador 2. Através do DNS , ele determina que o Computador 2 possui o endereço IP 192.168.0.55.

Para enviar a mensagem, também é necessário o endereço MAC do Computador 2 . Primeiro, o Computador 1 usa uma tabela ARP em cache para procurar 192.168.0.55 para quaisquer registros existentes do endereço MAC do Computador 2 (00: eb: 24: b2: 05: ac). Se o endereço MAC for encontrado, ele envia um quadro Ethernet com endereço de destino 00: eb: 24: b2: 05: ac, contendo o pacote IP para o link. Se o cache não produziu um resultado para 192.168.0.55, o Computador 1 deve enviar uma mensagem de solicitação ARP de broadcast (destino FF: FF: FF: FF: FF: FF endereço MAC), que é aceita por todos os computadores na rede local , solicitando uma resposta para 192.168.0.55.

O computador 2 responde com uma mensagem de resposta ARP contendo seus endereços MAC e IP. Como parte do atendimento à solicitação, o Computador 2 pode inserir uma entrada para o Computador 1 em sua tabela ARP para uso futuro.

O computador 1 recebe e armazena em cache as informações de resposta em sua tabela ARP e agora pode enviar o pacote. [7]

Sonda ARP

Uma investigação ARP é uma solicitação ARP construída com um SPA totalmente zero. Antes de começar a usar um endereço IPv4 (seja recebido da configuração manual, DHCP ou algum outro meio), um host que implemente esta especificação deve testar para ver se o endereço já está em uso, transmitindo pacotes de sondagem ARP. [8]

Anúncios ARP

O ARP também pode ser usado como um protocolo de anúncio simples. Isso é útil para atualizar os mapeamentos de outros hosts de um endereço de hardware quando o endereço IP ou o endereço MAC do remetente muda. Esse anúncio, também chamado de mensagem ARP gratuita (GARP), geralmente é transmitido como uma solicitação ARP contendo o SPA no campo de destino (TPA = SPA), com THA definido como zero. Uma forma alternativa é transmitir uma resposta ARP com o SHA e o SPA do remetente duplicados nos campos de destino (TPA = SPA, THA = SHA).

Os anúncios de solicitação e resposta ARP são ambos métodos baseados em padrões, [9] [10] mas o método de solicitação ARP é o preferido. [11] Alguns dispositivos podem ser configurados para o uso de qualquer um desses dois tipos de anúncios. [12]

Um anúncio ARP não tem como objetivo solicitar uma resposta; em vez disso, ele atualiza todas as entradas em cache nas tabelas ARP de outros hosts que recebem o pacote. O código de operação no anúncio pode ser pedido ou resposta; o padrão ARP especifica que o opcode só é processado depois que a tabela ARP é atualizada a partir dos campos de endereço. [13] [14] [15]

Muitos sistemas operacionais emitem um anúncio ARP durante a inicialização. Isso ajuda a resolver problemas que poderiam ocorrer se, por exemplo, uma placa de rede foi recentemente alterada (alterando o mapeamento de endereço IP para endereço MAC) e outros hosts ainda têm o mapeamento antigo em seus caches ARP.

Anúncios ARP também são usados ​​por algumas interfaces de rede para fornecer balanceamento de carga para o tráfego de entrada. Em uma equipe de placas de rede, é usado para anunciar um endereço MAC diferente dentro da equipe que deve receber os pacotes de entrada.

Os anúncios ARP podem ser usados ​​no protocolo Zeroconf para permitir a atribuição automática de endereços IP locais vinculados a uma interface onde nenhuma outra configuração de endereço IP está disponível. Os anúncios são usados ​​para garantir que um endereço escolhido por um host não seja usado por outros hosts no link de rede. [16]

Esta função pode ser perigosa do ponto de vista da segurança cibernética, pois um invasor pode obter informações sobre os outros hosts de sua sub-rede para salvar em seu cache ARP ( ARP spoofing ) uma entrada onde o MAC do invasor está associado, por exemplo, ao IP do padrão gateway , permitindo-lhe interceptar todo o tráfego para redes externas.

Mediação ARP

A mediação ARP se refere ao processo de resolução de endereços da camada 2 por meio de um serviço de fio privado virtual (VPWS) quando diferentes protocolos de resolução são usados ​​nos circuitos conectados, por exemplo, Ethernet em uma extremidade e Frame Relay na outra. No IPv4 , cada dispositivo Provider Edge (PE) descobre o endereço IP do dispositivo Customer Edge (CE) conectado localmente e distribui esse endereço IP para o dispositivo PE remoto correspondente. Então, cada dispositivo PE responde às solicitações ARP locais usando o endereço IP do dispositivo CE remoto e o endereço de hardware do dispositivo PE local. No IPv6 , cada dispositivo PE descobre o endereço IP de ambos os dispositivos CE locais e remotos e, em seguida, intercepta pacotes de descoberta de vizinho local (ND) e descoberta de vizinho inverso (IND) e os encaminha para o dispositivo de PE remoto. [17]

ARP inverso e ARP reverso

O protocolo de resolução de endereço inverso ( ARP inverso ou InARP ) é usado para obter endereços de camada de rede (por exemplo, endereços IP ) de outros nós a partir de endereços de camada de enlace (camada 2). Como o ARP traduz os endereços da camada 3 para os endereços da camada 2, o InARP pode ser descrito como seu inverso. Além disso, o InARP é implementado como uma extensão de protocolo do ARP: ele usa o mesmo formato de pacote do ARP, mas códigos de operação diferentes.

O InARP é usado principalmente em redes Frame Relay ( DLCI ) e ATM, nas quais os endereços da camada 2 de circuitos virtuais às vezes são obtidos da sinalização da camada 2 e os endereços da camada 3 correspondentes devem estar disponíveis antes que esses circuitos virtuais possam ser usados. [18]

O protocolo de resolução de endereço reverso (ARP reverso ou RARP), como o InARP, converte os endereços da camada 2 em endereços da camada 3. No entanto, no InARP, a estação solicitante consulta o endereço da camada 3 de outro nó, enquanto o RARP é usado para obter o endereço da camada 3 da própria estação solicitante para fins de configuração de endereço. RARP está obsoleto; ele foi substituído pelo BOOTP , que mais tarde foi substituído pelo protocolo de configuração dinâmica de hosts (DHCP). [19]

ARP spoofing e proxy ARP

Como o ARP não fornece métodos para autenticação de respostas ARP em uma rede, as respostas ARP podem vir de sistemas diferentes daquele com o endereço da Camada 2 necessário. Um proxy ARP é um sistema que responde à solicitação ARP em nome de outro sistema para o qual encaminhará tráfego, normalmente como parte do projeto da rede, como para um serviço de Internet discada. Por outro lado, no ARP spoofing, o sistema de atendimento, ou spoofer , responde a uma solicitação de endereço de outro sistema com o objetivo de interceptar dados destinados a esse sistema. Um usuário mal-intencionado pode usar ARP spoofing para executar um ataque man-in-the-middle ou negação de serviço em outros usuários na rede. Existem vários softwares para detectar e executar ataques de falsificação de ARP, embora o próprio ARP não forneça nenhum método de proteção contra tais ataques. [20]

Alternativas para ARP

O IPv6 usa o Neighbour Discovery Protocol e suas extensões, como Secure Neighbour Discovery , em vez de ARP.

Os computadores podem manter listas de endereços conhecidos, em vez de usar um protocolo ativo. Nesse modelo, cada computador mantém um banco de dados do mapeamento de endereços da Camada 3 (por exemplo, endereços IP ) para endereços da Camada 2 (por exemplo, endereços MAC Ethernet ). Esses dados são mantidos principalmente pela interpretação de pacotes ARP do link de rede local. Portanto, é freqüentemente chamado de cache ARP . Desde pelo menos os anos 1980, [21] os computadores em rede têm um utilitário chamado arp para interrogar ou manipular esse banco de dados. [22] [23] [24]

Historicamente, outros métodos foram usados ​​para manter o mapeamento entre endereços, como arquivos de configuração estática, [25] ou listas mantidas centralmente.

Recheio ARP

Sistemas embutidos, como câmeras em rede [26] e dispositivos de distribuição de energia em rede, [27] que não possuem uma interface de usuário, podem usar o chamado ARP stuffing para fazer uma conexão de rede inicial, embora este seja um nome impróprio, já que o ARP não está envolvido.

O enchimento ARP é realizado da seguinte forma:

  1. Computador do usuário tem um endereço IP recheado manualmente para a sua tabela de endereços (normalmente com o arp comando com o endereço MAC tirado de uma etiqueta no dispositivo)
  2. O computador envia pacotes especiais para o dispositivo, normalmente um pacote de ping com tamanho não padrão.
  3. O dispositivo então adota este endereço IP
  4. O usuário então se comunica com ele por telnet ou protocolos da web para completar a configuração.

Esses dispositivos normalmente têm um método para desativar esse processo quando o dispositivo está operando normalmente, pois a capacidade pode torná-lo vulnerável a ataques.

Documentos de padrões

  • RFC  826 - Protocolo de resolução de endereço Ethernet, padrão da Internet STD 37.
  • RFC  903 - Protocolo de resolução de endereço reverso, padrão da Internet STD 38.
  • RFC  2390 - Protocolo de resolução de endereço inverso, padrão de rascunho
  • RFC  5227 - Detecção de conflito de endereços IPv4, padrão proposto

Veja também

  • Arping
  • Arptables
  • Arpwatch
  • Bonjour Sleep Proxy
  • Cisco HDLC

Referências

  1. ^ David C. Plummer (novembro de 1982). "RFC 826, um protocolo de resolução de endereço Ethernet - ou - conversão de endereços de protocolo de rede em endereço Ethernet de 48 bits para transmissão em hardware Ethernet" . Força-tarefa de engenharia da Internet, Grupo de trabalho de rede.
  2. ^ Braden, R. (outubro de 1989). "RFC 1122 - Requisitos para hosts da Internet - camadas de comunicação" . Força-Tarefa de Engenharia da Internet.
  3. ^ IANA ARP - "Tipo de protocolo"
  4. ^ IANA - valores Ethertype
  5. ^ RFC  5342
  6. ^ "Parâmetros do protocolo de resolução de endereço (ARP)" . www.iana.org . Página visitada em 2016/10/2018 .
  7. ^ Chappell, Laura A. e Tittel, Ed. Guia para TCP / IP, terceira edição . Thomson Course Technology, 2007, pp. 115-116.
  8. ^ Cheshire, S. (julho de 2008). Detecção de conflito de endereço IPv4 . Força-Tarefa de Engenharia da Internet. doi : 10.17487 / RFC5227 . RFC 5227 .
  9. ^ Perkins, C. (novembro de 2010). "RFC 5944 - Suporte de mobilidade IP para IPv4, revisado" . Força-Tarefa de Engenharia da Internet. Um ARP gratuito PODE usar uma solicitação ARP ou um pacote de resposta ARP. [...] qualquer nó que receba qualquer pacote ARP (Solicitação ou Resposta) DEVE atualizar seu cache ARP local com o Protocolo do Remetente e Endereços de Hardware no pacote ARP [...]
  10. ^ Perkins, C. (outubro 1996). "RFC 2002 - Suporte para mobilidade IP" . Força-Tarefa de Engenharia da Internet.
  11. ^ Cheshire, S. (julho de 2008). "RFC 5227 - Detecção de conflito de endereços IPv4" . Força-Tarefa de Engenharia da Internet. Por que os anúncios ARP são realizados usando pacotes de solicitação ARP e não pacotes de resposta ARP?
  12. ^ "Perguntas frequentes: o firewall não atualiza a tabela do protocolo de resolução de endereços" . Citrix . 16/01/2015. [...] garpReply habilitado [...] gera pacotes ARP que são do tipo OPCODE REPLY, ao invés de REQUEST.
  13. ^ ARP gratuito em DHCP vs. Draft de ACD IPv4 arquivado em 12 de outubro de 2007, na máquina de retorno
  14. ^ RFC 2002 Seção 4.6
  15. ^ DHCP RFC 2131 - Últimas linhas da Seção 4.4.1
  16. ^ RFC  3927
  17. ^ Shah, H .; et al. (Junho de 2012). Mediação do protocolo de resolução de endereço (ARP) para interoperação de IP de VPNs da camada 2 . Força-Tarefa de Engenharia da Internet. doi : 10.17487 / RFC6575 . RFC 6575 .
  18. ^ T. Bradley; et al. (Setembro de 1998). "RFC 2390 - Protocolo de resolução de endereço inverso" . Força-Tarefa de Engenharia da Internet.
  19. ^ Finlayson; Mann; Mogul; Theimer (junho de 1984). Um protocolo de resolução de endereço reverso . Força-Tarefa de Engenharia da Internet. doi : 10.17487 / RFC0903 . RFC 903 .
  20. ^ Steve Gibson (11/12/2005). "Envenenamento do Cache ARP" . GRC .
  21. ^ Universidade da California, Berkeley. "Página de manual BSD para o comando arp (8C)" . Página visitada em 2011-09-28 .
  22. ^ Canônico. "Página de manual do Ubuntu para o comando arp (8)" . Arquivado do original em 16/03/2012 . Página visitada em 2011-09-28 .
  23. ^ Computador Apple. "Página de manual do Mac OS X para o comando arp (8)" . Página visitada em 2011-09-28 .
  24. ^ Microsoft. "Ajuda do Windows para o comando arp" . Página visitada em 2011-09-28 .
  25. ^ Sun Microsystems. "Página de manual do SunOS para o arquivo ethers (5)" . Página visitada em 2011-09-28 .
  26. ^ Axis Communication. "Guia de instalação da série de câmeras de rede Axis P13" (PDF) . Página visitada em 2011-09-28 .
  27. ^ American Power Corporation. "Manual de instalação e início rápido da unidade de distribuição de energia de rack comutado" (PDF) . Arquivado do original (PDF) em 25/11/2011 . Página visitada em 2011-09-28 .

  • Diagrama de sequência ARP (pdf)
  • ARP Gratuita
  • Informações e captura de amostra do Wireshark
  • ARP-SK ARP ferramentas de geração de tráfego

Qual propriedade do ARP faz com que as NICs que recebem uma solicitação ARP passem a parte de dados do quadro Ethernet para o processo ARP?

Qual propriedade do ARP faz com que os NICs que recebem uma solicitação ARP passem a parte de dados do quadro Ethernet para o processo ARP? Campo de tipo 0x806 aparece no cabeçalho do quadro Ethernet. As respostas ARP são transmitidas na rede quando um host recebe uma solicitação ARP.

Qual endereço de destino é usado em um frame de solicitação ARP?

A solicitação ARP contém o endereço IP do host destino e o endereço MAC de broadcast, FFFF. FFFF. FFFF. Como se trata de um broadcast, todos os nós em uma LAN Ethernet o receberão e consultarão seu conteúdo.

Quais são as duas ações executadas por um switch Cisco?

Fornece sincronização entre os nós de origem e destino. Adiciona informações de controle da camada 2 aos dados do protocolo de rede.

Qual protocolo é responsável pelo controle do tamanho dos segmentos é a taxa na qual os segmentos são trocados entre um cliente é um servidor web?

Protocolo de Controle de Transmissão (do inglês: Transmission Control Protocol, abreviado TCP) é um dos protocolos de comunicação, da camada de transporte da rede de computadores do Modelo OSI, que dão suporte a rede global Internet, verificando se os dados são enviados na sequência correta e sem erros via rede.