DHCP(动态主机配置协议)可以帮助我们很多IT朋友省不少事。
大大减少了IT环境管理人员的工作量,也是我们最常使用的网络服务之一。
这里简单回顾一下,当我们面对一个作用域(针对一个广播域)的时候,DHCP的工作过程。
我们在DHCP服务器上抓到了DHCP全广播的工作过程从discover 到 ACK。
 
大家可以在上图中看到DHCP的租约过程:
1、MAC地址为0003FFE54AE5的客户机以广播的方式发送Discover请求IP;
2、LOCAL(DHCP服务器)以广播的形式发送Offer响应客户机;
3、MAC地址为0003FFE54AE5的客户机以广播的方式Request选择IP;
4、LOCAL(DHCP服务器)以广播形式发送ACK确认租约。
 
下面我们再来以数据包的形式图解一下DHCP中继代理的过程(可以理解为帮助客户机把广播以单播的形式传给DHCP服务器):
我的IP我做主--抓包图解DHCP中继代理_第1张图片
 
为了让大家理解的更加透彻,我们这里采用倒叙的方式来阐述:
 
首先,让我们来看看客户机上获取到的网络配置信息:
我的IP我做主--抓包图解DHCP中继代理_第2张图片
从上图中我们可以看到当前客户机client001:a MAC地址是0003FFE54AE5
                                                                                     b 获取到的IP是192.168.1.31/24
                                                                                     c DHCP服务器是192.168.0.2
 
第二步、我们在DHCP服务器上抓到了由DHCP中继代理转发过来的Discover到ACK的过程,大家会注意下图中源MAC地址和目标MAC地址,显然的单播过程。
a 由MAC为0003FFE04AE5的接口发送了一个Discover的单播给DHCP服务器;
b DHCP服务器又将Offer以单播的方式发送给了MAC地址为0003FFE04AE5的接口;
c 由MAC为0003FFE04AE5的接口又以单播的方式将Request返回给DHCP服务器;
d DHCP服务器又以单播方式回复ACK确认信息给MAC地址为0003FFE04AE5的接口。
附DHCP服务器MAC地址:
 
而这样一个单播的神奇过程是怎么形成的呢?
下面让我们去DHCP中继代理上去抓包揭开谜底:
第三步、确定刚刚DHCP服务器上收到的Discover包是从哪来的
我的IP我做主--抓包图解DHCP中继代理_第3张图片
大家可以从上图中看到向DHCP服务器发送单播的接口正式中继代理上的“本地连接2”,IP地址为192.168.0.1/24和DHCP服务器在同一个广播域的接口。
 
第四步、我们一起来看一下在中继代理上与客户机在同一广播域的网卡接口(本地连接2)上抓取到的数据包:
从上图中我们可以看到:
                                              a 客户机client001发送Discover广播给DHCP中继代理;
                                              b 由DHCP中继代理本机向客户机以单播的形式传递Offer;
                                              c 客户器client001发送Request广播给DHCP中继代理;
                                              d 由DHCP中继代理向客户机以单播形式传递ACK确认;
第五步、在DHCP中继代理与DHCP服务器相连的接口(本地连接)上抓到的数据包如下:
从图中可以看到:
                                a 由DHCP中继代理向0003FFE24AE5(DHCP服务器,第二步附图中可见。)发送了Discover的单播;
                                b DHCP服务器向DHCP中继代理发送了Offer的单播;
                                c  由DHCP中继代理向0003FFE24AE5(DHCP服务器)发送了Request的单播;
                                d  DHCP服务器向DHCP中继代理发送了ACK的单播;
 
 
ok,经过这么五步我们可以很清晰的看到DHCP中继代理的工作过程: 将客户机的DHCP广播请求(Discover和Request)以单播的形式传递给DHCP服务器,同时将DHCP服务器的响应(Offer和ACK)以单播的形式传递给客户机。