相信大家都知道,为什么电脑一开机就能上网呢,为什么手机平板等终端设备连接wifi就能上网呢,什么都不用设置嘛?
其实不然,只是设备在出厂的时候已经默认设定为DHCP自动获取ip地址的客户端了。
DHCP(动态地址获取协议)
是一种动态的向Internet终端提供配置参数的协议。在终端提出申请之后,DHCP可以向终端提供IP地址、网关、DNS服务器地址等参数。
DHCP是Bootstrap协议的一种扩展,基于UDP协议,客户端的端口号是68,服务器的端口号是67。
DHCP的重要性
在大型网络中,如果每台终端的地址都是由不同的使用者来分配,那么就很容易出现地址相同的情况。在TCP/IP网络上,每台工作站在访问网络及其资源之前,都必须进行基本的网络配置,一些主要参数诸如IP地址,子网掩码,缺省网关,DNS等必不可少,还可能需要一些附加的信息如IP管理策略之类。在大型网络中,确保所有主机都拥有正确的配置是一件的相当困难的管理任务,尤其对于含有漫游用户和笔记本电脑的动态网络更是如此。经常有计算机从一个子网移到另一个子网以及从网络中移出。手动配置或重新配置数量巨大的计算机可能要花很长时间,而IP主机配置过程中的错误可能导致该主机无法与网络中的其他主机通信。因此,需要有一种机制来简化IP地址的配置,实现IP的集中式管理。而IETF(Internet网络工程师任务小组)设计的动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)正是这样一种机制。
采用DHCP的好处
减少错误
通过配置DHCP,把手工配置IP地址所导致的错误减少到最低程度,例如已分配的IP地址再次分配给另一设备所造成的地址冲突等将大大减少。
减少网络管理
TCP/IP配置是集中化和自动完成的,不需要网络管理员手工配置。网络管理员能集中定义全局和特定子网的TCP/IP配置信息。使用DHCP选项可以自动给客户机分配全部范围的附加TCP/IP配置值。客户机配置的地址变化必须经常更新,比如远程访问客户机经常到处移动,这样便于它在新的地点重新启动时,高效而又自动地进行配置。同时大部分路由器能转发DHCP配置请求,这就减少了在每个子网设置DHCP服务器的必要,除非有其它原因要这样做。
DHCP结构
DHCP采用客户机/服务器结构。DHCP服务器拥有一个IP地址池,当任何启用DHCP的客户机登录到网络时,可从它那里租借一个IP地址,不使用的IP地址就自动返回地址池,供再分配。
DHCP报文种类
DHCPDISCOVER —— 客户机广播发现可用的DHCP服务器
DHCPOFFER —— 服务器响应客户机的DHCPDISCOVER报文,并向客户机提供各种的配置参数
DHCPREQUEST ——
a)客户机向服务器申请地址及其他配置参数
b)客户机重新启动后确认原来的地址及其他配置参数的正确性
c)客户机向服务器申请延长地址及其他配置参数的使用期限
DHCPACK —— 服务器向客户机发送所需分配的地址及其他配置参数
DHCPNAK —— 服务器通知客户机,其申请的地址无效,或者已经超期
DHCPDECLINE —— 客户机通知服务器,其分配的地址已经被其他设备所使用
DHCPRELEASE —— 客户机放弃其所使用的地址
DHCPINFORM —— 客户机向服务器申请本地的配置参数(当客户机的地址已经被分配时使用)