目录
了解DHCP服务
- DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)
- 由Internet工作任务小组设计开发专门
- 用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP的分配方式
自动分配:分配到一个IP地址后永久使用
手动分配:由DHCP服务器管理员专门指定IP地址
动态分配:使用完后释放该IP,供其它客户机使用
DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤
1、客户端在网络中搜索服务器
2、服务器向客户端响应服务
3、客户端向目标服务器发出服务请求
4、服务器向客户端提供服务
客户机请求IP地址(客户端发送DHCP Discover)
- 当一个DHCP客户机启动时,客户机还没IP地址,所以客户机要通过DHCP获取一个合法的地址
- 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
服务器响应(服务器向客户机响应DHCP服务)offer
- DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
- 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播─则DHCF Offer消息
客户机选择IP地址(request)
- DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
服务器确定租约(ack)
- DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
- 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
DHCP的原理
什么是DHCP?广播进行DHCP (Dymnamic Host Configuration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议,使用UDP的67和68端口。DHCP的前身是BooTP协议(BootstrapProtocol),BooTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BooTP更加复杂,功能更强大。(如果使用wireshark抓包过滤协议是用bootp而不是dhcp)。
避免IP地址冲突
当网络更改IP地址段时,不需要再重新配置每个用户的IP地址。提高了IP地址的利用率。方便客户端的配置。
为什么使用DHCP?
DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个 IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCP/IP 网络设置,降低了配置〔P地址的负担
典型的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)
更新租约
租期达到50% (T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP
ACK报文,则租期更新成功(即租期从0开始计算)﹔如果收到DHCcP NAK报文,则重新发送DRCcP DISCOVER报文请求新的IP地址。
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,
DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。
如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从O开始计算)﹔
如果收到DHCP NAK报文,则重新发送DECP DISCOVBR报文请求新的IP地址。
DHCP的配置
ensp设置
sw1
sysname sw1JN
#
undo info-center enable
#
vlan batch 10 20 100
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
dhcp enable
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface Vlanif10
ip address 192.168.10.2 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.163.10
#
interface Vlanif20
ip address 192.168.20.2 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.163.10
#
interface Vlanif100
ip address 192.168.163.2 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.163.10
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
sw2
sysname SW2JN
#
undo info-center enable
#
vlan batch 10 20 100
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
port link-type access
port default vlan 10
#
interface Ethernet0/0/3
port link-type access
port default vlan 20
#
interface Ethernet0/0/4
port link-type access
port default vlan 100
#
interface Ethernet0/0/5
port link-type access
port default vlan 100