Que serviço de rede atribui automaticamente endereços IP aos dispositivos na rede?

O protocolo de configuração dinâmica de hosts ( DHCP ) é um protocolo de gerenciamento de rede usado em redes de protocolo de Internet (IP) para atribuir automaticamente endereços IP e outros parâmetros de comunicação a dispositivos conectados à rede usando uma arquitetura cliente-servidor . [1]

A tecnologia elimina a necessidade de configurar individualmente os dispositivos de rede manualmente e consiste em dois componentes de rede, um servidor DHCP de rede instalado centralmente e instâncias de cliente da pilha de protocolo em cada computador ou dispositivo. Quando conectado à rede, e periodicamente depois disso, um cliente solicita um conjunto de parâmetros do servidor DHCP usando o protocolo DHCP.

O DHCP pode ser implementado em redes que variam em tamanho de redes residenciais a grandes redes de campus e redes ISP regionais. [2] Muitos roteadores e gateways residenciais têm capacidade de servidor DHCP. A maioria dos roteadores de rede residencial recebe um endereço IP exclusivo na rede ISP. Em uma rede local, um servidor DHCP atribui um endereço IP local a cada dispositivo.

Os serviços DHCP existem para redes que executam o protocolo da Internet versão 4 (IPv4), bem como a versão 6 ( IPv6 ). A versão IPv6 do protocolo DHCP é comumente chamada de DHCPv6 .

História

Em 1984, o Reverse Address Resolution Protocol (RARP), definido no RFC 903, foi introduzido para permitir que dispositivos simples, como estações de trabalho sem disco, obtenham dinamicamente um endereço IP adequado. No entanto, como atuava na camada de enlace de dados , tornava a implementação difícil em muitas plataformas de servidor e também exigia que um servidor estivesse presente em cada link de rede individual. O RARP foi substituído pelo protocolo Bootstrap ( BOOTP ) definido no RFC 951 em setembro de 1985. Isso introduziu o conceito de um agente de retransmissão , que permitia o encaminhamento de pacotes BOOTP pelas redes, permitindo que um servidor BOOTP central atendesse hosts em muitas sub-redes IP. [3]

O DHCP é baseado no BOOTP, mas pode alocar dinamicamente endereços IP de um pool e recuperá-los quando não estiverem mais em uso. Ele também pode ser usado para fornecer uma ampla gama de parâmetros de configuração extras para clientes IP, incluindo parâmetros específicos da plataforma. [4] O DHCP foi definido pela primeira vez na RFC 1531 em outubro de 1993, mas devido a erros no processo editorial foi quase imediatamente reeditado como RFC 1541.

Quatro anos depois, o tipo de mensagem DHCPINFORM [5] e outras pequenas mudanças foram adicionadas pela RFC 2131; que a partir de 2014 continua sendo o padrão para redes IPv4.

O DHCPv6 foi inicialmente descrito pelo RFC 3315 em 2003, mas foi atualizado por muitos RFCs subsequentes. [6] RFC 3633 adicionou um mecanismo DHCPv6 para delegação de prefixo , e autoconfiguração de endereço sem estado foi adicionado por RFC 3736.

Visão geral

O protocolo da Internet (IP) define como os dispositivos se comunicam dentro e através de redes locais na Internet. Um servidor DHCP pode gerenciar as configurações de IP para dispositivos em sua rede local, por exemplo, atribuindo endereços IP a esses dispositivos de forma automática e dinâmica.

O DHCP opera com base no modelo cliente-servidor . Quando um computador ou outro dispositivo se conecta a uma rede, o software cliente DHCP envia uma consulta de transmissão DHCP solicitando as informações necessárias. Qualquer servidor DHCP na rede pode atender à solicitação. O servidor DHCP gerencia um pool de endereços IP e informações sobre os parâmetros de configuração do cliente, como gateway padrão , nome de domínio , servidores de nomes e servidores de horário . Ao receber uma solicitação de DHCP, o servidor DHCP pode responder com informações específicas para cada cliente, conforme previamente configurado por um administrador, ou com um endereço específico e quaisquer outras informações válidas para toda a rede e pelo período de tempo para o qual a alocação ( aluguel ) é válido. Um cliente DHCP geralmente consulta essas informações imediatamente após a inicialização e, posteriormente, periodicamente, antes da expiração das informações. Quando um cliente DHCP atualiza uma atribuição, ele inicialmente solicita os mesmos valores de parâmetro, mas o servidor DHCP pode atribuir um novo endereço com base nas políticas de atribuição definidas pelos administradores.

Em grandes redes que consistem em vários links, um único servidor DHCP pode atender a toda a rede quando auxiliado por agentes de retransmissão DHCP localizados nos roteadores de interconexão. Esses agentes retransmitem mensagens entre clientes DHCP e servidores DHCP localizados em sub-redes diferentes.

Dependendo da implementação, o servidor DHCP pode ter três métodos de alocação de endereços IP:

Alocação dinâmica Um administrador de rede reserva um intervalo de endereços IP para DHCP e cada cliente DHCP na LAN é configurado para solicitar um endereço IP do servidor DHCP durante a inicialização da rede. O processo de solicitação e concessão usa um conceito de aluguel com um período de tempo controlável, permitindo que o servidor DHCP recupere e então realoque os endereços IP que não são renovados. Alocação automática O servidor DHCP atribui permanentemente um endereço IP a um cliente solicitante de um intervalo definido por um administrador. Isso é como a alocação dinâmica, mas o servidor DHCP mantém uma tabela de atribuições de endereços IP anteriores, para que possa atribuir preferencialmente a um cliente o mesmo endereço IP que o cliente tinha anteriormente. Alocação manual Esse método também é chamado de alocação DHCP estática , alocação de endereço fixo , reserva e vinculação de endereço MAC / IP . Um administrador mapeia um identificador único (uma id de cliente ou endereço MAC ) para cada cliente para um endereço IP, que é oferecido ao cliente solicitante. Os servidores DHCP podem ser configurados para recorrer a outros métodos se isso falhar.

Os serviços DHCP são usados ​​para o protocolo da Internet versão 4 (IPv4) e IPv6 . Os detalhes do protocolo para IPv4 e IPv6 diferem o suficiente para que possam ser considerados protocolos separados. [7] Para a operação IPv6, os dispositivos podem, alternativamente, usar a autoconfiguração de endereços sem estado . Os hosts IPv6 também podem usar o endereçamento local de link para realizar operações restritas ao link de rede local.

