WLAN控制器 – 系统总体架构

52 篇文章 32 订阅
4 篇文章 0 订阅

WLAN控制器 – 系统总体架构

1.   背景与需求

1.1       传统路由器架构简介

1.1.1           路由器软件架构

路由器从软件逻辑结构上来讲,分为控制面和数据面,如下图所示:        

图 1 路由器逻辑架构

控制面:完成路由协议计算,路由优选等工作,形成最优路由下发给数据面。控制面注重协议兼容的完整性和系统一些RAS特性,控制面运行的OS要求有完备的机制,功能丰富,一般是胖OS,其功能要求丰富,运行速度不一定很快,多个任务需要进行抢占和切换。控制面接收用户配置和协议计算结果作为输入,然后按照优先级对配置的路由和计算的路由进行优选,得到最优的路由后,下发给数据面作为转发表项指导报文转发。

数据面:又称为转发面,根据控制面计算的路由表完成报文的转发,QoS整形等动作。数据面报重点关系报文转发速率。数据面运行的是经过定制瘦OS,多余功能已经完全去除,运行数据面的软件,按照控制面计算好的路由表项以最快速度完成报文转发。这种OS功能非常单一,可以简单的理解为一个WHILE循环,只是不断的收包、查表、发包,同时这个WHILE循环不会被任何其他的任务抢占或切换。数据面接收报文后,查看路由转发表,若有匹配的表项,即将报文按照表项指定的方法转发出去。

1.1.2           路由器硬件架构

路由器从硬件物理结构上可分为集中式和分布式。

集中式设备:也叫盒式设备,如下图所示。外形上就是一个盒子,里面装有嵌入式单板,单板上运行一个OS,既负责路由协议的计算也负责报文的转发。由于控制面需要完备的系统功能,所以必须运行一个胖OS。由于胖OS需要运行路由计算,数据报文的转发流水线被不断的打断,所以转发速率不是很高。路由表由控制面软件计算完成后,下方的内存中,数据面直接可以使用,无需路由表下发动作。因此,集中式设备用于办公OA网络和接入层。

图 2 集中式设备物理结构

分布式设备:从外形上看就像刀片服务器,在一个机框中插有许多板卡,中间的两块板卡称为主控卡MPU(一主一备),其上运行胖OS,负责控制面功能;其他板卡称为业务卡或线卡LPU,运行足够小的瘦OS,负责数据报文的转发;所有的板卡通过背板Fabirc进行互联互通,Fabirc通过硬件完成交换功能,可以达到很高的速录。MPU上运行的是胖OS,运行控制面软件,完成协议计算,路由选择,并形成路由表,路由表通过背板Fabric下发给各个LPU。LPU按照下发好的路由表,完成数据报文的接收、查表、转发等动作。由于每个板卡独立工作,互不打扰,且LPU上运行的是瘦OS,没有其他任务打断其转发操作的流水线,所以转发速率非常高。分布式路由器用于数据中心和IP Core等网络关键点上。

 

图 3 分布式设备物理结构

1.2   需求

集中式设备价格便宜,表项由控制面直接写入内存,数据面直接使用即可使用,表项更新速录快。但是数据面收到控制面软件的影响,转发速率慢;

分布式设备转发速率高,但是路由表项需要通过Fabirc背板才能从MPU下发到各个LPU,表项更新速度收到Fabric的限制,而高速的Fabirc价格昂贵。

而且分布式设备和集中式设备由于结构完全不同,所以代码完全不兼容,代码的维护升级成本相当高。

目前需要一种架构,可以统一分布式设备和集中式设备的代码结构,同时兼有分布式设备和集中式设备的优点。当前WLAN控制器为集中式设备,所以WLAN控制器系统架构需求如下

a.      可以统一分布式和集中式的代码结构,即软件可方便扩展未分布式结构。

b.      可高速更新路由表。

c.      控制面和数据面独立运行,互不干扰

d.      拥有独立的无线管理功能。

e.      拥有独立的传统有线转发功能。

f.       可伸缩裁剪,即无线管理功能可拆卸。

2.   WLAN控制器系统架构

为了满足WLAN控制器系统架构需求,逻辑架构设计如下:

图 4 WLAN控制器系统逻辑架构

WLAN控制器设备采用多核处理器结构,硬件平台上运行我司定制的实时Hypervisor系统软件。Hypervisor统一管理系统所有的硬件资源。在Hypervisor上运行多个虚拟机实例,每个虚拟机的硬件资源都是由Hypervisor来进行分配管理的。采用分区虚拟化的思路,硬件资源直接被Hypervisor分为多份,然后将每一份硬件资源独立的分配给各个虚拟机,虚拟机之间硬件不共享。虚拟机之间完全隔离被隔离,运行在一个绝对对立的虚拟化空间中,可以达到和物理机相同的运行效率。每个虚拟机就类似于分布式结构中的一个独立的板卡,独立承载运行不同功能平面的软件系统软件(控制面系统软件、无线控制面系统软件和数据面系统软件)。控制面虚拟机在自己的硬件环境中,运行胖OS,完成路由计算工作;数据面虚拟机同样在自己独立的硬件环境中,运行瘦OS,完成报文转发工作。由于分区虚拟化的完全隔离效果,控制面的计算工作不会打扰到数据面虚拟机报文转发的流水线,使得数据面虚拟机的报文转发达到线速。这样满足了路由计算的需求和高速转发的需求。满足了数据面和控制面独立运行的需求。

