一种报文转发方法和设备与流程

文档序号:17608378发布日期:2019-05-07 20:53阅读:209来源:国知局
一种报文转发方法和设备与流程

本发明涉及无线局域网(Wireless Local Area Networks,简称:WLAN)网络技术,特别涉及一种报文转发方法和设备。



背景技术:

在WLAN网络的实际部署中,WLAN网络一定是依附在有线网络中的,即WLAN网络中负责对无线用户的报文转发的数据平面,最终都是要依靠有线网络中的网络设备将数据发送到目的地址。在上述的报文转发过程中,涉及到数据终结设备,该数据终结设备负责将接入点(Access Point,简称:AP)接收到的无线用户的数据在有线网络转发,其可以是AP或者无线控制器(Access Controller,简称:AC)。当终结在AP时,用于转发数据的转发信息需要配置在有线网络的各层交换机上,配置工作量很大;当终结在AC时,可以减少网络配置量,但是由AC集中转发大量的数据流量,AC的转发性能无法满足要求。



技术实现要素:

有鉴于此,本发明提供一种报文转发方法和设备,目的是实现在减少网络配置量的同时提高报文转发性能。

具体地,本发明是通过如下技术方案实现的:

第一方面,提供一种报文转发方法,包括:

接入点AP接收无线终端发送的第一报文,查找转发表获得转发所述第一报文的二层隧道端口,并将第一报文进行隧道封装后通过所述二层隧道端口对应的二层隧道发送至无线控制器AC为AP分配的交换机,以使得所述交换机将所述第一报文发送至目的设备;或者,

所述AP接收所述交换机通过所述二层隧道发送的第二报文,所述第二报文是所述目的设备向无线终端发送的报文,并将所述第二报文进行隧道解封装后根据所述转发表转发至所述无线终端。

第二方面,提供一种报文转发方法,所述方法由交换机执行,包括:

所述交换机接收接入点AP通过二层隧道发送的无线终端的第一报文,并将所述第一报文查表转发至目的设备;或者,

所述交换机接收所述目的设备向无线终端发送的第二报文,并将所述第二报文通过所述二层隧道发送至所述AP,以使得所述AP将所述第二报文转发至所述无线终端。

第三方面,提供一种报文转发方法,包括:

无线控制器AC获取连接至接入点AP的无线终端的VLAN;

所述AC根据所述VLAN,分别向AP和交换机发送表项信息,所述表项信息包括:对端的IP地址和隧道标识,以使得所述AP和交换机根据所述表项信息建立与VLAN对应的二层隧道,所述二层隧道用于转发所述AP和交换机之间的交互报文。

第四方面,提供一种接入点AP,包括:

第一转发模块,用于接收无线终端发送的第一报文,查找转发表获得转发第一报文的二层隧道端口,并将第一报文进行隧道封装后通过所述二层隧道端口对应的二层隧道发送至无线控制器AC为AP分配的交换机,以使得所述交换机将所述第一报文发送至目的设备;

第二转发模块,用于接收所述交换机通过所述二层隧道发送的第二报文,所述第二报文是所述目的设备向无线终端发送的报文,并将所述第二报文进行隧道解封装后根据所述转发表转发至所述无线终端。

第五方面,提供一种交换机,包括:

第一转发模块,用于接收接入点AP通过二层隧道发送的无线终端的第一报文,并将所述第一报文查表转发至目的设备;

第二转发模块,用于接收所述目的设备向无线终端发送的第二报文,并将所述第二报文通过所述二层隧道发送至所述AP,以使得所述AP将所述第二报文转发至所述无线终端。

第六方面,提供一种无线控制器AC,包括:

接收模块,用于获取连接至接入点AP的无线终端的VLAN;

通知模块,用于根据所述VLAN,分别向AP和交换机发送表项信息,所述表项信息包括:对端的IP地址和隧道标识,以使得所述AP和交换机根据所述表项信息建立与VLAN对应的二层隧道,所述二层隧道用于转发所述AP和交换机之间的交互报文。

本发明实施例的报文转发方法和设备,通过由交换机作为数据终结设备,减少了网络配置量,同时多个交换机可以分担各个AP的数据平面,相对于传统方式中由AC统一集中转发,将提高了报文转发性能。

附图说明

图1是本发明实施例提供的报文转发方法的网络架构示意图;

图2是本发明实施例提供的二层隧道的建立流程图;

图3是本发明实施例提供的无线终端发送报文至远端服务器的转发流程图;

图4是本发明实施例提供的远端服务器发送报文至无线终端的转发流程图;

图5是本发明实施例提供的一种接入点设备的实体结构图;

