DHCP(动态主机配置协议)是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,允许 IP 网络上的个体设备从 DHCP 服务器中获取它们自己的网络配置信息(IP 地址、子网掩码、广播地址等等)的协议。这些被分配的IP地址都是DHCP服务器预先保留的一个由多个地址组成的地址集,并且它们一般是一段连续的地址.
工作原理
Client以广播的方式发送一个DHCPDISCOVER包,在自己现有的网络服务器里面寻找DHCP服务器,这种包只有DHCP服务器会响应;DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包;DHCP客户端选择ip地址,如果有多台dhcp服务器向该客户端发来DHCPOffer 报文,客户端只接受第一个收到的 DHCP_Offer 报文,然后以广播的方式向各个DHCP服务器回应 DHCP_Request 报文,该信息中包含向选定DHCP服务器请求ip地址的内容;当DHCP服务器收到客户端回应的 DHCP_Request报文后,便向客户端发送包含它所提供的ip地址(DNS,租约时间,网关)和其他配置的 DHCP_ACK 确认报文。然后客户端将其TCP/IP协议组件与网卡绑定。
图1
客户端的有六种状态:
初始化状态(发送 discover报文之前)、选择状态(收到offer报文之后)、请求状态(发送request时)、绑定状态(收到ack)、更新状态、重绑定状态
客户端ip地址续租:当租约到了50%时,客户机向dhcp服务器发送单播,请求当前ip地址继续租用
如果不回应,会重复发送信息,最多三次,是在4、8、16秒的时候
当到87.5%的时候,客户机进入重绑定状态,客户机向现在所有可以使用的服务器发送REUQEST消息,请求继续续租当前ip
如果没有回应。客户机ip地址停止使用,重新进行四线回话获取ip地址
如果还是没有回应,则请用专用ip自动编制;生成一个169.254.0.0网段的ip,用于计算机间保障通讯
DHCP优点
DHCP使服务器能够动态地为网络中的其他服务器提供IP地址,通过使用DHCP,就可以不给Intranet网中除DHCP、DNS和WINS服务器外的任何服务器设置和维护静态IP地址。使用DHCP可以大大简化配置客户机的TCP/IP的工作,尤其是当某些TCP/IP参数改变时,如网络的大规模重建而引起的IP地址和子网掩码的更改。
案例1
图2
利用一台windowsxp系统的主机来动态获得ip地址,而服务器是使用redhat linux 5操作系统来作为dhcp服务器,
实验环境:client是windowsxp 系统支持tcp/ip协议server是redhat linux5 安装包:dhcp-3.0.5-21.el5.i386.rpm
实验前准备:windowsx主机要把ip地址释放 dhcp服务器的主机
步骤:
dhcp服务器需要安装dhcp-3.0.5-21.el5.i386.rpm
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/
cd /mnt/cdrom/Server/
rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
步骤:vim/etc/dhcpd.conf
图3
Service dhcpd start 启动dhcp
图4
图5
最后单击确定,即ip地址获得了.
我们可以通过查看dhcp服务器通过日志文件来查看ip地址获得的过程
tail –n–f/var/log/messages
grep dhcp/var/log.messages
vim /var/lib/dhcpd/dhcpd.leases dhcp 租约文件可以查看那些地址被分配出去
案例2
某公司利有400台windowsxp系统的主机来动态获得ip地址,而服务器是使用redhat linux 5操作系统来作为dhcp服务器,
实验环境:400台client是windowsxp 系统支持tcp/ip协议server是redhat linux5 安装包:dhcp-3.0.5-21.el5.i386.rpm
步骤:
dhcp服务器需要安装dhcp-3.0.5-21.el5.i386.rpm
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/
cd /mnt/cdrom/Server/
rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
步骤:vim/etc/dhcpd.conf
图6
Service dhcpd start 启动dhcp
依照上面方法在每台client服务其上面重新获得dhcp服务即可.