文章目录
DHCP工作原理
什么是DHCP
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议,使用UDP的67和68端口。
DHCP的前身是BOOTP协议,BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代,DHCP比BOOTP更加复杂,功能更强大(如果使用wireshark抓包过滤协议是BOOTP而不是DHCP)
网络工程师任务小组组织规定,用来简化主机地址分配管理,主要分配以下入网参数:
- IP地址/子网掩码/广播地址
- 默认网关地址、DNS服务器地址
- PXE引导设置(TFTP服务器地址、引导文件名)
DCHP的好处
用于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的IP地址,不仅造成IP地址的浪费,也会为ISP服务商带来高额的维护成本。而使用DHCP服务有以下好处:
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
为什么使用DHCP
DHCP服务避免了因手动设置IP地址所产生的错误,同时避免了把一个IP地址分配给多个工作站从而造成地址的冲突。DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。
DHCP的模式
典型的C/S模式:在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址);其他主机作为DHCP的客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程。
DHCP是C/S模式,DHCP服务端和客户端需要保持通信,DHCP基于UDP协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。
Server服务:DHCP server(运行dhcp服务)
UDP服务:监听端口67(bootps)
Client端:DHCP Client(运行dhcp程序)
UDP服务:监听端口68(bootpc)
DHCP的分配方式
- 自动分配:当DHCP客户机第一次成功地从DHCP服务器获得一个IP地址后,就永久地使用这个IP地址
- 手动分配:由DHCP服务器管理员专门指定地IP地址:比如192.168.10.0段1-20是保留的。一个小组有5个成员,就把192.168.10.1-192.168.10.5分配给这个小组。
- 动态分配:当DHCP客户机第一次从DHCP服务器获取到IP地址后,并非永久地使用该地址,而是每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用
DHCP工作原理
DHCP工作原理:广播进行、先到先得、一个网络中只能有一个DHCP
分为四个步骤
四次会话
- 客户机请求IP地址
1.客户机请求IP地址当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法地址。此时DHCP客户机以广播方式发送一个DHCP Discover发现信息来寻找DHCP服务器。
- 服务器响应
2.服务器响应 当 DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中 查找是否有合法的 IP 地址提供给客户机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到 DHCP Offer 的消息中,然后 DHCP 服务器就广播一则 DHCP Offer 消息 。
- 客户机选择IP地址
3.DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能分配给另一个DHCP客户机。
- 服务器确定租约
4.服务器选择租约DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化。
- 重新登录
DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息。
- 更新租约
租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP Request报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址。
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP Request报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP Discover报文请求新的IP地址。
租约过程就相当于租房过程
租房子找中介,中介会要你的详细信息,有合适房源会联系你去看房子,你去看了很满意,回去后确认后,找中介签订租赁合同,签好合同后,中介同意搬房。
使用DHCP动态配置主机地址
DHCP服务
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括
- 网卡的IP地址,子网掩码吗
- 对应的网络地址、广播地址
- 默认网关地址
- DNS服务器地址
安装DHCP服务器并测试
实验配置步骤
- yum安装DHCP服务
- 配置DHCP配置文件
- 启动服务
- 查看端口
- 验证服务
配置完成后客户端验证:
ipconfig /release
ipconfig /renew
dhcp默认日志记录在/var/log/messages
验证并且查看
在服务器端可以通过查看租约文件/var/lib/dhcpd/dhcpd.leases来了解服务器的 IP 地址分配情况,具体操作如下:
该租约文件中记录了分配出去的每个 IP 地址信息(租约记录), 包括 IP 地址、客户端的 MAC 地址、租用的起始时间和结束时间等
该文件初始为空,且无需管理员手工配置,但管理员可以浏览此文件查看DHCP服务器的运行情况
文件包含租期声明,每次一个租期被获取,更新或释放,它的新值就被记录到文件的末尾
使用DHCP实现不同网段获取地址
问题
同网段可以通过广播消息来通信,来可以查找主机,那不同网段呢,不同网段不能广播吧,这个时候是不是可以使用DHCP中继这个服务吧,也就是使用中继的技术,你们之前是不是使用过华为的中继啊 你配一个路由器或者配一个三层交换,然后呢,可以做个DHCP中继指向哪里 指向DHCP服务器 不就是能完成获取DHCP服务吗,就算不在同一网段我通过中继服务器转发不就可以了吗
分析DHCP
DHCP中继原理
当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是 在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使 用广播,而 VLAN 能隔离广播。
两种发放可以解决
为每个网段安装一台 DHCP 服务器,但这种方式的弊端是:资源浪费与不利于管理;
在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN 之间转发,让其他 VLAN 的客户机也能从 DHCP 服务器获取 IP 地址
实验配置
利用三层交换机作为不同vlan之间的dhcp中继
ensp里用云朵绑定vmnet网卡实现与linux的dhcp服务器通信(linux服务器使用仅主机模式)