图6是本发明实施例提供的另一种接入点设备的实体结构图;

图7本发明实施例提供的无线控制器的实体结构图。

具体实施方式

本发明实施例的报文转发方法,应用于WLAN网络,用于描述AP在接收到无线终端的报文时如何转发至目的设备,以及AP如何转发目的设备发往无线终端的报文。图1示例了该方法的一种可选的网络架构,并结合该网络架构来说明本发明实施例的报文转发方法,但是需要说明的是,对于其他架构的网络,本发明实施例的方法仍然适用。

如图1所示,该网络中包括:无线终端11,并假设该无线终端的IP地址是192.168.0.2,该无线终端连接上AP12,可以向AP12发送无线格式的数据,AP12可以将接收到的无线数据转换成有线数据后发往有线网络传输至目的设备。该目的设备即是无线终端11要将数据发往的设备,即图1中所示的远端服务器13,本实施例假设该远端服务器13的IP地址是202.202.11.28。其中,负责传输数据的有线网络包括接入层、汇聚层和核心层,WLAN网络中的控制器AC14设置于核心层,各个网络层都有交换机和路由器转发报文。

基于上述的网络架构,本发明实施例的报文转发方法涉及到三个主体,分别包括:AP12、AC14和交换机15,也就是说本实施例对这三个设备进行了改进,以使得其配合实现本发明的报文转发方法。需要说明的是,本实施例是以图1所示的架构为例,并以汇聚层的交换机15为例来描述,由汇聚交换机15来执行该方法;具体实施中,还可以选取核心层的核心交换机或者接入层交换机,方法相同,不再赘述。汇聚交换机15相当于数据终结设备,负责无线终端的数据平面。此外,在图1的网络中,核心交换机16作为用户网关,则报文转发至该核心交换机16之前的流程都是普通的二层转发流程。

首先简单说明下本发明实施例的报文转发方法的基本原理,在该方法中,AP在连接AC后,AC将会为该AP分配用于负责该AP的数据平面的交换机,所述的数据平面即负责对无线终端的数据进行转发。其中,AC分配的交换机例如是汇聚层的交换机或者核心层的交换机或者接入层的交换机,再由AP与该交换机之间建立二层隧道,通过该二层隧道转发AP与交换机之间的报文。其中,当AC为AP分配汇聚交换机或核心交换机时,由于汇聚层或核心层的交换机数量相对较少,将更加有助于减少网络配置量,并且也可以缩短报文传输路径。

这种方式,相对于AP作为数据终结设备来说,必然是减少了网络配置量,不用再在所有的交换机上配置报文转发信息,同时,汇聚交换机或核心交换机的数量都有多个,可以分担各个AP的数据平面,相对于传统方式中由AC统一集中转发,将提高了报文转发性能。而且,交换机实现该方案也很简单,在交换机上使用支持二层隧道的交换芯片即可。基于该原理,接着详细描述该报文转发方法的流程。

图2示例了二层隧道的建立流程,该二层隧道以VXLAN隧道为例(当然也可以使用其他二层隧道),描述了AC为AP分配交换机以及隧道的建立:

201、AP与AC建立控制隧道;

其中,当AP上电后,将会通过常规方式(例如广播发现等)发现AC,并与AC建立控制隧道即CAPWAP隧道。

202、AC为AP分配交换机,并分别向AP和交换机发送表项信息;

在建立控制隧道后,AC将会为AP分配用于处理其数据平面的交换机,该交换机可以是汇聚交换机或者核心交换机,本实施例是以汇聚交换机15为例。

需要说明的是,在AC发送表项信息之前,由于CAPWAP隧道的存在,AP的上线流程与无线终端的上线和认证流程与普通场景下没有区别,都由AC进行集中管理和认证,则在无线终端上线和认证的过程中,AC可以获知到该无线终端所属的VLAN,例如某个无线终端属于VLAN100。则AC根据无线终端所在的VLAN,通知AP和交换机建立与该VLAN对应的VXLAN隧道。

其中,AC下发的表项信息包括:对端的IP地址和隧道标识;例如,AC向AP发送的表项信息中包括交换机的IP地址和隧道标识,向交换机发送的表项信息中包括AP的IP地址和隧道标识。该隧道标识中包括VXLAN ID,该VXLAN ID可以从VLAN100换算而来,因为VLAN有12bit,VXLAN ID有24bit,所以所有的VLAN都可以很容易对应到一个VXLAN ID。

具体实现中,AC可以通过标准的SNMP协议,将表项信息下发给交换机,并通过CAPWAP协议将表项信息通知给AP。

