计算机网络课程作业记录
# 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
新建工程,建立拓扑
# 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 |
# IPV6 地址发现技术: 通过 NS 和 NA 报文实现 ARP、DAD(重复地址检测)功能
类型 | 备注 |
---|---|
NS | Neighbor Solicitation,邻居请求,类似 IPv4 中的 ARP 请求报文 |
NA | Neighbor Advertisement,邻居通告,类似于 IPv4 中的 ARP 应答报文 |
·Solicited Node:请求节点,开头 = FF02::1:FF00/104,加上单播地址最后 24 位
# IPv6 路由器发现技术:通过 RS 和 RA 技术实现无状态地址自动配置,无需 DHCPv6
类型 | 备注 |
---|---|
RS | Router Solicitation,路由器请求,请求网络前缀、网关等信息 |
RA | Router Advertisement,路由器通告,通告网络前缀、网关等信息 |
无状态地址自动配置
获取网络前缀
# Path MTU:发现路径上最小的 MTU (IPv6 途中不允许切片,减小中间设备的压力)
# NDP 配置:
命令 | 备注 |
---|---|
undo ipv6 nd ra halt | 开启接口 RA 报文功能,默认关闭 |
ipv6 nd ra min-interval 100 | 配置 RA 最小间隔,默认 200 |
ipv6 nd ra max-interval 200 | 配置 RA 最大间隔,默认 600 |