张广兴:软件定义的无线局域网研究与探索

大家上午好,今天估计可能我是最后一个发言的,我的发言也蛮快的。我首先也打一个广告,因为我本身是两个单位,一个是中国科学院计算技术研究所,另外我是江苏省未来网络创新研究院。

本身我们现在在软件定义网络这一块,其实大家做了很多,包括上午在看很多老师探讨的很多工作都是集中在数据中心,或者在骨干网,或者大部分是在会聚以上的部分。我这部分主要考虑在接入侧,另外如果大家也对软件定义WLAN感兴趣的话,我们也做了一些有意思的实验,后面可以跟我们联系,现在我就开始我的演讲。

我的演讲分为几个部分:

第一,这儿有wifi吗?包括今天我们在会场很多人也会把无线网打开,来做一些工作。包括刚才张老师在说为什么我们很多人不用视频,我们到某个地方,昨天我在做公交车的时候看到有小女孩在那儿做直播,本质上就是你接入方式的一个普及。wifi网络的重要性也不言而喻了,去年思科发布的调研结果,一半以上的网络都是由wifi接入的,实际上大概在两三周之前我们参加了一个wifi进村扶贫的项目,我们在城市里面可能很多人对wifi已经很熟悉了,实际上我们在中国有大部分的区域,甚至连互联网的接入都没有到,当下通过wifi方式,通过WLAN方式来做接入。

我们做这个事考虑到传统方案存在很多问题,首先就是目前好像我们在讲路由器一样,我们的wifi传统的WLAN几个方案,是软硬件强绑定,目前我们在说控制跟数据分离,决策跟转化分离这样的概念,目前的方案它是解决方案做得非常不好,另外就是目前IP方案大部分是封闭的解决方案,不便于我们来做我们想扩展事情。这边我就简单来罗列几个情况。

这里就是我们在终端接入的时候,我们自己在一个会议室或者在一个高密度场景的时候,我们自己看过终端为什么会慢?我们这里有一个小的示意图,我们看到在左边终端到区域里头,但是接入点离左边近一点,左边的接入强度大一点,但是左边很拥挤,如果我们有手段能够让它挪到右边去,尽管右边稍微远一点,但是是不是体验会更好?这个是第一个问题,基本上原因在于它的决定通过粘滞性问题。因为你会粘滞,所以你一个人下降就会带来整体的下降。

其次就是动态调整的问题,比如我们在会场上布了十个IP点,事实上很多人都集中在刚下来的会议室,在隔壁会议室没有人,那隔壁会议室的wifi服务仍然是打开的,并且它的网络仍然是占用的,如果我们有手段来做调节,能够做动态调整的话,那我们可能会带来更好的效率跟结果,这个是可能我开篇的一个引题。

如果我们简单梳理一下,传统架构不管是胖IP还是瘦IP的结构,总而言之是没有考虑到软硬的结合,没有动态决策的东西,所以会带来很多的问题。我们的思路是借助SDN/NFV的考量,SDN本身很好的一个就是全局试图,希望能够让WLAN接入点像虚拟机的迁移一样做到动态可迁移,我们很多漫游的场景就能迎刃而解。另外我们可以做到多粒度的精准控制,也能得到很好的结果。所以我们希望把SDN/NFV弄到WLAN场景下来,就有很多的工作。

我下面这是一个方案,这个工作基本上是基于远端VAP技术,是把IP做成一个虚拟IP,所有真正的处理不是在物理接入点上面,就是把所有的数据桢都转到空气上来,你的数据处理,漫游切换,负载均衡等等都在这上面实现,这上面是说我在我的IP点到空袭之前跑一个交换机,这种方式会把所有的数据针都转到我的数据上来,这带来的结果会导致网络拥塞,控制器压力非常大。另外一点就是它严重忽视了终端性能的进步跟差异,现在我们每个人手里的手机都有8核的,也就是说我们接入设备能非常大,但是他严重把设备性能忽视掉了,所以浪费了很多资源。

在下面我们做了Odin方案,基本想法就是把VAP放在IP上头,这个后面我会有一个更详细的说明。

