网络协议 -- DHCP

手动配置IP

1
2
3
4
5
6
7
# ifconfig - net-tools
$ sudo ifconfig eth1 172.16.36.131/24
$ sudo ifconfig eth1 up

# ip - iproute2
$ sudo ip addr add 172.16.36.131/24 dev eth1
$ sudo ip link set up eth1

DHCP

DHCP(Dynamic Host Configuration Protocol):动态主机配置协议

DHCP Discover

  1. 当一台新设备加入到一个网络时,只知道自己的Mac地址
  2. 使用IP地址0.0.0.0发送一个广播包,目的IP地址为255.255.255.255
  3. 广播包封装在UDP里,UDP封装在BOOTP里,其实DHCP是BOOTP的增强版

DHCP Offer

  1. 如果网络里配置了DHCP Server,只要Mac地址唯一,DHCP Server就会为新设备分配并保留一个IP地址
  2. DHCP Server仍然使用广播地址作为目标地址,因为此时新设备还没有自己的IP地址

DHCP Request

  1. 新设备会收到多个DHCP Server的Offer,选择最先到达的那个,并向网络发送一个DHCP Request广播包
  2. 告诉所有的DHCP Server,该新设备将接受哪一台DHCP Server的Offer
    • 告知其他DHCP Server撤销它们提供的Offer,以便提供给下一个新设备
  3. 此时还没有得到DHCP Server的确认,还是使用源IP地址0.0.0.0,目标IP地址255.255.255.255,进行广播

DHCP Ack

  1. 当DHCP Server接收到DHCP Request后,会广播返回一个DHCP Ack
  2. 把IP地址的合法租用信息和其他配置信息都放入该广播包,发送给新设备
0%