基于智能交换机物理端口和mac地址的接入控制方法和系统的制作方法

文档序号:7804185阅读:135来源:国知局
基于智能交换机物理端口和mac地址的接入控制方法和系统的制作方法
【专利摘要】本发明公开了一种基于智能交换机物理端口和MAC地址的接入控制方法,包括:步骤1,从建立SNMP协议连接的接入交换机上读取MAC表数据;步骤2,将获得的数据发送给数据归并模块;步骤3,数据归并模块对SNMP采集来的数据进行归并处理,并发送给过滤器A;步骤4,数据归并模块将归并后的数据发送给过滤器B;步骤5,过滤器A确定新增加的MAC,并将该新增加的MAC对应的MAC-PORT发送给MAC认证模块;步骤6,确定减少的MAC,将离线状态写入MAC认证库;步骤7,过滤器A以接收的数据刷新MAC/PORT缓存;步骤8,MAC认证模块检索收到的MAC是否已经在MAC认证库中,以确定设备是否合法。
【专利说明】基于智能交换机物理端口和MAC地址的接入控制方法和系统
【技术领域】
[0001]本发明涉及终端接入【技术领域】,具体涉及一种基于智能交换机物理端口和MAC地址的接入控制方法和系统。
【背景技术】
[0002]现有接入控制技术,主要有四种:①802.1x准入控制、②基于DHCP准入控制、③基于网关的准入控制、④基于ARP强制技术,不同的技术采用不同的接入控制点实现接入的开启和关闭。①的控制点在交换机的协议端口上,准入关闭状态,除了 EAP协议外,所有的协议端口都关闭,客户端只能通过EAP协议与认证服务端通讯完成接入认证过程,接入开启状态则交换机协议端口全部打开,终端接入网络;②的准入控制点在网段的网关地址上,即在网关的IP上,通过给终端分配不同的IP地址,使终端进入不同的网段,当分配了错误或不存在网关的网段IP后,终端不能通过网关访问本网段以外的地址,将终端通讯限制在本网段内,即为准入关闭状态;当终端被分配了正常的IP地址,终端进入拥有合法网关地址的网段,终端即可以进行正常的网络访问,即为准入开启状态;③的控制点是网关设备本身,通过将网关设备插入网络链路中,拦截通过的终端数据,终端安装了与网关配套的客户端且符合网关的策略要求,就放行终端的通讯,即准入开启状态;没有安装客户端或安全策略未合规的终端数据被网关拦截,不能通过网关,即为准入关闭状态;④的控制点和②类似,也是网关IP地址,实现方法略有不同,通过ARP协议给终端分配不存在的网关地址,造成终端不能正常通讯,即为准入关闭状态;通过ARP协议给终端分配正常的网关地址,终端即可正常通讯,即为准入开启状态。
[0003]这四种技术都存在各自的问题和缺陷,①依赖支持802.1x协议的交换机,普通交换机上不能实现,成本高昂;存在接入尾随问题要求终端采用DHCP分配IP地址,对固定分配地址的终端无效;③依赖网关设备本身能力,存在网络瓶颈和单点故障风险;改变网络结构,控制范围受网络拓扑结构影响;对网关以下的局域网没有准入控制作用,仅能控制准出;④是纯软手段,实际上是ARP欺骗,有多种方法更改该方法分配给终端的网关地址,而致控制失效;其类似ARP攻击的特征,会被众多的个人防火墙软件拦截,不能发挥作用。

【发明内容】

