SDN阅读作业(二)
2024-08-29 21:56:52
前言碎碎念
当我看到这个全英论文以后,身体和心理都出现了戒断反应,让人无比难受,毕竟自己很久没做过英语阅读理解了。总之,在舍友大佬的帮助下以及各款翻译软件的鼎力支持之下(通篇读完后还是找了中文文献来对应),总算是把这一次作业磕磕碰碰地完成了。
阅读
阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题:
过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?
可编程网络的早期工作可以分为以下三个阶段:
每个阶段都有自己的贡献:
- 主动网络(Active Networking,从20世纪90年代中期到21世纪初):
- 它在网络中引入了可编程功能,以实现更大的创新。
- 网络虚拟化,以及基于数据包头对软件程序进行多路分解的能力。
- 为MiddleBox编排提供统一架构的构想。
- 控制和数据平面分离( Separating Control and Data Planes,从2001年到2007年左右):
- 开发了控制和数据平面之间的开放接口
- 催生了两项创新:控制和数据平面之间的开放接口以及网络的逻辑集中控制
- 产生了新的概念:使用数据平面的开放接口进行逻辑集中控制, 分布式状态管理
- OpenFlow API和网络操作系统(OpenFlow and Network OSes,2007年至2010年左右):
- 代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离具有可扩展性和实用性的方法。
- 概括网络设备和功能。以前的路由控制工作主要集中在根据目的地IP前缀匹配流量上。相反,OpenFlow规则可以基于13个不同的数据包头的任意一组定义流量上的转发行为。
- 网络操作系统的构想。与先前提出节点操作系统的主动网络研究不同,OpenFlow的研究引入了网络操作系统的概念
- 分布式状态管理技术。分离控制平面和数据平面带来了有关状态管理的新挑战。运行多个控制器对于可伸缩性、可靠性和性能至关重要,但是这些副本应该像单个逻辑集中式控制器一样协同工作。
网络虚拟化与SDN的关系?
SDN作为网络虚拟化的一种支持技术
云计算使网络虚拟化变得突出,因为云提供商需要一种方式,允许多个客户(或“租户”)共享同一网络基础设施。Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持。
网络虚拟化用于评估和测试SDN
将SDN控制应用程序与底层数据平面分离的能力,使得在将SDN控制应用程序部署到操作网络之前,可以在虚拟环境中测试和评估SDN控制应用程序。Mininet使用基于进程的虚拟化在同一物理(或虚拟)机上运行多个虚拟OpenFlow交换机、终端主机和SDN控制器,每个控制器都作为单个进程。使用基于进程的虚拟化允许Mininet模拟一个网络,在一台机器上有数百个主机和交换机。
虚拟化(切片)SDN
在传统网络中,虚拟化路由器或交换机是很复杂的,因为每个虚拟组件都需要运行自己的Controlplane软件实例,相比之下 虚拟化一个SDN交换机就容易多了 。FlowVisor系统使校园能够支持在承载生产流量的相同物理设备上进行联网研究的试验台,其主要思想是将业务流空间划分为“片”(Planetlab的早期工作中引入的概念),其中每个片有一个网络资源共享,由不同的SDN控制器管理。FlowVisor作为Hypervisor运行,向每个SDN控制器和底层交换机传递OpenFlow。
最新文章
- tornado session
- python导入opencv解决no module named cv2问题
- spring定时器
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
- 20151012 C# 第一篇 字符与字符串
- Js注释
- air开发中的requestedDisplayResolution 扫盲
- 【C语言】模拟实现库函数strcat函数
- linux_机器信息查询
- lamp apache配置虚拟主机
- 让盘古分词支持最新的Lucene.Net 3.0.3
- [知识梳理]课本1&;2.1-2.5
- [LeetCode] Minimum Cost to Merge Stones 混合石子的最小花费
- ajax 跨域请求解决方案
- spring bean的初始化以及销毁
- maven打包子模块中的class文件
- 线程queue与进程queue
- oracle Awr报告
- Ubuntu常用安装源
- Ubuntu 14.04 下解决maven访问速度慢问题
热门文章
- Matlab迭代器模式
- pandas-08 pd.cut()的功能和作用
- Jmeter学习笔记(十九)——后置处理器之正则表达式的使用
- 图说jdk1.8新特性(3)--- 注解与类型推测优化
- js 获取 对象 属性名称(转载)
- vue中引入mui报Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them的错误
- nginx-location语法匹配优先级
- github配置SSH proxy
- 实现批量添加10个用户,用户名为user01-10,密码为user后面跟3个随机字符
- 树莓派上 Docker 的安装和使用