下面把访客跟住人的wifi区分开,把网络进行不同的切片,比如在这个网上面跑视频业务,在另外一个网上面跑实时通讯业务,这个想法本身是对OPEN的应用。但是另外一个点是meSDN的事情,很多老师在骨干网,在核心节点做了一些激进的工作,他在终端上支持OpenFlow,也就是在手机上面以流为单位来做OpenFlow的标签,然后再在我的接入点上面,在控制器上面来做对应的掉无跟决策,这样做的好处就是它能够完整的控制,从接入开始一直到进入到这个落,应该是从终端开始到接入,到进入这个网络,到完成流程是全程监控的。因为现在很多工作不管是感知也好,提供其他服务也好,首先要有一个东西在里头,因为你必须意识到是什么义务,是什么人,是干什么的。如果我在终端上做这个事情就轻松很多。当然也有一个缺点,因为目前我了解到他这个实验室做的工作只是在安卓上做了实现,另外考量终端上毕竟工况,还有开放性是比较难的,所以我们认为这种方案至少跟当下的方案不是兼容的,当然这是一个思路。

另外一部分我们自己也做了一个架构,其实架构画起来很简单,和大家看到的传统的我们当下提的SDN架构基本相同,我们把WLAN这块分成两个层面,一个就是执行层面,另外一个层面就是管理层面,我们在上面做移动管理、资源管理、控制。我们分成几个部分,一是服务层,这上面我们把在IP上增加了OpenFlow的支持,一个OpenFlow它一直到1.5的协议版本,在二层的协议应该是支持862.3,所以我们把这个协议做了扩展。再往上走做了一个控制层,实际上是两部分,一部分是OpenFlow的控制器,也就是传统的OpenFlow支持的这么一个思路。另外一个就是我们针对于WLAN的861特殊针的方式,当然最上面我们会做一些硬件的工作。

这一块我简单的再说一下,我们的结构是在IP上面做了一个简单的划分,比如在用户空间我们实现的是Odin的架构,包含基本的DK支持,包括缓存、加速,传统的层面。我们扩展OpenFlow协议这里面做了一个简单的说明,传统的我们会包含到861协议的情况,863协议的情况我们会增加了一些861协议的支援结果,时间关系这一块我就不再详细展开了。最终的结果就是大概这么一个形态。

第二个层面增加了虚拟化的支持,虚拟化这一块本身对IP而言,包括对普通网卡而言不是一个新鲜的东西,比如大家要做虚拟网卡,包括在IP端上面做给访客开一个网络,给家庭用户开一个网络,这是面向单个IP做一个虚拟化,但是我们考虑到高密度的场景,首先要解决的就是第一个要能够做到IP的虚拟化,第二个能做到虚拟化IP可以做漫游和切换,我们的基本思路就是借鉴Odin的思想,这里面我们做了一个IP虚拟化的扩展,把用户的接入包括到漫游的节点选择,包括到IP的关联,包括到重建,都借助虚拟IP的方式来呈现。基本的想法是跟Odin的思路比较类似。下面我截了一个图,基本上是从Odin上扒过来的一个结果,我们通过虚拟化的直连,在上面增加了一个vMB的服务,来做我们的考量和支持。

我们还做了一个本地控制器,包括接入、认证、统计、基本测量感知、ACL等等这样的,这一块我们是基于Floodlight上面支持。我们的接入控制这里面有一个简单的示意,这里面我们做了两个方面的工作,一个是把IP的广播,就是我如果在无线网的终端接入会有一个发现和扫描的阶段,这个方式的一个好处就是说我们可以定向的让每一个IP收到我的包,比如我想让某一个终端接入到这个IP上面来,这个终端就只能发现这个IP,这个是我们一个改进的工作。第二是在IP选择节点上来讲是由控制器终端能够接入到IP上面来,这里会有一个简单的示意。我第二个终端过来的时候会动态的分配到IP3上来,这个整个决策是由控制器来做这个决策。

整体架构是这么一个结果,在控制器上层分为两层,一个是本地控制器,一个是全域控制器,我觉得这个事还是蛮有意思的一个事情。

接下来我们介绍一下基于架构做了一点所谓的研究和探索。