[0004](一)要解决的技术问题
[0005]为了克服现有技术存在的问题,本发明提出一种基于智能交换机物理端口和MAC地址的接入控制方法和系统。
[0006]( 二 )技术方案
[0007]根据本发明的一个方面,提出了一种基于智能交换机物理端口和MAC地址的接入控制方法,该方法包括步骤:步骤1,从已经建立SNMP协议连接的接入交换机上,读取连接交换机MAC表数据,该数据包括MAC-PORT对应关系;步骤2,将获得的MAC表数据发送给数据归并模块;步骤3,数据归并模块对SNMP采集来的数据进行归并处理,从不同交换机的数据格式归并出MAC-PORT格式,同时发送给过滤器A ;步骤4,数据归并模块将归并后的数据发送给过滤器B ;步骤5,过滤器A将从数据归并模块收到的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定新增加的MAC,并将该新增加的MAC对应的MAC-PORT发送给MAC认证模块;步骤6,过滤器B将从数据归并模块接收的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定减少的MAC,以发现交换机上离线的设备,将离线状态写入MAC认证库;步骤7,过滤器A以本周期数据刷新MAC/P0RT缓存;步骤8,MAC认证模块检索收到的MAC是否已经在MAC认证库中,如果存在则认证通过,如果不存在,说明该MAC接入设备不是合法设备。
[0008]根据本发明的另一方面,提出了一种基于智能交换机物理端口和MAC地址的接入控制系统,该系统包括:轮询/TRAP模块,用于从已经建立SNMP协议连接的接入交换机上,读取连接交换机MAC表数据,该数据包括MAC-PORT对应关系,并将获得的MAC表数据发送给数据归并模块;数据归并模块,用于对SNMP采集来的数据进行归并处理,从不同交换机的数据格式归并出MAC-PORT格式,同时发送给过滤器A,并且将归并后的数据发送给过滤器B;过滤器A,将从数据归并模块收到的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定新增加的MAC,将增加的MAC-PORT增加到MAC/P0RT缓存中,并将该新增加的MAC对应的MAC-PORT发送给MAC认证模块;过滤器B,用于将从数据归并模块接收的数据与MAC/PORT缓存中前一周期缓存的数据比较,确定减少的MAC,以发现交换机上离线的设备,将离线状态写入MAC认证库;MAC认证模块,用于检索收到的MAC是否已经在MAC认证库中,如果存在则认证通过,如果不存在,说明该MAC接入设备不是合法设备。
[0009](三)有益效果
[0010]本发明的方法以接入设备MAC为认证标识,以交换机物理端口为控制点,采用通用的SNMP协议,适用于所有的智能交换机,具有实施方便、成本低廉、适应多种网络环境、不改变网络拓扑结构、无单点故障风险,准入控制可靠的特点,交换机物理端口开启即为准入开启状态,关闭即为准入关闭状态,消除了接入尾随问题,覆盖完整的接入网范围,与IP地址分配方式无关,有效避免了现有技术的缺陷。
【专利附图】

