Friday, November 15, 2013

Mininet 代码分析

Mininet是个很不错的模拟(emulate)网络的工具,特别在模拟SDN环境的时候。
使用Mininet可以在一台物理机上快速搭建较大规模的SDN网络进行控制器或交换机方面的验证和测试。
关于如何使用Mininet,可以参考这里或官方主页mininet.org。
Mininet的代码结构十分清晰,分析文档可从这里下载

Thursday, November 14, 2013

OpenvSwitch 2.0.0发布

作为SDN交换机的标准软实现,可以夸张一点说,OpenvSwitch的每个进展,都影响到SDN产业的发展。
特别OpenvSwitch从一开始,就实现了控制层面和管理层面的分离,其对配置的管理协议ovsdb-conf正在成为管理层面协议的标准参考。

OpenvSwitch 2.0.0版本的主要feature在于:
ovs-vswitchd已经实现了多线程;
改进对OpenFlow1.1,1.2和1.3的支持;
支持对tunneled网包的发出源和目标地址的匹配;
db中的接口表支持ifindex项;
支持linux kernel版本到3.10;
log时间戳精确到毫秒级。

跟硬件交换机项目,SDN的软交换实现确实已经远远走在了前面。

Tuesday, November 12, 2013

SDN 产业面临的挑战

The challenges that SDN industry is meeting.

SDN技术的发展正是如火如荼,ONF的成立,ONS的举办,各种论文的发布,各种软件的编写,都昭示着SDN已经成为了一个事实上的产业。
从Openflow开始,跟随SDN的诞生、成长历程数年,欣喜于其发展速度之快,未雨绸缪,有几个挑战是SDN产业继续成熟所必须要面对和克服的。

1、基础设施。软件交换机对SDN技术支持已经较为成熟,典型的代表包括Openvswitch、Indigo等。虽然Nicira很希望将来大家都用Openvswitch实现SDN架构,但不可否认,硬件兼容交换机的缺失,极大阻碍了SDN产品的普及。目前通过ONF官方认证的仅NEC一家,而可见的硬件交换产品功能大都限制颇多,而且价格昂贵。如果这一点不能尽快解决,将会限制SDN技术的应用领域。

2、典型案例。目前可见的SDN应用场景还是中小型的网络环境中,而且往往不够复杂。虽然Google今年在Sigcomm上发表了介绍其3年前部署的B4,但实际上,B4中涉及SDN技术的真实应用十分简单,并不能作为一个完全用SDN实现的典型例子,仍是个不错的尝试。实际上,SDN从诞生之初,就跟数据中心发展的需求密不可分。而无论大型数据中心还是中小型数据中心,往往都已有成熟解决方案。特别是大型厂商的不断创新,留给SDN技术的空间不断收缩。而在广域网和运营商领域,起步则太晚,可以预计这块能做的东西也不多。私有云和企业用户倒是极为青睐SDN,但愿意公开其部署技术的例子更少。

3、技术限制。不得不承认,SDN在带来网络监控上极大便利的同时,也确实仍存在技术上的问题,比如南向接口Openflow,在表的支持方面仍不够灵活;而开放北向接口一直缺失。虽然OpenDaylight项目已经做出了不少贡献,但仍未有release出来,也将影响SDN产业的快速发展。此外,性能方面的代价,现在仍未有简洁成熟的解决方案。与此同时,Cisco的ONE,Juniper的Contrial,Facebook的OCP,都带来了不同的技术路线。

4、扩展支持。SDN解决的是网络的问题。但在现在的应用场景中,网络并非独立存在,往往伴随着各种其他资源,比如计算,比如存储,比如安全。所谓动一发而动全身。网络技术的革新,必然要求其他领域的配合和改变。Openstack之所以能被广泛部署,取代其他现有产品,很大的一个优势就是它所提供的解决方案是一体化的,并非单独替代某一项技术。因此,如何跟其他领域的管控技术融合,也将是SDN进一步发展必须要考虑的。

5、管控解耦。对于系统,特别是网络系统来说,管理和控制实际上是两码事。SDN自诞生起关注控制层,提出了合理的控制层模型。而在管理层方面一直重视不够。最近ovsdb方面的配置协议在管理层面有所进展,但整个SDN界对此的认识仍然十分落后。不少SDN产品中管理和控制层面混杂到一起,给未来进一步的扩展带来极大的挑战。