203、AP和交换机根据表项信息建立VXLAN隧道,并生成与该隧道对应的二层隧道端口。

本步骤中,AP和交换机将根据AC下发的表项信息,创建VXLAN隧道表项,在两者之间建立起VLAN对应的VXLAN隧道,该隧道的标识即为202中的表项信息中的隧道标识,该隧道用于后续的AP和交换机之间的报文转发。并且,对于该VXLAN隧道,在AP或交换机上都以虚拟二层接口的形式存在,即会生成与该VXLAN隧道对应的虚拟二层端口,并加入到各自的转发表中,并且在转发表中还建立该二层端口与上述VLAN的对应关系。

可选的,本实施例中的AC可以通知AP和交换机建立VXLAN隧道,也可以通知两者拆除该隧道;比如,当AC获知某个VLAN中的所有无线终端都与AP断开连接时,将分别向AP和交换机发送拆除隧道通知,AP和交换机将根据该通知拆除与该VLAN对应的VXLAN隧道。

在建立AP和交换机之间的VXLAN隧道后,两者之间可以进行报文转发。图3示例了无线终端发送报文至远端服务器的转发流程,如图3所示,包括:

301、AP接收无线终端发送的第一报文;

其中,无线终端的报文可以是:单播报文、组播报文或广播报文。需要说明的是,这里的第一报文是为了与后面的反向报文发送时的报文名称相区别。初始情况下,无线用户如果要发送报文到远端服务器,由于远端服务器与无线用户不在同一网段,所以无线用户会将首包的目的MAC(DMAC)填上它的网关MAC(即核心交换机的MAC),并组装为802.11无线报文发送给AP。AP从某个BSS口(该BSS口是一种802.11射频虚拟口)接收到该无线用户的第一报文,将其转换为802.3有线报文格式。

302、AP查找转发表获得转发所述第一报文的二层隧道端口;

其中,AP收到第一报文后,将根据报文的目的MAC和VLAN查找二层转发表,查找结果可能有两种,一种结果是查找成功,发现DMAC的出接口为二层隧道端口,即上面提到的虚拟二层端口,则继续执行303;另一种结果是查找失败,网关即核心交换机的MAC不在AP的转发表中,则AP可以将该报文按照未知单播处理,与广播报文的转发类似,AP会根据报文VLAN获取与VLAN对应的所有端口,并从该所有端口中获取虚拟的所述二层隧道端口,执行303。

此外,如果AP首次接收到该第一报文,AP还要进行MAC学习,将该第一报文的源MAC学习到接收到第一报文的BSS口上。而且,除了上述的AP对于广播报文要只选择VLAN对应的虚拟口发送,其他的组播或单播报文的流程类似,也都是要进行二层查表转发,找到发送报文的端口。

303、AP将第一报文进行隧道封装后,通过所述二层隧道端口对应的二层隧道发送至交换机;

结合图1所示,AP将报文进行VXLAN隧道封装,并将报文通过VXLAN隧道发送至汇聚交换机。

304、交换机将所述第一报文查表转发至目的设备;

其中,交换机接收到来自AP的第一报文后,需要将隧道终结,解析出内层报文,同样根据目的MAC和VLAN查找二层转发表。如果查找成功,则将报文发送至DMAC(核心交换机)对应的物理端口;如果查找失败,则根据VLAN在VLAN内广播,发送给该VLAN对应的所有物理端口。交换机这里在广播时,排除报文的源端口即可,不用排除物理端口。单播和组播报文的转发也是普通的二层转发,不再赘述。此外,交换机也要进行源MAC学习,将报文的源MAC学习到接收该报文的VXLAN隧道,即建立源MAC与隧道端口的对应关系。

在交换机将第一报文发送至作为网关的核心交换机后,核心交换机将开始做三层转发。核心交换机根据路由表项,将第一报文的DMAC替换为远端服务器的下一跳MAC,源MAC(SMAC)则替换为自身的MAC后发送给远端服务器的下一跳设备,之后按普通路由转发至最终的远端服务器。

本实施例的报文转发方法,描述了报文从无线终端至远端服务器的转发流程,在该流程中,AP转发报文时执行了二层转发,需要学习MAC并查找MAC表转发报文,这里需要说明的是,正是AP执行普通的二层转发报文,使得AP和交换机之间的隧道可以是普通的二层隧道,而不是传统方式中AP与AC之间的私有隧道,普通二层隧道的建立适用范围更广,比如在本方法中使用普通的汇聚层或核心层交换机就可以,只要该交换机支持二层隧道即可与AP之间传输报文,形成本实施例的方案;对应的,交换机侧只要与AP之间建立转发报文所用的二层隧道即可,方案简单,很容易实现。

