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、心得不限。根据实际情况书写。

相关推荐
HiDev_27 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
Urbano3 小时前
夹克与商务单西口袋工序自动化技改研究报告
运维·自动化
期待着20134 小时前
docker 安装 ,在centos7.9
运维·docker·容器
踏月的造梦星球5 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
MXsoft6185 小时前
平台化是智能运维发展的必然趋势吗?
运维