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

相关推荐
星野川崎20642 分钟前
电商多店运维:云机24小时挂机频繁掉线、账号无故风控深度原因分析及解决方案
大数据·运维·服务器·云计算·电商
Logintern0944 分钟前
网络通讯协议—TCP/IP协议
网络·网络协议·tcp/ip
熊IT3 小时前
什么是原生住宅 IP?如何判断一个 IP 是否真正“原生”?
服务器·网络·tcp/ip
不灭的程序员阿澄3 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
Elastic 中国社区官方博客3 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
爱学习的小白柏4 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
艾伦_耶格宇4 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
SXkehuirongsheng4 小时前
APP开发定制和模板开发哪个更实用?
大数据·运维·人工智能
fb_123455 小时前
Linux三剑客超全精讲(grep+sed+awk)零基础入门|正则+实战面试题
linux·运维·服务器
HiDev_6 小时前
【非标自动化】2、认识元器件(节流阀)
运维·自动化