Day 7 学习笔记
这是第一周的最后一天,今天的任务是复习巩固,把前六天学到的知识串成一个完整的知识体系。
一、第一周知识回顾
Day 1:SDN 是什么
- 传统网络的困境:控制与转发紧耦合,各自为政
- SDN 核心思想:把控制权集中,设备只负责转发
- 三层架构:应用层 / 控制层 / 数据层
- 三大接口:南向(OpenFlow)、北向(REST API)、东西向(控制器间通信)
Day 2:SDN 架构深入
- 控制层与数据层解耦的机制
- 控制器的职责:全网视图、路径计算、流表下发
- 常见控制器:Ryu、Floodlight、ONOS、OpenDaylight
- 三大接口的详细职责与协作
Day 3:OpenFlow 协议详解
- 流表结构:匹配字段、优先级、计数器、动作集
- 多级流表:流水线式匹配(Goto-Table)
- 组表:All/Select/Indirect/Fast Failover 四种类型
- 计量表:限速、标记、QoS
- 控制器与交换机的消息交互
Day 4:Mininet 实验
- WSL2 + Ubuntu 24.04 环境搭建
- Mininet 安装(含 pep8 兼容性修复)
- 基础拓扑实验:default / single-3 / linear-4
- 自定义 Python 拓扑(2 交换机 + 4 主机)
- tcpdump 抓包观察流量
Day 5:网络入侵检测入门
- SDN 面临的安全威胁
- DDoS 攻击分类(按目标、按特征)
- 三大检测方法:统计 / 机器学习 / 深度学习
- SDN + 入侵检测的结合方式
Day 6:ML/AI + SDN 前沿
- ML 在 SDN 的三大应用:流量分类、异常检测、路由优化
- 传统方法 vs ML vs DL 全面对比
- Transformer 与 LLM 在网络安全中的探索
二、思维导图
把第一周的知识整理成一张完整的知识图谱:
SDN 入门知识体系
│
├── 1. 基础概念
│ ├── 传统网络的问题
│ ├── SDN 三层架构
│ │ ├── 应用层:网络应用(流量工程/安全/负载均衡)
│ │ ├── 控制层:SDN 控制器(全局视图/路径计算/流表下发)
│ │ └── 数据层:交换机/路由器(按流表转发)
│ └── 三大接口
│ ├── 南向:OpenFlow(控制器 → 交换机)
│ ├── 北向:REST API(应用 → 控制器)
│ └── 东西向:控制器之间通信
│
├── 2. OpenFlow 协议
│ ├── 流表
│ │ ├── 匹配字段(MAC/IP/端口/VLAN)
│ │ ├── 优先级 + 计数器
│ │ └── 动作集(output/drop/set-field)
│ ├── 多级流表(Goto-Table 流水线)
│ ├── 组表(广播/负载均衡/故障切换)
│ ├── 计量表(限速/QoS)
│ └── 消息类型
│ ├── 控制器→交换机:Flow-Mod, Packet-Out
│ ├── 交换机→控制器:Packet-In, Port-Status
│ └── 对称:Hello, Echo
│
├── 3. Mininet 实验
│ ├── 环境:WSL2 + Ubuntu 24.04
│ ├── 拓扑类型
│ │ ├── default(1 交换机 + 2 主机)
│ │ ├── single(1 交换机 + N 主机)
│ │ ├── linear(N 交换机串联)
│ │ └── 自定义 Python 拓扑
│ └── 工具
│ ├── pingall(连通性测试)
│ ├── iperf(带宽测试)
│ └── tcpdump(抓包分析)
│
├── 4. 安全与入侵检测
│ ├── SDN 安全威胁
│ │ ├── 控制器攻击
│ │ ├── 流表溢出
│ │ └── 欺骗/中间人攻击
│ ├── DDoS 攻击分类
│ └── 检测方法
│ ├── 统计方法:简单快速,但只能检测已知模式
│ ├── 机器学习:SVM/随机森林,需要特征工程
│ └── 深度学习:CNN/LSTM/Transformer,自动特征学习
│
└── 5. ML + SDN 前沿
├── 流量分类:识别流量类型,实现 QoS
├── 异常检测:发现异常流量
├── 路由优化:强化学习/图神经网络
└── 前沿趋势:Transformer、LLM 在网络中的应用
三、Mininet 实验巩固
再跑几个实验巩固手感:
3.1 星型拓扑
|
|
拓扑图:
h1
│
h2 ───s1─── h3
│
h4
4 台主机都连在同 1 台交换机上,任何两台之间只需经过 1 跳。
3.2 树形拓扑
|
|
深度 2、分支因子 2 的树形拓扑,共 4 台主机 + 3 台交换机。
3.3 iperf 带宽对比
|
|
对比单跳和多跳的带宽差异。
四、遗留问题清单
第一周学习中可能还不太清楚的问题:
| 问题 | 优先级 | 计划解决时间 |
|---|---|---|
| OpenFlow 1.0 和 1.3 的具体差异 | 中 | Day 10 |
| Ryu 控制器如何编写简单的 L2 Switch | 高 | Day 9 |
| P4 和 OpenFlow 到底有什么本质区别 | 高 | Day 8 |
| 如何在 Mininet 中运行 Ryu 控制器 | 高 | Day 9 |
| 深度学习模型如何部署到实际网络中 | 低 | 后续研究 |
五、今日学习总结
| 项目 | 内容 |
|---|---|
| 复习 | 回顾 Day 1~6 全部内容 |
| 整理 | 完成第一周知识体系思维导图 |
| 实验 | 星型拓扑、树形拓扑 pingall,iperf 带宽对比 |
| 规划 | 列出遗留问题,为第二周 P4 学习做准备 |
| 第二周预告 | P4 可编程数据面——从 OpenFlow 到 P4 的跨越 |
本文是「SDN 入门学习计划」Day 7 的学习笔记。
学习路线:Day 1~6 第一周基础 → Day 7 复习巩固 → Day 8 P4 入门 → Day 9 P4 环境搭建 → …