CN101917439A - 一种数据的传输方法和设备 - Google Patents
一种数据的传输方法和设备 Download PDFInfo
- Publication number
- CN101917439A CN101917439A CN2010102608475A CN201010260847A CN101917439A CN 101917439 A CN101917439 A CN 101917439A CN 2010102608475 A CN2010102608475 A CN 2010102608475A CN 201010260847 A CN201010260847 A CN 201010260847A CN 101917439 A CN101917439 A CN 101917439A
- Authority
- CN
- China
- Prior art keywords
- equipment
- tunnel
- keep
- message
- alive message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据的传输方法和设备,该方法包括以下步骤:AC设备判断是否接收到来自AP设备的保活报文;如果是,所述AC设备确定CAPWAP隧道正常,并从所述保活报文中获取所述AP设备对应的Session ID;所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。本发明中,能够适应不同的NAT环境,并减轻网络维护负担。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种数据的传输方法和设备。
背景技术
WLAN(Wireless Local Area Networks,无线局域网)提供了一种局域网的无线连接服务,能够提供高速的无线数据接入,已经广泛应用于城市、企业、楼宇、家庭等各种场所。和传统的有线接入方式相比,无线局域网让网络的使用者更加自由,彻底摆脱了线缆和端口位置的束缚,而且无线局域网使得终端具有便于携带,易于移动等优点,免去或减少了繁杂的网络布线,只需要安放一个或多个AP(Access Point,接入点)设备就可以建立覆盖整个建筑或地区的局域网络。
目前的无线局域网中,有FAT(胖)AP模式、和AC(Access Controller,接入控制器)+FIT(瘦)AP模式,其中,AC+FIT AP由于可管理性强,适于大规模部署,得到了越来越广泛的应用。
在AC+FIT AP模式的组网中,AC与FIT AP(以下均以AP进行描述)之间可以通过专有的协议隧道进行连接,其中,相关的专用协议为CAPWAP(Controlling and Provisioning of Wireless Access Point,无线接入点控制与供应),CAPWAP协议定义了AP与AC之间如何进行通信,并为实现AP和AC之间的互通性提供了一个通用的封装和传输机制,如图1所示的CAPWAP协议示意图。
具体的,多台无线接入点AP通过AC集中控制,且AC与AP之间的数据传输使用CAPWAP隧道,如图2所示的CAPWAP组网示意图,在AC与AP上,各自独立维护一套状态机,通过消息交互同步状态。从图2中可以看出,CAPWAP隧道的建立使得AP在进行数据转发时不必考虑与AC之间复杂的路由关系,从而使AC与AP之间的联系变得简单。
另外,需要注意的是,CAPWAP隧道建立的关键是AC与AP同步各自维护的CAPWAP状态机,CAPWAP同时运行在AP和AC上,为WLAN系统提供安全的AC与AP之间的通信。其中,AP与AC之间的通信依照UDP(User Datagram Protocol,用户数据包协议)客户端/服务器端模型来建立,CAPWAP包括控制隧道和数据隧道,控制隧道使用知名端口5246,用于维护CAPWAP状态机,数据隧道使用知名端口5247,用于在AP与AC之间封装和传送802.11报文。
NAT(Network Address Translation,网络地址转换)是将IP报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能,以通过使用少量的公网IP地址代表较多的私网IP地址,从而有助于减缓可用IP地址空间的枯竭。
如图3所示的NAT过程示意图,当内部网络访问外部网络时,NAT设备将选择一个合适的外部地址来替代内部网络报文的源地址,例如,当接收到主机的报文(源地址为192.168.1.3,目的地址为1.1.1.2)时,将源地址192.168.1.3替换为NAT设备的公网IP地址20.1.1.1,并将更改后的报文(源地址为20.1.1.1,目的地址为1.1.1.2)发送给服务器。
当NAT设备只有一个公有IP地址时,则只允许一台内网主机访问外部网络。当NAT设备有多个公有IP地址时,则允许多台内网主机并发访问外部网络;当第一个内网主机访问外网时,NAT设备选择一个公有地址IP1,在地址转换表中添加记录并发送相应报文,当另一个内网主机访问外网时,NAT设备选择另一个公有地址IP2,以此类推,从而满足了多台内网主机访问外网的请求。
可以看出,当多台内网主机并发访问外部网络时,则需要NAT设备有多个公有地址,从而造成公有地址的大量使用,为了减少公有地址的大量使用,NAPT(Network Address Port Translation,网络地址端口转换)允许多个内部地址映射到同一个公有地址上。
其中,NAPT同时映射IP地址和端口号,对于来自不同内部主机的报文,可以将源地址映射到同一个公有地址上,并将不同报文的端口号转换为该公有地址的不同端口号,从而使得不同内部主机的报文能够共享同一公有地址,并使用“私网IP地址+端口号”与“公网IP地址+端口号”之间进行转换的方式实现访问网络的过程。
如图4所示的NAPT地址转换过程示意图,三个带有内部地址的报文到达NAT设备,其中报文1和报文2来自同一个内部地址(192.168.1.2),但具有不同的源端口号(分别为1111和2222),报文3来自另一个内部地址(192.168.1.3)且与报文1具有相同的源端口号(1111),通过NAPT映射,三个报文的源IP地址均被转换到同一个外部地址(20.1.1.1),但每个报文被分配了不同的源端口号(分别为1001、1002、1003),因而使得各个报文之间存在区别。当各报文的回应报文到达时,NAT设备能够根据回应报文的目的IP地址和目的端口号区别该回应报文应该转发到哪个内部主机上。
目前,NAPT支持两种不同的地址转换模式:
Endpoint-Independent Mapping(不关心对端地址和端口转换模式),该模式可以很好的支持位于不同NAT设备之后的主机间的互访。
在该模式下,NAT设备通过建立三元组(源地址、源端口号、协议类型)表项来进行地址分配和报文过滤,只要是来自相同源地址和源端口号的报文,不论其目的地址和目的端口是否相同,则通过NAPT映射后,其源地址和源端口号都被转换为同一个外部地址和端口号,并且NAT设备允许外部网络的主机通过该转换后的地址和端口来访问这些内部网络的主机。
Address and Port-Dependent Mapping(关心对端地址和端口转换模式),该模式安全性好。
在该模式下,NAT设备通过建立五元组(源地址、源端口号、协议类型、目的地址、目的端口号)表项为依据进行地址分配和报文过滤,对于来自相同源地址和源端口号的报文,若其目的地址和目的端口号不同,则通过NAPT映射后,相同的源地址和源端口号将被转换为不同的外部地址和端口号,并且NAT设备只允许这些目的地址对应的外部网络的主机才可以通过该转换后的地址和端口来访问这些内部网络的主机。
基于上述的CAPWAP隧道技术和NAT技术,CAPWAP隧道穿越NAT的组网示意图如图5所示。在建立控制隧道的过程中,AC接收到的控制报文的源IP以及源端口均是经过NAT转换后的公网地址和端口,控制报文的目的IP是AC的IP地址,目的端口是知名端口5246;AC记录公网地址和端口,并使用该公网地址和端口区分不同AP的后续控制报文。
当控制隧道建立成功以后,AC通过使用该公网地址和端口,创建数据隧道,AC发往AP的820.11报文经过CAPWAP封装以后,会使用该公网地址和端口作为目的IP和目的端口,发往对应的AP。
但是,在CAPWAP隧道穿越NAT的过程中,至少存在以下问题:
(1)不支持建立CAPWAP隧道后NAT设备地址转换表项的变化。当公网地址或端口发生变化后,对于AP发送给AC的控制报文,由于AC接收到的控制报文的源IP以及源端口均是经过NAT转换后的公网地址和端口,因此,控制报文的源IP以及源端口将发生变化,当前AC并不知道AP地址的变化情况,也就无法更新AP的地址信息,AC会认为和AP失去连接,从而导致CAPWAP隧道down。
(2)不支持NAT设备启用关心对端地址和端口转换模式。当NAT使用该模式后,NAT设备会进行五元组匹配,由于控制隧道和数据隧道使用不同的知名端口(5246和5247),当接收到基于控制隧道的报文和基于数据隧道的报文后,NAT设备会给控制隧道与数据隧道分配不同的公网端口,而当前AC是根据控制隧道的公网地址和端口创建数据隧道的,由于公网端口发生变化,从而使得AC发给AP的报文会由于五元组不匹配而被NAT设备丢弃。
发明内容
本发明提供一种数据的传输方法和设备,以增强CAPWAP隧道的稳定性与健壮性,并适应不同的NAT环境,减轻网络维护负担。
为了达到上述目的,本发明提出了一种数据的传输方法,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,该方法包括以下步骤:
当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,所述AC设备判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文中携带了Session ID;
如果是,所述AC设备确定所述CAPWAP隧道正常,并从所述保活报文中获取所述AP设备对应的Session ID;
所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
所述保活报文包括:数据隧道保活报文和控制隧道保活报文;所述数据隧道保活报文用于探测所述CAPWAP隧道中的数据隧道是否正常;所述控制隧道保活报文用于探测所述CAPWAP隧道中的控制隧道是否正常;所述方法还包括:
所述AC设备根据所述保活报文的报文标记确定所述保活报文的类型为数据隧道保活报文或者控制隧道保活报文。
所述保活报文的报文标记包括所述保活报文的目的端口。
所述保活报文为数据隧道保活报文时,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,具体包括:
所述AC设备根据所述Session ID判断是否为首次接收到所述AP设备对应的所述数据隧道保活报文;
如果是,所述AC设备根据所述Session ID以及所述数据隧道保活报文的源地址和源端口创建数据隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,所述AC设备根据所述Session ID查找所述AP设备对应的数据隧道信息,并比较所述数据隧道保活报文的源地址、源端口与所述数据隧道信息中的源地址、源端口,如果有变化,则根据所述数据隧道保活报文的源地址和源端口更新所述数据隧道信息中的源地址和源端口。
所述保活报文为控制隧道保活报文时,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,具体包括:
所述AC设备根据所述Session ID判断是否为首次接收到所述AP设备对应的所述控制隧道保活报文;
如果是,所述AC设备根据所述Session ID以及所述控制隧道保活报文的源地址和源端口创建控制隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,所述AC设备根据所述Session ID查找所述AP设备对应的控制隧道信息,并比较所述控制隧道保活报文的源地址、源端口与所述控制隧道信息中的源地址、源端口,如果有变化,则根据所述控制隧道保活报文的源地址和源端口更新所述控制隧道信息中的源地址和源端口。
所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,还包括:
当所述AC设备更新数据隧道信息时,所述AC设备向所述AP设备发送第一配置更新请求消息,以供所述AP设备根据所述第一配置更新请求消息向所述AC设备发送控制隧道保活报文;
当所述AC设备更新控制隧道信息时,所述AC设备向所述AP设备发送第二配置更新请求消息,以供所述AP设备根据所述第二配置更新请求消息向所述AC设备发送数据隧道保活报文。
一种AC设备,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,该AC设备包括:
判断模块,用于当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文中携带了Session ID;
确定模块,与所述判断模块连接,用于当判断结果为是时,确定所述CAPWAP隧道正常;
获取模块,与所述确定模块连接,用于当确定所述CAPWAP隧道正常时,从所述保活报文中获取所述AP设备对应的Session ID;
维护模块,与所述获取模块连接,用于根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
所述保活报文包括:数据隧道保活报文和控制隧道保活报文;所述数据隧道保活报文用于探测所述CAPWAP隧道中的数据隧道是否正常;所述控制隧道保活报文用于探测所述CAPWAP隧道中的控制隧道是否正常;
所述确定模块,还用于根据所述保活报文的报文标记确定所述保活报文的类型为数据隧道保活报文或者控制隧道保活报文。
所述保活报文的报文标记包括所述保活报文的目的端口。
所述保活报文为数据隧道保活报文时,所述维护模块,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述数据隧道保活报文;
如果是,根据所述Session ID以及所述数据隧道保活报文的源地址和源端口创建数据隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的数据隧道信息,并比较所述数据隧道保活报文的源地址、源端口与所述数据隧道信息中的源地址、源端口,如果有变化,则根据所述数据隧道保活报文的源地址和源端口更新所述数据隧道信息中的源地址和源端口。
所述保活报文为控制隧道保活报文时,所述维护模块,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述控制隧道保活报文;
如果是,根据所述Session ID以及所述控制隧道保活报文的源地址和源端口创建控制隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的控制隧道信息,并比较所述控制隧道保活报文的源地址、源端口与所述控制隧道信息中的源地址、源端口,如果有变化,则根据所述控制隧道保活报文的源地址和源端口更新所述控制隧道信息中的源地址和源端口。
所述维护模块,还用于当更新数据隧道信息时,向所述AP设备发送第一配置更新请求消息,以供所述AP设备根据所述第一配置更新请求消息向所述AC设备发送控制隧道保活报文;
当更新控制隧道信息时,向所述AP设备发送第二配置更新请求消息,以供所述AP设备根据所述第二配置更新请求消息向所述AC设备发送数据隧道保活报文。
与现有技术相比,本发明具有以下优点:
增强了CAPWAP隧道的稳定性与健壮性,并能够适应不同的NAT环境,减轻网络维护负担。
附图说明
图1为现有技术中CAPWAP协议示意图;
图2为现有技术中CAPWAP组网示意图;
图3为现有技术中NAT过程示意图;
图4为现有技术中NAPT地址转换过程示意图;
图5为现有技术中CAPWAP隧道穿越NAT的组网示意图;
图6为本发明提出的一种数据的传输方法流程图;
图7为本发明应用场景下Session ID格式示意图;
图8为本发明应用场景下数据隧道保活报文示意图;
图9为本发明应用场景下控制隧道保活报文示意图;
图10为本发明应用场景下隧道信息变化TLV格式示意图;
图11为本发明提出的一种AC设备结构图。
具体实施方式
现有技术中,NAT设备地址转换表项变化,可能是由于配置发生变化,也可能是由于表项老化,这些都是实际应用中较为常见的现象;而且关心对端地址和端口转换模式是NAPT的一种典型配置方法,采取五元组匹配和过滤,增强了NAT环境中的安全性能,使用非常广泛。
因此,针对NAT设备地址转换表项变化和关心对端地址和端口转换模式导致CAPWAP隧道穿越NAT出现的问题,本发明提供了一种数据的传输方法,以通过Session ID(会话标识)来识别基于控制隧道的报文和基于数据隧道的报文,从而不会出现由于五元组不匹配而导致报文被丢弃的情况发生,增强了CAPWAP隧道的稳定性与健壮性,并能够适应不同的NAT环境,减轻网络维护负担。
如图6所示,本发明中提供一种数据的传输方法,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,该方法包括以下步骤:
步骤601,当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,所述AC设备判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文用于探测所述CAPWAP隧道是否正常,且所述保活报文中携带了Session ID。如果否,转到步骤602,如果是,转到步骤603。
步骤602,所述AC设备确定所述CAPWAP隧道异常,所述AP设备与所述AC设备之间失去连接。
步骤603,所述AC设备确定所述CAPWAP隧道正常,并从所述保活报文中获取所述AP设备对应的Session ID。
步骤604,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
为了更加清楚的阐述本发明提供的技术方案,以下结合一种具体的应用场景对本发明进行详细描述。
本应用场景下,为了支持CAPWAP隧道穿越NAT的过程,需要使用Session ID来区分来自不同AP的报文。其中,Session ID为128位的随机数,由AP产生,并在Join(加入)阶段与AC进行协商,连接到同一个AC上的AP的Session ID不得重复。
本应用场景下,对Session ID的128位随机数的内容进行了区分,以保证不同的AP产生不同的Session ID,如图7所示的Session ID格式示意图,该Session ID中的内容包括:厂商标识、AP的MAC地址、随机数。其中,通过使用厂商标识(Vendor Identifier),可以确保不同厂商AP产生的Session ID互不相同,通过AP的MAC(Media Access Control,介质访问控制)地址来区分同一厂商的不同AP产生的Session ID互不相同。
综上所述,通过使用Session ID的厂商标识和MAC地址,则AC能够区分报文是否为来自同一个AP的报文,从而使用该Session ID来区分不同的AP。但是在实际应用中,一个AP还可能需要多个Session ID,此时,可以通过预留的随机数(可以为32位的随机数)用来支持同一个AP也能够生成不同的Session ID。
例如,当一个AP连接到多个AC上时,为了区分与不同AC之间使用的Session ID,则AP需要为每个AC维护一个Session ID,以保证AP与每个连接的AC使用唯一的Session ID,此时一个AP需要多个Session ID,而本应用场景下可通过32位的随机数来实现。
本发明中,针对现有技术中不支持建立CAPWAP隧道后NAT设备的地址转换表项的变化的情况,本应用场景下,AP需要根据预设的周期向AC发送保活报文,以探测AP与AC之间的隧道是否能够正常工作,从而解决由于公网地址或端口发生变化后,AC无法处理后续的控制报文,认为和AP失去连接,继而导致CAPWAP隧道down的问题。
具体的,由于AP周期性的向AC发送保活报文,而该保活报文中携带了该AP的Session ID,根据该保活报文中的Session ID,AC能够获知该AP与自身的CAPWAP隧道没有问题。如果由于NAT设备地址转换表项的变化导致AP发往AC的报文的公网地址和端口发生变化,由于Session ID没有发生变化,该AC能够获知相关报文是来自AP的报文,获知AP地址的变化情况,从而可以更新AP的地址信息,并认为和AP仍然处于连接状态。
其中,该保活报文包括数据隧道保活报文和控制隧道保活报文,当AC接收到保活报文后,能够根据该保活报文的报文标记确定该保活报文的类型为数据隧道保活报文或者控制隧道保活报文。例如,该报文标记可以为保活报文的目的端口,在实际应用中,由于数据隧道保活报文使用5247端口,控制隧道保活报文使用5246端口,则AC可根据接收到保活报文的目的端口来区分该保活报文为数据隧道保活报文或者控制隧道保活报文。
当然,在实际应用中,该保活报文的报文标记还可以为其他的标记,只要能够区分数据隧道保活报文和控制隧道保活报文即可,本应用场景下不再赘述。
针对数据隧道来说,AP需要根据预设的周期向AC发送数据隧道保活报文,如图8所示的数据隧道保活报文示意图。其中,该数据隧道保活报文由AP发起,并使用5247端口,用于探测AP与AC之间的数据隧道是否能够正常工作。需要注意的是,该数据隧道保活报文中携带了Session ID,而对于每个AP来说,Session ID是相同的,即对于同一个AP的数据隧道保活报文的Session ID是相同的。
当探测成功时,AC能够接收到该数据隧道保活报文,而当接收到该数据隧道保活报文之后,通过该Session ID,AC可以找到对应的AP及其控制隧道和数据隧道的相关信息。当探测失败时,则AC无法接收到该数据隧道保活报文,控制隧道和数据隧道均会down,AP与AC之间失去连接。
可以看出,由于AC只需要根据Session ID即能够查找到对应的AP及其控制隧道和数据隧道的相关信息,并不需要使用数据隧道保活报文中携带的源IP地址、源端口等信息来查找对应的AP及其控制隧道和数据隧道的相关信息,所以不会由于公网地址或端口发生变化,导致AC无法处理后续的控制报文的情况发生。
另外,需要注意的是,当AC第一次接收到该数据隧道保活报文时,还需要根据该Session ID以及该数据隧道保活报文的源地址和端口创建数据隧道信息;此时的源地址和源端口为经过NAT转换后的公网地址和端口,并且满足NAT设备的五元组匹配要求。对于后续的数据隧道保活报文(不是第一次接收到的数据隧道保活报文),则将该数据隧道保活报文的源地址和端口与之前记录的数据隧道的源地址和端口进行比较,如果有变化则更新数据隧道相关信息。
具体的,AC可以根据Session ID判断是否为第一次接收到AP对应的数据隧道保活报文,例如,在AC中有数据隧道保活报文对应的Session ID时,则说明不是第一次接收到数据隧道保活报文;如果在AC中没有数据隧道保活报文对应的Session ID时,则说明是第一次接收到数据隧道保活报文。
针对控制隧道来说,AP需要根据预设的周期向AC发送控制隧道保活报文,如图9所示的控制隧道保活报文示意图。其中,该控制隧道保活报文由AP发起,并使用5246端口,用于探测AP与AC之间的控制隧道是否能够正常工作。需要注意的是,该控制隧道保活报文中携带了Session ID,而对于每个AP来说,Session ID是相同的,即对于同一个AP的控制隧道保活报文的Session ID是相同的。
当探测成功时,AC能够接收到该控制隧道保活报文,而当接收到该控制隧道保活报文之后,通过该Session ID,AC可以找到对应的AP及其控制隧道和数据隧道的相关信息。当探测失败时,则AC无法接收到该数据隧道保活报文,控制隧道和数据隧道均会down,AP与AC之间失去连接。
可以看出,由于AC只需要根据Session ID即能够查找到对应的AP及其控制隧道和数据隧道的相关信息,并不需要使用控制隧道保活报文中携带的源IP地址、源端口等信息来查找对应的AP及其控制隧道和数据隧道的相关信息,所以不会由于公网地址或端口发生变化,导致AC无法处理后续的报文的情况发生。
另外,需要注意的是,当AC第一次接收到该控制隧道保活报文时,还需要根据该Session ID以及该控制隧道保活报文的源地址和端口创建控制隧道信息;此时的源地址和源端口为经过NAT转换后的公网地址和端口,并且满足NAT设备的五元组匹配要求。对于后续的控制隧道保活报文(不是第一次接收到的控制隧道保活报文),则将该控制隧道保活报文的源地址和端口与之前记录的控制隧道的源地址和端口进行比较,如果有变化则更新控制隧道相关信息。
具体的,AC可以根据Session ID判断是否为第一次接收到AP对应的控制隧道保活报文,例如,在AC中有控制隧道保活报文对应的Session ID时,则说明不是第一次接收到控制隧道保活报文;如果在AC中没有控制隧道保活报文对应的Session ID时,则说明是第一次接收到控制隧道保活报文。
需要说明的是,对于AP与AC之间的控制隧道和数据隧道来说,如果控制隧道与数据隧道不同步,则会导致报文(例如,WTP Event Request报文等)的丢失。因此,需要保证控制隧道与数据隧道同步,本应用场景下,AC一旦更新数据隧道或者控制隧道的地址端口信息,则会发送Configuration UpdateRequest消息给AP,通知AP立即发送相应隧道的保活报文,以便尽快完成数据隧道与控制隧道的同步。例如,当更新数据隧道时,需要通知AP立即发送控制隧道保活报文,当更新控制隧道时,需要通知AP立即发送数据隧道保活报文。
具体的,可以通过在Configuration Update Request(配置更新请求)消息中携带隧道信息变化的TLV来实现,该TLV为厂商自定义TLV,作用是通知AP当前控制隧道或者数据隧道发生状态变化或者数据变化,如图10所示的隧道信息变化TLV格式示意图。当然,在实际应用中,并不局限于使用TLV来实现控制隧道与数据隧道的同步,还可以采取其他的消息类型或者其它自定义TLV实现控制隧道与数据隧道的同步,本应用场景下不再赘述。
当AC通过数据隧道保活报文,对数据隧道地址信息进行更新后,则通知AP立即发送控制隧道保活报文(通过向AP发送第一配置更新请求消息,由AP发送控制隧道保活报文),以便检测当前是否需要更新控制隧道地址信息。
当AC通过控制隧道保活报文,对控制隧道地址信息进行更新后,则通知AP立即发送数据隧道保活报文(通过向AP发送第二配置更新请求消息,由AP发送数据隧道保活报文),以便检测当前是否需要更新数据隧道地址信息。
本发明中,详细说明了如何在控制隧道保活报文以及数据隧道保活报文中使用Session ID,来支持CAPWAP隧道穿越NAT;而对于使用其它CAPWAP报文支持NAT穿越的方法,本发明提供的技术方案同样适用,例如,每个AP设备能够产生唯一的隧道标识,则可以通过在制隧道保活报文以及数据隧道保活报文中使用该隧道标识的方式来支持CAPWAP隧道穿越NAT,本发明中不再详加赘述。
基于与上述方法同样的发明构思,本发明还提出了一种AC设备,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,如图11所示,该AC设备包括:
判断模块11,当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文中携带了Session ID;
确定模块12,与所述判断模块11连接,用于当判断结果为是时,确定所述CAPWAP隧道正常;
获取模块13,与所述确定模块12连接,用于当确定所述CAPWAP隧道正常时,从所述保活报文中获取所述AP设备对应的Session ID;
维护模块14,与所述获取模块13连接,用于根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
所述保活报文包括:数据隧道保活报文和控制隧道保活报文;所述数据隧道保活报文用于探测所述CAPWAP隧道中的数据隧道是否正常;所述控制隧道保活报文用于探测所述CAPWAP隧道中的控制隧道是否正常;
所述确定模块12,还用于如根据所述保活报文的报文标记确定所述保活报文的类型为数据隧道保活报文或者控制隧道保活报文。所述保活报文的报文标记包括所述保活报文的目的端口。
所述保活报文为数据隧道保活报文时,所述维护模块14,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述数据隧道保活报文;
如果是,根据所述Session ID以及所述数据隧道保活报文的源地址和源端口创建数据隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的数据隧道信息,并比较所述数据隧道保活报文的源地址、源端口与所述数据隧道信息中的源地址、源端口,如果有变化,则根据所述数据隧道保活报文的源地址和源端口更新所述数据隧道信息中的源地址和源端口。
所述保活报文为控制隧道保活报文时,所述维护模块14,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述控制隧道保活报文;
如果是,根据所述Session ID以及所述控制隧道保活报文的源地址和源端口创建控制隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的控制隧道信息,并比较所述控制隧道保活报文的源地址、源端口与所述控制隧道信息中的源地址、源端口,如果有变化,则根据所述控制隧道保活报文的源地址和源端口更新所述控制隧道信息中的源地址和源端口。
所述维护模块14,还用于当更新数据隧道信息的源地址和源端口时,向所述AP设备发送第一配置更新请求消息,以供所述AP设备根据所述第一配置更新请求消息向所述AC设备发送控制隧道保活报文;
当更新控制隧道信息的源地址和源端口时,向所述AP设备发送第二配置更新请求消息,以供所述AP设备根据所述第二配置更新请求消息向所述AC设备发送数据隧道保活报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种数据的传输方法,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,其特征在于,该方法包括以下步骤:
当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,所述AC设备判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文中携带了Session ID;
如果是,所述AC设备确定所述CAPWAP隧道正常,并从所述保活报文中获取所述AP设备对应的Session ID;
所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
2.如权利要求1所述的方法,其特征在于,所述保活报文包括:数据隧道保活报文和控制隧道保活报文;所述数据隧道保活报文用于探测所述CAPWAP隧道中的数据隧道是否正常;所述控制隧道保活报文用于探测所述CAPWAP隧道中的控制隧道是否正常;所述方法还包括:
所述AC设备根据所述保活报文的报文标记确定所述保活报文的类型为数据隧道保活报文或者控制隧道保活报文。
3.如权利要求2所述的方法,其特征在于,所述保活报文的报文标记包括所述保活报文的目的端口。
4.如权利要求1所述的方法,其特征在于,所述保活报文为数据隧道保活报文时,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,具体包括:
所述AC设备根据所述Session ID判断是否为首次接收到所述AP设备对应的所述数据隧道保活报文;
如果是,所述AC设备根据所述Session ID以及所述数据隧道保活报文的源地址和源端口创建数据隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,所述AC设备根据所述Session ID查找所述AP设备对应的数据隧道信息,并比较所述数据隧道保活报文的源地址、源端口与所述数据隧道信息中的源地址、源端口,如果有变化,则根据所述数据隧道保活报文的源地址和源端口更新所述数据隧道信息中的源地址和源端口。
5.如权利要求1所述的方法,其特征在于,所述保活报文为控制隧道保活报文时,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,具体包括:
所述AC设备根据所述Session ID判断是否为首次接收到所述AP设备对应的所述控制隧道保活报文;
如果是,所述AC设备根据所述Session ID以及所述控制隧道保活报文的源地址和源端口创建控制隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,所述AC设备根据所述Session ID查找所述AP设备对应的控制隧道信息,并比较所述控制隧道保活报文的源地址、源端口与所述控制隧道信息中的源地址、源端口,如果有变化,则根据所述控制隧道保活报文的源地址和源端口更新所述控制隧道信息中的源地址和源端口。
6.如权利要求4或5所述的方法,其特征在于,所述AC设备根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息,还包括:
当所述AC设备更新数据隧道信息时,所述AC设备向所述AP设备发送第一配置更新请求消息,以供所述AP设备根据所述第一配置更新请求消息向所述AC设备发送控制隧道保活报文;
当所述AC设备更新控制隧道信息时,所述AC设备向所述AP设备发送第二配置更新请求消息,以供所述AP设备根据所述第二配置更新请求消息向所述AC设备发送数据隧道保活报文。
7.一种AC设备,应用于包括AP设备和AC设备系统中,所述AP设备与所述AC设备之间建立了CAPWAP隧道,且所述CAPWAP隧道穿越NAT,其特征在于,该AC设备包括:
判断模块,用于当所述AP设备通过所述CAPWAP隧道向所述AC设备发送保活报文时,判断是否接收到来自所述AP设备的所述保活报文;其中,所述保活报文中携带了Session ID;
确定模块,与所述判断模块连接,用于当判断结果为是时,确定所述CAPWAP隧道正常;
获取模块,与所述确定模块连接,用于当确定所述CAPWAP隧道正常时,从所述保活报文中获取所述AP设备对应的Session ID;
维护模块,与所述获取模块连接,用于根据所述Session ID为所述AP设备维护所述CAPWAP隧道的信息。
8.如权利要求7所述的AC设备,其特征在于,所述保活报文包括:数据隧道保活报文和控制隧道保活报文;所述数据隧道保活报文用于探测所述CAPWAP隧道中的数据隧道是否正常;所述控制隧道保活报文用于探测所述CAPWAP隧道中的控制隧道是否正常;
所述确定模块,还用于根据所述保活报文的报文标记确定所述保活报文的类型为数据隧道保活报文或者控制隧道保活报文。
9.如权利要求8所述的AC设备,其特征在于,所述保活报文的报文标记包括所述保活报文的目的端口。
10.如权利要求7所述的AC设备,其特征在于,所述保活报文为数据隧道保活报文时,所述维护模块,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述数据隧道保活报文;
如果是,根据所述Session ID以及所述数据隧道保活报文的源地址和源端口创建数据隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的数据隧道信息,并比较所述数据隧道保活报文的源地址、源端口与所述数据隧道信息中的源地址、源端口,如果有变化,则根据所述数据隧道保活报文的源地址和源端口更新所述数据隧道信息中的源地址和源端口。
11.如权利要求7所述的AC设备,其特征在于,所述保活报文为控制隧道保活报文时,所述维护模块,具体用于根据所述Session ID判断是否为首次接收到所述AP设备对应的所述控制隧道保活报文;
如果是,根据所述Session ID以及所述控制隧道保活报文的源地址和源端口创建控制隧道信息,其中,所述源地址和源端口为经过NAT转换后的公网地址和端口;
如果否,根据所述Session ID查找所述AP设备对应的控制隧道信息,并比较所述控制隧道保活报文的源地址、源端口与所述控制隧道信息中的源地址、源端口,如果有变化,则根据所述控制隧道保活报文的源地址和源端口更新所述控制隧道信息中的源地址和源端口。
12.如权利要求10或11所述的AC设备,其特征在于,
所述维护模块,还用于当更新数据隧道信息时,向所述AP设备发送第一配置更新请求消息,以供所述AP设备根据所述第一配置更新请求消息向所述AC设备发送控制隧道保活报文;
当更新控制隧道信息时,向所述AP设备发送第二配置更新请求消息,以供所述AP设备根据所述第二配置更新请求消息向所述AC设备发送数据隧道保活报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102608475A CN101917439A (zh) | 2010-08-24 | 2010-08-24 | 一种数据的传输方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102608475A CN101917439A (zh) | 2010-08-24 | 2010-08-24 | 一种数据的传输方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101917439A true CN101917439A (zh) | 2010-12-15 |
Family
ID=43324823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102608475A Pending CN101917439A (zh) | 2010-08-24 | 2010-08-24 | 一种数据的传输方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101917439A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333335A (zh) * | 2011-10-20 | 2012-01-25 | 华为技术有限公司 | 一种无线局域网wlan中业务恢复的方法、设备和系统 |
CN103391636A (zh) * | 2013-07-19 | 2013-11-13 | 深圳市共进电子股份有限公司 | 一种加强capwap通信隧道保活的方法 |
WO2013177841A1 (zh) * | 2012-05-31 | 2013-12-05 | 中兴通讯股份有限公司 | Ac与ap之间链路保活的检测方法及装置 |
WO2014019389A1 (zh) * | 2012-07-31 | 2014-02-06 | 华为技术有限公司 | 传输数据的方法和网络侧设备 |
CN104917658A (zh) * | 2014-03-10 | 2015-09-16 | 中国移动通信集团内蒙古有限公司 | 一种信息获取方法、设备及系统 |
CN105306619A (zh) * | 2015-10-19 | 2016-02-03 | 苏州汉明科技有限公司 | 一种ac对于位于nat内部的多ap的管理方法 |
CN106357532A (zh) * | 2016-11-21 | 2017-01-25 | 杭州华三通信技术有限公司 | 一种报文应答方法及装置 |
WO2017071547A1 (zh) * | 2015-10-26 | 2017-05-04 | 新华三技术有限公司 | 应用于vxlan的报文转发 |
CN108601043A (zh) * | 2012-09-28 | 2018-09-28 | 瞻博网络公司 | 用于控制无线接入点的方法和设备 |
CN108712783A (zh) * | 2018-03-22 | 2018-10-26 | 新华三技术有限公司 | 一种capwap隧道建立方法及装置 |
US10893104B2 (en) * | 2016-02-17 | 2021-01-12 | Latticework, Inc. | Implementing a storage system using a personal user device and a data distribution device |
CN112732764A (zh) * | 2021-03-29 | 2021-04-30 | 北京浩瀚深度信息技术股份有限公司 | 一种电信海量数据的关联方法、装置及存储介质 |
CN113347740A (zh) * | 2021-05-21 | 2021-09-03 | 中国联合网络通信集团有限公司 | 一种共享方法、中继服务器及无线接入点 |
CN114244803A (zh) * | 2020-11-30 | 2022-03-25 | 易识科技(广东)有限责任公司 | 一种隧道穿透的控制方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101765228A (zh) * | 2010-01-29 | 2010-06-30 | 杭州华三通信技术有限公司 | 一种capwap隧道的恢复方法及装置 |
-
2010
- 2010-08-24 CN CN2010102608475A patent/CN101917439A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101765228A (zh) * | 2010-01-29 | 2010-06-30 | 杭州华三通信技术有限公司 | 一种capwap隧道的恢复方法及装置 |
Non-Patent Citations (2)
Title |
---|
P.CALHOUN,ED.,等: "《RFC5415》", 31 March 2009 * |
向望等: "集中式WLAN体系结构通信协议", 《计算机工程》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333335B (zh) * | 2011-10-20 | 2014-01-22 | 华为技术有限公司 | 一种无线局域网wlan中业务恢复的方法、设备和系统 |
CN102333335A (zh) * | 2011-10-20 | 2012-01-25 | 华为技术有限公司 | 一种无线局域网wlan中业务恢复的方法、设备和系统 |
US9722904B2 (en) | 2012-05-31 | 2017-08-01 | Zte Corporation | Detection method and device for link keep-alive between AC and AP |
WO2013177841A1 (zh) * | 2012-05-31 | 2013-12-05 | 中兴通讯股份有限公司 | Ac与ap之间链路保活的检测方法及装置 |
WO2014019389A1 (zh) * | 2012-07-31 | 2014-02-06 | 华为技术有限公司 | 传输数据的方法和网络侧设备 |
CN108601043B (zh) * | 2012-09-28 | 2022-01-14 | 瞻博网络公司 | 用于控制无线接入点的方法和设备 |
CN108601043A (zh) * | 2012-09-28 | 2018-09-28 | 瞻博网络公司 | 用于控制无线接入点的方法和设备 |
CN103391636A (zh) * | 2013-07-19 | 2013-11-13 | 深圳市共进电子股份有限公司 | 一种加强capwap通信隧道保活的方法 |
CN103391636B (zh) * | 2013-07-19 | 2016-03-09 | 深圳市共进电子股份有限公司 | 一种加强capwap通信隧道保活的方法 |
CN104917658A (zh) * | 2014-03-10 | 2015-09-16 | 中国移动通信集团内蒙古有限公司 | 一种信息获取方法、设备及系统 |
CN104917658B (zh) * | 2014-03-10 | 2018-06-26 | 中国移动通信集团内蒙古有限公司 | 一种信息获取方法、设备及系统 |
CN105306619A (zh) * | 2015-10-19 | 2016-02-03 | 苏州汉明科技有限公司 | 一种ac对于位于nat内部的多ap的管理方法 |
US10868791B2 (en) | 2015-10-26 | 2020-12-15 | New H3C Technologies Co., Ltd. | Packet forwarding applied to VXLAN |
WO2017071547A1 (zh) * | 2015-10-26 | 2017-05-04 | 新华三技术有限公司 | 应用于vxlan的报文转发 |
US10893104B2 (en) * | 2016-02-17 | 2021-01-12 | Latticework, Inc. | Implementing a storage system using a personal user device and a data distribution device |
CN106357532B (zh) * | 2016-11-21 | 2021-02-23 | 新华三技术有限公司 | 一种报文应答方法及装置 |
CN106357532A (zh) * | 2016-11-21 | 2017-01-25 | 杭州华三通信技术有限公司 | 一种报文应答方法及装置 |
CN108712783B (zh) * | 2018-03-22 | 2021-01-12 | 新华三技术有限公司 | 一种capwap隧道建立方法及装置 |
CN108712783A (zh) * | 2018-03-22 | 2018-10-26 | 新华三技术有限公司 | 一种capwap隧道建立方法及装置 |
CN114244803A (zh) * | 2020-11-30 | 2022-03-25 | 易识科技(广东)有限责任公司 | 一种隧道穿透的控制方法及系统 |
CN114244803B (zh) * | 2020-11-30 | 2024-06-04 | 易识科技(广东)有限责任公司 | 一种隧道穿透的控制方法及系统 |
CN112732764A (zh) * | 2021-03-29 | 2021-04-30 | 北京浩瀚深度信息技术股份有限公司 | 一种电信海量数据的关联方法、装置及存储介质 |
CN113347740A (zh) * | 2021-05-21 | 2021-09-03 | 中国联合网络通信集团有限公司 | 一种共享方法、中继服务器及无线接入点 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101917439A (zh) | 一种数据的传输方法和设备 | |
US9264403B2 (en) | Virtualization platform | |
CN103580980B (zh) | 虚拟网络自动发现和自动配置的方法及其装置 | |
EP3313025B1 (en) | Data packet forwarding | |
US10091274B2 (en) | Method, device, and system for controlling network device auto-provisioning | |
JP5710928B2 (ja) | ネットワークシステム、仮想ネットワーク管理方法及びルータ | |
CN102355479B (zh) | 一种多nat网关流量转发的方法和设备 | |
CN106712988B (zh) | 一种虚拟网络管理方法及装置 | |
CN101141420A (zh) | 私网与公网进行数据通信的方法及系统 | |
US20160006820A1 (en) | Encrypted VPN Connection | |
US7716368B2 (en) | Network system and communication method, information processing apparatus and method, and program | |
CN104135446A (zh) | 基于SDN实现IPv4向IPv6过渡的系统及方法 | |
JP2016048854A (ja) | データ転送システム及び方法 | |
CN104202398A (zh) | 远程控制的方法、装置及系统 | |
CN108965036A (zh) | 配置跨公网设备互访方法、系统、服务器及存储介质 | |
US20140181279A1 (en) | Virtual Console-Port Management | |
JP2005142702A (ja) | ネットワークアクセスゲートウェイ及びネットワークアクセスゲートウェイの制御方法並びにプログラム | |
WO2021089169A1 (en) | Private sub-networks for virtual private networks (vpn) clients | |
JP2006135645A (ja) | 異なる通信プロトコルが併存するネットワークにおけるネットワーク接続手段の一元管理システム及び方法 | |
CN116170409A (zh) | 一种基于虚拟域名的sd-wan网络地址规划系统 | |
CN107070688B (zh) | 一种配置节点的方法及节点 | |
JP5911620B2 (ja) | 仮想ネットワーク管理サーバ及びエッジルータ | |
JP5054666B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム | |
JP6975065B2 (ja) | 通信システム、通信方法、及びプログラム | |
CN102546845A (zh) | 业务访问方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101215 |