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
相关推荐
2601_949499947 分钟前
芯瑞科技 DT‑1414完全兼容HFBR‑1414TZ光模块国产化优选方案深度解析(工程师视角)
运维·网络·人工智能·科技·光模块
XUEYUAN521213 分钟前
代理日志分析与监控:代理池健康状态巡检与分级告警体系搭建(运维实战)
运维·网络·网络协议·tcp/ip·算法·架构
论迹复利13 分钟前
蓝牙加密算法演进——E0 流密码到 AES-CCM 的迁移路径与安全对比
安全·加密·stack·bt
Fcy64814 分钟前
Linux下 Socket编程 —— UDP网络编程
linux·网络·udp
huanqiulianbo22 分钟前
瑞朗特防爆叉车及防爆AGV厂家攻克环保安全两难:高危作业场景迎来绿色合规新时代
安全
luiyarch22 分钟前
汽车电子ISO 26262功能安全系列(第23期):硬件架构指标——SPFM、LFM、PMHF的达标攻略
安全·汽车·硬件架构
酒神dnspup38 分钟前
服务器端口检测怎么做?用 DNSPup 核对开放端口、监听服务与暴露风险
网络·网络协议·http·ssl证书·http状态码·服务器端口
Acrellea1 小时前
光伏制氢站电气二次方案全拆解:从整流供电到智慧运维的完整闭环
安全·能源
2301_800895101 小时前
计算机组成原理保研面试题目整理---h
网络
IT大白鼠1 小时前
MSF模块架构深度解析——看懂渗透框架底层设计
安全·msf