Operação

O DHCP emprega um modelo de serviço sem conexão , usando o User Datagram Protocol (UDP). Ele é implementado com dois números de porta UDP para suas operações, que são os mesmos para o protocolo de bootstrap ( BOOTP ). A porta UDP número 67 é a porta de destino de um servidor e a porta UDP número 68 é usada pelo cliente.

As operações DHCP se dividem em quatro fases: descoberta do servidor, oferta de aluguel de IP, solicitação de aluguel de IP e confirmação de aluguel de IP. Esses estágios são freqüentemente abreviados como DORA para descoberta, oferta, solicitação e confirmação.

A operação DHCP começa com os clientes transmitindo uma solicitação. Se o cliente e o servidor estiverem em sub-redes diferentes, um DHCP Helper ou DHCP Relay Agent pode ser usado. Os clientes que solicitam a renovação de um aluguel existente podem se comunicar diretamente via unicast UDP , desde que o cliente já tenha um endereço IP estabelecido naquele ponto. Além disso, há um sinalizador BROADCAST (1 bit no campo de sinalizadores de 2 bytes, onde todos os outros bits são reservados e, portanto, definidos como 0) que o cliente pode usar para indicar de que forma (broadcast ou unicast) ele pode receber o DHCPOFFER: 0x8000 para transmissão, 0x0000 para unicast. [8] Normalmente, o DHCPOFFER é enviado por unicast. Para aqueles hosts que não podem aceitar pacotes unicast antes que os endereços IP sejam configurados, este sinalizador pode ser usado para contornar esse problema.

Descoberta

O cliente DHCP transmite uma mensagem DHCPDISCOVER na sub-rede da rede usando o endereço de destino 255.255.255.255 (transmissão limitada) ou o endereço de transmissão da sub-rede específica (transmissão direcionada). Um cliente DHCP também pode solicitar seu último endereço IP conhecido. Se o cliente permanecer conectado à mesma rede, o servidor poderá atender à solicitação. Caso contrário, depende se o servidor está configurado como autoritativo ou não. Um servidor autoritativo nega a solicitação, fazendo com que o cliente emita uma nova solicitação. Um servidor não autorizado simplesmente ignora a solicitação, levando a um tempo limite dependente da implementação para que o cliente expire a solicitação e solicite um novo endereço IP.

Por exemplo, se HTYPE for definido como 1, para especificar que o meio usado é Ethernet , HLEN é definido como 6 porque um endereço Ethernet (endereço MAC) tem 6 octetos de comprimento. O CHADDR é definido como o endereço MAC usado pelo cliente. Algumas opções também estão definidas.

Exemplo de mensagem DHCPDISCOVER Octeto 0Octeto 1Octeto 2Octeto 3 OPHTYPEHLENHOPS XID SEGUNDOSBANDEIRAS CIADDR (endereço IP do cliente) YIADDR (seu endereço IP) SIADDR (endereço IP do servidor) GIADDR (endereço IP do gateway) CHADDR (endereço de hardware do cliente) Biscoito mágico Opções de DHCP

Ethernet: origem = MAC do remetente; destino = FF: FF: FF: FF: FF: FF

IP: fonte = 0.0.0.0; destino = 255.255.255.255
UDP : porta de origem = 68; porta de destino = 67

0x01 0x01 0x06 0x00
0x3903F326
0x0000 0x0000
0x00000000
0x00000000
0x00000000
0x00000000
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octetos de 0s ou espaço de estouro para opções adicionais; BOOTP legado.
0x63825363
0x350101 53: 1 (DHCP Discover)
0x3204c0a80164 50: 192.168.1.100 solicitado
0x370401030f06 55 (Lista de Solicitação de Parâmetro):

  • 1 (solicitar máscara de sub-rede),
  • 3 (roteador),
  • 15 (nome de domínio),
  • 6 (Servidor de Nome de Domínio)

0xff 255 (Endmark)

Oferecer

Quando um servidor DHCP recebe uma mensagem DHCPDISCOVER de um cliente, que é uma solicitação de aluguel de endereço IP, o servidor DHCP reserva um endereço IP para o cliente e faz uma oferta de aluguel enviando uma mensagem DHCPOFFER ao cliente. Essa mensagem contém a id do cliente do cliente (tradicionalmente um endereço MAC), o endereço IP que o servidor está oferecendo, a máscara de sub-rede, a duração da concessão e o endereço IP do servidor DHCP que está fazendo a oferta. O servidor DHCP também pode tomar conhecimento do endereço MAC de nível de hardware na camada de transporte subjacente: de acordo com as RFCs atuais, o endereço MAC da camada de transporte pode ser usado se nenhum ID de cliente for fornecido no pacote DHCP.

O servidor DHCP determina a configuração com base no endereço de hardware do cliente, conforme especificado no campo CHADDR (endereço de hardware do cliente). Aqui, o servidor, 192.168.1.1, especifica o endereço IP do cliente no campo YIADDR (seu endereço IP).

Mensagem DHCPOFFER Octeto 0Octeto 1Octeto 2Octeto 3 OPHTYPEHLENHOPS XID SEGUNDOSBANDEIRAS CIADDR (endereço IP do cliente) YIADDR (seu endereço IP) SIADDR (endereço IP do servidor) GIADDR (endereço IP do gateway) CHADDR (endereço de hardware do cliente) Biscoito mágico Opções de DHCP

Ethernet: origem = MAC do remetente; destino = endereço mac do cliente

IP: fonte = 192.168.1.1; destino = 255.255.255.255
UDP : porta de origem = 67; porta de destino = 68

0x02 0x01 0x06 0x00
0x3903F326
0x0000 0x0000
0x00000000
0xC0A80164 (192.168.1.100)
0xC0A80101 (192.168.1.1)
0x00000000
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octetos de 0s; BOOTP legado.
0x63825363
53: 2 (oferta DHCP)
1 (máscara de sub-rede): 255.255.255.0
3 (roteador): 192.168.1.1
51 (tempo de concessão do endereço IP): 86400s (1 dia)
54 (servidor DHCP): 192.168.1.1
6 (servidores DNS):

  • 9.7.10.15,
  • 9.7.10.16,
  • 9.7.10.18

Solicitação

