SDN
[toc]
———————–2023-5-13
概述
历史->威胁->发展
三大主流SDN标准化技术:OpenFlow、Overlay(网络虚拟化叠加)&I2RS(路由系统接口)、NFV
NFV与SDN的基础都是通用服务器、云计算以及虚拟化技术
NFV与SDN存在互补性,二者相互独立,没有依赖关系
OpenFlow改变了网络结构——NetworkOS
定义和架构
SDN——软件定义网络
架构:ONF所定义的典型架构:应用层、控制层、基础设施层
南向接口:向下与设备交互的接口称为南向接口
北向接口:控制器向上为SDN APP提供的编程接口(API)就称为北向接口
SDN最本质的特征就是允许通过编程的方式控制网络
东西向接口:定义控制器之间通信的接口
基本概念——传统网络设备的数控分离
SDN数控分离:SDN主要特征之一
SDN网络可编程:另一个重要属性,主要体现在北向接口
SDN仿真基础
Linux系统
虚拟化
通过虚拟化技术将一台计算机虚拟为多台逻辑计算机
虚拟化架构
两种虚拟化方案:裸金属型、宿主型
Mininet软件
网络构建参数:
–topo
–switch:定义mininet要使用的交换机(默认使用OpenVSwitch交换机,即OVSK)
–controller:定义要使用的控制器
–mac:自动设置设备的mac地址
内部交互命令
net/nodes/links/pingall
net:显示链接信息
nodes:节点信息
links:链路健壮性信息
pingall:验证所有主机间通信
iperf:两节点间进行带宽测试
iperfudp:同上
link:禁用或开始节点间链接
dpctl:所有交换机上增删改查流表
Mininet可视化
直接在界面上编辑任意拓扑
启动miniedit
进入mininet/examples
1 | ./miniedit.py |
Miniedit拓扑建立
Miniedit属性配置
Miniedit全局配置
左上角edit选项
Miniedit运行
左下角run
Miniedit保存脚本
File-Export Level 2 xxxxxxx(来不及)
脚本执行
chmod -R 777 sdnlab.py
./sdnlab.py
SDN平面
硬件路由器数据平面
主控板
组成:CPU,X86通用处理器芯片
路由器操作系统
管理员命令行操作平台
背板
功能:设备板卡间总线:数据总线,控制总线,管理总线
集群机柜间总线:设备间互通总线
总线架构:多级Clos架构(无阻塞、理论无限扩展)
接口板
组成:光模块
中低性能ASIC芯片或FPGA芯片处理器
功能:实现光电转换
上报主控板接入状态
线卡板
数据平面/控制平面最重要的部分
分上下行两部分板卡
PULL型交换调度算法
POP型交换调度算法
软件路由器数据平面
Click
c++编写,基于Linux实现
SDN数据平面
OVS简单架构
用户数据空间和内核
管理层
vswitched
OVS的核心模块
通过vswitched可以配置一系列特性