图4示例了远端服务器发送报文至无线终端的转发流程,包括:

401、远端服务器将发往无线终端的第二报文,发送至网关设备;

其中,远端服务器回复无线终端第二报文,该报文的DMAC是网关即核心交换机,目的IP是无线终端的IP:192.168.0.2。

402、网关将第二报文转发至交换机;

其中,核心交换机将做三层转发,根据路由表项,将报文的DMAC替换为无线终端的MAC,SMAC替换为核心交换机自身的MAC,发送给汇聚交换机。

403、交换机将查表转发该报文至VXLAN隧道,通过隧道发送给AP;

其中,交换机接收到网关发送的报文后,根据报文的VLAN和目的MAC查MAC表做二层转发,发现该目的MAC的出端口是VXLAN隧道的虚拟二层端口,则交换机将报文进行VXLAN隧道封装后再发送。对于单播、组播或广播报文,交换机的转发流程类似,都是查表转发即可,不再详述;当报文是广播报文时,交换机会在该报文所在的VLAN内广播发送,遍历该VLAN内的所有端口,复制报文并发送。

此外,交换机也还是要进行源MAC学习,学习到核心交换机的MAC及对应的端口,这样下次再发送给核心交换机的报文就不需要广播,可以直接发送。

404、AP对第二报文进行隧道解封装后,根据所述转发表转发至无线终端。

本步骤中,AP终结隧道,对第二报文解封装后根据第二报文的目的MAC查找MAC表,发现无线用户的出端口在之前学习到的BSS口,于是AP可以将第二报文转换成802.11报文从BSS口发送至空口,由无线终端接收到。同样的,AP也会进行源MAC学习,将核心交换机的源MAC学习到VXLAN隧道的虚拟二层端口,这样下次再有报文发送至核心交换机,可以直接发送,不用广播。

此外,当AP接收到的交换机通过VXLAN隧道发来的广播报文时,将报文在对应的VLAN内广播,在广播过程中要排除有线口和源端口。

更进一步的,在另一个实施例中,为了防止为AP分配的交换机宕机时,影响连接在该AP的无线用户的正常上网的问题,本发明实施例还提供了一种无线数据链路的备份方案。在该方案中,AP可以与多个交换机同时建立VXLAN隧道,形成多数据平面的转发架构,以形成备份关系,以使得当其中一个交换机宕机不会影响无线用户的正常上网。

具体的,当AP连接AC后,AC可以向AP下发的表项信息中可以包括:分别对应多个交换机的IP地址和隧道标识;即AC可以选择为该AP分配两台甚至多台交换机作为其数据平面。例如,AP接收到的表项信息中包括:分别对应多个交换机的IP地址和隧道标识;交换机接收到的表项信息中包括:分别对应多个AP的IP地址和隧道标识。

这样在AP侧,就会存在与某个用户VLAN对应的多个VXLAN虚拟二层隧道端口,分别与多个隧道对应,这多个隧道是AP分别与各个交换机建立的。同时,在AP和交换机都打开STP生成树协议功能,AP上的多个二层隧道端口参与STP的生成树计算,只有选中的端口参与报文转发,其他端口处于备份状态,用于在当前转发报文的端口失效时作为备份使用。例如,当STP选中的端口失效后,某个备份端口会自动切换为FORWARD状态,参与转发。这一整套流程完全由STP生成树协议控制,但要求VXLAN虚拟二层端口支持STP的几种端口状态,如:LEARNING、DISCARDING、FORWARDING,并能将BPDU(Bridge Protocol Data Unit,网桥协议数据单元,BPDU是运行STP的交换机之间交换的消息帧)报文上送给设备STP协议控制模块。

在又一个实施例中,还可以将图1中控制平面和数据平面分离的架构更改为控制平面和数据平面统一的架构模式。具体的,这种方案的思路是,将WLAN网络的控制平面与交换机的数据平面合一,利用交换机板载CPU承载AC的控制平面软件,可使一台交换机变成一台真正的AC。这种AC通常适用于小型企业网络,购买的交换机,通过软件升级方式即可升级成为一台支持AC功能的交换机,使有线无线一体化。

这种方案,相当于将AC的控制功能放在了交换机的CPU之上。因此,AP首先会通过常规方式发现AC(即该交换机),与之建立CAPWAP控制隧道,接受此AC的管理。然后,AC(即该交换机)会与AP建立VXLAN隧道,将无线用户的数据报文引入交换机,具体的报文转发流程与上述控制平面和数据平面分离的情形下转发类似。采用这种方法,可以将现有的交换机升级成为一台AC,避免客户再额外购买AC的开销,节省投资,而且还可以充分利用交换机的高性能转发能力。

