一种路由器对中继器下挂STA真实MAC的发现方法与转换方法
技术领域
本发明涉及无线通信技术领域,具体地讲,是涉及一种路由器对中继器下挂STA真实MAC的发现方法与转换方法。
背景技术
在家庭网络环境中,路由器的无线信号在有些区域的信号强度很弱,无法达到用户的需求,那么如何增加无线信号的覆盖范围成为路由器厂商需要解决的问题,无线中继器就是在这个背景下应运而生。无线中继器通过关联到无线网关,中继器下挂STA提供二层桥接通路。
中继器(REPEATER)是网络物理层上面的连接设备。适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。中继器是对信号进行再生和还原的网络设备OSI模型的物理层设备。
无线中继器的网络拓扑图如图1所示,无线中继器可以拓展上端路由器的信号覆盖范围,为远端的STA提供服务。在这个过程中,无线中继器为AP与远端STA(如平板、笔记本、手机等)提供一个中继的作用,无线中继器中继AP的SSID、key值、加密方式、信道等。中继器帮助AP扩大了信号的覆盖范围,但是信号的带宽会受到一定的影响。
无线中继器的工作原理如图2所示,经过中继器转发的报文的源MAC地址都会修改为中继器自身的MAC后传输给无线网关,尤其是当一个中继器下挂多个STA时,这些STA在无线网关处记录的MAC地址均为中继器自身的MAC地址,因此中继器的上游设备(如路由器、AP等)无法得知中继器的下游设备(如STA、下游中继器等)的MAC信息,导致上游设备的一些统计、管理等功能无法正常实现。
发明内容
为克服现有技术中的上述问题,本发明提供一种构思新颖、设计巧妙的路由器对中继器下挂STA真实MAC的发现方法与转换方法。
为了实现上述目的,本发明采用的技术方案如下:
一种路由器对中继器下挂STA真实MAC的发现方法,包括如下步骤:
(F10)所述路由器配置一MAC关系映射表,其包含STA名称项、源IP项、源MAC项和中继MAC项的一一映射关系;
(F20)所述路由器接收来自STA的报文,从中提取到该STA的源MAC和源IP,并记录于所述MAC关系映射表的对应项中;
(F30)检测所述MAC关系映射表中不同STA名称项所对应的源MAC项是否存在重复,若是,则判定此时记录的这些具有相同源MAC的STA属于同一中继器下挂,并进行下一步,否则返回步骤(F20);
(F40)确定这个重复的源MAC为中继器的MAC,并将该MAC记录于所述MAC关系映射表内的对应STA的中继MAC项中;
(F50)所述路由器捕捉在MAC关系映射表中存在中继MAC项的STA的DHCP互交报文,从DHCPrequest报文的option61字段上提取对应STA的真实源MAC,并将该真实源MAC覆盖所述MAC关系映射表中已记录的对应STA的源MAC项,获得所述STA的完整映射关系。
进一步地,为了提高检测准确率,所述步骤(F30)中,还检测新加入的STA名称对应的源MAC项是否与已记录的中继MAC项存在重复,若是,则判定该STA属于该中继器下挂,并将该源MAC记录于所述MAC关系映射表内该STA对应的中继MAC项中。
更进一步地,按所述步骤(F50)的过程提取并记录所述新加入的STA的真实源MAC。
更进一步地,所述步骤(F50)中,还从DHCPrequest报文的option50字段上提取对应STA的真实源IP,将其与所述MAC关系映射表中已记录的源IP项进行对比,验证记录是否准确,若二者相同,则判定在所述MAC关系映射表中该STA的映射关系记录准确,否则为不准确,删除已记录的该STA的各项内容。
为了保证记录的完整性,对在所述MAC关系映射表中已删除记录的STA重新按所述步骤(F20)~(F50)进行各项内容的记录。
更进一步地,为了保证时效性,上述发现方法,还包括步骤:
(F60)每间隔一设定时间对所述MAC关系映射表中已记录的项进行更新。
基于上述发现方法的一种路由器对中继器下挂STA真实MAC的转换方法,包括如下步骤:
(T10)由所述STA往所述路由器方向发送报文时:
(T11)所述STA以其源MAC和源IP向其属于的中继器发送报文;
(T12)所述中继器通过映射将该STA报文的源MAC替换为其自身的中继MAC,并将之发送至所述路由器;
(T13)所述路由器根据该STA报文的源IP在所述MAC关系映射表中查找对应STA的源MAC,将该STA报文内的中继MAC恢复为该STA的源MAC;
(T14)所述路由器获得该STA报文的源MAC与源IP的映射关系。
进一步地,所述步骤(T13)中,当路由器发现有STA报文到来时,先根据该STA报文的源IP在所述MAC关系映射表中查找对应STA的源MAC,判断该STA报文内的源MAC是否与该STA的真实源IP一致,若一致,则判定该STA报文并非经过中继器中转,路由器直接提交报文,若不一致,则判定该STA报文经过中继器中转,将该STA报文内的中继MAC恢复为该STA的源MAC。
基于上述发现方法的一种路由器对中继器下挂STA真实MAC的转换方法,包括如下步骤:
(T20)由所述路由器往所述STA方向发送报文时:
(T21)所述路由器发送报文时将报文的目的MAC设置为对应STA的源MAC、报文的目的IP为对应STA的源IP的报文;
(T22)在所述报文发出路由器前进行过滤,根据所述报文的目的MAC或目的IP在所述MAC关系映射表中查找对应的中继MAC,将所述报文的目的MAC替换为该中继MAC后发出报文;
(T23)所述中继器接收到相应报文后,通过其自身的映射将所述报文的目的MAC替换为对应STA的源MAC,然后将之发送至对应STA。
进一步地,所述步骤(T22)中,路由器进行过滤时,先根据报文的目的MAC或目的IP在所述MAC关系映射表中查找对应的中继MAC,判断该报文的目的STA是否经过中继器中转,若在MAC关系映射表中不存在MAC,则判定该STA无需经中继器中转,直接发出报文,若在MAC关系映射表中存在MAC,在判定该STA经过中继器中转,将所述报文的目的MAC替换为该中继MAC后发出报文。
与现有技术相比,本发明具有以下有益效果:
本发明构思新颖巧妙,通过解析路由器与中继器下挂STA的互交报文,获得STA的源MAC与源IP之间的映射关系,利用设置的MAC与IP的关系映射表,保证了路由器能够识别得到所有下游设备信息,大大地便捷了路由器对其下挂的所有下游设备的统计和管理,方便实用,具有广泛的应用前景,适合推广应用。
附图说明
图1为现有技术中无线中继器的网络拓扑图。
图2为现有技术中无线中继器的工作原理图。
图3为本发明中发现方法的流程示意图。
图4为本发明中MAC关系映射表的结构示意图。
图5为本发明中STA向路由器发送报文时的转换方法流程示意图。
图6为本发明中路由器向STA发送报文时的转换方法流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图3至图4所示,该路由器对中继器下挂STA真实MAC的发现方法,包括如下步骤:
(F10)所述路由器配置一MAC关系映射表,其包含STA名称项、源IP项、源MAC项和中继MAC项的一一映射关系,如图4所示。
(F20)所述路由器接收来自STA的报文,从中提取到该STA的源MAC和源IP,并记录于所述MAC关系映射表的对应项中。
(F30)检测所述MAC关系映射表中不同STA名称项所对应的源MAC项是否存在重复,若是,则判定此时记录的这些具有相同源MAC的STA属于同一中继器下挂,并进行下一步,否则返回步骤(F20);为了提高检测准确率,所述步骤(F30)中,还检测新加入的STA名称对应的源MAC项是否与已记录的中继MAC项存在重复,若是,则判定该STA属于该中继器下挂,并将该源MAC记录于所述MAC关系映射表内该STA对应的中继MAC项中,再按所述步骤(F50)的过程提取并记录所述新加入的STA的真实源MAC。
(F40)确定这个重复的源MAC为中继器的MAC,并将该MAC记录于所述MAC关系映射表内的对应STA的中继MAC项中。
(F50)所述路由器捕捉在MAC关系映射表中存在中继MAC项的STA的DHCP互交报文,从DHCPrequest报文的option61字段上提取对应STA的真实源MAC,并将该真实源MAC覆盖所述MAC关系映射表中已记录的对应STA的源MAC项,获得所述STA的完整映射关系。其中,还从DHCPrequest报文的option50字段上提取对应STA的真实源IP,将其与所述MAC关系映射表中已记录的源IP项进行对比,验证记录是否准确,若二者相同,则判定在所述MAC关系映射表中该STA的映射关系记录准确,否则为不准确,删除已记录的该STA的各项内容。为了保证记录的完整性,对在所述MAC关系映射表中已删除记录的STA重新按所述步骤(F20)~(F50)进行各项内容的记录。
(F60)每间隔一设定时间对所述MAC关系映射表中已记录的项进行更新,以保证所述MAC关系映射表的时效性。
如图5所示,基于上述发现方法的一种路由器对中继器下挂STA真实MAC的转换方法,包括如下步骤:
(T10)由所述STA往所述路由器方向发送报文时:
(T11)所述STA以其源MAC和源IP向其属于的中继器发送报文;
(T12)所述中继器通过映射将该STA报文的源MAC替换为其自身的中继MAC,并将之发送至所述路由器;
(T13)所述路由器根据该STA报文的源IP在所述MAC关系映射表中查找对应STA的源MAC,将该STA报文内的中继MAC恢复为该STA的源MAC;
(T14)所述路由器获得该STA报文的源MAC与源IP的映射关系。
进一步地,所述步骤(T13)中,当路由器发现有STA报文到来时,先根据该STA报文的源IP在所述MAC关系映射表中查找对应STA的源MAC,判断该STA报文内的源MAC是否与该STA的真实源IP一致,若一致,则判定该STA报文并非经过中继器中转,路由器直接提交报文,若不一致,则判定该STA报文经过中继器中转,将该STA报文内的中继MAC恢复为该STA的源MAC。
如图6所示,基于上述发现方法的一种路由器对中继器下挂STA真实MAC的转换方法,包括如下步骤:
(T20)由所述路由器往所述STA方向发送报文时:
(T21)所述路由器发送报文时将报文的目的MAC设置为对应STA的源MAC、报文的目的IP为对应STA的源IP的报文;
(T22)在所述报文发出路由器前进行过滤,根据所述报文的目的MAC或目的IP在所述MAC关系映射表中查找对应的中继MAC,将所述报文的目的MAC替换为该中继MAC后发出报文;
(T23)所述中继器接收到相应报文后,通过其自身的映射将所述报文的目的MAC替换为对应STA的源MAC,然后将之发送至对应STA。
进一步地,所述步骤(T22)中,路由器进行过滤时,先根据报文的目的MAC或目的IP在所述MAC关系映射表中查找对应的中继MAC,判断该报文的目的STA是否经过中继器中转,若在MAC关系映射表中不存在MAC,则判定该STA无需经中继器中转,直接发出报文,若在MAC关系映射表中存在MAC,在判定该STA经过中继器中转,将所述报文的目的MAC替换为该中继MAC后发出报文。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。