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

相关推荐
齐齐大魔王14 小时前
linux-僵死进程处理
linux·运维·服务器
其实防守也摸鱼18 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
.小小陈.18 小时前
Linux 线程概念与控制:从底层原理到实战应用
linux·运维·jvm
网络工程小王18 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing112518 小时前
各linux版本的包管理命令
linux·运维·服务器
Joseph Cooper18 小时前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维
S1998_1997111609•X19 小时前
论mysql国盾shell-sfa犯罪行为集团下的分项工程及反向注入原理尐深度纳米算法下的鐌檵鄐鉎行为
网络·数据库·网络协议·百度·开闭原则
比昨天多敲两行19 小时前
Linux基础开发工具(下)
linux·运维·服务器
AI精钢19 小时前
AI Agent 从上线到删库跑路始末
网络·人工智能·云原生·aigc
feng145620 小时前
OpenSREClaw - 故障复盘和变更评审双 Agent 案例
运维·人工智能