Em resposta à oferta DHCP, o cliente responde com uma mensagem DHCPREQUEST, transmitida ao servidor, [a] solicitando o endereço oferecido. Um cliente pode receber ofertas DHCP de vários servidores, mas aceitará apenas uma oferta DHCP. O cliente produzirá um ARP gratuito para descobrir se há algum outro host presente na rede com o mesmo endereço IP. Se não houver resposta de outro host, significa que não há nenhum host com a mesma configuração de IP na rede e a mensagem é transmitida ao servidor mostrando a aceitação do endereço IP. Com base na opção de identificação do servidor necessária na solicitação e transmissão de mensagens, os servidores são informados cuja oferta o cliente aceitou. [10] : Seção 3.1, Item 3 Quando outros servidores DHCP recebem esta mensagem, eles retiram todas as ofertas que fizeram ao cliente e retornam o endereço IP oferecido ao pool de endereços disponíveis.

Mensagem DHCPREQUEST Octeto 0Octeto 1Octeto 2Octeto 3 OPHTYPEHLENHOPS XID SEGUNDOSBANDEIRAS CIADDR (endereço IP do cliente) YIADDR (seu endereço IP) SIADDR (endereço IP do servidor) GIADDR (endereço IP do gateway) CHADDR (endereço de hardware do cliente) Biscoito mágico Opções de DHCP

Ethernet: origem = MAC do remetente; destino = FF: FF: FF: FF: FF: FF

IP: fonte = 0.0.0.0; destino = 255.255.255.255; [a]
UDP : porta de origem = 68; porta de destino = 67

0x01 0x01 0x06 0x00
0x3903F326
0x0000 0x0000
0xC0A80164 (192.168.1.100)
0x00000000
0xC0A80101 (192.168.1.1)
0x00000000
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octetos de 0s; BOOTP legado.
0x63825363
53: 3 (solicitação DHCP)
50: 192.168.1.100 solicitado
54 (servidor DHCP): 192.168.1.1

Reconhecimento

Quando o servidor DHCP recebe a mensagem DHCPREQUEST do cliente, o processo de configuração entra em sua fase final. A fase de confirmação envolve o envio de um pacote DHCPACK ao cliente. Este pacote inclui a duração do aluguel e quaisquer outras informações de configuração que o cliente possa ter solicitado. Neste ponto, o processo de configuração de IP está concluído.

O protocolo espera que o cliente DHCP configure sua interface de rede com os parâmetros negociados.

Depois que o cliente obtém um endereço IP, ele deve sondar o endereço recém-recebido [11] (por exemplo, com o protocolo de resolução de endereço ARP ) para evitar conflitos de endereço causados ​​pela sobreposição de pools de endereços de servidores DHCP.

Mensagem DHCPACK Octeto 0Octeto 1Octeto 2Octeto 3 OPHTYPEHLENHOPS XID SEGUNDOSBANDEIRAS CIADDR (endereço IP do cliente) YIADDR (seu endereço IP) SIADDR (endereço IP do servidor) GIADDR (endereço IP do gateway comutado por relé) CHADDR (endereço de hardware do cliente) Biscoito mágico Opções de DHCP

Ethernet: origem = MAC do remetente; destino = MAC do cliente

IP: fonte = 192.168.1.1; destino = 255.255.255.255
UDP : porta de origem = 67; porta de destino = 68

0x02 0x01 0x06 0x00
0x3903F326
0x0000 0x0000
0x00000000
0xC0A80164 (192.168.1.100)
0xC0A80101 (192.168.1.1)
0x00000000
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octetos de 0s. BOOTP legado
0x63825363
53: 5 (DHCP ACK) ou 6 (DHCP NAK)
1 (máscara de sub-rede): 255.255.255.0
3 (roteador): 192.168.1.1
51 (tempo de concessão do endereço IP): 86400s (1 dia)
54 (servidor DHCP): 192.168.1.1
6 (servidores DNS):

  • 9.7.10.15,
  • 9.7.10.16,
  • 9.7.10.18

Em formação

Um cliente DHCP pode solicitar mais informações do que o servidor enviado com o DHCPOFFER original. O cliente também pode solicitar dados repetidos para um determinado aplicativo. Por exemplo, os navegadores usam o DHCP Inform para obter as configurações do proxy da web via WPAD .

Liberando

O cliente envia uma solicitação ao servidor DHCP para liberar as informações do DHCP e o cliente desativa seu endereço IP. Como os dispositivos clientes geralmente não sabem quando os usuários podem desconectá-los da rede, o protocolo não obriga o envio de Liberação de DHCP .

Parâmetros de configuração do cliente

Um servidor DHCP pode fornecer parâmetros de configuração opcionais ao cliente. O RFC 2132 descreve as opções de DHCP disponíveis definidas pela Internet Assigned Numbers Authority (IANA) - DHCP e BOOTP PARAMETERS. [12]

Um cliente DHCP pode selecionar, manipular e sobrescrever parâmetros fornecidos por um servidor DHCP. Em sistemas do tipo Unix, esse refinamento no nível do cliente normalmente ocorre de acordo com os valores no arquivo de configuração /etc/dhclient.conf .

Opções

As opções são sequências de octetos de comprimento variável. O primeiro octeto é o código de opção, o segundo octeto é o número de octetos seguintes e os octetos restantes são dependentes do código. Por exemplo, a opção de tipo de mensagem DHCP para uma oferta apareceria como 0x35, 0x01, 0x02, onde 0x35 é o código 53 para "tipo de mensagem DHCP", 0x01 significa um octeto seguinte e 0x02 é o valor de "oferta".

As tabelas a seguir listam as opções DHCP disponíveis, conforme listado no RFC 2132 [13] e no registro IANA. [12]

