一种基于linux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统的制作方法

文档序号:8006467阅读:319来源:国知局
一种基于linux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统的制作方法
【专利摘要】本发明公开了一种基于linux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统,该方法包括接收来自下行真实网卡的UDP端口5247的数据;移除上述数据的capwap协议头,得到用户数据;或者接收来自上行真实网卡绑定的原始套接字的数据;将上述用户数据根据转发规则进行处理,得到经转发后的用户数据;将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向;如果上述数据发往网络,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络;如果上述数据发往无线接入点,则为上述数据添加capwap协议头,并通过下行真实网卡的UDP端口5247的套接字发送至无线接入点。本发明所涉及的软件开发难度低,开发周期短,对硬件依赖小。
【专利说明】—种基于丨i nux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统
【技术领域】
[0001]本发明涉及无线通信领域,尤其涉及一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统。
【背景技术】
[0002]capwap协议为无线局域网(wlan)的隧道协议,用于无线接入点(AP)和无线网络控制器(AC)之间的通信交互,实现对AC关联的所有AP的控制管理和数据转发。其中AP与AC间为二层数据封装:外层是AP与AC间的capwap协议头,所述协议头基于5247端口的UDP协议,内层封装为用户的业务数据。
[0003]现有的Tap虚拟网卡技术如图2所示,Iinux操作系统分为用户态10和内核态20,所述用户态10是指当进程执行用户代码时,称其处于用户态10 ;当进程执行系统调用而执行内核代码时,称其处于内核态20。如图2所示,用户态10包括Tap读写处理线程模块104,内核态20包括Tap字符设备201,IP协议栈202,Tap虚拟网卡203,真实网卡206。其中IP协议栈202用于根据预定的协议对数据进行封装形成数据包。
[0004]具体的数据处理过程是:Tap读写处理线程模块104通过IP协议栈202接收来自真实网卡206的数据,并将其通过Tap字符设备201写入Tap虚拟网卡203中,根据预定的转发规则对上述数据进行处理,之后Tap读写处理线程模块104通过Tap字符设备201读取上述处理后得到的数据,并通过真实网卡206进行发送。
[0005]Tap虚拟网卡技术实现了虚拟以太网卡的功能,可以将IP协议栈202处理好的网络分包传给任何一个使用Tap驱动的进程,由进程重新处理后再发到物理链路中。
[0006]Tap虚拟网卡的数据接收和发送不直接和真实网卡打交道,而是通过用户态Tap读写处理线程模块来交互。
[0007]目前针对在AC上对capwap隧道数据的实现有两种方案:
[0008]1、在Iinux内核中对capwap隧道数据进行拆组后转发,其缺点是需要在Iinux内核态进行开发,开发难度大,调试困难。
[0009]2、使用网络处理器单独对数据包进程处理,其缺点是需要使用专门的网络处理器,需要开发二层三层数据转发功能,开发难度大,硬件成本高。

【发明内容】

[0010]本发明的目的在于提供一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统,以实现在AC上对capwap隧道数据的处理功能。
[0011]为实现上述目的,本发明的一方面提出了一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,所述方法包括:
[0012]接收来自下行真实网卡的UDP端口 5247的数据;
[0013]移除上述数据的capwap协议头,得到用户数据;[0014]将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据;
[0015]将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向;
[0016]如果上述数据发往网络,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络;如果上述数据发往无线接入点,则为上述数据添加capwap协议头,并通过下行真实网卡的Μ)Ρ端口 5247的套接字发送至无线接入点。
[0017]本发明的该方案的有益效果在于通过上述方法能够将来自无线接入点的capwap隧道数据在无线网络控制器上进行处理,移除其capwap协议头,并根据得到的用户数据的目的地进行发送,当所述数据发往无线接入点时,为其添加capwap协议头,并通过下行真实网卡的Μ)Ρ端口 5247的套接字发送至无线接入点。
[0018]优选的是,对所述用户数据根据转发规则进行处理中的规则是指Route(路由),NAT (网络地址转换),ACL (地址访问控制)。
[0019]本发明还提出了与上述方案相对应的系统。
[0020]本发明还提出了一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,所述方法包括:
[0021]接收来自上行真实网卡绑定的原始套接字的数据;
[0022]将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据;
[0023]将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向;
[0024]如果上述数据发往网络时,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络;
[0025]如果上述数据发往无线接入点时,则为上述数据添加capwap协议头,并通过下行真实网卡的Μ)Ρ端口 5247的套接字发送至无线接入点。
[0026]本发明的该方案的有益效果在于通过上述方法能够将来自网络的数据在无线网络控制器上进行处理,并根据数据的目的地进行发送,当所述数据发往无线接入点时,为其添加capwap协议头,并通过下行真实网卡的UDP端口 5247的套接字发送至无线接入点。
[0027]优选的是,对所述用户数据根据转发规则进行处理中的规则是指Route,NAT,ACL。
[0028]本发明还提出了与上述方案相对应的系统。
【专利附图】

