《软件定义网络:基于OpenFlow的SDN》一一1.1 理解软件定义网络——OpenFlow特色-阿里云开发者社区

开发者社区> 华章计算机> 正文

《软件定义网络:基于OpenFlow的SDN》一一1.1 理解软件定义网络——OpenFlow特色

简介:
+关注继续查看

本节书摘来自华章计算机《软件定义网络:基于OpenFlow的SDN》一书中的第1章,第1.1节,作者:Siamak Azodolmolky,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 理解软件定义网络——OpenFlow特色

软件定义网络(Software Defined Networking,SDN)通常被认为是计算机网络领域中的创新概念,其目标是极大地简化网络控制和管理,通过网络的可编程性引导创新。通常,计算机网络的建设依赖于大量的网络设备(如交换机、路由器、防火墙等),以及在设备中嵌入实现的复杂网络协议(软件)。网络工程师负责配置各种策略,以应对各种各样的网络事件和应用场景。他们需要手工地将这些高层策略转换为低层的配置命令,这些繁杂的任务通常只能通过有限的工具完成,使得网络管理控制和性能调优任务总是带有挑战性并易于出错。
另一个网络工程师和研究人员常常提到的挑战是因特网的固化机制。庞大的因特网基础设施和它对我们生活诸多方面所带来的影响,使得因特网无论是在物理基础设施方面,还是在相关的协议及性能方面,都极难发展进步。随着因特网上新兴的强大应用越来越趋于复杂化,现有的因特网机制在应对这些新的挑战时便显得力不从心。
可编程网络的概念是作为一种促进网络进化的途径而提出的,特别是SDN,它是一种新的网络模式,把执行转发的硬件部分(例如专用的包转发引擎)从控制决策部分(如协议和控制软件)中分离出来。这种控制逻辑的迁移,使得下层网络互连基础设施能够从应用层面上抽象出来,而以前的控制逻辑是紧密集成到网络设备(如以太网交换机)中的,现在则转变为逻辑上集中的可访问的控制器。这一分离提供了一个更灵活的、可编程的、与厂商无关的、高性价比的创新网络架构。除了网络的抽象化,SDN架构也将提供一组应用编程接口(Application Programming Interface,API),使得常用网络服务的实现更为简便,这些服务涉及路由、多播、安全、访问控制、带宽管理、流量工程、QoS、能效管理以及各种策略管理等。从逻辑意义上看,SDN中的网络智能被集中到了基于软件的控制器(在控制平面)中,而网络设备变成了简单的数据包转发设备(数据平面),并可以通过开放接口对它进行编程。这种开放编程接口的早期实现之一便是OpenFlow。
将转发硬件从控制逻辑中分离出来,能够简化新型协议和应用的部署,直接进行网络的虚拟化和管理,并且能够把各种中间构件整合到软件实现的控制中。通过精简网络,简化了转发硬件和负责决策的网络控制器,而不用在错综复杂的分散的设备中去实施策略和执行协议。
负责转发功能的硬件包含以下两部分:

  1. 一个包含流记录(flow entry)的流表(flow table),流记录由用于匹配当前流的规则和所采取的具体操作构成。
  2. 一个传输层协议,用于与控制器进行安全传输,以传递没有记录在当前流表中的新记录。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 16 正式发布,新特性一一解析
3 月 16 日,甲骨文正式发布 Java 16。甲骨文表示,现在为所有开发人员和企业提供 Java 16。
6 0
ECS使用体验
云服务器ECS(Elastic Compute Service)是一种简单高效、处理能力可弹性伸缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低IT成本,使您更专注于核心业务创新。
9 0
ECS使用体验
在阿里云领取了一个服务器,分享一下使用体验
6 0
解构腾讯产业互联网独门心法:「让火车与坦克接轨」
作为全球最大的互联网公司之一,腾讯的产业互联网之路,必然是要符合当下市场底层逻辑和基因优势的。 梳理出这条路子,不仅对于腾讯自身至关重要,也能够让外围看清时代潮水的流向,深刻理解互联网下半场的机会窗口。以及更重要的,意识到五到十年后变化所带来的价值。
4 0
Chrome View Source Code 那些事
Chrome View Source Code 那些事
7 0
ECS使用心得体验
强烈的编程爱好让我在编程的道路上越走越远,也让我学到了非常多的知识,同时也发现,学得越多,自己不懂的就越多,只有不断的学习,才能让自己跟上时代发展的步伐。由于在学习过程中使用到了云服务器,然后通过学长学姐的推荐,我了解到了“飞天加速计划•高校学生在家实践”活动,也因此第一次使用了ECS,由此产生了一些使用心得。
6 0
Git教程5(bug分支和多人协作及标签管理)
在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。 比如我在开发中接到一个404 bug时候,我们可以创建一个404分支来修复它,但是,当前的dev分支上的工作还没有提交。比如如下:
6 0
关于对ESC的体验结果
我是一名大二的学生,因着对云服务器有着浓厚的,之前使用过,听说阿里云这里的云服务器还是不错的,就想先申请免费使用两个月试一试。
8 0
Java基础-异常分类与处理方式
Error 类是指 java 运行时系统的内部错误和资源耗尽错误。Exception 有两个分支,一个是运行时异常 RuntimeException ,一个是CheckedException。抛出异常有三种形式,一是 throw,一个 throws,还有一种系统自动抛异常。
5 0
为什么现代网络安全需要人工智能
在最新一轮的信息安全 (InfoSec) 攻击中,攻击者正在通过新的载体部署新型威胁,并利用人工智能的力量增强这些攻击。
17 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载