# 0. 作业要求

课程报告题目自己拟定,选题范围:IPv6、SDN 和 IP 多播。参考选题如下:

(1)在实际互联网环境或在模拟环境下设计并构建网络拓扑结构,访问 IPv6 网络,用 Wireshark 抓包分析,观察 IPv6 网络的访问过程,分析地址解析、无状态地址自动配置、IPv6/IPv4 共存访问等过程中的相关数据包。

(2)在 mininet 平台上构建网络拓扑结构,设计网络场景,抓包并分析控制器与 OF 交换机的交互报文,理解 SDN 技术和 OpenFlow 协议机制。也可以进一步对 RYU 进行 python 编程,结合 REST API 和 OpenFlow 实现一些应用,例如:负载均衡、防火墙功能等。

(3)华为 eNSP、Cisco Packet Tracer 模拟环境下,搭建网络拓扑结构,设计场景,通过抓包,分析 IGMP 和路由协议 PIM-DM/PIM-SIM/MSDP/MBGP 报文,理解 IGMP 和多播路由协议的工作机制。

注意 1:网络拓扑结构中标识节点 IP 地址和 MAC 地址,拓扑图不能与课件中的相同!!!

注意 2:数据包分析时,注意地址的作用,例如 IPv6 地址(尤其是特殊地址)、MAC 地址、多播地址等!

# 选题

根据难度曲线选择使用华为 eNSP 搭建模拟环境,分析 IGMP 和路由协议 PIM-DM/PIM-SIM/MSDP/MBGP 报文

# 1. 环境准备

先安装 eNSP

image-20221112145619638

image-20221114154408681

新建工程,建立拓扑

image-20221116152642770

# 2. 网络配置

某公司在新建网络时部署 IPv6,R1 和 R2 分别为 IT 部门和人事部门路由器,两个部门通过交换机 S1 相连。IT 部门的员工终都端 PC-1 手工配置 IPv6 地址,并在 R1 与 R2 上配置 IPv6 静态路由,使两个部门的终端能够互相通信。

# ipv6 基础配置

命令 备注
ipv6 开启 ipv6 功能
ipv6 enable 接口开启 ipv6 功能
ipv6 address 2020::1 配置全球单播地址
ipv6 address 2020:: eui-64
ipv6 address link-local 配置链路本地地址
ipv6 address auto link-local
ipv6 address 2222::2 anycast 配置任播地址
display ipv6 interface brief 验证接口 ipv6 地址
display this ipv6 interface

# NDP : Neighbor Discovery Protocol, 邻居发现协议

・在 ICMPv6 中定义新的消息类型,实现 地址解析、重复地址检测、跟踪邻居状态、路由发现、重定向 功能

ICMPv6 类型 消息名称
133 路由器请求 RS
134 路由器公告 RA
135 邻居请求 NS
136 邻居公告 NA

image-20221117132840585

# IPV6 地址发现技术: 通过 NS 和 NA 报文实现 ARP、DAD(重复地址检测)功能

类型 备注
NS Neighbor Solicitation,邻居请求,类似 IPv4 中的 ARP 请求报文
NA Neighbor Advertisement,邻居通告,类似于 IPv4 中的 ARP 应答报文

·Solicited Node:请求节点,开头 = FF02::1:FF00/104,加上单播地址最后 24 位

image-20221117140720463

# IPv6 路由器发现技术:通过 RS 和 RA 技术实现无状态地址自动配置,无需 DHCPv6

类型 备注
RS Router Solicitation,路由器请求,请求网络前缀、网关等信息
RA Router Advertisement,路由器通告,通告网络前缀、网关等信息

image-20221117151137746

无状态地址自动配置

image-20221117151311460

获取网络前缀

image-20221117151359477

# Path MTU:发现路径上最小的 MTU (IPv6 途中不允许切片,减小中间设备的压力)

image-20221117152403891

# NDP 配置:

命令 备注
undo ipv6 nd ra halt 开启接口 RA 报文功能,默认关闭
ipv6 nd ra min-interval 100 配置 RA 最小间隔,默认 200
ipv6 nd ra max-interval 200 配置 RA 最大间隔,默认 600