DHCP的原理于配置
一、DHCP服务概述
1、DHCP(Dynamic Host Configuration Protocol)动态主机配置协议DHCP 是由 Internet 工作任务小组设计开发的,专门用于为 TCP/IP 网络中的计算机自动分配 TCP/IP 参数的协议。
使用 DHCP 可以减少管理员的工作量,避免 IP 地址冲突,当网络更改 IP 地址网段时不
需要再重新配置每个用户的 IP 地址,提高了 IP 地址的利用率,方便客户端的配置。
DHCP用的是udp协议 67端口号
作为DHCP服务器来说 一定是一个静态的ip地址
2、可分配的地址信息主要包括:
网卡的 IP 地址、子网掩码、对应的网络地址、广播地址、默认网关地址、DNS 服务器
地址等。
3、DHCP 的分配方式
- 自动分配:分配到一个 IP 地址后永久使用
- 手动分配:由 DHCP 服务器管理员专门指定 IP 地址
- 动态分配:使用完后释放该 IP,供其他客户机使用
4、DHCP 的租约过程
-
客户机从 DHCP 服务器获取 IP 地址的过程称为 DHCP 的租约过程。
-
租约过程分为四个步骤:
- 客户机请求 IP(客户机发 DHCP Discover 广播包)
当一个 DHCP 客户机启动时,客户机还没有 IP 地址,所以客户机需要通过 DHCP获取一个合法的地址。此时 DHCP 客户机以广播方式(因为 DHCP 服务器的 IP 地址对客户机来说是未知的)发送 DHCP Discover 发现信息来寻找 DHCP 服务器。广播信息中包含 DHCP 客户机的 MAC 地址和计算机名,以便 DHCP 服务器确定是哪个客 户机发送的请求。
- 服务器响应(服务器发 DHCP Offer 广播包)
当 DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给客户机,如果有,DHCP 服务器就会将此 IP 地址做上标记,加入到 DHCP Offer 的消息中,然后 DHCP 服务器就广播一则包含下 列信息的 DHCP Offer 消息:DHCP 客户机的 MAC 地址、DHCP 服务器提供的合法 IP 地址、子网掩码、默认网关、租约的期限、DHCP 服务器的 IP 地址。
- 客户机选择 IP(客户机发 DHCP Request 广播包)
DHCP 客户机从接收到的第一个 DHCP Offer 消息中提取 IP 地址,发出 IP 地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机。 当客户机从第一个 DHCP 服务器接收到 DHCP Offer 消息并提取了 IP 地址后,客户 机将 DHCP Request 消息广播到所有的 DHCP 服务器,表面它接收提供的内容。DHCP Request 消息包括为客户机提供 IP 配置的服务器的服务标识符(服务器 IP地址)。 DHCP 服务器查看服务器标识符字段,以确定提供的 IP 是否被接受,如果 DHCPOffer 被拒绝,则 DHCP 服务器取消并保留其 IP 地址以提供给下一个 IP 租约的的请求。
- 服务器确定租约(服务器发 DHCP ACK 广播包)DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包括含有 IP 地址的有效租约和其他可配置的信息。当客户 机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。
- 客户机请求 IP(客户机发 DHCP Discover 广播包)
-
重新登录
DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息。当 DHCP 服务器接收到这一信息后,它会尝试让 DHCP 客户机继续使用原来的 IP 地址,并回答一个 DHCP ACK 确认信息。
如果此 IP 地址已无法再分配给原来的 DHCP 客户机使用(如 IP 地址已经分配给其他的 DHCP 客户机使用),DHCP 服务器给 DHCP 客户机回答一个 DHCP Nack 否认信息。当原来的 DHCP 客户机接收到此 DHCP Nack 否认信息后,它就必须重新发送 DHCPDiscover 发现信息来请求信的 IP 地址。
-
更新租约
当 DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约。若此时 DHCP服务器无法正常回复 DHCP 客户机的请求,客户机的此 IP 地址可以继续使用到最大租约时间的 87.5%。
基础知识讲完了 接下来就是在linux中DHCP的安装与配置