一种ac对于位于nat内部的多ap的管理方法

文档序号:9551460阅读:1510来源:国知局
一种ac对于位于nat内部的多ap的管理方法
【技术领域】
[0001]本发明属于无线局域网领域,尤其涉及一种AC对于位于NAT内部的多AP的管理方法。
【背景技术】
[0002]WLAN(Wireless Local Area Network,无线局域网)提供了一种局域网的无线连接服务,AP (Access Point,无线接入点)是无线局域网中的无线收发设备,用于将从有线网络比如因特网Internet中接收到的数据转换成无线信号发送,将接收到的无线信号转换成数据并转发到有线网络。
[0003]对于现在的运营性质的WiFi网络越来越普遍,AP的节点越来越多的问题,AP的集中化管理成为其最重要的特性之一。通过CAPWAP(Control And Provis1ning of WirelessAccess Points Protocol Specificat1n,无线接入点的控制和配置协议)隧道技术实现的集中式WLAN网络中,若AP部署在NAT设备之后与AC(AC Access controller,无线控制器)相连,则需要一些特殊处理才能支持AP与AC之间报文交互能够穿越NAT (NetworkAddress Translat1n,网络地址转换)。在这种情况下,隐藏在NAT背后的所有AP的报文越过NAT后呈现相同的IP地址,AC由于无法通过报文的源IP分辨AP从而在处理上产生一些困难。

【发明内容】

