- DHCP的作用
DHCP服务器设置好可为网络中各主机配置的网络配置信息。网络中各主机开机后自动启动DHCP程序,从DHCP服务器请求自己的网络配置信息。
- DHCP的工作过程
看下例:
- DHCP客户进程使用的UDP端口号为68,服务器进程为67,都是熟知端口号
- DHCP客户上线后,没有IP地址,所以要发送一个DHCP发现报文,源IP地址为0.0.0.0,目的ip地址为255.255.255.255,因为主机不知道有多少DHCP服务器,所以发广播,DHCP发现报文,只需知道内部封装了事务ID和DHCP客户端的MAC地址。
- DHCP服务器收到DHCP发现报文后,根据MAC地址查自己的数据库,看是否有针对该MAC地址的配置信息,有,就按配好的来,没有,就用默认配置。构建并发送DHCP提供报文。封装该报文的IP数据报的源IP地址为DHCP服务器的IP地址,目的IP地址仍为广播地址,因为主机目前还没有IP地址
- 主机收到后,匹配DHCP提供报文中的事务ID。DHCP提供报文中还包括配置信息:
- 主机从DHCP提供报文中选择一个,一般选先到的,并向所选择的DHCP服务器发送DHCP请求报文。源地址仍为0.0.0.0,因为此时DHCP客户才从多个DHCP服务器中挑选一个作为自己的DHCP服务器,它首先要征得该服务器的同意,之后才能正式使用。目的IP地址仍为广播地址。这样不用单播告知DHCP服务器了。
- DHCP请求报文中有这些:
- 假如选择了服务器1提供的配置,DHCP服务器1给DHCP客户发送DHCP确认报文,封装该报文的IP数据报的源IP地址为服务器1的IP地址,目的地址为广播地址。
- DHCP客户收到确认报文后,就可以使用租用到的IP地址了。
- DHCP客户使用租用到的IP底之前,还要这样做:
- DHCP客户可提前终止租用IP地址,只需向DHCP服务器发送DHCP释放报文段。
- DHCP中继代理,主机和DHCP服务器不在一个网络中
这样就不用在每一个网络上都设置DHCP服务器。
- 在每一个网络上都设置一个DHCP服务器会使DHCP服务器的数量太多。因此现在是使每一个网络至少有一个DHCP中继代理(通常是一台路由器),它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁。