DHCP

DHCP 动态地址分配协议

工作过程:

  1. Client 发送 Dhcp discover(广播)包,请求IP地址
  2. Dhcp服务器发送 Dhcp offer,分配给Client一个有效的IP地址
  3. Client 发送 Dhcp request(广播),接收Dhcp服务器发送的IP地址
  4. Dhcp服务器发送Dhcp ack/nack,进行确定/失效

注意:
当Client租约期到了50%时,Client会发送Dhcp request单播续租
当Client租约期过了87.5%时,Client会发送Dhcp request广播续租
当Client租约期到了100%时,Client会发送Dhcp discover广播,重新获取IP地址.
DHCP discover第一个包如果没有收到回应,会以1秒、2秒、4秒、8秒作为间隔再次发送四次,如果还没有回应。Windows会分配169.254的特殊IP地址,之后每5分钟广播一次DHCP discover

实验拓扑

DHCP配置命令

# 接口地址池
dhcp enable
int gig 0/0/0
 ip add 192.168.1.254 24
 dhcp select interface
 dhcp server dns-list 192.168.1.254
 dhcp server excluded-ip-address 192.168.1.100 192.168.1.200  // 不参与自动分配的IP地址
 dhcp server lease [day day [hour hour [minute minute]] | unlimited]
 dhcp server static-bind ip-address 192.168.1.254 mac-address aabb.ccdd.eeff [description description]  //为指定Client分配固定IP地址
 quit
# 全局地址池
dhcp enable
ip pool test
 network 192.168.1.0 mask 255.255.255.0
 gateway-list 192.168.1.254
 dns-list 192.168.1.254
 lease [day day [hour hour [minute minute]] | unlimited]
 static-bind ip-address 192.168.1.254 mac-address aabb.ccdd.eeff [option-template template-name | description description]
 quit
int gig 0/0/1
 dhcp select global
 ip add 192.168.1.254 24

抓包查看

DHCP Relay

简介
DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。

DHCP Relay主要负责转发DHCP客户端与DHCP服务器之间的DHCP报文,所以DHCP Relay的报文格式只是把DHCP的报文部分字段做了相应的修改,报文格式没有发生变化。

DHCP Relay 两个主要字段

  • Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。
  • Giaddr(Gateway ip address):该字段表示第一个DHCP中继的IP地址(注意:不是地址池中定义的网关)。当客户端发出DHCP请求时,如果服务器和客户端不在同一个网络中,那么第一个DHCP中继在转发这个DHCP请求报文时会把自己的IP地址填入此字段。服务器会根据此字段来判断出网段地址,从而选择为用户分配地址的地址池。服务器还会根据此地址将响应报文发送给此DHCP中继,再由DHCP中继将此报文转发给客户端。若在到达DHCP服务器前经过了不止一个DHCP中继,那么第一个DHCP中继后的中继不会改变此字段,只是把Hops的数目加1。

实验拓扑
image

DHCP Relay配置命令

# 指定DHCP服务器IP地址
dhcp enable
int gig 0/0/1
 ip add 192.168.2.2 24
 dhcp select relay		// 开启接口的DHCP中继功能
 dhcp relay server-ip 192.168.2.1		// 配置DHCP服务器的IP地址
 quit
 
# 创建DHCP服务器组
dhcp server group test
 dhcp-server 192.168.2.1 [ip-address-index]		// 配置DHCP服务器成员
 quit
int gig 0/0/1
 dhcp select relay
 dhcp relay server-select test
 quit

抓包查看信息
image
R2查看信息
image

DHCP 报文格式

image
DHCP报文中个字段的含义:
image

posted @ 2022-10-01 10:59  未来的你!  阅读(99)  评论(0)    收藏  举报