共享内存,既上图的share memory。系统的内存资源除了分配给各个虚拟机系统的独立内存外,Hypervisor还保留了一部分内存作为共享内存。共享内存都被各个虚拟机映射到自己的内存管理系统中,所以共享内存中的内容是各个虚拟机都可见的。通过对页表项权限的修改,就可以确保对共享内存的读写操作权限。共享内存有两个用途:

  • 作为虚拟机互通的通信通道,提高虚拟机间的通信效率。发送虚拟机之间的报文过程为,发送端虚拟机将报文发往虚拟接口Virt.IF,虚拟接口将报文写入共享内存后通过核间中断通知目的虚拟机,目的虚拟机收到核间中断后,直接从共享内存中将报文内容读出进行处理。通过共享内存的方式,减少了报文在虚拟机之间的拷贝动作,提高了虚拟机间的通信效率。
  • 无线控制面虚拟机把计算好的无线路由转发流表放写入共享内存中,这样各个转发面虚拟机都可看见。一旦无线控制面虚拟机将转发流表写入共享内存中,其他数据面虚拟机就可以看到路由流表的更新结果。这个过程是同步的,满足了高速更新路由表的需求。

按照网络拓扑中,设备所处的位置,将设备分为:

  • 有线侧设备:出于传统以太网、Intelnet中的设备成为有线侧设备。如Portal服务器、Radius服务器、Web服务器等
  • 无线侧设备:处于WLAN中的设备,如STA,手机、AP等。

按照处理路径的不同,将报文分为如下种类:

  • 有线报文:从有线侧发往有线侧的传统有线报文,成为有线报文;
  • 无线报文:从有线侧发往无线侧的报文、从无线侧发往有线侧的报文、从无线侧发往无线侧的报文都称为无线报文

虚拟机中分别独立承载运行不同功能平面的软件系统软件(有线控制面系统软件、无线控制面系统软件和数据转发面系统软件)。按照功能可以分为如下种类:

  • MPU:mainprocessing unit,主处理单元,负责AC设备配置、有线路由协议计算、有线路由优选,完成传统控制面的功能。这里需要注意,MPU完成的是传统有线路由部分的计算,如ARP,ISIS等。MPU并不负责无线报文路由计算。MPU将计算好的有线路由表,通过物理驱动下发给交换芯片switch chip。分给MPU虚拟机的处理器核可以是一个或n个core,分组为group0,并在处理器内部的属性中标明。
  • WPU:wireless processing unit,无线处理单元,负责AC设备无线控制协议、接入认证与控制处理等任务。负责计算无线报文转发流表,如STA流表、AP分发流表等。计算好的无线转发流表通过虚拟驱动写入共享内存中。分给WPU虚拟机的处理器核可以是一个或n个core,分组为group1,并在处理器内部的属性中标明。
  • DPU:dataprocessing unit,业务数据处理单元,负责无线报文的解析、分流、转发、流控等数据面功能。DPU通过SSO接收无线报文(从STA来或送往STA),然后进入内部无线转发处理流程,按照无线转发流表选路后,转发送出相应的报文,其中如果是送往STA的报文,需要进行CAPWAP的隧道封装。分给DPU虚拟机的处理器核可以是一个或n个core,分组为group2,并在处理器内部的属性中标明。

还要提到的是交换芯片:

  • SW:switch chip,交换芯片,这里采用的是broadcom的交换芯片。支持传统有线的二、三层报文转发。SW不是一个虚拟机,而是一个物理设备,在系统中负责有线报文的数据面工作。同时也作为WLAN无线控制器的总出入口的角色。MPU虚拟机将计算好的传统有线路由表下发至SW芯片中,形成路由表。所有的外部接口都连接到SW上。SW接收到报文后,对报文进行判断,如果是无线报文,就送往DPU芯片的SSO单元交给DPU进行处理;如果是有线报文,就按照下发好的有线路由表进行报文的转发。 

这里多提一下从有线侧发往无线侧的报文,略微复杂。SW接收到有线侧报文,判断报文是发送给无线侧的报文,则将报文送往DPU虚拟机处理器的SSO,DPU系统软件从SSO中提取出报文,按照无线转发流表对报文进行CAPWAP隧道封装,封装完成后,将报文通过DPU处理器的PKO发送给SW,SW按照目的mac转发给对应SSID的AP上,AP接到CAPWAP报文,解除封装后,发送给WLAN内的目的STA。

         这样集中式设备中每个虚拟机就像分布式设备中独立的单板一样,分别加载对应处理平面的镜像文件(内含系统软件),独立运行。通过虚拟机的方式,就可以保证集中式设备可以使用分布式设备的镜像文件,保证了分布式设备和集中式设备可以共同兼容使用同一套代码,减少了代码的升级和维护成本。

         系统中,每个虚拟机承载着独立的业务功能,当只需要传统有线转发业务的时候,可以关闭WPU虚拟机和DPU虚拟机后,并通知SW即可变成传统有线路由器。满足了业务独立运行和业务可自动伸缩裁剪的需求。

         按照报文处理量的大小,可以选择启动不同数量的DPU虚拟机,输入的报文按照轮询或其他算法方式分别送往不同DPU虚拟机进行处理。通过DPU虚拟机的灵活启停方式,满足了弹性业务处理性能的需求。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值