ND Snooping
项目背景
在IPv6网络中,网络节点使用ND协议进行路由器发现与自动配置,重复地址探测,链路层地址解析,邻居可达性探测,链路层地址改变通告和路由重定向等操作。
由于ND协议缺乏内在的安全性,因此其面临地址解析攻击和路由信息攻击问题,而通过部署外在的加密认证体系来增加安全性又很复杂。IPv6使用ND协议实现的无状态地址自动配置机制在带来更易用的网络的时,使得无法对网络用户进行有效的监管。
为了解决上述问题,提出ND snooping技术,监听ND协议的DAD交互过程,获取用户的IP、MAC、Port的对应关系,并建立可信任的IP、MAC、Port绑定表项。通过监听网络中的ND报文,过滤非法的地址解析报文和路由信息报文。
目标
通过监听ND协议的DAD交互过程,获取用户的IP、MAC、Port的对应关系,建立信任绑定表项,对端口接入报文进行合法性检测,放行匹配绑定的报文,丢弃不匹配的报文,以达到对直连链路IPv6节点准入控制的目的。
数据描述
表项信息
ND Snooping模块需要维护信任绑定信息表,port、MAC、IP和VID绑定表,用来过滤监听到的ND报文。还有一个接口信任表项,用来标记某一接口是否为可信任接口。还有一张前缀信息维护表,用来记录可用的前缀信息和前缀信息管理。
接口表:
表项字段 | 意义 |
---|---|
接口号 | 设备的接口 |
是否可信任接口 | 标记接口是否可信 |
最大绑定数目 | 设置接口最大绑定数 |
绑定数目计数器 | 绑定计数 |
是否开启ND Snooping使能 | 判断是否对该接口开启ND Snooping使能 |
安全绑定表(white list):
表项字段 | 意义 |
---|---|
链路本地Ipv6地址 | 节点的链路本地Ipv6地址 |
全球单播Ipv6地址 | 全球单播Ipv6地址 |
MAC地址 | 节点的MAC地址 |
基于VLAN的VID | 开启VLAN使能的ID |
所属端口 |