RFC 1497 (BOOTP Vendor Information Extensions) vendor extensions [13] : Seção 3CódigoNomeComprimentoNotas
0 Pad [13] : Seção 3.1 0 octetos Pode ser usado para preencher outras opções de modo que fiquem alinhadas ao limite da palavra; não é seguido por byte de comprimento
1 Máscara de sub-rede [13] : Seção 3.3 4 octetos Deve ser enviado antes da opção do roteador (opção 3) se ambos estiverem incluídos
2 Deslocamento de tempo [13] : Seção 3.4 4 octetos
3 Roteador Múltiplos de 4 octetos Roteadores disponíveis, devem ser listados em ordem de preferência
4 Servidor de hora Múltiplos de 4 octetos Os servidores de horário disponíveis para sincronização devem ser listados em ordem de preferência
5 Nome do servidor Múltiplos de 4 octetos Servidores de nomes IEN 116 disponíveis , devem ser listados em ordem de preferência
6 Servidor de nome de domínio Múltiplos de 4 octetos Servidores DNS disponíveis , devem ser listados em ordem de preferência
7 Servidor de log Múltiplos de 4 octetos Os servidores de log disponíveis devem ser listados em ordem de preferência.
8 Servidor de cookies Múltiplos de 4 octetos Cookie , neste caso, significa "biscoito da sorte" ou "frase do dia", uma anedota expressiva ou humorística frequentemente enviada como parte de um processo de logon em grandes computadores; não tem nada a ver com cookies enviados por sites .
9 Servidor LPR Múltiplos de 4 octetos
10 Servidor de impressão Múltiplos de 4 octetos
11 Servidor de localização de recursos Múltiplos de 4 octetos
12 Nome de anfitrião Mínimo de 1 octeto
13 Tamanho do arquivo de inicialização 2 octetos Comprimento da imagem de inicialização em blocos de 4 KB
14 Arquivo de despejo de mérito Mínimo de 1 octeto Caminho onde os despejos de memória devem ser armazenados
15 Nome do domínio Mínimo de 1 octeto
16 Servidor de troca 4 octetos
17 Caminho de raiz Mínimo de 1 octeto
18 Caminho de extensões Mínimo de 1 octeto
255 Fim 0 octetos Usado para marcar o fim do campo de opção do fornecedor
Parâmetros da camada IP por host [13] : Seção 4CódigoNomeComprimentoNotas
19 Encaminhamento de IP habilitado / desabilitado 1 octeto
20 Ativar / desativar roteamento de fonte não local 1 octeto
21 Filtro de política Múltiplos de 8 octetos
22 Tamanho máximo de remontagem de datagrama 2 octetos
23 Tempo de vida de IP padrão 1 octeto
24 Tempo limite de envelhecimento da MTU do caminho 4 octetos
25 Tabela de planalto MTU de caminho Múltiplos de 2 octetos
Parâmetros da Camada IP por Interface [13] : Seção 5CódigoNomeComprimentoNotas
26 Interface MTU 2 octetos
27 Todas as sub-redes são locais 1 octeto
28 Endereço de transmissão 4 octetos
29 Realizar descoberta de máscara 1 octeto
30 Fornecedor de máscara 1 octeto
31 Realizar descoberta de roteador 1 octeto
32 Endereço de solicitação do roteador 4 octetos
33 Rota estática Múltiplos de 8 octetos Uma lista de pares destino / roteador
Parâmetros da camada de enlace por interface [13] : Seção 6CódigoNomeComprimentoNotas
34 Opção de encapsulamento de trailer 1 octeto
35 Tempo limite do cache ARP 4 octetos
36 Encapsulamento Ethernet 1 octeto
Parâmetros TCP [13] : Seção 7CódigoNomeComprimentoNotas
37 TTL padrão de TCP 1 octeto
38 Intervalo de manutenção de atividade TCP 4 octetos
39 Lixo de manutenção de atividade TCP 1 octeto
Parâmetros de aplicação e serviço [13] : Seção 8CódigoNomeComprimentoNotas
40 Domínio do serviço de informação da rede Mínimo de 1 octeto
41 Servidores de informação de rede Múltiplos de 4 octetos
42 Servidores Network Time Protocol (NTP) Múltiplos de 4 octetos
43 Informações específicas do fornecedor Mínimo de 1 octeto
44 NetBIOS sobre servidor de nomes TCP / IP Múltiplos de 4 octetos
45 NetBIOS sobre servidor de distribuição de datagramas TCP / IP Múltiplos de 4 octetos
46 NetBIOS sobre tipo de nó TCP / IP 1 octeto
47 NetBIOS sobre escopo TCP / IP Mínimo de 1 octeto
48 Servidor de fontes do X Window System Múltiplos de 4 octetos
49 Gerenciador de exibição do X Window System Múltiplos de 4 octetos
64 Serviço de Informação de Rede + domínio Mínimo de 1 octeto
65 Serviço de Informação de Rede + servidores Múltiplos de 4 octetos
68 Agente doméstico de IP móvel Múltiplos de 4 octetos
69 Servidor de protocolo de transferência de correio simples (SMTP) Múltiplos de 4 octetos
70 Servidor Post Office Protocol (POP3) Múltiplos de 4 octetos
71 Servidor de protocolo de transferência de notícias de rede (NNTP) Múltiplos de 4 octetos
72 Servidor padrão da World Wide Web (WWW) Múltiplos de 4 octetos
73 Servidor de protocolo Finger padrão Múltiplos de 4 octetos
74 Servidor padrão de Internet Relay Chat (IRC) Múltiplos de 4 octetos
75 Servidor StreetTalk Múltiplos de 4 octetos
76 Servidor StreetTalk Directory Assistance (STDA) Múltiplos de 4 octetos
Extensões DHCP [13] : Seção 9CódigoNomeComprimentoNotas
50 Endereço IP solicitado 4 octetos
51 Tempo de locação do endereço IP 4 octetos
52 Sobrecarga de opções 1 octeto
53 Tipo de mensagem DHCP 1 octeto
54 Identificador de servidor 4 octetos
55 Lista de solicitação de parâmetro Mínimo de 1 octeto
56 Mensagem Mínimo de 1 octeto
57 Tamanho máximo da mensagem DHCP 2 octetos
58 Valor do tempo de renovação (T1) 4 octetos
59 Valor de tempo de religação (T2) 4 octetos
60 Identificador de classe de fornecedor Mínimo de 1 octeto
61 Identificador de cliente Mínimo de 2 octetos
66 Nome do servidor TFTP Mínimo de 1 octeto
67 Nome do arquivo de boot Mínimo de 1 octeto

Tipos de mensagens DHCP

Esta tabela lista os tipos de mensagem DHCP, documentados em RFC 2132, RFC 3203, [14] RFC 4388, [15] RFC 6926 [16] e RFC 7724. [17] Esses códigos são o valor na extensão DHCP 53, mostrado em a tabela acima.

