SDN课程实验

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可以配置一系列特性

OVS下的快速交换转发通道

OVS下的慢速交换转发通道

赏孩子一口饭吃吧