一种无线局域网地址解析协议广播方法及接入控制器
技术领域
本发明涉及涉及无线局域网广播技术,具体地说,是涉及一种无线局域网ARP(Address Resolution Protocol,地址解析协议)广播方法及接入控制器。
背景技术
WLAN(Wireless Local Area Network无线局域网)提供了一种局域网的无线连接服务,由于能够提供高速的无线数据接入,WLAN是目前IT行业比较热门的技术之一,也是流行的无线接入方式。WLAN通常采用集中式AC-AP(Access Controller-Access Point,接入控制器-接入点)架构。其中,AC提供WLAN网络的集中管理,AP则通过和AC建立链接,加入WLAN网络后,提供无线接入服务。
WLAN集中式架构主要有两种方式:Local(本地)方式和Split(拆分)方式。其中,Split方式即为CAPWAP(Control and Provisioning of WirelessAccess Points,无线接入点控制和规定)中的MAC(Medium Access Control,媒体接入控制)模式,由于Local方式需要较强的AP,导致WLAN的组网成本较高;而Split方式因其组网成本较低,便于组网等特点在WLAN部署中占有较大的优势。
在Split方式中,如图1所示,无线局域网包括:用户终端STA1、STA2、STA3,并分别通过AP1、AP2、AP3接入无线局域网,AP1、AP2、AP3又分别通过与AC建立连接来提供无线接入服务,这里,由AC提供对WLAN网络的集中管理。其中,假设STA1、STA2、STA3均属于广播域VLAN10(Virtual Local Area Network,虚拟局域网),此时,AC收到需要到达STA1的ARP请求报文;广播过程如下:
步骤101:AC发现AP1、AP2、AP3上有广播域VLAN10的无线用户终端STA1、STA2、STA3;
步骤102:AC复制3份ARP请求报文,将所述报文分别通过AC-AP1、AC-AP2、AC-AP3间的CAPWAP隧道,发送到AP1、AP2、AP3;
步骤103:所述AP1、AP2、AP3将收到的ARP请求报文广播到各自负责接入的无线用户终端上,即,STA1、STA2、STA3上;
步骤104:所述STA1收到ARP请求报文,回应APR响应报文。
在上述过程中,我们可以看到,由于一台AC通过CAPWAP隧道管理多台AP,需要在隧道上复制广播报文,上述过程中,复制一共了3份。通常极限情况下,一个AC最多管理200个AP,每个AP上假设都有无线用户终端属于同一个广播域(如,VLAN 10),那么,如果AC在广播域内收到一个ARP广播报文,则需要将该报文复制200份,通过CAPWAP隧道发送到各个AP。由此可见,这种方式导致了广播复制问题的出现,这不但增加了AC上CPU资源的负担,甚至会引起ARP超时,从而导致网络不能正常工作。
因此,如何提供一种能够解决广播复制问题的无线局域网ARP广播方法及接入控制器,成为亟待解决的技术问题。
发明内容
本发明所要解决的技术问题是提供一种无线局域网ARP广播方法及接入控制器,来克服无线接入控制器上的ARP广播报文复制问题,从而节约系统资源,提高ARP广播报文传输效率。
为解决上述技术问题,本发明提供方案如下:
一种无线局域网地址解析协议广播方法,包括如下步骤:
接入控制器建立并维护用户信息,所述用户信息是用户终端IP地址与MAC地址之间的对应关系;
当接入控制器收到需要到达某个用户终端的地址解析协议ARP请求报文时,提取ARP请求报文中的目的IP地址,根据所维护的用户信息,查找与所述目的IP地址对应的MAC地址,并代替用户终端回复携带所述MAC地址的ARP响应报文。
本发明所述的方法,其中,所述接入控制器建立并维护用户信息是:
当接入控制器窃听到ARP响应报文或动态主机配置协议DHCP响应报文时,从中提取IP地址与MAC地址之间的对应关系,并保存;
当用户终端下线或掉线时,接入控制器删除所述已经保存的用户信息。
本发明所述的方法,其中,所述接入控制器建立每个用户信息时,同时为每个用户信息开始计时,当保存所述用户信息的时间超出预先设定的定时值时,删除所述用户信息。
一种无线局域网地址解析协议广播方法,包括如下步骤:
接入控制器建立并维护用户信息,所述用户信息是用户终端IP地址、MAC地址、用户服务区标识符BSSID之间的对应关系;
当接入控制器收到需要到达某个用户终端的ARP请求报文时,接入控制器根据已经建立的用户信息,将ARP请求报文透传到相应的接入点,最后到达相应的用户终端。
本发明所述的方法,其中,所述接入控制器建立并维护用户信息是:
当接入控制器窃听到的ARP响应报文或DHCP响应报文时,从中提取IP地址、BSSID之间的对应关系,并保存;
当用户终端下线或掉线时,接入控制器删除所述已经保存的用户信息。
本发明所述的方法,其中,所述用户信息是所述用户信息是用户终端IP地址、MAC地址、BSSID之间的对应关系。
本发明所述的方法,其中,所述用户信息是用户终端IP地址、MAC地址、BSSID、及用户终端接入接入控制器的逻辑接口之间的对应关系。
本发明所述的方法,其中,所述接入控制器建立每个用户信息时,同时为每个用户信息开始计时,当保存所述用户信息的时间超出预先设定的定时值时,删除所述用户信息。
本发明所述的方法,其中,所述接入控制器根据已经建立的用户信息,将ARP请求报文透传到相应的接入点,是所述接入控制器根据用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息将ARP请求报文向BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点发送。
本发明所述的方法,其中,所述所述接入控制器根据已经建立的用户信息,将ARP请求报文透传到相应的接入点,是所述接入控制器将ARP请求报文的目的MAC地址修改成用户终端的MAC地址,再根据用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息将ARP请求报文向BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点发送。
一种接入控制器,包括:用户信息维护模块、地址解析协议响应模块;
其中,所述用户信息维护模块,用于建立并维护用户信息,所述用户信息是用户终端IP地址、MAC地址之间的对应关系;
所述地址解析协议响应模块,用于从收到的ARP请求报文中提取目标IP地址,并根据用户信息维护模块中保存的用户信息,查找到与所述目标IP相对应的MAC地址信息,并发送携带所述MAC地址信息的ARP响应报文。
本发明所述的接入控制器,其中,所述用户信息维护模块,进一步用于根据窃听ARP响应报文或DHCP响应报文,来提取其中所携带的用户终端IP地址与MAC地址之间的对应关系,并保存;当用户终端下线或掉线时,删除所述已经建立并保存的相应用户信息。
本发明所述的接入控制器,其中,所述用户信息维护模块中进一步包括:定时子模块,用于在创建每个用户信息时,开始为用户信息的保存时间进行计时,当到达预定的定时时间时,删除该用户信息。
一种接入控制器,包括:用户信息维护模块、请求报文转发模块;
其中,所述用户信息维护模块,用于建立并维护用户信息,所述用户信息是用户终端IP地址、BSSID之间的对应关系;
所述请求报文转发模块,用于根据所述已经建立的用户信息将ARP请求报文透传到接入点。
本发明所述的接入控制器,其中,所述用户信息维护模块,进一步用于根据窃听到的ARP响应报文或DHCP响应报文,从中提取IP地址、BSSID之间的对应关系,并保存;当用户终端下线或掉线时,删除所述已经保存的用户信息。
本发明所述的接入控制器,其中,所述用户信息维护模块,进一步用于建立并维护用户信息,所述用户信息是用户终端IP地址、MAC地址、BSSID之间的对应关系。
本发明所述的接入控制器,其中,所述用户信息维护模块,进一步用于建立并维护用户信息,所述用户信息是用户终端IP地址、MAC地址、BSSID、用户终端接入接入控制器的逻辑接口之间的对应关系。
本发明所述的接入控制器,其中,所述用户信息维护模块中进一步包括:定时子模块,用于在创建每个用户信息时,开始为用户信息的保存时间进行计时,当到达预定的定时时间时,删除该用户信息。
本发明所述的接入控制器,其中,所述请求报文转发模块,进一步用于根据用户信息维护模块中保存的相应用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息,将ARP请求报文发送至BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点。
本发明所述的接入控制器,其中,所述请求报文转发模块,进一步用于根据用户信息维护模块中保存的相应用户信息中的MAC地址信息,将ARP请求报文的目的MAC地址修改成用户终端的MAC地址,并根据用户信息维护模块中保存的相应用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息,将ARP请求报文发送至BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点。
本发明通过接入控制器窃听ARP响应报文或DHCP响应报文来建立并维护用户信息,即,维护用户终端IP地址、MAC地址之间的对应关系;当接入控制器收到需要到达某个用户终端的ARP请求报文时,从收到的ARP请求报文中提取的目的IP地址,根据所维护的用户信息,查找与所述目的IP地址对应的MAC地址,并代替用户终端回复携带所述MAC地址的ARP响应报文,克服了无线接入控制器上的ARP广播报文复制问题,从而节约系统资源,提高ARP广播报文传输效率。
本发明还通过窃听ARP响应报文或DHCP响应报文来建立并维护用户终端IP地址、BSSID之间的对应关系或者维护用户终端IP地址、MAC地址、BSSID之间的对应关系或者维护用户终端IP地址、MAC地址、BSSID、用户终端接入接入控制器的逻辑接口之间的对应关系;当接入控制器收到需要到达某个用户终端的ARP请求报文时,根据用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息将ARP请求报文向BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点发送,最后到达用户终端,由用户终端回复ARP响应报文;或者,当接入控制器收到需要到达某个用户终端的ARP请求报文时,根据已经建立的用户信息中的MAC地址信息,将ARP请求报文的目的MAC地址修改成用户终端的MAC地址,再根据用户信息中的BSSID信息或用户终端接入接入控制器的逻辑接口信息将ARP请求报文向BSSID信息或用户终端接入接入控制器的逻辑接口信息对应的接入点发送,最后到达用户终端,由用户终端回复ARP响应报文,同样,克服了无线接入控制器上的ARP广播报文复制问题,从而节约系统资源,提高ARP广播报文传输效率。
本发明进一步通过接入控制器在首次创建每个用户信息时,为每个用户信息开始计时,即,计算保存该用户信息的时间,当保存的时间超出预先设定的定时值时,删除该用户信息,节约了系统资源。
本发明所要解决的技术问题、技术方案要点及有益效果,将结合实施例,参照附图作进一步说明。
附图说明
图1为现有技术中无线局域网ARP广播系统结构示意图;
图2为本发明实施例所述方法的流程图;
图3为本发明另一实施例所述方法的流程图;
图4为本发明实施例所述无线局域网的结构示意图:
图5为本发明另一实施例所述无线局域网的结构示意图。
具体实施方式
参照图2,本发明实施例所述方法,通过接入控制器AC窃听ARP报文、或DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)报文来维护用户信息,即,维护用户终端MAC地址与IP地址之间的对应关系信息;当存在ARP请求报文时,由AC根据已经建立的用户信息,代替用户终端对ARP请求报文进行响应,从而解决AC上ARP请求报文在AC上的广播复制问题,具体过程如下:
步骤201:接入控制器建立并维护用户信息,即,建立并保存用户终端IP地址与MAC地址之间的对应关系{IP、MAC}。这里,AC可以通过窃听来自用户终端的ARP报文,也就是通过窃听从W-P无线端口接收来的ARP响应报文,从中提取IP地址与MAC地址之间的对应关系,并保存。同样,为建立所述用户信息,AC还可以通过窃听来自DHCP服务器的DHCP响应报文,从中提取IP地址与MAC地址之间的对应关系,并保存。当用户终端下线或掉线时,AC可以删除用户信息,以确保AC每次可以准确统计有效的用户信息以外,还可以节约系统资源。
步骤202:当存在需要到达某个用户终端的ARP请求报文时,AC提取ARP请求报文中的目标IP地址,并根据已经建立的用户信息,以所提取的目标IP地址为索引,查找与该目标IP地址对应的MAC地址,并代替所述用户终端发送携带所述MAC地址的ARP响应报文。
在上述过程中,如果AC采用窃听ARP响应报文的方式来维护用户信息,则当AC首次收到需要到达某个用户终端的ARP请求报文时,通过相应的AP发送到所述用户终端上,并在收到所述用户终端的ARP响应报文后,根据所述ARP响应报文建立并保存用户终端IP地址与MAC地址对应关系信息。当再次出现需要到达该用户终端的ARP请求报文时,AC则提取ARP请求报文中的目标IP地址,并根据已经建立的用户信息,以所提取的目标IP地址为索引,查找与该目标IP地址对应的MAC地址,并代替所述用户终端发送携带所述MAC地址的ARP响应报文。
而由于DHCP响应报文是由DHCP服务器反馈的,无需用户终端的响应,因此,对于AC窃听DHCP响应报文时,则无论是否首次收到需要到达某个用户终端的ARP请求,AC均能够直接根据DHCP响应报文中的用户终端IP地址与MAC地址对应关系信息建立用户信息,然后,提取ARP请求报文中的目标IP地址,并根据已经建立的用户信息,以所提取的目标IP地址为索引,查找与该目标IP地址对应的MAC地址,并代替所述用户终端发送携带所述MAC地址的ARP响应报文。
另外,当AC首次创建每个用户信息时,为每个用户信息开始计时,即,计算保存该用户信息的时间,当保存的时间超出预先设定的定时值时,删除该用户信息,同样,这样操作可以节约系统资源。
参照图3,本发明另一实施例所述方法,与图2实施例所述方法区别在于:AC通过窃听ARP报文、DHCP报文所维护的用户信息是IP地址、BSSID(Basic Service Set Identifier,用户服务区标识符)信息之间的对应关系,即,用户信息为{IP、BSSID}信息。然后,当存在ARP请求报文时,AC根据已经建立的用户信息,将ARP请求报文透传到AP,最后到达所要达到的用户终端,再由收到ARP请求报文的用户终端发送ARP响应报文。本实施例所述方法是用户终端来反馈ARP响应报文,而不是由AC代替所述用户终端发送携带用户终端MAC地址的ARP响应报文。同样,也解决AC上ARP请求报文在AC上的广播复制问题。本实施例所述方法是,具体过程如下:
步骤301:接入控制器建立并维护用户信息,即,建立并保存用户终端IP地址、BSSID之间的对应关系{IP、BSSID}信息。这里,同样是AC通过窃听来自用户终端的ARP报文,或通过窃听来自DHCP服务器的DHCP响应报文,从中提取IP地址、BSSID之间的对应关系信息,并保存。过程类似图2中所述步骤201,这里不在赘述。同样,AC维护的用户信息还可以是{IP、MAC、BSSID}信息或{IP、MAC、W-P、BSSID}信息,其中,W-P是用户终端接入AC的逻辑接口。同样,当用户终端下线或掉线时,AC可以删除用户信息,以确保AC每次可以准确统计有效的用户信息以外,还可以节约系统资源。
步骤302:当存在需要到达某个用户终端的ARP请求报文时,AC根据已经建立的用户信息{IP、BSSID}、{IP、MAC、BSSID}或{IP、MAC、W-P、BSSID},将ARP请求报文透传到AP;这里,AC可以根据用户信息中的BSSID信息或W-P信息将ARP请求报文向BSSID信息或W-P信息对应的AP发送,或者,可以将ARP请求报文的目的MAC修改成用户终端的MAC,再根据用户信息中的BSSID信息或W-P信息将ARP请求报文向BSSID信息或W-P信息对应的AP发送。
步骤303:所述AP将ARP请求报文发送到用户终端。
步骤304:所述用户终端收到ARP请求报文后,回复ARP响应报文。
为了节约系统资源,同样可以当AC首次创建每个用户信息时,为每个用户信息开始计时,即,计算保存该用户信息的时间,当保存的时间超出预先设定的定时值时,删除该用户信息。
由此可见,本实施例所述方法同样解决了AC上ARP请求报文在AC上的广播复制问题。
下面再结合一个无线局域网的例子,来对本发明实施例所述接入控制器作进一步说明。
参照图4,本发明实施例所述的无线局域网包括:用户终端STA1、STA2、STA3,并分别通过AP1、AP2、AP3接入无线局域网,AP1、AP2、AP3又分别通过与AC建立连接来提供无线接入服务,这里,由AC提供对WLAN网络的集中管理。其中,接入控制器AC包括:用户信息维护模块11、地址解析协议响应模块12。
所述用户信息维护模块11,用于建立并维护用户信息,所述用户信息是用户终端IP地址、MAC地址之间的对应关系。例如,用户信息维护模块通过窃听用户终端发送来的ARP响应报文,来提取其中所携带的用户终端IP地址与MAC地址之间的对应关系,并保存。同样,可以通过窃听DHCP服务器发送来的DHCP响应报文,来建立并保存用户终端IP地址与MAC地址之间的对应关系。当用户终端下线或掉线时,所述用户信息维护模块删除已建立并保存的相应的用户信息,来使所维护用户信息实时有效。
所述地址解析协议响应模块12,用于从收到的ARP请求报文中提取目标IP地址,并根据用户信息维护模块中保存的用户信息,查找到与所述目标IP相对应的MAC地址信息,并发送携带所述MAC地址信息的ARP响应报文。
假设所述无线局域网中的STA1、STA2、STA3均属于广播域VLAN10(Virtual Local Area Network,虚拟局域网)。
例如,如果AC中的用户信息维护模块11采用窃听ARP响应报文的方式来维护用户信息,并且假设用户信息维护模块11已经通过窃听STA1的ARP响应报文,建立并保存了STA1的用户信息{IP1、MAC1}。
此时,如果AC再次收到一个需要到达STA1的ARP请求报文,则所述地址解析响应模块12根据收到的ARP请求报文从中提取目的IP1地址,并以所述目的IP1地址为索引,在用户信息维护模块11保存的用户信息中查找与所述目标IP1地址对应的MAC1地址,并发送携带所述MAC1地址信息的ARP响应报文。
之后,如果STA1下线或掉线,则AC中的用户信息维护模块11删除已经维护的用户信息{IP1、MAC1}。
另外,还可以在用户信息维护模块中设置一个定时子模块,用于在创建每个用户信息时,开始为用户信息的保存时间进行计时,当到达预定的定时时间时,删除该用户信息。这样通过定时老化用户信息,来起到节约系统资源的作用。
由此可见,采用上述结构的接入控制器解决了ARP广播复制的问题。
为解决ARP广播复制问题,同样可以采用图5所示无线局域网结构,与图4所示无线局域网区别在于所述接入控制器包括:用户信息维护模块21、请求报文转发模块22。
所述用户信息维护模块21,用于建立并维护用户信息,即,建立并保存用户终端IP地址、BSSID之间的对应关系{IP、BSSID}信息。例如,用户信息维护模块21通过窃听来自用户终端的ARP报文,或通过窃听来自DHCP服务器的DHCP响应报文,从中提取IP地址、BSSID之间的对应关系信息,并保存。同样,AC维护的用户信息还可以是{IP、MAC、BSSID}信息或{IP、MAC、W-P、BSSID}信息,其中,W-P是用户终端接入AC的逻辑接口。另外,当用户终端下线或掉线时,所述用户信息维护模块21删除已建立并保存的相应的用户信息,来使所维护用户信息实时有效。
所述请求报文转发模块22,用于根据已经建立的用户信息{IP、BSSID}或{IP、MAC、BSSID}或{IP、MAC、W-P、BSSID},将ARP请求报文透传到AP。例如,请求报文转发模块22可以根据用户信息维护模块中保存的相应用户信息中的BSSID信息或W-P信息将ARP请求报文向BSSID信息或W-P信息对应的AP发送,或者,可以根据用户信息维护模块中保存的相应用户信息中的MAC地址信息将ARP请求报文的目的MAC地址修改成用户终端的MAC地址,再根据用户信息维护模块中保存的相应用户信息中的BSSID信息或W-P信息将ARP请求报文向BSSID信息或W-P信息对应的AP发送。
这样,当用户终端收到所述从AP透传来的ARP请求报文后,则回复ARP响应报文。由此可见,在AC上没有出现ARP广播复制的问题。
与图4所述接入控制器类似,同样,在用户信息维护模块21中可以设置一个定时子模块,用于在创建每个用户信息时,开始为用户信息的保存时间进行计时,当到达预定的定时时间时,删除该用户信息。这样通过定时老化用户信息,来起到节约系统资源的作用。
本发明所述的一种无线局域网地址解析协议广播方法及接入控制器,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。