Tipos de mensagens DHCP CódigoNomeComprimentoRFC
1 DHCPDISCOVER 1 octeto rfc2132 [13] : Seção 9.6
2 DHCPOFFER 1 octeto rfc2132 [13] : Seção 9.6
3 DHCPREQUEST 1 octeto rfc2132 [13] : Seção 9.6
4 DHCPDECLINE 1 octeto rfc2132 [13] : Seção 9.6
5 DHCPACK 1 octeto rfc2132 [13] : Seção 9.6
6 DHCPNAK 1 octeto rfc2132 [13] : Seção 9.6
7 DHCPRELEASE 1 octeto rfc2132 [13] : Seção 9.6
8 DHCPINFORM 1 octeto rfc2132 [13] : Seção 9.6
9 DHCPFORCERENEW 1 octeto rfc3203 [14] : Seção 4
10 DHCPLEASEQUERY 1 octeto rfc4388 [15] : Seção 6.1
11 DHCPLEASEUNASSIGNED 1 octeto rfc4388 [15] : Seção 6.1
12 DHCPLEASEUNKNOWN 1 octeto rfc4388 [15] : Seção 6.1
13 DHCPLEASEACTIVE 1 octeto rfc4388 [15] : Seção 6.1
14 DHCPBULKLEASEQUERY 1 octeto rfc6926 [16] : Seção 6.2.1
15 DHCPLEASEQUERYDONE 1 octeto rfc6926 [16] : Seção 6.2.1
16 DHCPACTIVELEASEQUERY 1 octeto rfc7724 [17] : Seção 5.2.1
17 DHCPLEASEQUERYSTATUS 1 octeto rfc7724 [17] : Seção 5.2.1
18 DHCPTLS 1 octeto rfc7724 [17] : Seção 5.2.1

Identificação do fornecedor do cliente

Existe uma opção para identificar o fornecedor e a funcionalidade de um cliente DHCP. A informação é uma sequência de caracteres ou octetos de comprimento variável que tem um significado especificado pelo fornecedor do cliente DHCP. Um método pelo qual um cliente DHCP pode se comunicar com o servidor que está usando um certo tipo de hardware ou firmware é definir um valor em suas solicitações DHCP, chamado de Identificador de Classe do Fornecedor (VCI) (Opção 60). Este método permite que um servidor DHCP diferencie entre os dois tipos de máquinas clientes e processe as solicitações dos dois tipos de modems de maneira apropriada. Alguns tipos de decodificadores também definem o VCI (opção 60) para informar ao servidor DHCP sobre o tipo de hardware e a funcionalidade do dispositivo. O valor para o qual essa opção é definida fornece ao servidor DHCP uma dica sobre qualquer informação extra necessária que este cliente precise em uma resposta DHCP.

Outras extensões

Opções de DHCP documentadas CódigoNomeComprimentoRFC
82 Informações do agente de retransmissão Mínimo de 2 octetos RFC 3046 [18]
85 Servidores Novell Directory Service (NDS) Mínimo de 4 octetos, múltiplo de 4 octetos RFC 2241 [19] : Seção 2
86 Nome da árvore NDS Variável RFC 2241 [19] : Seção 3
87 Contexto NDS Variável RFC 2241 [19] : Seção 4
100 Fuso horário , estilo POSIX Variável RFC 4833 [20]
101 Fuso horário , estilo de banco de dados tz Variável RFC 4833 [20]
114 Portal cativo DHCP Variável RFC 8910 [21]
119 Pesquisa de domínio Variável RFC 3397 [22]
121 Rota estática sem classe Variável RFC 3442 [23]
209 Arquivo de configuração Variável RFC 5071 [24]
210 Prefixo do caminho Variável RFC 5071 [24]
211 Tempo de reinicialização Variável RFC 5071 [24]

Subopções de informações do agente de retransmissão

A opção de informações do agente de retransmissão (opção 82) especifica o contêiner para anexar subopções às solicitações DHCP transmitidas entre uma retransmissão DHCP e um servidor DHCP. [18]

Subopções do agente de retransmissão CódigoNomeComprimentoRFC
1 ID do circuito do agente Mínimo de 1 octeto RFC 3046 [18]
2 ID remoto do agente Mínimo de 1 octeto RFC 3046 [18]
4 Classe de dispositivo Data-Over-Cable Service Interface Especificações (DOCSIS) 4 octetos RFC 3256 [25]

Retransmissão

Em redes pequenas, onde apenas uma sub-rede IP está sendo gerenciada, os clientes DHCP se comunicam diretamente com os servidores DHCP. No entanto, os servidores DHCP também podem fornecer endereços IP para várias sub-redes. Nesse caso, um cliente DHCP que ainda não adquiriu um endereço IP não pode se comunicar diretamente com o servidor DHCP usando o roteamento IP, porque não possui um endereço IP roteável, não conhece o endereço da camada de link de um roteador e não sabe o endereço IP do servidor DHCP.

Para permitir que clientes DHCP em sub-redes não servidas diretamente por servidores DHCP se comuniquem com servidores DHCP, os agentes de retransmissão DHCP podem ser instalados nessas sub-redes. O cliente DHCP transmite no link local; o agente de retransmissão recebe a transmissão e a transmite para um ou mais servidores DHCP usando unicast . O agente de retransmissão armazena seu próprio endereço IP no campo GIADDR do pacote DHCP. O servidor DHCP usa o valor GIADDR para determinar a sub-rede na qual o agente de retransmissão recebeu a transmissão e aloca um endereço IP nessa sub-rede. Quando o servidor DHCP responde ao cliente, ele envia a resposta ao endereço GIADDR, novamente usando unicast. O agente de retransmissão então retransmite a resposta na rede local.

Nessa situação, a comunicação entre o agente de retransmissão e o servidor DHCP normalmente usa uma porta UDP de origem e de destino de 67.

Estados do cliente

Conforme descrito na RFC 2131, [10] : Seção 4.4, um cliente DHCP pode receber essas mensagens de um servidor:

  • DHCPOFFER
  • DHCPACK
  • DHCPNAK

O cliente passa pelos estados DHCP dependendo de como o servidor responde às mensagens que o cliente envia.

Confiabilidade

