一.概要
Software defined network(SDN).一种新型的计算机网络体系结构,将数据交换和高层控制分开。其中,数据交换基于现有网络的分组转发思想,packet进入switch后按一定的规则处理,受Controller支配;高层控制依赖加载在NOS上的程序,其程序可由网络管理者自行编写,提高了灵活性和集中控制性。
二.主要结构
1.switch
每个switch中有至少一个flow table,每个flow table有多条flow entry,每个flow entry有三列:Match Fields,counters,Instructions。其中Match Fields用于对进入switch的packet按一定优先规则进行匹配,若匹配成功,按照对应的Instructions执行操作,counters对数据流的各种信息进行统计,可被Controller查询。
2.Controller
由一层NOS操作底层设备,同时上层的应用程序通过调用NOS的API实现各种控制与决策。
3.Controller与switch间的信道
Controller与每一个switch有一个安全性较高的专用通道,执行openflow协议,用于Controller和switch的交互。Controller可对switch的entry进行增添,修改和删除操作。
4.基本转发流程
当packet与某switch的所有entry不匹配时,switch将packet转到controller,controller按预先设定的规则决定该packet的转发路线,并对所有相关的switch中的entry进行增添或修改。
当packet与某switch的某一entry匹配,按相关Instruction直接转发。
三.特点:
1.层次性
借鉴了OSI体系的宝贵思想,将体系分层,下层对上层完全透明并提供服务。Controller层用户行使网络的控制权和监测权,拥有全局视图。可根据网络的不同状态和实际需要决定网络整体和局部的policy,具有很强的灵活性,从此网络变得具有无限可能。同时解放了switch,使其专注于packet的转发,效率更高。
2.权限控制
终端用户的行为可被监控和限制,提高了网络的安全性。
3.符合云计算的思想
Controller可充当中心服务器,大规模集群控制,为用户提供友好高效的服务。
4.解决网络设备的异构性
增大了设备配置的灵活性,同时不会影响网络硬件市场的正常发展。
5简化网络配置与管理难度
底层硬件完全透明,高层配置与管理好像建立在虚拟网络上。
四.研究方向挖掘(*)
1.对现有SDN体系进行改进
(1)switch和controller的功能分配
二者目标相同,任务不同。功能的复杂性呈相辅相成,此消彼长的关系。应权衡好双方的功能的分配,满足控制与转发分开的同时又不拘泥于此。同时,亦可根据网络状况和过往经验动态调节。
(2)switch和controller间专有通道安全性
由于controller至关重要,一旦被控制或被假冒着后果十分严重。故可在与switch的通信中改进身份验证的机制。同时,也应注意交互信息的保密性,改进加密机制。甚至,鉴于其重要性,不妨可在controller和switch间加入一独立层次---安全层,专门负责安全机制。
(3)控制时延
可借鉴计算机的体系结构,加入网络系统时钟,对时序进行总体控制。
(4)多controller间的协调
一台switch如若会被多个controller控制,不同的流量切片配置及处理冲突问题。
2.基于现有SDN体系,controller端NOS上的应用程序的研发
(1)Packet转发控制
Controller最基本最频繁的工作,甚至可以固化到硬件中。根据网络实际状况,主机优先级等因素决定进行packet的最优化转发路径。
(2)网络行为建模
从可监测到的众多数据流量中进行数据挖掘,观测到当前的或潜在的不安全因素。建立网络攻击图,挖掘出源头并采取相应行动。
(3)网络状态评价
对网络状况进行多角度的评价。如安全性,通畅性,健壮性等。
(4)专家系统
全面替代人工网络管理员部署和调试的任务,或在人工网络管理员和controller加入新的层次,减少工作量。
(5)抗毁自愈的能力
(6)防火墙的配置
(7)云计算
应用程序与底层服务协作开发,最大限度地利用资源。
(8)Qos
3.基于现有SDN体系,边缘网络主机上网络应用程序的研发
(1)自我提权
打破controller对其权利的限制,对网络的的结构进行探测,其他主机信息获取甚至全网控制。
(2)行为隐藏和伪装
使自己的真实行为不被controller监测。