1. DHCP基本背景

1.1. 前言


2. DHCP协议

2.1. DHCP的介绍

DHCP:Dynamic Host Configure Protocol,动态主机配置协议

从BOOTP(bootstrap Protocol)协议发展而来

UDP封装,服务器=67,客户端=68

动态分配TCP/IP信息(IP地址、子网掩码、默认网关、DNS服务器等)

分配出去的信息是有租约的

2.2. DHCP系统组成


DHCP Client(客户端):通过DHCP协议请求获取IP地址等网络参数的设备

DHCP Server(服务器):能提供DHCP功能的服务器或网络设备

DHCP Relay(中继):负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备

关于BGP协议的文档我就分享到这里了,【点这里】 获得更多资料文档 往期教学视频,主要也是想给新手小白少走点弯路。

2.3. DHCP报文类型


2.4. DHCP的工作流程


2.4.1. 发现阶段

DHCP客户端发送DHCP Discover报文来发现DHCP服务器。由于客户端不知道DHCP服务器的地址IP地址,所以客户端以广播的方式发送DHCP Discover报文(目的IP为255.255.255.255),同一网段的所有DHCP服务器或中继都能收到此报文。


2.4.2. 提供阶段

位于同一网段的DHCP服务器都会接收到DHCP Discover报文,收到DHCP Discover的服务器会给 DHCP客户以单播形式发送DHCP Offer分配IP地

2.4.3. 选择阶段

因为DHCP Discover报文时广播方式发送的,如果同一网段内存在多个DHCP服务器,接收到DHCP Discover报文的服务器都会回应DHCP Offer报文,则DHCP客户端一般选择先收到的DHCP Offer报文,然后以广播的方式发送DHCP Request报文

以广播方式发送DHCP Request报文,是为了通知所有DHCP服务器,他将选择某个DHCP服务器提供的IP地址,其他DHCP服务器可以重新将曾经分配给客户端的IP地址分配个其他客户端

2.4.4. 确认阶段

当DHCP服务器收到DHCP客户端发送的DHCP Request报文后,DHCP服务器回应DHCP Ack报文,表示DHCP Request报文中请求的IP地址分配给客户端使用

2.5. DHCP租期

2.5.1. DHCP租期介绍

DHCP服务器采用动态分配机制给客户端分配IP地址时,分配出去的IP地址有租期限制。DHCP客户端向服务器申请地址时可以携带期望租期,服务器可以分配租期时把客户期望租期和地址池中的租期比较,分配其中一个较短的租期给客户端。租期时间到后服务器会收回该IP地址,收回的IP地址可以继续分配给其他客户端适用。这种机制可以提高IP地址的利用率,避免客户端下线后IP地址继续被占用。如果DHCP客户端希望继续使用该地址,就需要更新IP地址租期

2.5.2. DHCP租期跟新


当租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP Request报文请求更新的IP地址租期。

如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)

如果收到DHCP服务器回应的DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址

2.5.3. DHCP重绑定

当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP Request报文请求更新的IP地址租期。

如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)

如果收到DHCP服务器回应的DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址

2.5.4. 租期到期

如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP Discover报文请求新的IP地址

2.5.5. 租期设置建议

设置较短

增加网络负担

适用客户端较多

流动场所(机场、火车站、酒店、KTV、购物中心等)

设置较长

减轻网络负担

等待较长

固定场所(家庭、企业)

2.6. DHCP扩展

2.6.1. 地址释放

客户端在租期时间到之前,如果用户不想使用分配的IP地址(例如客户端网络位置需要变更),会触发DHCP客户端向DHCP服务器发送DHCP Release报文,通知DHCP服务器释放IP地址的租期。

DHCP服务器会保留这个DHCP客户端的配置信息,将IP地址列为曾经分配过的IP地址中,以便后续重新分配给该客户端或其他客户端

客户端可以通过发送DHCP Inform报文向服务器请求更新配置信息

2.6.2. DHCP地址重使用

DHCP客户端非首次接入网络时,可以重用曾经使用过的地址

1. 客户端广播发送包含前一次分配的IP地址的DHCP Request报文,报文中的Option 50(请求的IP地址选项)字段填入曾经使用过的IP地址

2. DHCP服务器收到DHCP Request报文后,根据DHCP Request报文携带的MAC地址来查找有没有相应的的租约记录,如果有则返回DHCP Ack,通知DHCP客户端继续使用这个IP地址。否则保持沉默,等待DHCP客户端重新发送DHCP Discover报文请求新的IP地址

2.6.3. 自动保留IP

APIPA

Aotumatic Private IP Addressing

如果Windows客户端无法从服务器租到IP地址

自动使用网络号为169.254.0.0/16的专用地址

仅供和相同处境的PC临时通讯

2.6.4. DHCP地址池

所分配地址的合集

接口地址池的优先级比全局地址池高

2.7. DHCP配置

2.7.1. 配置命令

1. 控制分配的地址范围

2. 防止和重要的设备冲突

2.7.2. 接口地址池


2.7.3. 全局地址池

关于BGP协议的文档我就分享到这里了,【点这里】 获得更多资料文档 往期教学视频,主要也是想给新手小白少走点弯路。


©著作权归作者所有:来自51CTO博客作者mb5fcf3d80e40fa的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux下使用Rinetd来实现端口转发
  2. 利用Dnsmasq部署DHCP服务
  3. vivado ram核同时读写疑问
  4. HCIA-子网划分
  5. 用cmd 命令更改Android(安卓)的默认虚拟机的地址的方法
  6. android sdk manager 快速下载sdk
  7. Android(安卓)RxHttp在实战中的运用
  8. 关于Android零基础学习的思考
  9. android DHCP流程

随机推荐

  1. MySQL+PHP配置 Windows系统IIS版(转)
  2. php分页代码的问题,显示了两个当前页码,求
  3. [轉]PHP官方网站,php官方论坛,中文函数手册
  4. 找不到go-pear。bat文件PHP 5.5 Windows
  5. 检索InnoDB组合密钥表的最后插入ID
  6. php 实现下载的方法
  7. 大文件从指定行开始读取
  8. 如何通过热门/上升的帖子订购
  9. mysql_query会自动执行,但不会在onClick时
  10. php写app接口并返回json数据