bootp:boot protocol(DHCP的前身)

     应用于早期的无盘工作站,由于早期硬盘很贵,所以网吧中都以此种形式提供操作系统。

     无盘客户端的网卡较复杂,在启动时会基于bootp协议向外请求IP地址。

     其特性是:当一个IP地址被分配给一个客户端时,就永久性的属于这个客户端,所以是半自动


DHCP:Dynamic Host Configuration Protocol

   由于bootp的特性也决定了其缺点,所以DHCP引入了租约的概念。

   使用udp报文:

   server:67/udp

   client:68/udp


IP申请步骤:

   由于4个步骤客户端一直没有IP,所以发出的都是广播信息。

   1、client发出"dhcp discover"到192.168.1.255

   2、server(所有能接到请求的服务器)给予客户端"dhcp offer"响应,也就是给予IP。

   3、client回送"dhcp request"给server信息,说我请求使用你的IP。

       (client会优先使用最快给予响应的server的IP,认为它离自己最近,

           而此时其他服务器也知道client没有使用它们提供的IP了)

   4、server发送"dhcp ack"给client,说我同意你使用这个IP地址了。


DHCP的续租:

   50%时:按照RFC规定就要求server续租。

   75%时:也就是剩余时间的50%时,继续要求续租。

   87.5%时:再次要求续租,如果仍然不成功,就会重新向192.168.1.255网络发出"dhcp discover"

     

DHCP地址保留:

   类似于bootp协议,在客户端每次申请时,都会得到同一个IP地址。

   但是这个IP地址不在DHCP的地址池中。


DHCP配置文件:

   RHEL5:/etc/dhcpd.conf

   RHEL6:/etc/dhcp/dhcpd.conf


配置文件详解:

   /etc/dhcp/dhcpd.conf

   options  全局选项,是每个subnet可以继承的属性,如不想继承,则可以再subnet自定义。

   options和subnet之外的内容,属于DHCP服务器自己的属性。

   subnet 192.1681.0 netmask 255.255.255.0 {

       range 192.168.1.100  192.168.1.200;   定义范围

       option routers 192.168.1.1;           定义网关

       option domain-name-servers 8.8.8.8;   定义DNS

   }   这里不同于DNS,不能使用分号

   host www {

       hadware ethernet 0:0:c0:5d:bd:95; 指定主机的MAC

       fixed-address 192.168.1.253;      指定主机的固定IP

   }


服务器端租约保存位置:

   /var/lib/dhcpd/dhcpd.leases


客户端测试获取IP的命令,会显示详细过程:

   dhcpclient  -d


获取IP时:

   RHEL5:从地址池的最大地址开始。

   RHEL6:从地址池的最小地址开始。