【附图说明】
[0011]图1是本发明基于智能交换机物理端口和MAC地址的接入控制方法的流程图。
[0012]图2是本发明的MAC保护原理图;
[0013]图3是根据本发明在交换机端口被关闭后的处理原理图。
【具体实施方式】
[0014]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0015]对于网络边界接入的设备来说,只有基于交换机端口的管控才是最彻底的管控,只有基于接入设备MAC地址的认证才能识别物理设备。基于客户端软件、VLAN和802.1X协议等业界流行的准入认证方法,本质上都没有实现接入边界上的准入控制,认证未通过的接入设备实际上仍接入了网络接入交换机,仍然可以在接入交换机或接入层实现数据通讯,是不彻底的接入管控方法。
[0016]以接入设备MAC地址为认证标识,以交换机物理端口为接入管控点,能够实现真正意义上的接入边界严格管控。
[0017]图1为本发明提出的基于智能交换机物理端口和MAC地址的接入控制方法的原理图。参照图1,该方法包括以下具体步骤:
[0018]步骤1,轮询/TRAP模块从已经建立SNMP协议连接的接入交换机上,通过轮询或TRAP方式读取交换机的MAC表,其中包括MAC-PORT对应关系。
[0019]SNMP是TCP/IP协议族的一部分。它通过用户数据报协议(UDP)来操作。
[0020]使用SNMP进行网络管理需要下面几个重要部分:管理基站,管理代理,管理信息库和网络管理工具。
[0021]管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户接口。基站上必须装备有管理软件,管理员可以使用用户接口和从MIB取得信息的数据库,同时为了进行网络管理它应该具备将管理命令发出基站的能力。
[0022]MIB是对象的集合,它代表网络中可以管理的资源和设备。每个对象基本上是一个数据变量,它代表被管理的对象的一方面的信息。
[0023]SNMP的基本功能是:取得,设置和接收代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据,设置是基站设置管理对象(也就是代理)的值,接收代理发送的意外信息是指代理可以在基站未请求的状态下向基站报告发生的意外情况。
[0024]通过将SNMP嵌入数据通信设备,如路由器、交换机或集线器中,就可以从一个中心站管理这些设备,并以图形方式查看信息。
[0025]一个被管理的设备有一个管理代理,它负责向管理站请求信息和动作,代理还可以借助于陷阱为管理站主动提供信息,因此,一些关键的网络设备(如集线器、路由器、交换机等)提供这一管理代理,又称SNMP代理,以便通过SNMP管理站进行管理。
[0026]通过SNMP协议建立管理站到交换机的连接过程十分简洁,在管理站软件界面设置交换机的管理IP地址和与交换机一致的community,在交换机的命令行或图形界面上设置管理站的IP地址和community,在UDP协议可达的网络上即建立起管理站和交换机的连接,管理站可以籍此协议读取、设置和接收交换机的状态和配置数据。
[0027]交换机之所以能够直接对目的节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。这个MAC地址表存放于交换机的缓存中,并记住这些地址,当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。
[0028]交换机在转发数据前必须知道它的每一个PORT所连接的主机的MAC地址,构建出一个MAC地址表。当交换机从某个PORT收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地址表,找出和目的地地址相对应的PORT,从该端口把数据转发出去,其他端口则不受影响,这样避免了与其它端口上的数据发生碰撞。
[0029]交换机MAC地址表是通过ARP协议建立的,地址解析协议,S卩ARP (AddressResolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。其功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。交换机在此过程中获得主机的MAC地址,并与连接的端口 PORT对应,存入缓存的MAC地址表。
[0030]步骤2,轮询/TRAP模块以设定的周期通过SNMP协议读取交换机的MAC地址表数据,并将获得的MAC表数据发送给数据归并模块。
[0031 ] 步骤3,数据归并模块对SNMP采集来的MAC表数据进行归并处理,从不同交换机的MAC表中提取出MAC-PORT,同时发送给“过滤器A”模块。
[0032]步骤4,数据归并模块将归并后的数据发送给“过滤器B”。
[0033]步骤5,“过滤器A”将本周期收到的数据与前一周期缓存的数据比较,过滤出增加的MAC,以发现新的设备接入,将该新发现的设备对应的MAC-PORT发送给“MAC认证模块”。MAC/P0RT缓存是设定的数据缓冲区,用于临时保存交换机MAC-PORT当前的对应关系数据,并作为过滤器A和B的输入,在下一周期分别发现交换机上MAC的增加和减少。数据比较是过滤的过程,就是以交换机端口 PORT为索引,逐个比较以发现PORT上MAC的变化,具体的:在“过滤器A”上,用当前周期的MAC-PORT数据逐个端口与缓存的前一周期数据做减法,非“O”部分就是PORT上增加的MAC ;以缓存的前一周期MAC-PORT数据与当前周期的数据做减法,非“O”部分即为交换机端口 PORT上减少的MAC。
[0034]步骤6,“过滤器B”将接收的数据与前一周期缓存的数据比较,过滤出减少的MAC,以发现交换机上离线的设备,将离线状态写入MAC认证库。具体的:在“过滤器B”上,以缓存的前一周期MAC-PORT数据与当前周期的数据做减法,非“O”部分即为交换机端口 PORT上减少的MAC。MAC认证库中设置了 MAC在线状态标志,用1/0分别标识MAC的在线状态和离线状态。“过滤器A”输出的MAC处于在线状态,“过滤器B”的输出的MAC处于离线状态。
[0035]MAC认证库是存储合法MAC的MAC-PORT关系和在线/离线状态的数据库,MAC认证模块是对接入MAC进行认证的执行者,具体的:MAC认证模块以MAC为索引查询MAC认证库,存在返回“ 1”,不存在返回“0”,某一接入MAC查询返回结果为“ 1”,则通过认证,查询返回结果为“0”,则不能通过认证,MAC认证模块将该MAC-PORT发送给关闭执行模块处理。
[0036]步骤7,“过滤器A”以接收的当前周期MAC-PORT数据刷新MAC/P0RT缓存。
[0037]步骤8,MAC认证模块检索收到的MAC是否已经在MAC认证库中,如果存在则认证通过,如果不存在,说明该MAC接入设备不是合法设备,MAC认证模块将MAC-PORT发送到关闭执行模块处理。
[0038]步骤9,关闭执行模块将MAC对应的端口 PORT作为关闭端口参数经SNMP发送给交换机执行。
[0039]步骤10,交换机按接收的端口 PORT参数关闭MAC所在端口,实现非法MAC接入设备的断网。
[0040]本发明可以有效解决大部分接入设备的接入认证,问题在于,对于仿冒认证MAC的接入设备不能分辨,需要结合MAC保护技术来解决。
[0041]如图2所示,本发明在实现MAC保护时,在终端上运行客户端程序保护MAC地址,
周期比较操作系统缓存的MAC与网络适配器物理MAC的一致性,发现不一致,及时修正并报
m
目O
[0042]MAC地址保护是client的功能之一,通过周期性的检测系统缓存中MAC是否与网卡物理MAC —致,如不一致,则将缓存MAC改正为物理MAC。具体检测过程为:通过比较模块读取网卡物理地址MAC ;并且通过比较模块读取操作系统缓存中的网卡MAC ;然后比较模块将网卡物理地址MAC和操作系统缓存中的网卡MAC进行按位“异或”操作,结果为“O”,则重复该过程操作,结果不为“O”,则将网卡物理MAC送保护报警模块。然后通过保护报警模块将MAC数据写入系统缓存MAC,同时产生报警。本发明以MAC为标识、基于交换机端口的接入控制,是在接入交换机的物理端口上实现的,被拒绝接入的设备连接端口会被关闭模块关闭,至此接入的控制任务已经完成。但是交换机端口被关闭后,其它设备就不能再从此端口接入,永久关闭该端口将影响终端的后续接入,也将降低交换机端口的可用率,是不可接受的,必须有后续的处理保证所有交换机端口的可用性。
[0043]如图3所示,通过设置端口时长和窗口时长、执行数据和窗口数据,与扫描模块、关闭执行模块和开启执行模块按设定的时序协同工作,共同完成接入控制后处理过程。
[0044]端口时长:交换机端口因拒绝接入被SEAD控制关闭后,经过一定的时间该端口被SEAD再次开启,这个时间长度称为端口时长。
[0045]窗口时长:由SEAD为未合规接入设备开启的连接该设备的交换机端口时间,经过设定的时间后,该交换机端口将自动关闭。此端口开启的时间称为窗口时长。
[0046]执行数据:由被SEAD关闭的交换机端口 WID-MAC-PORT和时间戳为记录组成的数据表。
[0047]窗口数据:执行数据记录的MAC被管理员人工确认为合法MAC,更新时间戳后组成的数据表。
[0048]扫描模块:检查执行数据时间戳,验证端口时长到达,发出开启端口指令,检查窗口数据时间戳,验证窗口时长到达,发出关闭端口指令。
[0049]具体按以下步骤进行:
[0050]I)某交换机端口因接入设备不合法被关闭后,关闭执行模块将产生一条该端口的执行数据,该数据包括交换机标识(WID)、端口号(PORT)、MAC地址和时间戳,这个数据被记录在执行数据表中;关闭执行模块还将产一条报警数据,保存在数据库中,用于查询;
[0051]2)扫描模块对执行数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到端口时长,如到达则向开启执行模块发开启端口指令,其中WID-MAC-PORT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从执行数据表中删除该条记录。
[0052]3)扫描模块对执行数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到端口时长,如到达则向开启执行模块发开启端口指令,其中WID-MAC-PORT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从执行数据表中删除该条记录;如没有到达,则检查下一条记录,直至检查到最后一条记录,再从第一条开始逐条检查,如此循环往复。
[0053]4)执行数据表中尚未到达端口时长的记录经管理员确认为合法MAC后,可以被加入窗口期,该记录WID-MAC-PORT被重置时间戳,开启对应的交换机端口,加入窗口数据表。
[0054]5)扫描模块对窗口数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到窗口时长,如到达则向关闭执行模块发关闭端口指令,其中WID-MAC-PORT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从窗口数据表中删除该条记录;如没有到达,则检查下一条记录,直至检查到最后一条记录,再从第一条开始逐条检查,如此循环往复。
[0055]端口时长和窗口时长作为系统参数,可以由管理员设定。
[0056]本发明以接入设备MAC为认证标识,以交换机物理端口为控制点,采用通用的SNMP协议,适用于所有的智能交换机,具有实施方便、成本低廉、适应多种网络环境、不改变网络拓扑结构、无单点故障风险,准入控制可靠,交换机物理端口开启即为准入开启状态,关闭即为准入关闭状态,消除了接入尾随问题,覆盖完整的接入网范围,与IP地址分配方式无关,有效避免了现有技术的缺陷。
[0057]本发明的方法不仅有效,而且仅要求接入交换机支持SNMP协议。
[0058]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于智能交换机物理端口和MAC地址的接入控制方法,该方法包括步骤: 步骤1,从已经建立SNMP协议连接的接入交换机上,读取连接交换机MAC表数据,该数据包括MAC-PORT对应关系; 步骤2,将获得的MAC表数据发送给数据归并模块; 步骤3,数据归并模块对SNMP采集来的数据进行归并处理,从不同交换机的数据格式归并出MAC-PORT格式,同时发送给过滤器A ; 步骤4,数据归并模块将归并后的数据发送给过滤器B ; 步骤5,过滤器A将从数据归并模块收到的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定新增加的MAC,并将该新增加的MAC对应的MAC-PORT发送给MAC认证模块;步骤6,过滤器B将从数据归并模块接收的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定减少的MAC,以发现交换机上离线的设备,将离线状态写入MAC认证库; 步骤7,过滤器A以接收的数据刷新MAC/P0RT缓存; 步骤8,MAC认证模块检索收到的MAC是否已经在MAC认证库中,如果存在则认证通过,如果不存在,则确定该MAC接入设备不是合法设备。
2.根据权利 要求1所述的方法,其特征在于,进一步包括步骤: 步骤9,MAC认证模块将不合法接入设备对应的MAC-PORT发送到关闭执行模块处理;步骤10,所述关闭执行模块将不合法的MAC对应的端口 PORT作为关闭端口参数经SNMP发送给交换机; 步骤11,交换机按接收的端口 PORT参数关闭MAC所在端口,实现非法MAC接入设备的断网。
3.根据权利要求1所述的方法,其特征在于,在步骤I,通过轮询和TRAP方式读取连接交换机MAC表数据。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括步骤:在终端上运行客户端程序保护MAC地址,周期比较操作系统缓存的MAC与网络适配器物理MAC的一致性,发现不一致,则将缓存MAC改正为物理MAC。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括步骤: 某交换机端口因接入设备不合法被关闭后,关闭执行模块将产生一条该端口的执行数据,该数据包括交换机标识WID、端口号P0RT、MAC地址和时间戳,这个数据被记录在执行数据表中;关闭执行模块还将产一条报警数据,保存在数据库中,用于查询; 扫描模块对执行数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到端口时长,如到达则向开启执行模块发开启端口指令,其中WID-MAC-P0RT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从执行数据表中删除该条记录; 扫描模块对执行数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到端口时长,如到达则向开启执行模块发开启端口指令,其中WID-MAC-P0RT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从执行数据表中删除该条记录;如没有到达,则检查下一条记录,直至检查到最后一条记录,再从第一条开始逐条检查,如此循环往复; 执行数据表中尚未到达端口时长的记录经管理员确认为合法MAC后,被加入窗口期,该记录WID-MAC-PORT被重置时间戳,开启对应的交换机端口,加入窗口数据表; 扫描模块对窗口数据表中的记录逐条扫描,检查每条记录的时间戳与当前时间的差是否达到窗口时长,如到达则向关闭执行模块发关闭端口指令,其中WID-MAC-PORT是指令参数,WID是执行指令的交换机号,PORT是交换机端口号,执行完毕后从窗口数据表中删除该条记录;如没有到达,则检查下一条记录,直至检查到最后一条记录,再从第一条开始逐条检查,如此循环往复。
6.一种基于智能交换机物理端口和MAC地址的接入控制系统,该系统包括: 轮询/TRAP模块,用于从已经建立SNMP协议连接的接入交换机上,读取连接交换机MAC表数据,该数据包括MAC-PORT对应关系,并将获得的MAC表数据发送给数据归并模块; 数据归并模块,用于对SNMP采集来的数据进行归并处理,从不同交换机的数据格式归并出MAC-PORT格式,同时发送给过滤器A,并且将归并后的数据发送给过滤器B ; 过滤器A,将从数据归并模块收到的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定新增加的MAC,并将该新增加的MAC对应的MAC-PORT发送给MAC认证模块;过滤器A以本周期的数据刷新MAC/P0RT缓存; 过滤器B,用于将从数据归并模块接收的数据与MAC/P0RT缓存中前一周期缓存的数据比较,确定减少的MAC,以发现交换机上离线的设备,将离线状态写入MAC认证库; MAC认证模块,用于检索收到的MAC是否已经在MAC认证库中,如果存在则认证通过,如果不存在,说明该MAC接入设备不是合法设备。
7.根据权利要求6所述的系统,其特征在于, MAC认证模块将不合法接入设备对应的MAC-PORT发送到关闭执行模块处理,并且该系统进一步包括: 关闭执行模块,用于将不合法的MAC对应的端口 PORT作为关闭端口参数经SNMP发送给交换机,交换机按接收的端口 PORT参数关闭MAC所在端口,实现非法MAC接入设备的断网。
8.根据权利要求6所述的系统,其特征在于,该系统进一步包括: 比较模块,用于在终端上运行客户端程序保护MAC地址,周期比较操作系统缓存的MAC与网络适配器物理MAC的一致性,发现不一致,则将缓存MAC改正为物理MAC ; 保护报警模块,用于将网卡物理MAC数据写入系统缓存MAC,同时产生报警。
【文档编号】H04L12/24GK103957171SQ201410213223
【公开日】2014年7月30日 申请日期:2014年5月20日 优先权日:2014年5月20日
【发明者】刘建兵, 薛锋 申请人:刘建兵, 薛锋
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1