[0004]为了克服现有技术的不足,本发明提供一种AC对于位于NAT内部的多AP的管理方法,其可解决AP与AC之间不能穿越NAT的问题。
[0005]本发明提出的一种AC对于位于NAT内部的多AP的管理方法,包括以下步骤:
[0006]S1、按照capwap标准协议,实现AP发现AC的过程;
[0007]S2、依据capwap标准协议,对Join Request阶段的报文进行改造,在报文中带入Sess1n ID消息来唯一地标识与某一个AP通信的CAPWAP隧道,AC会记录该对应关系,并持续维护此对应关系,回复正常的Join Request应答报文;
[0008]S3、依据capwap标准协议,实现AP的配置下发和状态更新两组报文;
[0009]S4、在AP和AC正常运行过程中,对capwap的标准协议进行改进,即改造DataChannel Keep Alive 报文,在 Data Channel Keep Alive 报文中携带 sess1nID 来保证数据隧道的正常使用。
[0010]进一步地,所述步骤S2中,需要AP在加入AC的过程中在Join Request消息中带入的Sess1n ID消息来唯一地标识与某一个AP通信的CAPWAP隧道了,并实现对该AP的CAPWAP控制通道和数据通道的绑定。
[0011]进一步地,所述Sess1n ID的前6个字节直接填入AP的MAC地址,后10字节用随机数填充。
[0012]进一步地,所述步骤S4包括:
[0013]在AP侧,当接收到AC向其回应的Change State Event Response消息后即向AC发送Data Channel Keep Alive报文并从Data Check状态进入RUN状态,直至收到从AC侧的Data Channel Keep Alive回应后才建立CAPWAP隧道;
[0014]在AC侧,当向AP发送了 Change State Event Response消息后要等到接收到DataChannel Keep Alive报文才从Data Check状态进入RUN状态。与此同时,AC建立起数据隧道并向AP回应一个Data Channel Keep Alive报文。
[0015]优选地,所述Data Channel Keep Alive报文的交互是双向的。
[0016]优选地,所述Data Channel Keep Alive报文是CAPWAP数据报文,且CAPWAP头部中的K位必须置1,在AP上线过程中,AC需要通过AP发送的Keep Alive报文中的Sess1nID来与辨识该报文来自于哪个AP并通过提取报文中的源端口号来获悉AP的数据隧道所使用的端口号。
[0017]进一步地,所述AC对于位于NAT内部的多AP的管理方法还包括在在NAT异常重启情况下启动控制隧道保活机制,所述控制隧道保活机制下AP和AC包括如下改动:
[0018]Al、echo request中携带表征AP会话的sess1nld,用于表征该echo报文为哪个AP保活,AC收到echo request后,判断sess1nld是否匹配,若匹配,回复echo response并重置隧道状态定时器;若不匹配,直接丢弃,等待隧道状态超时;
[0019]A2、AP 在 echo request 中携带 sess1nld 的策略是否和 keepalive 保持一致;
[0020]A3、echo response 中不携带 sess1nld 字段。
[0021]基于上述技术方案的公开,采用本发明提供的所述AC对于位于NAT内部的多AP的管理方法可解决AP与AC之间不能穿越NAT的问题。
【附图说明】
[0022]图1为本发明提供的一种AC对于位于NAT内部的多AP的管理方法适用的网络结构示意图;
[0023]图2为本发明中AP与AC的交互示意图;
[0024]图3为本发明的方法流程示意图;
[0025]图4为本发明中Sess1n ID消息元素的格式示意图;
[0026]图5为本发明中Data Channel Keep Alive消息的格式示意图;
[0027]图6为本发明echo中sess1nld消息元素的格式示意图。
【具体实施方式】
[0028]下面结合附图对本发明的实施例进行详述。
[0029]为本发明提供的所述AC对于位于NAT内部的多AP的管理方法适用的网络结构示意图如图1,包含一 AC与多个AP节点,AC与AP之间设有NAT,SAT为使用AP获取网络连接的终端设备。
[0030]请参照图2和图3,所述AC对于位于NAT内部的多AP的管理方法,包括以下步骤:
[0031 ] S1、按照capwap标准协议,实现AP发现AC的过程;
[0032]S2、依据capwap标准协议,对Join Request阶段的报文进行改造,在报文中带入Sess1n ID消息来唯一地标识与某一个AP通信的CAPWAP隧道,AC会记录该对应关系,并持续维护此对应关系,回复正常的Join Request应答报文;
[0033]S3、依据capwap标准协议,实现AP的配置下发和状态更新两组报文;
[0034]S4、在AP和AC正常运行过程中,对capwap的标准协议进行改进,即改造DataChannel Keep Alive 报文,在 Data Channel Keep Alive 报文中携带 sess1nID 来保证数据隧道的正常使用。
[0035]所述步骤S2中,需要AP在加入AC的过程中在Join Request消息中带入的Sess1n ID消息来唯一地标识与某一个AP通信的CAPWAP隧道了,并实现对该AP的CAPWAP控制通道和数据通道的绑定,其Sess1n ID的消息格式请参见图4。
[0036]所述Sess1n ID消息元素的Sess1n ID字段长度为128-bit (16字节),为方便起见又不失Sess1n ID唯一性和随机性,所述Sess1n ID的前6个字节直接填入AP的MAC地址,后10字节用随机数填充。
[0037]AP与AC的数据隧道建立通过在AP上线阶段AP与AC之间的一次Data ChannelKeep Alive报文交互来完成。
[0038]在AP侧,当接收到AC向其回应的Change State Event Response消息后即向AC发送Data Channel Keep Alive报文并从Data Check状态进入RUN状态。但是AP应该直至收到从AC侧的Data Channel Keep Alive回应后才建立CAPWAP隧道,这是因为AP不应该对从AC收到的CAPWAP数据通道或控制通道上的报文中的端口号做任何假设(比如假设由AC侧发出的控制通道报文的源端口号使用CAPWAP协议给出的5246,而数据通道报文的源端口号使用CAPWAP协议给出的5247),这是用于兼容AC也隐藏在NAT设备之后的应用场景,尽管AC隐藏在NAT之后的用法非常的少见。
[0039]在AC侧,当向AP发送了 Change State Event Response消息后要等到接收到DataChannel Keep Alive报文才从Data Check状态进入RUN状态。与此同时,AC建立起数据隧道并向A
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1