O DHCP garante confiabilidade de várias maneiras: renovação periódica, religação, [10] : Seção 4.4.5 e failover. Os clientes DHCP são concessões alocadas que duram algum tempo. Os clientes começam a tentar renovar seus aluguéis depois que a metade do intervalo de aluguel expira. [10] : Seção 4.4.5 Parágrafo 3 Eles fazem isso enviando uma mensagem DHCPREQUEST unicast ao servidor DHCP que concedeu a concessão original. Se esse servidor estiver inativo ou inacessível, ele não responderá ao DHCPREQUEST . No entanto, nesse caso o cliente repete o DHCPREQUEST de vez em quando, [10] : Seção 4.4.5 Parágrafo 8 [b] então se o servidor DHCP voltar a funcionar ou se tornar acessível novamente, o cliente DHCP terá sucesso em contatá-lo e renovar o contrato.

Se o servidor DHCP estiver inacessível por um longo período de tempo, [10] : Seção 4.4.5 Parágrafo 5 o cliente DHCP tentará se religar, transmitindo seu DHCPREQUEST ao invés de unicast. Por ser transmitido , a mensagem DHCPREQUEST alcançará todos os servidores DHCP disponíveis. Se algum outro servidor DHCP puder renovar a concessão, ele o fará neste momento.

Para que a religação funcione, quando o cliente contata com êxito um servidor DHCP de backup, esse servidor deve ter informações precisas sobre a ligação do cliente. Manter informações de ligação precisas entre dois servidores é um problema complicado; se ambos os servidores puderem atualizar o mesmo banco de dados de aluguel, deve haver um mecanismo para evitar conflitos entre as atualizações nos servidores independentes. Uma proposta para a implementação de servidores DHCP tolerantes a falhas foi enviada à Internet Engineering Task Force, mas nunca foi formalizada. [26] [c]

Se a religação falhar, o aluguel acabará por expirar. Quando o aluguel expira, o cliente deve parar de usar o endereço IP concedido a ele em seu aluguel. [10] : Seção 4.4.5 Parágrafo 9 Nesse momento, ele reiniciará o processo DHCP desde o início, transmitindo uma DHCPDISCOVERmensagem. Como seu aluguel expirou, ele aceitará qualquer endereço IP oferecido a ele. Assim que tiver um novo endereço IP (presumivelmente de um servidor DHCP diferente), ele poderá usar a rede novamente. No entanto, como seu endereço IP foi alterado, todas as conexões em andamento serão interrompidas.

Redes IPv6

A metodologia básica de DHCP foi desenvolvida para redes baseadas no protocolo da Internet versão 4 (IPv4). Desde o desenvolvimento e implantação de redes IPv6 , DHCP também tem sido usado para atribuir parâmetros em tais redes, apesar dos recursos inerentes do IPv6 para autoconfiguração de endereços sem estado . A versão IPv6 do protocolo é designada como DHCPv6 . [27]

Segurança

O DHCP básico não inclui nenhum mecanismo de autenticação. [28] Por causa disso, ele é vulnerável a uma variedade de ataques. Esses ataques se enquadram em três categorias principais:

  • Servidores DHCP não autorizados que fornecem informações falsas aos clientes. [29]
  • Clientes não autorizados com acesso aos recursos. [29]
  • Ataques de exaustão de recursos de clientes DHCP maliciosos. [29]

Porque o cliente não tem como validar a identidade de um servidor DHCP, os servidores DHCP não autorizados (comumente chamados de " DHCP desonestos ") podem ser operados em redes, fornecendo informações incorretas para os clientes DHCP. [30] Isso pode servir tanto como um ataque de negação de serviço, impedindo o cliente de obter acesso à conectividade de rede, [31] ou como um ataque man-in-the-middle . [32] Porque o servidor DHCP fornece ao cliente DHCP endereços IP do servidor, como o endereço IP de um ou mais servidores DNS, [29] um invasor pode convencer um cliente DHCP a fazer suas pesquisas DNS através de seu próprio servidor DNS, e pode, portanto, fornecer suas próprias respostas às consultas DNS do cliente. [33] [34] Isso, por sua vez, permite que o invasor redirecione o tráfego da rede através de si mesmo, permitindo-lhe espionar as conexões entre o cliente e os servidores de rede que contata, ou simplesmente substituir esses servidores de rede pelos seus próprios. [33]

Como o servidor DHCP não tem mecanismo seguro para autenticar o cliente, os clientes podem obter acesso não autorizado a endereços IP apresentando credenciais, como identificadores de cliente, que pertencem a outros clientes DHCP. [30] Isso também permite que os clientes DHCP esgotem o armazenamento de endereços IP do servidor DHCP - ao apresentar novas credenciais cada vez que pede um endereço, o cliente pode consumir todos os endereços IP disponíveis em um link de rede específico, evitando que outros clientes DHCP recebendo serviço. [30]

O DHCP fornece alguns mecanismos para atenuar esses problemas. A extensão do protocolo Relay Agent Information Option (RFC 3046, normalmente referido na indústria por seu número real como Opção 82 [35] [36] ) permite que os operadores de rede anexem tags às mensagens DHCP conforme essas mensagens chegam na rede confiável do operador de rede . Essa tag é então usada como um token de autorização para controlar o acesso do cliente aos recursos da rede. Como o cliente não tem acesso à rede upstream do agente de retransmissão, a falta de autenticação não impede que o operador do servidor DHCP confie no token de autorização. [28]

Outra extensão, Autenticação para Mensagens DHCP ( RFC 3118 ), fornece um mecanismo para autenticar mensagens DHCP. Em 2002, o RFC 3118 não tinha sido amplamente adotado devido aos problemas de gerenciamento de chaves para um grande número de clientes DHCP. [37] Um livro de 2007 sobre tecnologias DSL observou que:

várias vulnerabilidades de segurança foram identificadas contra as medidas de segurança propostas pelo RFC 3118. Esse fato, combinado com a introdução do 802.1x , tornou mais lenta a implantação e a taxa de execução do DHCP autenticado e nunca foi amplamente implantado. [38]

Um livro de 2010 observa que:

[t] aqui houve muito poucas implementações de autenticação DHCP. Os desafios de gerenciamento de chaves e atrasos de processamento devido à computação de hash foram considerados um preço muito alto a pagar pelos benefícios percebidos. [39]

As propostas arquitetônicas de 2008 envolvem a autenticação de solicitações DHCP usando 802.1x ou PANA (ambos transportam EAP ). [40] Uma proposta da IETF foi feita para incluir o EAP no próprio DHCP, o chamado EAPoDHCP ; [41] isso não parece ter progredido além do nível de rascunho da IETF, o último dos quais data de 2010. [42]

