IPv6 DAD和地址解析实验

实验目的

1、 观察并分析IPv6 DAD过程

2、 观察并分析IPv6地址解析过程

实验拓扑

实验步骤

1、观察并分析IPv6 DAD过程

在AR1的G0/0/0开启抓包。AR1的G0/0/0接口配置ipv6地址2012::1/64。在接口配置ipv6地址后,ipv6有一段称为Tentative生命期,在该阶段要进行DAD,即重复地址检测,确认没有其他设备在使用该地址,该地址才能正常用于数据通信。

通过抓包可以发现有两个NS报文,这是因为除了手动配置的2012::1/64地址外,接口还通过EUI-64规范自动生成了一个link-local地址。下面以手工配置的2012::1/64来分析DAD过程。

Cisco设备上如果接口发出DAD的NS报文,在1S后未收到NA报文的话,接口会主动再发送一个Solicited bit=0的NA报文,然后该地址即进入正式可用的状态。华为设备在发出NS报文后如果没有收到NA报文,不再主动发送NA报文,在经过Tentative阶段后(具体时间未知)即进入正式可用阶段。

如果其他设备(这里就以R2为例)在收到该NS报文后,发现2012::1/12是自身的一个Tentative地址,则R2放弃使用该地址,并且不会发送NA报文。

如果R2收到NS报文后,发现发现2012::1/12是自身正常使用的一个地址,那么R2会向All-Nodes组播组发送一个NA报文,该报文中Target Address为2012::1/64,这样R1收到该NS报文后就放弃使用该地址。

此处在R2的G0/0/0接口配置IPv6地址2012::1/64。

通过抓包可以发现R1主动(solicited bit=0)回复了NA报文,这样R2在收到该报文后就放弃使用该地址。

2、观察并分析IPv6地址解析过程

在ipv4环境下使用arp来请求对方的二层地址,在ipv6环境下使用邻居发现中的地址解析来请求对方的二层地址,并且一次请求双方即可同时学习到对方的二层地址。用于地址解析NS和NA报文属于三层报文,不同的二层介质可以采用相同的地址解析协议,并可以使用三层的安全机制(例如IPSec)避免地址解析攻击。 IPv6使用组播方式发送请求报文,减少了二层网络的性能压力。

修改R2的ip为2012::2/64,在R1上ping R2,同时在R1的G0/0/0开启抓包。

R1在ping前首先通过NS报文请求R2的二层地址:

R2收到NS报文后,解封装通过Target Address字段发送时请求自己的MAC地址,于是回用NA报文。

R1正确得到R2的链路层地址后即可进行正常的通信,后续的ping成功。

在R1上查看IPv6的邻居状态:

对于链路本地地址也是通过地址解析过程得到对应的链路层地址:

至此R1和R2通过一次地址解析相互学习到了对方的链路层地址。

实验心得

1、 实验的难点是哪里?

2、 实验过程中遇到了什么问题,如何解决的。是什么原因造成的。

3、 通过实验是否验证了理论所学?是否纠正了之前的理解。

4、心得不限。根据实际情况书写。

相关推荐
TsengOnce33 分钟前
Docker 安装 禅道-21.2版本-外部数据库模式
运维·docker·容器
永卿0011 小时前
nginx学习总结(不包含安装过程)
运维·nginx·负载均衡
Stark、1 小时前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端
vortex51 小时前
Burp与其他安全工具联动及代理设置教程
网络·安全
人类群星闪耀时1 小时前
大模型技术优化负载均衡:AI驱动的智能化运维
运维·人工智能·负载均衡
xserver22 小时前
ensp 基于端口安全的财务部网络组建
网络·安全
新时代农民工--小明2 小时前
前端自动化部署更新,自动化打包部署
运维·前端·自动化
一个不秃头的 程序员3 小时前
服务器上加入SFTP------(小白篇 1)
运维·服务器
fnd_LN3 小时前
Linux文件目录 --- 复制命令CP、递归复制目录、软连接、硬链接
linux·运维·服务器
MorleyOlsen3 小时前
【Trick】解决服务器cuda报错——RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
运维·服务器·深度学习