Arp报文的处理方法及网络侧设备的制作方法

文档序号:7723821阅读:123来源:国知局

专利名称::Arp报文的处理方法及网络侧设备的制作方法
技术领域
:本发明涉及通信领域,尤其涉及一种ARP报文的处理方法及网络侧设备。
背景技术
:以太网上的地址转换协议(AnEthernetAddressResolutionProtocol,ARP),通过遵循该协议,只要我们知道了某台机器的因特网协议(InternetProtocol,IP)地址,即可以知道其物理地址,即介质访问控制子层协议(MediaAccessControl,MAC)地址。在传输控制协议/因特网协议(TransmissionControlProtocol/InternetProtocol,TCP/IP)网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP。但是,在ARP应用场景中,容易出现通过利用ARP缺陷,使得网络设备C达到仿冒网络设备B与网络设备A通信的目的,S卩ARP欺骗。现有技术提出了一种在终端设备上进行操作部署,达到防止ARP欺骗的目的,此种方法不仅增加了终端部署配置的复杂度,而且没有与其他网元互动,造成功能单一的问题,具有局限性。
发明内容本发明实施例所要解决的技术问题在于,提供一种ARP报文的处理方法及网络侧设备,可在网络侧实现防止ARP欺骗的功能,极大的减少了对终端设备的依赖,同时极大的提高了防ARP攻击功能的安全性。为解决上述技术问题,本发明实施例采用如下技术方案一种ARP报文的处理方法,所述方法针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文,包括获得当前ARP报文;从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;无MAC状态下,转发当前ARP报文并进入无MAC等回应状态;无MAC等回应状态下,丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;有MAC且不固定状态下,转发当前ARP报文并进入有MAC等回应状态;有MAC等回应状态下,当获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,丢弃在该状态下获得的其他ARP报文;有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,转发该修改后的ARP报文,或丢弃ARP报文。一种网络侧设备,该设备针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文进行处理,包括传输单元,用于获得并处理ARP报文;关系表处理单元,用于从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;无MAC状态下,触发传输单元转发所获得的当前ARP报文并进入无MAC等回应状态;无MAC等回应状态下,触发传输单元丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内传输单元未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;有MAC且不固定状态下,触发传输单元转发当前ARP报文并进入有MAC等回应状态;有MAC等回应状态下,当传输单元获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当传输单元在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,触发传输单元丢弃在该状态下获得的其他ARP报文;有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并触发传输单元转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,触发传输单元转发该修改后的ARP报文,或丢弃ARP报文。本发明实施例的有益效果是通过提供一种ARP报文的处理方法及网络侧设备,匹配出ARP报文中当前IP对应的MAC的状态,根据不同的MAC状态进行对应ARP报文以及IP与MAC关系表的处理,可在网络侧实现防止ARP欺骗的功能,极大的减少了对终端设备的依赖,同时极大的提高了防ARP攻击功能的安全性。下面结合附图对本发明实施例作进一步的详细描述。图1是本发明实施例的ARP报文的处理方法的主要流程图2是图1所示的ARP报文的处理方法的主要流程的状态间转换示意图3是本发明实施例的ARP报文的处理方法的具体流程图4是图3所示的ARP报文的处理方法的具体流程的状态转换示意图5是本发明实施例的网络侧设备的具体结构图。具体实施例方式图1是本发明实施例的ARP报文的处理方法的主要流程图,参照该图,该流程主要针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文,该流程基于如图2所示的状态间转换,主要包括101,获得当前ARP报文;102,从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;103,无MAC状态下,转发当前ARP报文并进入无MAC等回应状态;104,无MAC等回应状态下,丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;105,有MAC且不固定状态下,转发当前ARP报文并进入有MAC等回应状态;106,有MAC等回应状态下,当获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不7固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,丢弃在该状态下获得的其他ARP报文;107,有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,转发该修改后的ARP报文,或丢弃ARP报文。当然,上述流程也可以对携带有其他IP及对应MAC的ARP报文进行同样的处理,此处不再赘述。下面以一个具体实施例,对本发明的ARP报文的处理方法进行说明。图3是本发明实施例的ARP报文的处理方法的具体流程图,参照该图,该流程主要针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文,该流程基于如图4所示的状态间转换,该流程主要包括301,对预设定的IP与MAC关系表进行初始化,可广播用于询问与IP对应的MAC的ARP请求,根据ARP请求的回应对IP与MAC关系表进行初始化,具体地,系统加电启动后,读取IP与MAC关系表并把所有IP与MAC关系表中的条目按配置信息进行状态值初始化,IP与MAC关系表可如下表l所示,如果系统配置参数SYS—CERT—MASK为1(即配置各条目下的CERT—MASK为1),则依次对IP与MAC表中所有条目执行一遍303,否则执行一遍302;<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>302,认证未通过状态下,如果在该状态下收到的数据包不是该条目下的认证包(数据链路层的一种报文,收到该认证包即可发送ARP报文),直接丢弃该状态下接收的数据包,并保持原状态不变;如果在该状态下收到的为该条目下的ARP回应丢弃该ARP回应并告警,并保持原状态不变;如果在该状态下收到的是该条目下的认证包,则跳转到303;303,在认证未通过状态下,把该条目下CERT—MASK值更改为1(认证通过),读取IP与MAC表,如果在条目中没有读取到MAC值,则该条目的状态更改为无MAC状态;如果在条目中读到的MAC有效且为不固定,则该条目的状态更改为有MAC且不固定状态;如果在条目中读到的MAC为固定的,则该条目的状态更改为有MAC且固定状态;以上是系统对IP与MAC表的相关处理,下面涉及到对ARP报文的处理方法;304,获得当前ARP报文,当前ARP报文携带有当前IP、与当前IP对应的当前MAC,即当前ARP可携带有当前源IP、当前源MAC、当前目的IP、当前目的MAC以及ARP报文的类型(ARP请求或ARP回应);305,从IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入306无MAC状态下的处理;当条目中当前IP对应一个有效且不固定的MAC时,进入309有MAC且不固定状态下的处理;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;306,无MAC状态下,转发当前ARP报文并进入无MAC等回应状态,上述301的初始化步骤可认为是初次进入无MAC状态的处理;307,无当前MAC等回应状态下,如果在该状态下获得其他ARP报文,如更多的ARP请求,则丢弃,如果在第一预设定时间内,比如100毫秒内未收到携带有指示当前IP拥有某一MAC的第一ARP回应(如MAC—X拥有该条目下的当前IP),则重新进入无MAC状态,否则执行308;308,无MAC等回应状态下,如果收到收到携带有指示当前IP拥有某一MAC的第一ARP回应IP与第一ARP回应中的MAC的关系,即更改条目中0—MAC为第一ARP回应中的MAC值且保存,并进入有MAC且不固定状态;309,有MAC且不固定状态下,转发当前ARP报文并进入有MAC等回应状态,如没有收到当前ARP报文,则保持该状态;310,有MAC等回应状态下,当获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与0—MAC不同,则更新该条目下的N—MAC值为该第二ARP回应中的MAC,且保持该状态,丢弃在该状态下获得的其他ARP报文;311,有MAC等回应状态下,当获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;否则当在第二预设定时间内,比如100毫秒内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,则将条目修改为当前IP与第三ARP回应中的MAC的关系,即将条目下0—MAC改成之前310中保存的N—MAC,并将它保存到永久性存储设备中,进入有MAC且不固定状态;312,有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,转发该修改后的ARP报文,或丢弃ARP报文,还可以告警。根据ARP报文的类型,可以对当前源IP、当前源MAC进行上述处理,也可以对当前目标IP、当前目标MAC进行上述处理,或两者结合处理。另外,当当前ARP报文的类型为ARP回应时,是否转发该ARP回应遵循三条原则一是有ARP请求的ARP回应才转发;二是被原则一认可的ARP回应才转发;三是有ARP请求且被认可的ARP回应,应当转发。实施上述本发明实施例的ARP报文的处理方法,匹配出ARP报文中当前IP对应的MAC的状态,根据不同的MAC状态进行对应ARP报文以及IP与MAC关系表的处理,可在网络侧实现防止ARP欺骗的功能,极大的减少了对终端设备的依赖,同时极大的提高了防ARP攻击功能的安全性,在同一系统中实现了静态IP与动态IP两种方式的防ARP欺骗,无缝实现与用户管理、访问控制功能的集成,部署简单,增强系统联动,同时还解决了问题的可追溯性。本发明还提供了如图5所示的一种网络侧设备,其特征在于,该设备针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文进行处理,包括传输单元501,用于获得并处理ARP报文;关系表处理单元502,与传输单元501相连,用于从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;无MAC状态下,触发传输单元501转发所获得的当前ARP报文并进入无MAC等回应状态;无MAC等回应状态下,触发传输单元501丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内传输单元501未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;有MAC且不固定状态下,触发传输单元501转发当前ARP报文并进入有MAC等回应状态;有MAC等回应状态下,当传输单元501获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当传输单元501在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,触发传输单元501丢弃在该状态下获得的其他ARP报文;有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并触发传输单元501转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,触发传输单元501转发该修改后的ARP报文,或丢弃ARP报文。上述IP与MAC表可采用如上表1所示的结构。其中传输单元501还可用于广播用于询问与IP对应的MAC的ARP请求,关系表处理单元502用于根据ARP请求的回应对IP与MAC关系表进行初始化。作为一种实施方式,上述第一预设定时间为100毫秒,第二预设定时间为100毫秒,当然,第一预设定时间还可以是50毫秒,第二预设定时间还可以是50毫秒,或者,第一预设定时间还可以是150毫秒,第二预设定时间还可以是150毫秒。作为一种实施方式,上述当前IP为当前源IP,当前MAC为当前源MAC,或者,当前IP为当前目标IP,当前MAC为当前目标MAC。作为一种实施方式,上述网络侧设备为交换机或路由器。另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所述是本发明的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。权利要求1.一种ARP报文的处理方法,其特征在于,所述方法针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文,包括获得当前ARP报文;从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;无MAC状态下,转发当前ARP报文并进入无MAC等回应状态;无MAC等回应状态下,丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;有MAC且不固定状态下,转发当前ARP报文并进入有MAC等回应状态;有MAC等回应状态下,当获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,丢弃在该状态下获得的其他ARP报文;有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,转发该修改后的ARP报文,或丢弃ARP报文。2.如权利要求l所述的方法,其特征在于,所述方法还包括广播用于询问与IP对应的MAC的ARP请求,根据ARP请求的回应对IP与MAC关系表进行初始化。3.如权利要求l所述的方法,其特征在于,第一预设定时间为100毫秒,第二预设定时间为100毫秒。4.如权利要求1至3中任一项所述的方法,其特征在于,当前IP为当前源IP,当前MAC为当前源MAC,或者,当前IP为当前目标IP,当前MAC为当前目标MAC。5.一种网络侧设备,其特征在于,该设备针对一类携带有当前IP、与当前IP对应的当前MAC的ARP报文进行处理,包括传输单元,用于获得并处理ARP报文;关系表处理单元,用于从预设定的IP与MAC关系表中匹配出与当前IP对应的条目,当条目中当前IP未对应有一MAC时,进入无MAC状态;当条目中当前IP对应一个有效且不固定的MAC时,进入有MAC且不固定状态;当条目中当前IP对应一个有效且固定的MAC时,进入有MAC且固定状态;无MAC状态下,触发传输单元转发所获得的当前ARP报文并进入无MAC等回应状态;无MAC等回应状态下,触发传输单元丢弃在该状态下获得的其他ARP报文,若在第一预设定时间内传输单元未收到携带有指示当前IP拥有某一MAC的第一ARP回应,则重新进入无MAC状态,否则将条目修改为当前IP与第一ARP回应中的MAC的关系,并进入有MAC且不固定状态;有MAC且不固定状态下,触发传输单元转发当前ARP报文并进入有MAC等回应状态;有MAC等回应状态下,当传输单元获得携带有指示当前IP拥有某一MAC的第二ARP回应,且第二ARP回应中的MAC与不固定的MAC相同,保持条目并回到有MAC且不固定状态;当传输单元在第二预设定时间内只获得携带有指示当前IP拥有某一MAC的第三ARP回应,且第三ARP回应中的MAC与不固定的MAC不相同,将条目修改为当前IP与第三ARP回应中的MAC的关系,并进入有MAC且不固定状态,触发传输单元丢弃在该状态下获得的其他ARP报文;有MAC且固定状态下,当当前MAC与固定的MAC相同,保持条目并触发传输单元转发当前ARP报文;当当前MAC与固定的MAC不相同,将当前ARP报文中的当前MAC修改为固定的MAC之后,触发传输单元转发该修改后的ARP报文,或丢弃ARP报文。6.如权利要求5所述的设备,其特征在于,传输单元还用于广播用于询问与IP对应的MAC的ARP请求,关系表处理单元用于根据ARP请求的回应对IP与MAC关系表进行初始化。7.如权利要求5所述的设备,其特征在于,第一预设定时间为100毫秒,第二预设定时间为100毫秒。8.如权利要求5至7中任一项所述的设备,其特征在于,当前IP为当前源IP,当前MAC为当前源MAC,或者,当前IP为当前目标IP,当前MAC为当前目标MAC。9.如权利要求5至7中任一项所述的设备,其特征在于,所述设备为交换机或路由器。全文摘要本发明实施例涉及一种ARP报文的处理方法,匹配出ARP报文中当前IP对应的MAC的状态,根据不同的MAC状态进行对应ARP报文以及IP与MAC关系表的处理。另外,本发明实施例还提供了一种网络侧设备。实施本发明实施例,可在网络侧实现防止ARP欺骗的功能,极大的减少了对终端设备的依赖,同时极大的提高了防ARP攻击功能的安全性。文档编号H04L29/12GK101540733SQ20091030216公开日2009年9月23日申请日期2009年5月8日优先权日2009年5月8日发明者蓝晓敏申请人:深圳市维信联合科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1