《软件定义网络核心原理与应用实践》——Mininet系统架构

Mininet系统架构
Mininet是可以在电脑上快速建立大规模SDN原型系统的网络仿真工具,可以模拟真实网络,由 终端节点(End-Host )、 OpenFlow交换机 控制器 组成。

1.namespace机制
Mininet是基于Linux Container这一内核虚拟化技术开发的进程虚拟化平台,主要用到namespace机制。在不同namespace的进程看到的系统资源可能不同,默认所有进程在root namespace中,某进程通过unshare系统调用一个新的namespace。通过namespace可以虚拟化3类系统资源:
(1) 网络协议栈 :(协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。)每个namespace独立拥有一块网卡(可以是虚拟出来的),root namespace是物理网卡,不同namesapce进程里看到的网卡不一样。
(网卡:计算机与外界局域网连接的网络接口板/网络适配器,工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。)
(2) 进程表: 每个namespace中看到自己的PID是1(实际第一是init),同时不同namespace中进程之间不可见。
(3) 挂载表 :不同namespace中文件系统挂载情况不一样。
(挂载:在 linux操作系统 中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。)

2.Mininet架构
按照datapath运行权限不同,分为kernel datapath和userspace datapath。kerner datapath把分组转发的逻辑编译金Linux内核,效率高;userspace datapath把分组转发的逻辑实现为一个应用程序,叫ofdatapath,效率不及kernel,但更灵活,容易重新编译。
(datapath数据通路:在数字系统中,各个子系统通过数据总线连接形成的数据传送路径)
(1)kernel datapath
控制器和交换机的网络接口在root命名空间。控住器就是一个用户进程,在loopback上预留的6633端口监听来自交换机安全信道的连接。每个交换机对应几个网络接口,如s0-eth0、s0-eth1以及一个ofprotocol进程,它负责管理和维护 同一控制器之间 安全信道的连接。
每个主机在自己独立命名空间,主机有自己独立的虚拟网卡eth0。
(2)userspace datapath
网络每个节点都有独立的namespace。分组转发逻辑在用户空间实现,多一个进程ofdatpath。
(3)OVS交换机
利用内核的高校处理能力,性能和kernel datapath差不多。

3.Mininet的特性
(1)灵活性:通过软件的方式简单、快速的创建一个用户自定义的网络拓扑。
(2)可移植性;在Mininet上运行的代码可以轻松移植到支持OpenFLow的硬件设备上。
(3)可拓展性:模拟的网络规模可以拓展在成千上百节点。
(4)真实性:模拟真实网络环境,运行实际的网络协议栈,实时管理配置网络,可以运行真实的程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值