Isso é o que acontece quando você solicita um endereço IP:
# dhclient -v usb0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/usb0/9c:eb:e8:2c:46:66
Sending on LPF/usb0/9c:eb:e8:2c:46:66
Sending on Socket/fallback
DHCPDISCOVER on usb0 to 255.255.255.255 port 67 interval 3 (xid=0x663c9e23)
DHCPREQUEST of 192.168.11.91 on usb0 to 255.255.255.255 port 67 (xid=0x239e3c66)
DHCPOFFER of 192.168.11.91 from 192.168.11.1
DHCPACK of 192.168.11.91 from 192.168.11.1
bound to 192.168.11.91 -- renewal in 34984 seconds.
Isso acontece no Linux, para uma interface ethernet (chamada usb0
), mas a substância é a mesma para todos os SOs e todas as interfaces.
Apesar de não ser totalmente óbvio, a interface envia seu endereço MAC (o endereço único e universal que cada NIC possui), enquanto tenta descobrir se existe um servidor DHCP no cabo (ou nas ondas de rádio). , se estiver conectado a uma rede wifi).
Depois de receber uma resposta positiva, ele solicitará o endereço IP anterior (192.168.11.91, no caso acima). Isso é feito para minimizar o impacto de desconexões: alguns programas de rede, como openvpn
, mosh
e ssh
adequadamente configurados, são capazes de reconectar-se perfeitamente a seus servidores após uma desconexão local e de recuperar o O mesmo endereço da LAN contribuirá para tornar isso possível.
O servidor verifica se o endereço IP requerido está dentro do intervalo que ele tem para fazer o dishing dos endereços IP, se o endereço é obtido e, se for usado, se está alocado para o mesmo endereço MAC que está pedindo isto. Se a resposta à primeira pergunta for yes e a segunda for no , você poderá ter o endereço IP que solicitou. Mas você pode ter também se a resposta for sim para todas as três perguntas, como aconteceu comigo acima.