一种自动查找MAC地址的接入交换机端口的方法与流程

文档序号:11460182阅读:1075来源:国知局
本发明涉及网络通信
技术领域
:,尤其涉及一种自动查找mac地址的接入交换机端口的方法。
背景技术
::在局域网lan(localareanetwork)的运行维护过程中,经常需要查找某个mac(mediaaccesscontrol)地址的接入交换机端口,例如定位arp(addressresolutionprotocol)攻击源和定位dhcp(dynamichostconfigurationprotocol)服务器干扰源。查找mac地址的接入交换机端口需要三个步骤:获取交换机的mac地址表、在mac地址表中查找某个mac地址连接的交换机端口、判断接入交换机的端口。获取交换机mac地址表的方法有人工操作和程序自动采集两种,人工获取mac地址表工作量巨大,数据采集程序使用snmp(simplenetworkmanagementprotocol)或者cli(commandlineinterface)命令行的方式自动获取交换机的mac地址表,并保存到数据库。由于交换机之间的级联、计算机更换端口等原因,一个mac地址会在多个交换机端口出现,需要判断哪个是接入端口。判断方法有两种:第一种是人工标记所有交换机的级联口,既包括上联口也包括下联口,系统自动排除级联口,第二种是自动建立网络的拓扑结构。以上两种方法都有明显的缺点:人工标记交换机的级联口增加了维护工作量,特别是对于没有严格遵循层次化结构设计的网络(例如有些交换机既做汇聚又做接入)人工标记更加复杂,并且不能适应网络结构的变化;自动建立网络拓扑结构对网络环境和网络设备有特定的要求,最常见是使用邻居发现协议自动建立网络拓扑结构,但是目前许多设备并不支持ieee802.1ab中定义的标准链路层发现协议lldp(linklayerdiscoveryprotocol),普遍使用的仍然是不同厂商私有的二层网络协议,例如思科的cdp(ciscodiscoveryprotocol)华为的ndp(neighbordiscoveryprotocol)和ntdp(neighbortopologydiscoveryprotocol)等,这些协议互不兼容,邻居发现协议对应的snmp数据项也是私有mib(managementinformationbase),这些因素导致使用邻居发现协议自动建立网络拓扑结构有很大的困难。除了使用邻居发现协议之外,也有使用路由器的路由表甚至交换机的生成树协议spt(spanning-treeprotocol)来生成网络拓扑结构,但是这些技术的设计初衷并不是为了自动生成网络的拓扑结构,例如stp是为了解决交换机由于备份连接所产生的环路问题,有许多种不同的生成树协议变种(例如stp、rstp、pvst、pvst+、rapidpvst+、mstp),使用这些协议自动发现网络的拓扑结构非常麻烦,并且对网络设备的适应性差。技术实现要素:本发明实施例所要解决的技术问题在于,提供一种自动查找mac地址的接入交换机端口的方法。可仅通过分析mac地址表的数据即可判断出接入交换机端口。为了解决上述技术问题,本发明实施例提供了一种自动查找mac地址的接入交换机端口的方法,包括数据采集方法与查找方法,所述数据采集方法包括使用snmp协议自动定时获取交换机的mac地址表并保存到数据库,所述查找方法包括设置接入端口的最大mac地址累加数阈值和级联口的最小mac地址累加数阈值,查询数据库获得某个mac地址出现的所有交换机端口,然后对每一个交换机端口累加该端口下的不同mac地址数,根据mac地址累加数对交换机端口进行排序,通过把这些端口的mac地址累计数和两个阈值相比较来判断出那个端口是接入端口。进一步地,所述查找方法还包括如果有多个端口的不同mac地址累加数都小于接入端口的最大mac地址累加数阈值,则断定该设备在一个时间段内接入过不同的交换机端口,然后根据mac地址表的时间戳判断其最近连接的接入端口。更进一步地,还包括如果查询出来的交换机端口的最小mac地址累加数大于接入端口的最大mac地址累加数阈值,系统发出告警并要求人工处理,这种情况有三种可能:因为网络攻击、网络设备故障、snmpcommunitystring错误等原因造成数据采集程序无法采集某些交换机的数据,某些交换机没有输入到系统,用户私自连接交换机等网络设备。对于第一种情况可以通过查看数据采集程序的错误日志判断出来,通过完善系统中的网络设备资料就可以避免第二种情况,对于第三种情况需要排查“非法”连接的网络设备。更进一步地,所述接入端口的最大mac地址累加数阈值为3-5,默认设置为4。更进一步地,所述级联口的最小mac地址累加数阈值为5-12,默认设置为6。绝大多数网络环境阈值采用默认值即可,在某些情况下可以调整这些阈值,原则是如果接入交换机的端口数比较少(例如8口、12口交换机)或者接入端口的利用率很低,则适当下调级联口的最小mac地址累加数阈值,但必须满足级联口的最小mac地址累加数阈值>接入端口的最大mac地址累加数阈值。实施本发明实施例,具有如下有益效果:本发明能够自动判断某个mac地址的接入交换机端口,而且仅仅根据mac地址表数据本身进行判断,不需要使用其他的网络协议,也不需要生成网络的拓扑结构,能够适应各种网络环境和网络设备。附图说明图1是本发明的数据采集的结构示意图;图2是查找某个mac地址的接入交换机端口算法的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。本发明公开了一种自动查找mac地址的接入交换机端口的方法,包括数据采集方法与查找方法。数据采集方法:使用snmp协议自动定时获取交换机的mac地址表并保存到数据库,数据采集程序的结构图如图1所示。需要采集的mib是:dot1dtpfdbtable(参见rfc1493)和dot1qtpfdbtable(参见rfc4363和rfc2674),由于cisco设备需要使用communitystringindexing针对每一个vlan分别发送snmp请求,因此对于cisco设备还需要获取vtpvlan。mac地址表的默认过期时间是300秒,数据采集频率可以设置为每三分钟采集一次。查找方法:根据mac地址查找接入交换机端口算法的流程图如图2所示。首先设置两个阈值:接入端口的最大mac地址累加数阈值(简称阈值1,取值范围3-5,默认设置为4)和级联口的最小mac地址累加数阈值(简称阈值2,取值范围5-12,默认设置为6)。绝大多数网络环境阈值采用默认值即可,在某些情况下可以调整这些阈值,原则是如果接入交换机的端口数比较少(例如8口、12口交换机)或者接入端口的利用率很低,则适当下调级联口的最小mac地址累加数阈值,但必须满足级联口的最小mac地址累加数阈值>接入端口的最大mac地址累加数阈值。当需要定位某个mac地址的交换机端口的时候,首先建立一个数据结构列表,列表中的每个元素包括mac地址、交换机的ip地址、交换机的端口和mac地址累加数四个数据项(或者字段),查询数据库中包含该mac地址的所有交换机端口并加入列表中,然后遍历列表中的每一个元素,查询该端口下面的不同mac地址累加数,并把累加数放置到该元素的mac地址累加数数据项中。然后把列表根据mac地址累加数进行排序,如果最前面的一个(或者几个)mac地址累加数小于阈值1并且其他的mac地址累加值大于阈值2,就可以断定mac地址累加数小于接入端口的最大mac累加数阈值的端口是接入端口,其他是级联端口。理想情况是每台计算机固定连接一个交换机端口,则该端口的mac地址累加数等于1(当然小于阈值1),而其他端口是交换机的级联口,其mac地址累加数大于阈值2(级联口的mac地址表至少包括其下面连接的所有计算机和交换机的mac地址,因此mac地址累加数大于阈值2)。但是需要考虑一个时间段内一台计算机连接不同的交换机端口的情况(例如笔记本电脑接不同的端口),这种情况会出现多个端口的mac地址累计数都小于阈值1,这些端口是该mac地址在不同时间接入的交换机端口,然后根据mac地址表的时间戳判断其最近连接的接入端口。如果发生最小的mac地址累计数大于阈值1的情况,系统发出告警并要求人工处理,这种情况有三种可能:第一是因为网络攻击、网络设备故障、snmpcommunitystring错误等原因造成数据采集程序无法采集某些接入交换机的数据,第二是某些接入交换机没有输入到系统,第三是用户私自增加交换机等网络设备。第一种情况会记录在数据采集程序的错误日志中,然后人工排查具体的网络设备查找原因;第二种情况需要管理员完善系统中的网络设备资料,如果所有的接入交换机已全部输入到系统中则不会出现这种情况;第三种情况需要人工排查“非法”连接的网络设备,mac地址出现的交换机端口列表给排查提供了很好的线索。该方法不仅能够根据mac地址定位到接入交换机端口,而且可以自动判断出交换机的级联口,通过给级联口加标识指引数据采集程序不把该端口的mac地址写入数据库,以减小数据量,并且简化以后的接入交换机端口判断过程。本发明具有如下优点:1:本发明能够自动判断某个mac地址的接入交换机端口,而且仅仅根据mac地址表数据本身进行判断,不需要使用其他的网络协议,也不需要生成网络的拓扑结构,能够适应于各种网络环境和网络设备。技术手段:数据采集程序使用snmp定时获取交换机的mac地址表并保存到数据库,当需要定位某个mac地址的接入交换机端口的时候,首先查询数据库中包含该mac地址的所有交换机端口,对每一个交换机端口累加该端口下的不同mac地址数,然后根据累加值进行排序,如果某一个(或者几个)端口的mac地址累加值小于接入端口的最大mac累加数阈值并且其他端口的累加值大于级联口的最小mac地址累加数阈值,就可以断定mac地址累加值小于接入端口的最大mac累加数阈值的端口是接入端口,其他是级联端口。2:本发明能够自动发现“非法”接入的交换机技术手段:如果某个mac地址对应交换机端口的最小mac地址累加数大于接入端口的最大mac累加数阈值,则有三种可能原因:因为某些原因导致数据采集程序连接不到某些接入交换机、某些接入交换机没有输入到系统、用户私接交换机。通过查看数据采集程序的错误日志可以排除第一种情况,如果系统的交换机资料已经完善则可以排除第二种情况,排除以上两种情况之后就可以确定是“非法”接入的交换机,并且mac地址出现的交换机端口列表给排查提供了很好的线索。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1