Documentos de padrões IETF

  • RFC 2131, protocolo de configuração dinâmica de host
  • RFC 2132, opções de DHCP e extensões de fornecedores BOOTP
  • RFC 3046, opção de informações do agente de retransmissão DHCP
  • RFC 3397, opção de pesquisa de domínio do protocolo de configuração dinâmica de hosts (DHCP)
  • RFC 3942, Opções de Reclassificação do Protocolo de Configuração de Host Dinâmico Versão Quatro (DHCPv4)
  • RFC 4242, opção de tempo de atualização de informações para protocolo de configuração dinâmica de hosts para IPv6
  • RFC 4361, identificadores de cliente específicos de nó para protocolo de configuração dinâmica de hosts, versão quatro (DHCPv4)
  • RFC 4436, Detecção de conexão de rede em IPv4 (DNAv4)
  • RFC 3442, Opção Classless Static Route para Dynamic Host Configuration Protocol (DHCP) versão 4
  • RFC 3203, extensão de reconfiguração de DHCP
  • RFC 4388, Leasequery do protocolo de configuração dinâmica de hosts (DHCP)
  • RFC 6926, DHCPv4 Bulk Leasequery
  • RFC 7724, Consulta de concessão DHCPv4 ativa

Veja também

  • Boot Service Discovery Protocol (BSDP) - uma extensão DHCP usada pelo NetBoot da Apple
  • Comparação de software de servidor DHCP
  • Peg DHCP (RFC 2322)
  • Preboot Execution Environment (PXE)
  • Protocolo de resolução de endereço reverso (RARP)
  • DHCP invasor
  • Endereço auxiliar UDP  - uma ferramenta para rotear solicitações DHCP através dos limites da sub-rede
  • Zeroconf  - Rede de Configuração Zero

Notas

  1. ^ a b Como um comportamento opcional do cliente, alguns broadcasts, como aqueles que transportam mensagens de descoberta e solicitação de DHCP, podem ser substituídos por unicasts caso o cliente DHCP já conheça o endereço IP do servidor DHCP. [9]
  2. ^ O RFC pede que o cliente espere metade do tempo restante até T2 antes de retransmitir opacote DHCPREQUEST
  3. ^ A proposta previa um mecanismo pelo qual dois servidores poderiam permanecer em sincronia entre si, de forma que mesmo em caso de falha total de um servidor, o outro servidor poderia recuperar o banco de dados de aluguel e continuar operando. Devido à extensão e complexidade da especificação, ela nunca foi publicada como um padrão; entretanto, as técnicas descritas na proposta são amplamente utilizadas, com código aberto e diversas implementações comerciais.

