DHCP Snooping是什么?这个问题可能很多朋友不是很清楚。那么这里我们就来简单讲解一下这个问题吧。DHCP Pnooping就是 DHCP 窥探,通过对 Client 和服务器之间的 DHCP 交互报文进行窥探,实现对用户的监控,同时 DHCP Snooping起到一个 DHCP 报文过滤的功能,通过合理的配置实现对非法服务器的过滤。

下边对 DHCP Snooping内使用到的一些术语及功能进行一些解释:

DHCP Snooping TRUST 口:由于 DHCP 获取 IP的交互报文是使用广播的形式,从而存在着非法服务器影响用户正常 IP 的获取,更有甚者通过非法服务器欺骗窃取用户信息的现象,为了防止非法服务器的问题,DHCP nooping 把端口分为两种类型, TRUST口和UNTRUST口,设备只转发TRUST口收到的DHCP Reply报文,而丢弃所有来自UNTRUST口DHCP Reply报文,这样我们把合法的DHCP Server 连接的端口设置为 TURST 口,其他口设置为 UNTRUST 口,就可以实现对非法 DHCP Server 的屏蔽。

DHCP Snooping绑定数据库:

在 DHCP 环境的网络里经常会出现用户私自设置IP 地址的问题,用户私设 IP 地址不但使网络难以维护,并且会导致一些合法的使用 DHCP 获取 IP 的用户因为冲突而无法正常使用网络, DHCP Snooping通过窥探 Client 和 Server 之间交互的报文,把用户获取到的 IP信息以及用户 MAC、VID、PORT、租约时间等信息组成一个用户记录表项,从而形成一个 DHCP Snooping 的用户数据库,配合 ARP检测功能的使用,从而达到控制用户上网的目的。

通过以上内容,我们对DHCP Snooping是什么,有了简单的认识,DHCP Snooping 就是通过对经过设备的 DHCP 报文进行合法性检查,丢弃不合法的 DHCP 报文,并记录用户信息生成 DHCP Snooping 绑定数据库供 ARP 检测查询使用。以下几种类型的报文被认为是非法的 DHCP 报文:

1. UNTRUST 口收到的 DHCP reply 报文,包括 DHCPACK、DHCPNACK、DHCPOFFER 等。

2. 打开 mac 校验时,源 MAC 与 DHCP 报文携带的 DHCP Client 字段值分别为不同的报文。

3. 用户的信息存在于 DHCP Snooping 绑定数据库中,但是端口信息与设备保存在DHCP绑定数据库中的信息中的端口信息不一致的DHCPRELEASE报文。

DHCP Snooping和ARP探测的关系

在了解了DHCP Snooping是什么,以及一些设备的内容,我们再来谈谈它和ARP探测的关系。ARP 探测就是对经过设备的所有 ARP 报文进行检查, DHCP Snooping需要提供数据库信息供 ARP 探测使用,在开启 DAI 功能的设备上,当收到 ARP报文时,DAI 模块就根据报文查询 DHCP snooping的绑定数据库,只有当收到得 ARP 报文得 mac、ip 和端口信息都匹配时才认为收到的 ARP 报文是合法的,才进行相关的学习和转发操作,否则丢弃该报文。