SDN火热了好一阵子,无论运营商、政府企业、投资机构,一段时间,不知道SDN、不能甩几个SDN相关的名词术语,似乎都落后于时代了。今天,就来看看关于SDN的精华问答吧。
1
Q:SDN的本质属性?
A: a.认为只要符合控制跟转发分离;
b.有开放的编程接口;
c.集中式的控制就可以认为是SDN。
基于这样一种理念,某个产品或者方案,哪怕没有使用Openflow,只要它符合这三个原则,也可以认为是SDN。
将SDN定义归为三类:
第一类是狭义SDN(等同于Openflow);
第二类是广义SDN(控制与转发分离);
第三类是超广义SDN(管理与控制分离:阿里有种SDN的实现是通过软件控制脚本,让这些脚本向远程的交换机发送命令来控制交换机,交换机上仍然运行了传统的二三层协议,控制跟转发并没有分离,分离的是管理和控制)。
第二类定义中的SDN,应该是最通用,最有价值的一种。
Q:为什么会出现SDN呢?
A:它主要为了解决传统架构的不足,传统网络是逐设备单独控制的,是纯分布式的;控制控制面和转发面紧密耦合;管理员无法直接按照自己的意志来控制转发;网络协议限制了转发规则,比如路由协议只能按IP地址来转发。
虽然传统网络也可以有软件来参与编程,但是这些都取决于软件是设计者,而不是使用者,无法然管理员随心所欲的实现自己想要的功能,比如路由器上的编程和配置,这些都是相当复杂的,而SDN提供给管理员的是一套接口,通过这些接口,他可以实现自己想要的功能,它不用关心SDN内部是怎么实现的。
SDN要求将控制面和转发面,什么是控制面,什么是转发面等会来解释,在转发面的角度,它希望是与协议行为无关的,管理员的意志更重要。有人希望,转发面的硬件都是标准的,这样当然能够给SDN的发展带来很多好处,但是要知道,想实现江山统一是很难的。
Q: 从SDN的字面意思来看,根本看不出控制与转发分离的意思,你怎么看这个问题?
A:无论是控制与转发分离,还是管理与控制分离其实都不是SDN的本质定义,SDN的本质定义就是软件定义网络,也就是说希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维,这是SDN的核心诉求,控制与转发分离不是。但为了满足这种核心诉求,不分离控制与转发,比较难以做到,至少是不灵活。换句话说,控制与转发分离只是为了满足SDN的核心诉求的一种手段,如果某些场景中有别的手段可以满足,那也可以,比如管理与控制分离。
4Q: SDN架构
A:SDN不是Openflow,Openflow不仅要求编程接口的标准化,它还要求内部转发的标准化,Openflow是SDN南向接口的实现方案。南向结接口主要是提供给转发平面的,而北向接口主要提供给service层的。
由上图,我们知道,SDN它不是一种技术,也不是一个管理工具,它仅仅是一种架构理念,规划了各个组成部分。
Q: 使用SDN的一个例子
A:该客户是日本一个数据中心服务器提供商,他们使用SDN来进行DOSS防御,他们的做法是,提供一个总的Internet入口,在每一个数据中心入口都挂了一个Openflow交换机,当没有Doss的时候,数据是通过路由器,到普通的交换机,然后再转发给主机,而当检测到Doss的时候(路由器通过NetFlow将部分报文发给检测服务器分析),就通过Controller配置路由器的BGP协议,将所有的报文都发往Openflow交换机,Openflow交换机将攻击的报文丢掉,将非攻击的报文的目的IP改掉(改掉是为了等会发出去,又发回来),然后将报文又发回路由器,然后路由器将报文传给普通交换机,再传递给主机。
如果使用传统的防DOSS方案,一旦检测到DOSS,那么交换机就将所有的报文都屏蔽,这样使得服务器在一段时间内不能服务。
小伙伴们冲鸭,后台留言区等着你!
关于SDN,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!
推荐阅读:
面试官:你简历中写用过docker,能说说容器和镜像的区别吗?
C++、Python、Rust、Scala构建编译器的差异性究竟有多大?
想换行做 5G 的开发者到底该咋办?
如何在标准的机器学习流程上玩出新花样?
独家 | Vitalik Buterin:以太坊2.0之跨分片交易
华为“舵手”任正非
滴滴章文嵩:不仅软件开源,还向学界开放数据
真香,朕在看了!