应用层之DHCP(动态主机分配协议)
-
定义:由于网络中主机的大大增加,人工分配IP地址已远远不能满足网络中环境的需求,各种移动设备的增加已增加了IP的分配难度,因此产生了DHCP
-
优缺点:
优点:
– 通过IP地址租期管理,提高IP地址的使用效率
– 减少客户机的配置复杂度,降低维护成本
– 减少手工配置IP导致的错误
–集中管理,减少网络管理的工作量
缺点:不能跨网段分配 -
DHCP的IP分配方式
-
动态分配,DHCP服务器自动分配,租期到期必须重新申请
-
手动分配,根据需求为某些特定的主机(如DNS服务器,打印机等)分配固定的IP,不会过期
-
自动分配,为连接盗网络中某些主机分配IP地址,该地址将长期由某主机使用
- 工作原理
阶段 | 报文 | 过程 | 源IP | 目的IP |
---|---|---|---|---|
发现阶段 | 发现报文 | 客户端启动DHCP服务,向网络中广播DHEP Discover报文,寻找服务器,并请求一个IP地址 | 0.0.0.0 | 255.255.255.255(不知道网络中服务器的IP) |
提供阶段 | 提供报文 | 服务器根据Discover报文中MAC地址来查找自己的数据库是否有针对该MAC地址的配置信息,有:使用这些信息来构建提供报文(DHCP Offer),没有:使用默认配置来构建DHCP Offer报文 | 服务器IP | 255.255.255.255(客户端没有IP) |
选择阶段 | 请求报文 | 客户端接收后,会发送ARP报文来确定此IP是否已经被占用,被占用:向服务器发送DHCP Decline(谢绝报文),并且从头开始发送DHCP Discover报文,未被占用:使用这些配置信息;(客户端会回复第一个收到的DHCP Offer报文) | 0.0.0.0 | 255.255.255.255(向所有网络中服务器通告使用了哪个服务器提供的IP) |
确认阶段 | 确认报文 | DHCP服务器收到Request报文后,回复DHCP Ack(确认报文),同意客户端使用该IP | 服务器IP | 255.255.255.255(客户端要收到此报文后才能正式使用提供的IP) |
-
DHCP租期
DHCP提供租期服务,一个IP租期到期后会自动停止使用,续租则是IP可长时间使用当租期到达50%时,客户端向服务器发送续租请求,服务器有三种情况,1,同意该请求,发送ack确认报文,租约时间更新;2,因某原因不能继续使用该IP,不同意,发送NAK拒绝报文,客户端立即停止使用;3,因某种原因,未作理会(未收到请求,或其他原因) 当租期到达87.5%时,客户端继续向服务器发送续租请求,服务器同样有三种情况,同上,不做赘述 当租期到达100%时,客户端无权使用该IP,应立即停止使用该IP 值得注意的时,在整个租期期间,客户端有权主动停止对该IP的使用,并向服务器广播DHCP Release报文向全网通告
-
DHCP中继器
1)为什么使用DHCP中继器? 在多个网段使用一台DHCP服务器可以节省资源,当几个不同网段中的主机共享一个DHCP服务器时,主机发送的请求报文不会跨网段传输给服务器,而会被路由器丢弃,这时候就需要开启路由器的DHCP 中继器功能功能,以保证请求成功 2)工作过程 将路由器的中继代理功能开启,并将DHCP服务器的IP告诉路由器 当路由器收到来自主机与DHCP 服务器之间的交流报文时,路由器会将报文处理,构建一条目的IP为DHCP服务器的报文,并以单播的形式发送给服务器,同理其他报文相同 为防止DHCP报文形成环路,抛弃报文头中hops字段的值大于限定跳数的DHCP请求报文,每经过一次DHCP中继,hops字段增加1。 路由器转发时将其中代理IP改成自己的IP,DHCP服务器根据这点来区分不同网段,并从不同网段的地址池分配IP,路由器到服务器=>单播,路由器到客户端=>广播
-
服务端口
客户端采用UDP 68端口,服务器采用UDP 67端口
当加入中继器后,中继器为UDP 67端口,