B模块 安全通信网络 第二门课IPv6与WLAN 02

今日目标

01 ICMPv6概述

02 ICMPv6报文类型

03 NDP概述

04 路由器发现

05 地址解析


1 ICMPv6概述

ICMPv6概述

  • ICMPv6
    √ ICMPv6是IPv6的基础协议之一
    √ 在IPv6报文头部中,NextHeader字段值为58则对应为ICMPv6报文
    √ ICMPv6报文的作用:提供错误报告,网络诊断、邻居发现
    √ ICMPv6控制着IPv6中的地址自动配置、地址解析、地址冲突检测、以及差错控制

ICMPv6报文格式

2 ICMPv6报文类型

# ICMPv6报文类型

  • ICMPv6报文分为两类:差错报文和信息报文

# ICMPv6信息报文应用

  • Ping基于ICMPv6信息报文实现
    ✓ EchoRequest: 用于发送到目标节点,以使目标节点立即发回一个EchoReply应答报文
    ✓ EchoRequest报文的Type字段值为128,Code字段的值为0
    ✓ EchoReply: 当收到一个EchoRequest报文时,ICMPv6会用EchoReply报文响应
    ✓ EchoReply报文的Type字段的值为129,Code字段的值为0

  • 第一步:配置接口IPv6地址抓包分析
bash 复制代码
[R1]ipv6
[R1jint g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1-GigabitEthernet0/0/0jipv6 address 2001:12:1 64
[R2]ipv6
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
[R2-GigabitEthernet0/0/0]ipv6 address 2001:12:2 64
  • 第二步:ping测试,抓包分析
bash 复制代码
PC1 ping ipv62001:12:2
抓包结果:
EchoRequest报文的Type字段值为128,Code字段的值为0
EchoReply报文的Type字段的值为129,Code字段的值为0

# ICMPv6其它常用报文

  • 邻居发现
    ✓ Type=133 路由器请求 (R outer S olicitation)
    ✓ Type=134 路由器公告 (R outer A dvertisement)
    ✓ Type=135 邻居请求 (N eighbor S olicitation)
    ✓ Type=136 邻居公告 (N eighbor Advertisement)

3 NDP概述

NDP概述

  • NDP:邻居发现协议的主要功能

NDP报文类型及功能

  • NDP使用以下几种ICMPv6报文:
    ✓ RS(Router Solicitation):路由器请求报文
    ✓ RA(Router Advertisement):路由器通告报文
    ✓ NS(Neighbor Solicitation):邻居请求报文
    ✓ NA(Neighbor Advertisement):邻居通告报文

IPv6组播MAC

  • 组播IPv6报文的目的IP为组播IPv6地址,目的MAC为组播MAC地址
    ✓ 组播MAC的前16bit为"33:33",是专门为IPv6组播预留的MAC地址前缀
    ✓ 后32bit从组播IPv6地址的后32bit直接映射而来。

被请求节点组播地址

  • 被请求节点组播地址
    ✓ 当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组
    ✓ 该地址主要用于邻居发现和地址重复检测功能,被请求节点组播地址的有效范围为本地链路范围

IPv6组播地址

  • FF01:

    √ 表示"接口本地",单个接口有效,仅用于Loopback通讯

    √ 这种类型的地址主要用于单个设备内部的通信

  • FF02:

    √ 表示"链路本地",组播数据仅在同一网络段的所有设备之间传输,不会被转发到其他网络段。

    √ 这是最常见的组播范围之一,常用于局域网内的多播通信

  • FF02::1:

    ✓ 名称:所有节点组播地址

    ✓ 作用:向同一链路上的所有IPv6设备发送数据包

    ✓ 应用场景:可以使用这个地址来广播消息,报文的目的地址为FF02::1,同一网络段内的所有设备都能接收到这个报文

  • FF02::2:

    ✓ 名称:所有路由器组播地址

    ✓ 作用:向同一链路上的所有IPv6路由器发送数据包

    ✓ 应用场景:用于和路由器之间的通信,报文的目的地址为FF02::2,同一网段内的所有的路由器都能接收到这个报文

4 路由器发现

路由器发现

  • 路由器发现
    √ 用于主机发现本地链路上的路由器,从而获取网络配置信息的过程
  • 路由器发现三大功能:
    √ 路由器发现:主机定位邻居路由器以及选择默认网关的过程
    √ 前缀发现:主机发现本地链路上IPv6前缀的过程,用于主机的地址自动配置
    √ 参数发现:主机发现操作参数的过程,如报文的跳数限制、地址配置方式等信息

路由器发现-使用的报文

  • RS路由器请求报文:
    √ 请求路由器通告:主机通过发送RS报文请求路由器立即发送RA报文
    √ 主机启动或连接到网络时,发送RS报文以快速获取网络配置信息
  • RA路由器通告报文
    √ 提供网络配置信息:路由器通过发送RA报文向主机提供网络配置信息,包括默认网关、
    前缀信息、DNS服务器等
    √ 定期发送:路由器会定期发送RA报文,以确保网络中的主机始终拥有最新的配置信息
    √ 响应RS报文:当路由器接收到RS报文时,会立即发送RA报文作为响应

路由发现-协议交互的两种情况:

  • 协议交互的两种情况:
    √ 主机发送RS触发路由器回应RA
    √ 路由器周期发送RA

路由器发现流程-主机请求触发

  • 主机请求触发
    ✓ 主机启动,向本地链路范围内所有的路由器发送RS报文
    ✓ 路由器响应RA报文
    ✓ 经过以上步骤,主机生成缺省路由,下一跳指向缺省路由器的链路本地地址

路由器发现流程 - 路由器周期性发送

  • 路由器周期性的发送
    ✓ 路由器周期性的发送RA报文
    ✓ RA发送间隔是随机值,最大间隔时间是600秒,最小间隔时间是200秒。
  • 对于定期发送的RA报文:
    ✓ Source Address:必须是发送接口的链路本地地址
    ✓ Destination Address:FF02::1

路由器发现流程

  • 路由器发现流程

  • 第一步:配置R1 抓包分析RS报文

bash 复制代码
[R1]ipv6
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1-GigabitEthernet0/0/0]ipv6 address auto global #自动生成IPv6全局地址功能
  • 第二步:配置R2 抓包分析RA报文