第一块大家都知道铁塔公司,你把现在运营商提的概念,把铁塔建好以后可以提供给不同的运营商,在当下我们也做了一个类似的方式,实际我们建了一个基础设施,比如说在校园,我可以把这些IP开放给中国电信,把这些IP开放给中国移动,可以把这些开放给中国联通,这个方式是完全做资源隔离的,而且每个上面都有自己的服务质量保证,这就是跟我们的控制器来做到的事情,但是在每个我们说的区域网上面可以做不同的策略,这是我们的第一个尝试。这个我们在很多校园都做了一个具体的实践工作。

第二个尝试就是功耗控制,刚才张老师在提到我们网络部可以控制功耗,但是很多点可以控制,因为你在接入点可以,因为手机可以控制,手机接入IP也可以控制。我们在这里做了一个简单的分析,比如传统的IP家用的功耗是1.4W左右,一年大概也就是十几度电,但是如果说它处在Idle模式下面就可以降到三分之一左右,如果把整个设备关掉基本就为零了。如果一个全域试图在这儿,我们是不是就可以把功耗降下来,所以我们利用这个事做了一个简单的工作,就是可以通过一些哨兵的IP点做一个监控,感觉到来了多少人,进行服务质量的要求。最终你就能达到功耗控制的目的。

这边有我们的一个简单实验的示意跟结果分析,一千个IP的场景,这是一所比较大的学校的规模,我一年能够省6000-10000度电左右,我们如果说自己在校园里架IP可能电费是一个收费标准,但是如果你是运营商在校园里架IP,可能电费标准是他的两倍,因为他是运营的,这是我们另外的一个有意思的点。另外我们也在做无缝漫游的尝试,有三个步骤,一个是漫游节点的选择,二是做IP的连接,三是连接重建。

事实上我们在WLAN的场景下,因为它不像蜂窝网络一样,蜂窝网络是先通后断,WLAN解决方案为了出于功耗,或者出于时间考虑,我们希望借助VAP还有集中控制思路,能够把漫游做到连接断的情况做到更低时间更少。目前我们用传统的Pin来做测试就是你持续移动我们大概三个包左右,这里有一个简单的示意,这个是移过来了,其实这个思想很简单,就是VAP的删除跟创建跟加入。在这一块我们也做了一些好玩的事情,因为我们知道在很多高密度场景下面一个最麻烦的事情就是你要来回的切,那这个事带来的一个后果就是不稳定,如果不稳定就带来吞吐量的下降,带来用户体验的变差,所以这一块我们就利用这个方式来做了一个尝试。

另外我们也做了一些负载均衡的工作,刚才也说了一些缓存的事情,现在包括网速跟路由都在做这样的事情,这个它是做了一种CDN的解决方案,实际上包括我们以前在座用过优酷土豆宝的动作,它的想法非常简单,就是把家里面的闲置资源用起来,我们现在的高速发展完全能够使得我们的IP节点能够做一些过去通过PC或者通过终端来完成的工作,这一块我们的想法就是在高密度强度下面,把这些节点当成我们的缓存节点,联动起来,带来的结果我想是显而易见的。这个工作我们还在运行当中,我只是简单的过一下。目前来看我们的提升应该还是蛮明显的。

另外我们这一块也做了一些包括加速的这么一个解决方案,因为我们是做了多点,可以集中控制,这个我们也快速往下走,这一部分在加速解决方案我们看到的结果它的速率提升有4-5倍左右。比如说现在我们也在两千辆长途汽车上布了我们的解决方案,有两个节点,一个是移动,一个是联通,这样我们通过选择来达到网络可用跟质量体社的问题。

如果简单总结一下,我们利用软件定义的解决方案来解决相关的问题。目前比如说在漫游切换,在高密支持,在功耗节能,在位置管理和数据联动这些方面有这么一些小的实验结果。

当然如果我们展望将来,我们其实觉得当下还是有很多事可以做的,包含到我们在接入这一块能够跟骨干,跟会聚点联动,还有就是我们在接入介质方面,当下我们是以WLAN来做的切入点,事实上还有很多项目包含了4G跟wifi的融合,这些还有很多事情可以值得大家探讨,大概我的这个报告就到这里。后面有我们这么一个官网的展示,如果大家有兴趣可以跟我们会后进行交流讨论,谢谢各位!


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/17090.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于16-06-13
0