【附图说明】
[0029]图1示出了本发明所涉及的通信系统的整体框图。
[0030]图2示出了现有技术中Tap虚拟网卡技术。
[0031]图3示出了 capwap控制信令处理模块的控制处理框图。
[0032]图4 (a)示出了用户上行数据流程的框图,(b)示出了其流程图。
[0033]图5 (a)示出了用户下行数据流程的框图,(b)示出了其流程图。
【具体实施方式】[0034]下面结合附图对本发明的【具体实施方式】做进一步说明。
[0035]如图1所述,依照本发明所涉及的通信系统包括网络A,无线网络控制器B以及无线接入点C。具体的上行数据流向是指数据从无线接入点C到网络A ;下行数据流向是指数据从网络A到无线接入点C。
[0036]为了在无线网络控制器B上对capwap隧道数据进行处理,所述无线网络控制器B中的Iinux用户态10包括capwap控制信令处理模块101,用户数据转发处理模块102以及Tap读写capwap隧道数据处理模块103 ; I inux内核态20包括Tap字符设备201,IP协议栈202,Tap虚拟网卡203,上行真实网卡204以及下行真实网卡205。其中capwap控制信令处理模块101完成用户的上线处理,并且将用户的MAC地址通过线程间通信通知Tap读写capwap隧道数据处理模块103,以便将待转发数据的目的地址与上述用户的MAC地址进行对比,判断待转发数据的发送目的地,如图3所示。
[0037]用户数据转发处理模块102用于将来自下行真实网卡205的UDP端口 5247的数据的capwap协议头移除,并将得到的用户数据通过Tap字符设备201写入Tap虚拟网卡203。
[0038]Tap读写capwap隧道数据处理模块103用于预存用户的MAC地址,并且将来自上行真实网卡204绑定原始套接字的数据通过Tap字符设备201写入Tap虚拟网卡203,将来自Tap虚拟网卡203的数据的目的地址与上述预存的用户MAC地址进行对比,判断上述数据的发往方向,如果上述数据是发往网络A,则将上述数据通过IP协议栈202发送至上行真实网卡204,如果上述数据发往无线接入点C,则将上述数据添加capwap协议头,并通过IP协议栈202发送至下行真实网卡205。
[0039]Tap字符设备201是用户数据转发处理模块102与Tap虚拟网卡203之间,以及Tap读写capwap隧道数据处理模块103与Tap虚拟网卡203之间的桥梁,其用于存储数据。
[0040]IP协议栈202用于根据预定的协议处理用户数据转发处理模块102与下行真实网卡205之间传输的数据,以及用于根据预定的协议处理Tap读写capwap隧道数据处理模块103与上行真实网卡204,下行真实网卡205之间传输的数据。
[0041]Tap虚拟网卡203用于根据预定的转发规则对数据进行处理,例如Route,NAT,ACL,得到经转发后的数据。
[0042]上行真实网卡204用于无线网络控制器B与网络A之间数据传输。
[0043]下行真实网卡205用于无线网络控制器B与无线接入点C之间数据传输。
[0044]具体的在无线网络控制器B上对capwap隧道数据进行处理,在上行数据流向过程中对capwap隧道数据进行的处理如图4所示:
[0045]用户数据转发处理模块102通过IP协议栈202从下行真实网卡205的UDP端口5247接收来自无线接入点C的数据,该5247端口为capwap协议中规定的capwap隧道数据端口,如图4 (b)中SlOl所示;在用户数据转发处理模块102中将上述数据的capwap协议头移除,得到用户数据,并将所述用户数据通过Tap字符设备201写入Tap虚拟网卡203,如图4 (b)中S102所示;在Tap虚拟网卡203中,根据预定的转发规则,对所述用户数据进行处理,得到经转发后的用户数据,如图4 (b)中S103所示;Tap读写capwap隧道数据处理模块103通过Tap字符设备201从Tap虚拟网卡203中读取上述经过处理的数据,根据上述经过处理的数据的目的地址与用户MAC地址的比较,判断出上述经过处理的数据发往网络A,如图4 (b)中S104所示;之后将上述数据通过IP协议栈202发送至上行真实网卡204,进而通过上行真实网卡204绑定的原始套接字发往网络A,如图4 (b)中S105所示。
[0046]具体的在无线网络控制器B上对capwap隧道数据进行处理,在下行数据流向过程中对capwap隧道数据进行的处理如图5所示:
[0047]Tap读写capwap隧道数据处理模块103通过IP协议栈202从上行真实网卡204绑定原始套接字接收来自网络A的数据,如图5 (b)中S201所示;Tap读写capwap隧道数据处理模块103将上述数据通过Tap字符设备201写入Tap虚拟网卡203,在Tap虚拟网卡203中,对上述数据根据预定的转发规则进行处理,得到经转发后的用户数据,如图5(b)中S202所示;Tap读写capwap隧道数据处理模块103通过Tap字符设备201从Tap虚拟网卡203中读取上述经过处理的数据,根据上述经过处理的数据的目的地址与用户MAC地址的比较,判断出上述经过处理的数据发往无线接入点C,如图5 (b)中S203所示;Tap读写capwap隧道数据处理模块103将上述数据添加capwap协议头,并通过IP协议栈202发送至下行真实网卡205,进而通过下行真实网卡205的UDP端口 5247的套接字发往无线接入点C,如图5 (b)中S204所示。
[0048]本发明所涉及的基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统能够实现在wlan系统中,在AC上对capwap隧道数据的处理功能。在Iinux用户态10开发,数据转发都由Iinux内核20中的Ip协议栈202实现。本发明所涉及的软件开发难度低,开发周期短,对硬件依赖小,可以快速部署轻量级AC设备。
【权利要求】
1.一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,所述方法包括: 接收来自下行真实网卡的UDP端口 5247的数据; 移除上述数据的capwap协议头,得到用户数据; 将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据; 将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向; 如果上述数据发往网络,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络;如果上述数据发往无线接入点,则为上述数据添加capwap协议头,并通过下行真实网卡的Μ)Ρ端口 5247的套接字发送至无线接入点。
2.根据权利要求1所述的基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,其特征在于:对所述用户数据根据转发规则进行处理中的规则是指路由,网络地址转换,地址访问控制。
3.—种基于I inux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理系统,所述系统包括: 接收来自下行真实网卡的UDP端口 5247的数据的装置; 移除上述数据的capwap协议头,得到用户数据的装置; 将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据的装置; 将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向的装置; 如果上述数据发往网络,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络的装置; 如果上述数据发往无线接入点,则为上述数据添加capwap协议头,并通过下行真实网卡的Μ)Ρ端口 5247的套接字发送至无线接入点的装置。
4.根据权利要求3所述的基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理系统,其特征在于:对所述用户数据根据转发规则进行处理中的规则是指路由,网络地址转换,地址访问控制。
5.—种基于I inux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,所述方法包括: 接收来自上行真实网卡绑定的原始套接字的数据; 将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据; 将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向; 如果上述数据发往网络时,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络; 如果上述数据发往无线接入点时,则为上述数据添加capwap协议头,并通过下行真实网卡的UDP端口 5247的套接字发送至无线接入点。
6.根据权利要求5所述的基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法,其特征在于:对所述用户数据根据转发规则进行处理中的规则是指路由,网络地址转换,地址访问控制。
7.一种基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理系统,所述系统包括: 接收来自上行真实网卡绑定的原始套接字的数据的装置; 将上述用户数据写入Tap虚拟网卡中,根据转发规则对上述用户数据进行处理,得到经转发后的用户数据的装置; 将上述处理过的用户数据的目的地址与用户MAC地址进行对比,判断所述数据的发送方向的装置; 如果上述数据发往网络时,则将上述数据通过上行真实网卡绑定的原始套接字发送至网络的装置; 如果上述数据发往无线接入点时,则为上述数据添加capwap协议头,并通过下行真实网卡的UDP端口 5247的套接字发送至无线接入点的装置。
8.根据权利要求7所述的基于Iinux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理系统,其特征在于:对所述用户数据根据转发规则进行处理中的规则是指路由,网络地址转换,地址访问 控制。
【文档编号】H04L29/08GK103442015SQ201310397353
【公开日】2013年12月11日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】赵川 申请人:深圳市华讯方舟科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1