bash 复制代码
[R2]ipv6
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
[R2-GigabitEthernet0/0/0]ipv6 address auto link-local
[R2-GigabitEthernet0/0/0]undo ipv6 nd ra halt      #让接口发送RA消息
[R2-GigabitEthernet0/0/0]ipv6 address 2001:12::2 64

验证:

bash 复制代码
<R1>display ipv6 int g0/0/0

5 地址解析

地址解析

  • IPv6地址解析
    √ IPv6地址解析通过ICMPv6(NS和NA报文)来实现
  • 在三层完成地址解析优势:
    √ 地址解析在三层完成,不同的二层介质可以采用相同的地址解析协议
    √ 可以使用三层的安全机制避免地址解析攻击
    √ 使用组播方式发送请求报文,减少了二层网络的性能压力
  • NS邻居请求报文:
    √ 地址解析:主机通过发送NS报文请求目标设备的MAC地址
  • NA邻居通告报文
    √ 响应NS报文:收到NS报文后,会回应NA报文,提供MAC地址
    √ 主动通告:没有收到NS报文的情况下主动发送NA报文,例如在网络拓扑发生变化时

IPv6邻居状态表

  • 查看IPv6邻居状态表

IPv6地址解析

  • IPv6解析目的MAC地址

  • 第一步:配置接口IPv6地址

bash 复制代码
[R1]ipv6
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1-GigabitEthernet0/0/0]ipv6 address 2001:12::1 64
[R2]ipv6
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
[R2-GigabitEthernet0/0/0]ipv6 address 2001:12::2 64
  • 第二步:解析目的MAC地址、显示IPV6邻居表
bash 复制代码
[R1]ping ipv6 2001:12:2
[R1]display ipv6 neighbors
相关推荐
冬奇Lab4 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia3118 天前
VPN 与内网穿透
安全
Mr_愚人派9 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao10 天前
【无标题】
人工智能·安全
Alsn8610 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院10 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智10 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest10 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_10 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_9618451510 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博