DHCP协议(动态主机配置协议)
是一个应用层的网络协议,指的是由服务器控制一段IP地址范围,客户机登录服务时就可以自动获得服务器分配的IP地址和子网掩码,当我们将客户主机IP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网
背景:1 终端上网需要有地址信息;2 地址信息可以手动配置;3 手动配置存在比较多的问题
作用目标:实现以动态的·方式给网络当中的主机配置IP地址及其上网必须的地址信息
DHCP作用以及特点
DHCP可以自动分配IP、子网掩码、网关、DNS
DHCP客户端使用的端口是88,服务端端口是67,使用的UDP应用层的协议
DHCP一般不为服务器分配IP,因为他们要使用固定的IP,所有一般只为办公环境的主机分配IP
DHCP服务器和客户端需要在一个局域网内,在位客户端分配IP的时候需要进行多次广播,但DHCP也可以为其网段内的主机分配IP,只要连接二个网段中间的路由器能转发DHCP配置请求即可,担着要求路由配置中继功能
DHCP服务器IP分配三种方式
自动分配方式,DHCP服务器为主机指定一个永久的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址
动态分配方式,DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或者主机明确表示放弃该地址时,该地址可以被其他主机使用
手工分配方式,客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机
DHCP协议工作流程
客户端首先会发起请求,寻找服务器获取IP地址
发现(discover):广播 发现网络中的DHCP服务器,并且报告自己的需要
提供(offer):单薄 服务器发现有用户想我请求IP地址信息,服务器会直接在地址池中选取IP地址进行响应,给定到客户端
请求(request):广播 以自己获取到的IP地址进行请求,确定这个IP地址是否给自己使用
确认(ack):单播 表名这个地址确实是给这个客户端使用的
DHCP续租
在使用租期过去50%时刻处,客户端向服务发送单播DHCP REQUEST吧报文续约租期
如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功,如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期过去87.5%时刻处,向服务器发送广播DHCP REQUEST报文续延租期。
如果收到服务器的DHCP ACK报文,则租期相应向前延长,续租成功。如果没有收到DHCP ACK报文,则客户端继续使用这个IP地址。在使用租期到期时,客户端自动放弃使用这个IP地址,并开始新的DHCP过程。
DHCP中继
DHCP的作用:可以实现在不同子网和物理网段之间处理和转发处理DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一物理网段,则客户机可以正确地获得动态分配的IP地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)
中继代理必须具有固定的IP地址,同时还保存有DHCP服务器的IP地址,因为中继代理已经拥有IP地址,所以可以直接向DHCP服务器发送数据包,或者接受来自DHCP服务器的数据包,由于中继代理与DHCP客户端位于相同的网络上,也就意味着它可以通过广播与DHCP客户端进行通信
中继代理会在UDP端口监听广播,当中继代理检测到DHCP请求时,就将这个请求转发给DHCP服务器,当代理收到DHCP服务器的响应时,就将响应在本地网段上广播
通常是通过路由器提供DHCP服务器的功能,在大多数网络中,这样都可以减少对DHCP中继代理的需求,在大型的网络中,可能会存在多个子网,DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址,但广播消息是不能跨越子网。因此,如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请IP地址呢?这就要用到DHCP中继代理,DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务。
如果存在多个网段,那么DHCP服务器如何区分不同的请求,从而为不同网段的PC分配不同的IP地址?
不同的网段内的DHCP请求广播报文被网关交换机的SVI接口接收到后,会对DHCP报文进行中继(单播方式发送给DHCP服务器),同时将本SVI地址填充在Relay agent IP address字段。DHCP服务器收到后将这个字段的IP地址与地址池网段进行匹配,如果匹配成功,则为该DHCP请求从该地址池中分配相应的IP地址