在以往的网络协议的学习中,我们发现一些参考资料都是将BOOTP协议以及DHCP协议和DHCP服务器相互结合来讲解的。那么DHCP和BOOTP有什么关系呢?BOOTP中继代理BOOTP(Bootstrap Protocol)中继代理是在DHCP服务器和DHCP客户端之间传送DHCP消息的因特网主机或路由器。设计BOOTP协议的目的是用作远程引导,主要是通知连接客户机引导文件的位置。
DHCP是BOOTP机制的一个扩展,这个特征意味着已经存在的BOOTP的客户端不用改变安装的软件就可以和DHCP服务器互用。RFC 1542详细描述了BOOTP、DHCP客户端和DHCP服务器之间的交互作用。DHCP与BOOTP中继代理与BOOTP协议一样,DHCP协议也是以客户机/服务器(client/server)模式工作的。利用该协议,DHCP客户机可以向DHCP服务器动态地请求配置信息,包括分配的IP地址、子网掩码、缺省网关等重要参数,而DHCP服务器也可以很方便地为其动态配置这些信息。DHCP提供了如何在TCP/IP网络上对主机进行设置的方案框架。DHCP继承于BOOTP,在其基础上添加了自动分配可重用网络地址和附加配置选项的功能。DHCP具有BOOTP的中继代理行为,DHCP的使用者和BOOTP的使用者可以进行交互操作。
DHCP的消息格式是基于BOOTP的消息格式的,以便具有中继代理的行为并且允许已经存在的BOOTP客户端和DHCP服务器有协作能力(互用性),使用BOOTP中继代理避免了在每一个物理网段都需要有一个DHCP服务器的情况。。DHCP定义了一种机制,通过这种机制,客户端可以分配到一个有一定租期的网络参数。并且考虑到了为不同客户端进行网络地址的连续地再分配。
DHCP提供了一种机制,通过允许客户端为了进行操作而获得所有IP配置的参数。DHCP原理介绍随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议DHCP(Dynamic Host Configuration Protocol)就是为了满足这些需求发展起来的。DHCP协议采用客户端/服务器(client/server)方式工作,DHCP client向DHCP server动态地请求配置信息,DHCP Server根据策略返回相应的配置信息(如IP地址等)在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和笔记本电脑)。
DHCP的IP地址分配
1、IP地址分配策略
对于IP地址的占用时间,不同客户端有不同的需求:对于服务器,可能需要长期使用固定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临时的IP地址即可。
手工分配地址:由管理员为少数特定客户端(如WWW服务器等)配置固定的IP地址。
自动分配地址:为***连接到网络的某些客户端分配固定的IP地址,该地址将长期由该用户端使用
动态分配地址:以租借的方式将某个地址分配给客户端,使用期限到期后,客户端需要重新申请地址。绝大多数客户端得到的就是这种动态分配的地址。
2、IP地址分配的优先次序
DHCP服务器按照如下次序为客户端选择除了forbidden-ip地址之外的地址:
DHCP服务器的地址池中与客户端MAC地址静态绑定的IP地址;
客户端以前曾经使用过的IP地址,即客户端发送的DHCP_Discover报文中请求IP地址选项(Requested IP Addr Option)的地址;
在DHCP地址池中,顺序查找可供分配的IP地址,***找到的IP地址;
如果未找到可用的IP地址,则依次查询超过租期、发生冲突的IP地址,如果找到则进行分配,否则报告错误
3、DHCP服务器地址池的类型
全局地址池:在本交换机内有效,是通过系统视图下的dhcp server ip-pool命令创建
VLAN接口地址池:在本VLAN接口内有效,是在为vlan接口配置了合法的单播IP地址,且在VLAN接口视图下使用dhcp select interface命令设置从vlan接口地址池分配IP地址后系统创建的,它的地址段范围就是此vlan接口所在的网段。
DHCP客户端与服务器的交互过程
DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:
1、DHCP客户端***登录网络
DHCP客户端***登录网络时,主要通过四个阶段与DHCP服务器建立联系。
发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP_Discover报文,只有DHCP服务器才会进行响应。
提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP_Offer报文。
选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP_Offer报文,客户端只接受***个收到的DHCP_Offer报文,然后以广播方式向各DHCP服务器回应DHCP_Request报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。
确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP_Request报文后,便向客户端发送包含它所提供的IP地址和其它设置的DHCP_ACK确认报文。然后,DHCP客户端将其TCP/IP协议组件与网卡绑定。