本发明实施例的报文转发方法,通过由AC为AP分配数据平面的交换机,可以由众多交换机共同负担海量AP的报文转发,使得在减少了网络配置量的同时提高了报文转发性能;此外,该方案还可以实现有线和无线数据的策略统一,比如应用于有线用户的策略(例如QoS、权限控制等)也可以应用于无线用户。

图5示出了一种接入点设备AP的实体结构图,该AP包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和总线540。其中,处理器510、通信接口520、存储器530通过总线540完成相互间的通信。

其中,通信接口520,用于与网元通信,比如与交换机之间传输报文。处理器510可能是一个中央处理器CPU,存储器530可以是非易失性存储器(non-volatile memory),并且存储器530中存储有逻辑指令,处理器510可以执行存储器530中存储的逻辑指令,以实现上述的报文转发方法。该存储器530中的逻辑指令可以包括:第一转发模块550和第二转发模块560;其中,

第一转发模块550,用于接收无线终端发送的第一报文,查找转发表获得转发第一报文的二层隧道端口,并将第一报文进行隧道封装后通过二层隧道端口对应的二层隧道发送至交换机,以使得所述交换机将所述第一报文发送至目的设备。例如,该交换机可以是AC为AP分配的汇聚交换机或者核心交换机;

第二转发模块560,用于接收所述交换机通过所述二层隧道发送的第二报文,所述第二报文是所述目的设备向无线终端发送的报文,并将所述第二报文进行隧道解封装后根据所述转发表转发至所述无线终端。

进一步的,第一转发模块550,在接收到的第一报文是广播报文时,具体用于获取所述第一报文中包括的VLAN,并查找所述转发表得到与所述VLAN对应的所有端口,获取所有端口中的虚拟的所述二层隧道端口。

进一步的,参见图6,存储器530中的逻辑指令还可以包括:隧道建立模块570,用于接收无线控制器AC发送的表项信息,所述表项信息包括:所述交换机的IP地址和所述二层隧道的隧道标识;并根据所述交换机的IP地址,与所述交换机建立所述隧道标识对应的所述二层隧道,并生成与所述二层隧道对应的所述二层隧道端口,将所述二层隧道端口加入所述转发表。

进一步的,隧道建立模块570,接收到的表项信息中包括:分别对应多个交换机的IP地址和隧道标识,该模块具体用于分别与所述多个交换机建立所述二层隧道,对应每一个二层隧道,分别生成与所述二层隧道对应的二层隧道端口;利用生成树STP协议从分别对应多个二层隧道的多个二层隧道端口中选择一个用于当前报文转发,其余二层隧道端口处于备份状态,用于在当前转发报文的端口失效时作为备份使用。

本发明实施例还提供了一种交换机,该交换机的结构与AP的结构类似,可以结合参见图5和图6,该交换机也包括第一转发模块、第二转发模块和隧道建立模块;其中,各个模块的功能如下:

第一转发模块,用于接收接入点AP通过二层隧道发送的无线终端的第一报文,并将所述第一报文查表转发至目的设备;

第二转发模块,用于接收所述目的设备向无线终端发送的第二报文,并将所述第二报文通过所述二层隧道发送至所述AP,以使得所述AP将所述第二报文转发至所述无线终端。

进一步的,隧道建立模块,用于接收无线控制器AC发送的表项信息,所述表项信息包括:所述AP的IP地址和所述二层隧道的隧道标识;并根据所述AP的IP地址,与所述AP建立所述隧道标识对应的所述二层隧道,并生成与所述二层隧道对应的二层隧道端口。

图7示出了一种无线控制器AC的实体结构图,该AC包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和总线740。其中,处理器710、通信接口720、存储器730通过总线740完成相互间的通信。

其中,通信接口720,用于与网元通信,比如与AP和交换机之间通信。处理器710可能是一个中央处理器CPU,存储器730可以是非易失性存储器(non-volatile memory),并且存储器730中存储有逻辑指令,处理器710可以执行存储器730中存储的逻辑指令,以实现上述的报文转发方法。该存储器730中的逻辑指令可以包括:接收模块750和通知模块760;其中,

接收模块750,用于获取连接至接入点AP的无线终端的VLAN;

通知模块760,用于根据所述VLAN,分别向AP和交换机发送表项信息,所述表项信息包括:对端的IP地址和隧道标识,以使得所述AP和交换机根据所述表项信息建立与VLAN对应的二层隧道,所述二层隧道用于转发所述AP和交换机之间的交互报文。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1