本申请涉及网络通信技术领域,特别涉及一种无线三层漫游的方法和装置。
背景技术:
WLAN(Wireless Local Area Networks,无线局域网)漫游是指无线客户端在同属于一个SSID(Service Set Identifier,服务集标识)的无线AP(Access Point,接入点)之间移动时,无线客户端的业务不中断。
当进行三层漫游时,漫游前后的IP地址会发生改变,因此无线客户端的业务会出现中断。通过在AP与无线AC(Access Controller,接入控制器)之间建立CAPWAP(Control And Provisioning of Wireless Access Point Protocol,无线接入点控制和配置协议)隧道,AP将接收到的上网流量透传至AC,由AC转发上网流量至无线客户端首次关联的AP,最后由首次关联的AP将上网流量转发至互联网,达到屏蔽三层漫游的目的,实现无线客户端三层漫游时,保持IP地址不变,从而保证无线客户端业务的不中断。
通过在AP和AC之间建立CAPWAP隧道,并由该隧道转发上网流量来屏蔽三层漫游,采用该方法来实现三层漫游,保证无线客户端的业务不中断时,会增加AC设备的运行负担。
技术实现要素:
有鉴于此,本申请提供一种无线三层漫游的方法和装置,在发生三层漫游时,保证无线客户端的业务不中断的前提下,减轻AC设备的运行负担。
具体地,本申请是通过如下技术方案实现的:
一种无线三层漫游的方法,应用于AP设备,包括:
当基于无线口IP地址接收到基站STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有无线接入点AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;
如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;
当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述数据报文转发至虚拟专用网络VPN网关。
一种无线三层漫游的装置,应用于AP设备,包括:
判断单元,用于当基于无线口IP地址接收到STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;
回应单元,用于如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;
转发单元,用于当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述数据报文转发至VPN网关。
由以上本申请提供的技术方案可见,通过当基于无线口IP地址接收到STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述STA设备发送的数据报文转发至VPN网关。
一方面,由于AP设备将作为STA设备的网关,而且同属于一个无线局域网的所有AP设备的无线口IP地址被配置为相同,因此当STA设备发生漫游至同一无线局域网中的其它AP设备时,接入的网关地址不变,从而可以保证上层业务不中断;
另一方面,当STA设备漫游至同一无线局域网中的其它AP设备时,将不再采用在AC与AP之间建立CAPWAP隧道,由该隧道来转发数据报文的方式来确保上层业务不中断,因此,可以在保证上层业务不中断的前提下,减轻AC设备由于需要建立大量隧道而造成的负载压力。
附图说明
图1是本申请示出的一种无线三层漫游的方法流程图;
图2是本申请示出的一种无线三层漫游的应用场景架构图;
图3是本申请示出的IP地址动态获取的流程图;
图4是本申请示出的一种无线三层漫游的装置硬件结构图;
图5是本申请示出的一种无线三层漫游的装置。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
相关技术中,通过在AP设备与AC设备之间建立CAPWAP隧道,AP设备将接收到的STA发送的数据报文,通过该CAPWAP转发到STA的家乡代理设备,再由家乡代理设备转发该数据报文,实现STA设备发生三层漫游时,IP地址不变,保证上层业务的不中断,从而达到屏蔽三层漫游的效果。
由相关技术提供的技术方案可见,当有很多AP设备时,每个AP设备都会与AC设备建立CAPWAP隧道,在这样的情况下,AC设备除了对AP设备的控制外,还承担数据报文的转发任务,每个AP接收到的数据报文都将经过AC设备,这将大大增加AC设备的运行负担,耗损AC设备的性能。
因此,为了解决相关技术中存在的问题,本申请提供了一种无线三层漫游的方法。通过当基于无线口地址接收到STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本AP设备与其他同属于一个SSID的所有AP设备的无线口地址配置为相同的地址;所述无线口地址为接入本AP设备的STA设备的网关地址;如果否,向所述STA设备回应DHCP Request报文;最后,当基于该无线地址口接收到所述STA设备发送的数据报文时,将所述数据报文转发至互联网。
一方面,由于AP设备将作为STA设备的网关,而且同属于一个无线局域网的所有AP设备的无线口IP地址被配置为相同,因此当STA设备发生漫游至同一无线局域网中的其它AP设备时,接入的网关地址不变,从而可以保证上层业务不中断;
另一方面,当STA设备漫游至同一无线局域网中的其它AP设备时,将不再采用在AC与AP之间建立CAPWAP隧道,由该隧道来转发数据报文的方式来确保上层业务不中断,因此,可以在保证上层业务不中断的前提下,减轻AC设备由于需要建立大量隧道而造成的负载压力。
请参见图1,图1为本申请示出的一种无线三层漫游的方法流程图,应用于AP设备,具体执行以下步骤:
步骤101:当基于无线口IP地址接收到基站STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有无线接入点AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;
步骤102:如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;
步骤103:当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述数据报文转发至虚拟专用网络VPN网关。
其中,上述STA设备可以是PC,也可以是手机等具有与网络互连的移动设备。
在本实施例中,当STA设备发生三层漫游时,对于STA设备来说,该过程只是在无线连接时,关联的AP设备发生了变化,具体应用场景架构图,请参见图2,图2为本申请示出的一种无线三层漫游的应用场景架构图。
从图中可以看出,AP1和AP2均与VPN网关相连,VPN网关另外还与有线办公网络和Internet相连,Internet还与AC设备相连。
其中,上述AP1和AP2为无线接入点,是一种连接设备,相当于一个连接有线网和无线网的桥梁,主要用于将各个无线网络客户端连接到一起,然后将无线网络通过设备有线口,接入以太网。
上述AC设备为无线控制器,是一种网路设备,用来集中化管理控制无线AP设备,是一个无线网络的核心,负责管理无线网络中的所有无线AP,对AP管理包括:下发配置、修改相关配置参数、射频智能管理、接入安全控制等。
上述VPN网关是一种路由设备,用于数据报文的转发,同时具有VPN的功能,AC设备对AP设备的管理就是通过该VPN来实现的。
STA设备发生漫游之前,首先会与一个AP设备关联,在架构图中,STA设备首先是与AP1设备关联。STA设备与AP设备的关联过程主要是IP地址的动态获取。
请参见图3,图3为本申请示出的IP地址动态获取的流程图,具体执行以下步骤:
步骤301:发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP Discover报文。
步骤302:提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP Discover报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP Offer报文发送给客户端。DHCP Offer报文的发送方式由DHCP Discover报文中的flag字段决定。
步骤303:选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP Offer报文,客户端只接受第一个收到的DHCP Offer报文,然后以广播方式发送DHCP Request报文,该报文中包含DHCP服务器在DHCP Offer报文中分配的IP地址。
步骤304:确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP Request报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回DHCP ACK报文;否则返回DHCP NAK报文,表明地址不能分配给该客户端。
以下以图2所示的应用场景架构图为例对无线三层漫游进行详细的描述。
在示出一种实施例方式中,获取AC设备从所述若干个网段各不相同的DHCP地址池中,为本设备分配的DHCP地址池,以及获取AC设备为本设备分配的无线口IP地址,并将该无线口IP地址下发至接入本设备的STA设备,以作为所述STA设备的网关地址。
在STA设备与AP设备进行关联之前,所述无线局域网的DHCP地址池被AC设备预先划分为若干个网段各不相同的DHCP地址池。现在有AP1和AP2两个设备,假设有无线局域网地址池,地址范围为192.168.1.1~192.168.1.254,则可以从该无线地址池中划分出两个地址池,分别为192.168.1.1~192.168.1.100和192.168.1.101~192.168.1.200。AP1的地址池所包含的IP地址配置为192.168.1.1~192.168.1.100。AP2的地址池所包含的IP地址配置为192.168.1.101~192.168.1.200。为了保证STA设备发生漫游时,上层业务不中断,需要将AP1和AP2的网关地址设置为相同的地址,网关地址可以从无线局域网地址池中剩余的地址中选择一个目标地址,作为网关地址,该网关地址即为各个AP设备的无线口地址。
在示出的一种实施方式中,如果接收到任一STA设备接入本设备时发送的DHCP Discover报文时,从本地的DHCP地址池中为该STA设备分配IP地址。
当STA设备进入AP1覆盖的无线范围内时,STA设备会以广播形式发送DHCP Discover报文。AP1接收到该DHCP Discover报文后,会以单播的形式向STA设备返回一个DHCP Offer报文,该报文携带AP1基于本地地址池为STA设备分配的一个IP地址,比如192.168.1.10,以及无线口地址192.168.1.254。STA设备接收到AP1设备返回的DHCP Offer报文之后,基于AP1设备为其分配的IP地址192.168.1.10,向AP1发送DHCP Request报文,请求与AP1设备进行连接。当AP1接收到STA设备发送DHCP Request报文后,将该DHCP Request报文所对应的IP地址192.168.1.10与其本地地址池进行比对,判断该DHCP Request报文所对应的IP地址是否属于本地地址池所包含的地址。如果是,则向STA设备返回DHCP ACK报文,成功建立连接;如果否,则向STA设备返回DHCP NAK报文,表明连接失败。
因为IP地址192.168.1.10在AP1本地地址池所包含的地址中,因此STA设备会与AP1成功建立连接。在STA设备与AP1成功建立连接后,AP1接收STA发送的数据报文,将该数据报文通过有线口转发至VPN网关,该数据报文转发后,学习有线口对该数据报文对应的IP地址与,进行NAT地址转换后得到的公网地址的对应关系,最后得到与所述STA设备对应的NAT表项,并将该NAT表项保存。
当AP1接收到返回的针对STA的数据报文后,在有线口获取与所述STA设备对应的NAT表项,并基于该NAT表项将该数据报文进行NAT转换,获取该STA设备对应的无线IP地址,并基于该STA的无线IP地址将VPN网关返回的数据报文,通过无线口转发给STA设备。
如果STA设备从AP1覆盖的无线范围内移动到AP2覆盖的无线范围内,在移动的过程中,随着AP1发出的无线信号的强度越来越弱,AP2的无线信号的强度越来越强,STA设备会逐渐断开与AP1的关联,与AP2进行关联,转折点在AP1与AP2的无线覆盖范围重叠处。
当STA设备移动到只有AP2的无线覆盖范围处时,由于AP1和AP2的无线口地址相同,因此STA设备会自动向AP2发送DHCP Request报文,该DHCP Request报文对应的IP地址保持不变,依然是AP1为STA设备分配的IP地址192.168.1.10。当AP2接收到STA设备发送的DHCP Request报文后,判断将该DHCP Request报文所对应的IP地址是否属于其本地地址池所包含的地址,如果否,表明STA设备是发生了漫游,在这种情况下,AP2直接向STA设备响应一个DHCP ACK报文,使STA设备保持IP地址不变。
在示出的一种实施方式中,将所述STA设备发送的所述数据报文转发后,基于该数据报文的源IP地址以及目的IP地址,在有线口学习与所述STA设备对应的NAT表项并保存。
当STA设备成功与AP2建立连接后,对于STA来说,只是ARP表项发生了变化,从原来的192.168.1.10的IP地址与AP1的MAC地址的对应关系,转变成了192.168.1.10的IP地址与AP2的MAC地址的对应关系。之后,STA设备可以向AP2发送数据报文。当AP2接收到STA设备发送的数据报文后,将该数据报文通过有线口转发至VPN网关。该数据报文被转发后,获取该数据报文的源IP地址以及目的IP地址,对应的源IP地址为私网地址,因此会在AP2的有线口进行NAT(Network Address Translation,网络地址转换)地址转换,被转换成一个公网IP地址,该公网IP地址相当于“中间人”的作用,基于该公网IP地址将该数据报文转发至目的IP地址,最终在有线口学习得到与所述STA设备对应的NAT表项,并保存于有线口。
在示出的一种实施方式中,有线口接收到VPN网关返回至所述STA设备的数据报文;有线口为该数据报文匹配对应的NAT表项;基于匹配到的NAT表项对所述数据报文进行NAT转换后,转发至所述STA设备。
当AP2接收到VPN网关返回的针对STA的数据报文后,有线口对该数据报文进行NAT表项的匹配,匹配到对应的NAT表项后,将该数据报文进行NAT转换,得到所述STA设备的无线IP地址,并基于该STA的无线IP地址将VPN网关返回的数据报文,通过无线口转发给STA设备。
在示出的一种实施方式中,如果该DHCP Request报文中携带的IP地址命中本地的DHCP地址池,向所述STA设备下发DHCP ACK报文,所述DHCP ACK报文携带针对该IP地址的新的租借期限,以使STA设备更新该IP地址的租借期限。
当AP2接收到STA发送的DHCP Request报文之后,确定该DHCP Request报文中携带的IP地址属于本地地址池所包含的地址中时,表明该STA已经连接到本无线局域网的相关子网中,在这种情况下,STA设备发送的DHCP Request报文是为了向AP2设备申请IP地址的租借期限的更新,针对所述STA设备发送的DHCP Request报文,AP2会向所述STA设备回应DHCP ACK报文,该DHCP ACK报文携带针对该IP地址的新的租借期限,以使STA设备更新该IP地址的租借期限,保持与所述STA设备的连接。
由以上本申请提供的技术方案可见,通过当基于无线口IP地址接收到STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述STA设备发送的数据报文转发至VPN网关。
一方面,由于AP设备将作为STA设备的网关,而且同属于一个无线局域网的所有AP设备的无线口IP地址被配置为相同,因此当STA设备发生漫游至同一无线局域网中的其它AP设备时,接入的网关地址不变,从而可以保证上层业务不中断;
另一方面,当STA设备漫游至同一无线局域网中的其它AP设备时,将不再采用在AC与AP之间建立CAPWAP隧道,由该隧道来转发数据报文的方式来确保上层业务不中断,因此,可以在保证上层业务不中断的前提下,减轻AC设备由于需要建立大量隧道而造成的负载压力。
与前述一种无线三层漫游的方法的实施例相对应,本申请还提供了一种无线三层漫游的装置的实施例。
本申请一种三层漫游的装置的实施例可以应用在AP设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在AP设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请一种无线三层漫游的装置所在AP设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的AP设备通常根据该无线三层漫游的装置的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,图5为本申请示出的一种无线三层漫游的装置,应用于AP设备上,所述装置包括:判断单元510,回应单元520,转发单元530,获取单元540,分配单元550,下发单元560,学习单元570。
其中,所述判断单元510,用于当基于无线口IP地址接收到STA设备发送的DHCP Request报文时,判断该DHCP Request报文中携带的IP地址是否命中本地的DHCP地址池;其中,本设备与同属于同一无线局域网的其它所有AP设备的无线口IP地址相同;所述无线口IP地址为接入本AP设备的STA设备的网关地址;
所述回应单元520,用于如果该DHCP Request报文中携带的IP地址未命中本地的DHCP地址池,向所述STA设备回应DHCP ACK报文;
所述转发单元530,用于当基于该无线口IP地址接收到所述STA设备发送的数据报文时,将所述数据报文转发至VPN网关。
所述获取单元540,用于获取AC设备从所述若干个网段各不相同的DHCP地址池中,为本设备分配的DHCP地址池,以及获取AC设备为本设备分配的无线口IP地址,并将该无线口IP地址下发至接入本设备的STA设备,以作为所述STA设备的网关地址。
所述分配单元550,用于如果接收到任一STA设备接入本设备时发送的DHCP Discover报文时,从本地的DHCP地址池中为该STA设备分配IP地址。
所述下发单元560,用于如果该DHCP Request报文中携带的IP地址命中本地的DHCP地址池,向所述STA设备下发DHCP ACK报文,所述DHCP ACK报文携带针对该IP地址的新的租借期限,以使STA设备更新该IP地址的租借期限。
所述学习单元570,用于将所述STA设备发送的所述数据报文转发后,基于该数据报文的源IP地址以及目的IP地址,在有线口学习与所述STA设备对应的NAT表项并保存。
所述转发单元530,进一步用于有线口接收到VPN网关返回至所述STA设备的数据报文;有线口为该数据报文匹配对应的NAT表项;基于匹配到的NAT表项对所述数据报文进行NAT转换后,转发至所述STA设备。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。