Referências

  1. ^ Gillis, Alexander S. "O que é DHCP (protocolo de configuração dinâmica de hosts)?" . TechTarget: SearchNetworking . Página visitada em 19 de fevereiro de 2021 .
  2. ^ Peterson, Larry L .; Davie, Bruce S. (2011). Redes de Computadores: Uma Abordagem de Sistemas (5ª ed.). Elsevier. ISBN 978-0123850607. Recuperado em 21 de março de 2019 .
  3. ^ Bill Croft; John Gilmore (setembro de 1985). "RFC 951 - Protocolo Bootstrap" . Grupo de Trabalho de Rede .
  4. ^ Network + Certification 2006 publicado pela Microsoft Press.
  5. ^ usado para o Web Proxy Autodiscovery Protocol Web Proxy Autodiscovery Protocol (WPAD)
  6. ^ RFC 4361, RFC 5494, RFC 6221, RFC 6422, RFC 6644, RFC 7083, RFC 7227, RFC 7283
  7. ^ Droms, Ralph; Lemon, Ted (2003). O Manual do DHCP . Publicação da SAMS . p. 436. ISBN 978-0-672-32327-0.
  8. ^ a b Droms, Ralph. "Protocolo de configuração dinâmica de hosts" . tools.ietf.org . Retirado em 4 de julho de 2017 .
  9. ^ Droms, Ralph. "Protocolo de configuração dinâmica de hosts" . tools.ietf.org . Retirado em 4 de julho de 2017 .
  10. ^ a b c d e f g Droms, Ralph (março de 1997). Opções DHCP e extensões de fornecedores BOOTP . IETF . doi : 10.17487 / RFC2131 . RFC 2131 . Recuperado em 9 de setembro de 2014 .
  11. ^ "Protocolo de configuração dinâmica de host RFC2131: alocação dinâmica de endereços de rede" . tools.ietf.org .
  12. ^ a b "Parâmetros do protocolo de configuração dinâmica de hosts (DHCP) e do protocolo de bootstrap (BOOTP)" . iana.org . Retirado em 2016-10-16 .
  13. ^ a b c d e f g h i j k l m n o p q r s Alexander, Steve; Droms, Ralph (março de 1997). Opções DHCP e extensões do fornecedor BOOTP . IETF . doi : 10.17487 / RFC2132 . RFC 2132 . Recuperado em 10 de junho de 2012 .
  14. ^ a b { T'joens, Yves; De Schrijver, Peter (dezembro de 2001). Extensão de reconfiguração de DHCP . IETF . doi : 10.17487 / RFC3203 . RFC 3203 . Recuperado em 13 de novembro de 2020 .
  15. ^ a b c d e { Ferido, Rico; Kinnear, Kim (fevereiro de 2006). Extensão de reconfiguração de DHCP . IETF . doi : 10.17487 / RFC4388 . RFC 4388 . Recuperado em 13 de novembro de 2020 .
  16. ^ a b c { Kinnear, Kim; Stapp, Mark; Rao, DTV Ramakrishna; Joshi, Bharat; Russell, Neil; Kurapati, Pavan; Volz, Bernie (abril de 2013). Extensão de reconfiguração de DHCP . IETF . doi : 10.17487 / RFC6926 . RFC 6926 . Recuperado em 13 de novembro de 2020 .
  17. ^ a b c d { Kinnear, Kim; Stapp, Mark; Volz, Bernie; Russell, Neil (dezembro de 2015). Extensão de reconfiguração de DHCP . IETF . doi : 10.17487 / RFC7724 . RFC 7724 . Recuperado em 13 de novembro de 2020 .
  18. ^ a b c d Patrick, Michael (janeiro de 2001). "Opção de informação do agente de retransmissão DHCP" . Documentos IETF . IETF . doi : 10.17487 / RFC3046 . Retirado em 22 de julho de 2017 .
  19. ^ a b c Provan, Don (novembro de 1997). "RFC 2241 - Opções de DHCP para serviços de diretório Novell" . Documentos IETF . IETF . doi : 10.17487 / RFC3256 . Retirado em 23 de julho de 2017 .
  20. ^ a b Lear, E .; Eggert, P. (abril de 2007). "Opções de fuso horário para DHCP" . Documentos IETF . IETF . Página visitada em 28 de junho de 2018 .
  21. ^ Kumari, Warren. "RFC 8910 - Identificação de portal cativo em anúncios de DHCP e roteadores (RAs)" . ietf.org . IETF . Página visitada em 25 de março de 2021 .
  22. ^ Bernard, Aboba; Stuart, Cheshire (novembro de 2002). "RFC 3397 - Opção de pesquisa de domínio do protocolo de configuração dinâmica de hosts (DHCP)" . Documentos IETF . IETF . doi : 10.17487 / RFC3397 . Retirado em 22 de julho de 2017 .
  23. ^ RFC 3442
  24. ^ a b c Hankins, David. "RFC 5071 - Opções de protocolo de configuração dinâmica de host usadas por PXELINUX" . ietf.org . IETF . Página visitada em 25 de março de 2021 .
  25. ^ Doug, Jones; Rich, Woundy (abril de 2002). "RFC 3256 - Subopção de informações do agente de retransmissão da classe de dispositivo DOCSIS (especificações de interface de serviço de dados por cabo)" . Documentos IETF . IETF . doi : 10.17487 / RFC3256 . Retirado em 23 de julho de 2017 .
  26. ^ Droms, Ralph; Kinnear, Kim; Stapp, Mark; Volz, Bernie; Gonczi, Steve; Rabil, Greg; Dooley, Michael; Kapur, Arun (março de 2003). Protocolo de failover de DHCP . IETF . ID draft-ietf-dhc-failover-12 . Recuperado em 9 de maio de 2010 .
  27. ^ Weinberg, Neal (14/08/2018). "Porque os dias do DHCP podem estar contados" . Network World . Página visitada em 07/08/2019 .
  28. ^ a b Patrick, Michael (janeiro de 2001). "RFC 3046 - Opção de informações do agente de retransmissão DHCP" . Grupo de Trabalho de Rede .
  29. ^ a b c d Droms, Ralph (março de 1997). "RFC 2131 - Protocolo de configuração dinâmica de hosts" . Grupo de Trabalho de Rede .
  30. ^ a b c Stapko, Timothy (2011). Segurança Embutida Prática: Construindo Sistemas Seguros com Restrição de Recursos . Newnes. p. 39. ISBN 978-0-08-055131-9.
  31. ^ Rountree, Derrick (2013). Segurança de rede do Windows 2012 Server: protegendo os sistemas e a infraestrutura de rede do Windows . Newnes. p. 22. ISBN 978-1-59749-965-1.
  32. ^ Rooney, Timothy (2010). Introdução ao gerenciamento de endereço IP . John Wiley & Sons. p. 180. ISBN 978-1-118-07380-3.
  33. ^ a b Golovanov (Kaspersky Labs), Sergey (junho de 2011). O "carregador TDSS agora tem" pernas " " .
  34. ^ Sunny, Akash K (outubro de 2015). "protocolo dhcp e suas vulnerabilidades" .
  35. ^ Hens, Francisco J .; Caballero, José M. (2008). Triple Play: Construindo a rede convergente para IP, VoIP e IPTV . John Wiley & Sons. p. 239. ISBN 978-0-470-75439-9.
  36. ^ Ramirez, David H. (2008). Segurança de IPTV: protegendo conteúdos digitais de alto valor . John Wiley & Sons. p. 55. ISBN 978-0-470-72719-5.
  37. ^ Lemon, Ted (abril de 2002). "Implementação da RFC 3118" .
  38. ^ Dourado, Philip; Dedieu, Hervé; Jacobsen, Krista S. (2007). Implementação e Aplicações da Tecnologia DSL . Taylor e Francis. p. 484. ISBN 978-1-4200-1307-8.
  39. ^ Rooney, Timothy (2010). Introdução ao gerenciamento de endereço IP . John Wiley & Sons. pp. 181–182. ISBN 978-1-118-07380-3.
  40. ^ Copeland, Rebecca (2008). Convergindo redes NGN Wireline e Mobile 3G com IMS . Taylor e Francis. pp. 142–143. ISBN 978-1-4200-1378-8.
  41. ^ Prasad, Ramjee; Mihovska, Albena (2009). Novos horizontes em comunicações móveis e sem fio: redes, serviços e aplicativos . 2 . Artech House. p. 339. ISBN 978-1-60783-970-5.
  42. ^ "Cópia arquivada" . Arquivado do original em 03/04/2015 . Página visitada em 2013-12-12 .CS1 maint: cópia arquivada como título ( link )

links externos

  • Mídia relacionada ao protocolo de configuração dinâmica de hosts (DHCP) no Wikimedia Commons

Que serviço de rede atribuir automaticamente endereços IP aos dispositivos na rede?

DHCP ou Dynamic Host Configuration Protocol é um protocolo ou serviço do padrão TCP/IP utilizado em rede de computadores que atribui um endereço IP (Internet Protocol) de forma automática a qualquer dispositivo conectado.

Quem distribui IP na rede?

Conforme já mencionado, seu endereço IP público é fornecido ao roteador pelo ISP. Normalmente, os ISPs possuem um amplo conjunto de endereços IP, o qual eles distribuem aos clientes. Seu endereço IP público é o endereço que todos os dispositivos fora da sua rede de Internet usarão pera reconhecer sua rede.

Qual é a função do protocolo DHCP?

A função principal do servidor DHCP é fornecer endereços IP a computadores, smartphones, tablets, impressoras de rede, IoT, entre outros dispositivos que conectam a uma rede.

O que é DHCP e DNS?

DNS é um sistema descentralizado. Enquanto o DHCP é um sistema centralizado. No DNS, com a ajuda do servidor DNS, os nomes de domínio são traduzidos em endereços IP e os endereços IP são traduzidos em nomes de domínio. Enquanto em DHCP, o servidor DHCP é usado para configurar os hosts mecanicamente.

Toplist

Última postagem

Tag