CN103516821B - 地址解析方法及相应的系统、交换机和服务器 - Google Patents

地址解析方法及相应的系统、交换机和服务器 Download PDF

Info

Publication number
CN103516821B
CN103516821B CN201210213641.6A CN201210213641A CN103516821B CN 103516821 B CN103516821 B CN 103516821B CN 201210213641 A CN201210213641 A CN 201210213641A CN 103516821 B CN103516821 B CN 103516821B
Authority
CN
China
Prior art keywords
arp
address
messages
mac
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210213641.6A
Other languages
English (en)
Other versions
CN103516821A (zh
Inventor
樊鹏
李连源
黄璐
李晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201210213641.6A priority Critical patent/CN103516821B/zh
Publication of CN103516821A publication Critical patent/CN103516821A/zh
Application granted granted Critical
Publication of CN103516821B publication Critical patent/CN103516821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种地址解析方法、相应的通信系统、交换机以及服务器。其中,地址解析方法,包括:交换机接收ARP报文;识别所述ARP报文;当所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,单播至地址解析服务器。通过本申请,交换机将非地址解析服务器的IP节点的广播ARP报文由广播变为单播,大幅减少广播域内广播报文数量,减小带宽消耗。

Description

地址解析方法及相应的系统、交换机和服务器
技术领域
本申请涉及通信领域,尤其涉及一种地址解析方法以及相应的交换机、地址解析服务器以及通信系统。
背景技术
在TCP/IP协议当中,每个主机被分配了一个32位的IP地址。IP地址是网络层用于标识主机的逻辑地址,以此来对数据包进行转发和路由。但在二层以太网环境中,数据传输时以太网设备并不识别IP地址,而是根据物理地址来确定目的接口。这一物理地址就是48位的MAC(Media Access Control)地址。
同一网段或VLAN内的主机向其他主机发送数据时需要知道对端的MAC地址,地址解析协议(ARP,Address Resolution Protocol)就是用来将IP地址转化成相应MAC地址的方法。ARP报文的格式如图1所示。
IP节点(主机或路由器)会在自己的ARP缓冲区(ARP cache)中建立一个ARP表。当主机A需要将一个数据包发送到目的主机B时,会首先检查自己ARP表中是否存在主机B的对应表项。如果有,就直接利用该表项中的MAC地址;如果没有,就向本地网段广播一个ARP请求。此ARP请求报文中的源MAC地址和源IP地址为主机A的MAC地址和IP地址,目标IP地址为主机B的IP地址,目标MAC地址为0。
该网段所有主机收到这个ARP请求后,会检查ARP请求报文中的目标IP地址是否和自己的IP地址一致。如果不一致就忽略此数据包;如果一致,即接收者是主机B,则在ARP表中记录或更新主机A的IP地址和MAC地址对应信息,并向主机A发送单播ARP应答。ARP应答报文中的源MAC地址和源IP地址为主机B的MAC地址和IP地址,目标MAC地址和目标IP地址为主机A的MAC地址和IP地址。
主机A收到这个ARP响应后,将主机B的MAC地址添加到自己的ARP表中,并封装数据包进行数据传输。
当主机新加入一个网络时,会向网络广播ARP免费报文。ARP免费报文可看成是一种特殊的ARP请求报文,其目标IP地址是发送者自身的IP地址。通过发送免费ARP,主机可以向网络通告自身存在,并且还可以进行重复地址检测。
现有地址解析机制在发送ARP请求和ARP免费报文时采用广播方式,导致网络中产生大量的广播报文。事实上,在ARP报文交互中,只有请求者和被请求者获得了足够多的信息,网络中其他主机并没有真正参与到这一交互当中,大量的广播报文没有发挥应有的作用,反而浪费网络带宽,加大网络设备负荷,造成数据传输延时过大。
随着大型数据中心的兴起以及云计算、虚拟化技术的应用,现有ARP机制效率过低对网络造成的问题日益突出。一个数据中心中有成千上万台服务器,而应用虚拟机(VM,Virtual Machine)技术,在一个物理计算机上可以虚拟出多个虚拟计算机,大量的VM在地址解析过程中会产生大量广播报文,特别是VM在短时间内密集进行地址解析时会出现广播高峰。现有ARP机制的局限性随着VM数量增加而被急剧放大。
发明内容
为了减少广播域内广播报文的数量,减小带宽消耗。本申请的一个实施方式公开了一种地址解析方法,包括:
交换机接收ARP报文;
识别所述ARP报文;
当所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,单播至地址解析服务器。
本申请的另一个实施方式公开了一种通信系统,包括
交换机,接收ARP报文,识别所述ARP报文,当所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,单播至地址解析服务器;
所述地址解析服务器,接收经修改的ARP报文,并向所述交换机返回ARP应答。
本申请的另一个实施方式公开了一种交换机,包括:
收发模块,接收ARP报文;
识别模块,识别所述ARP报文;
当所述识别模块识别出所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,所述收发模块将其单播至地址解析服务器。
本申请的另一个实施方式公开了一种地址解析服务器,包括:
收发模块,接收ARP报文;
判断及维护模块,维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址和ARP条目类型,所述类型至少包括有效和无效。
通过本申请,交换机将非地址解析服务器的IP节点的广播ARP报文由广播变为单播,大幅减少广播域内广播报文数量,减小带宽消耗。
附图说明
图1是ARP报文格式示意图;
图2是根据本申请的一个实施方式的通信系统的示意图;
图3是根据本申请的一个实施方式的方法1000;
图4是根据本申请的一个实施方式的、地址解析服务器新建或更新ARP条目的方法2000;
图5是根据本申请的一个实施方式的方法3000;
图6是根据本申请的一个实施方式的方法4000;
图7是根据本申请的一个实施方式的方法5000;
图8是根据本申请的一个实施方式的地址解析服务器自检方法6000;
图9是根据本申请的一个实施方式的交换机的示意图;
图10是根据本申请的另一个实施方式的交换机的示意图;
图11是根据本申请的一个实施方式的地址解析服务器的示意图。
具体实施方式
下面结合附图详细描述本申请的实施方式。
图2是根据本申请的一个实施方式的通信系统的示意图。其中包括交换机10、地址解析服务器20、主机A和主机B。其中主机A和主机B是系统中除地址解析服务器20和交换机10以外的任何IP节点,例如用户终端、路由器等。图2仅是示意图,本领域技术人员应当理解地址解析服务器20可以与主机B直接相连,也可以通过交换机(群)与主机B相连。
图3是根据本申请的一个实施方式的方法示意图1000。下面结合图2所示的通信系统来描述方法1000。
在步骤S100中,交换机10接收ARP报文。然后在步骤S110中,交换机10识别该ARP报文。接着在步骤S120中,交换机10将识别出的非地址解析服务器的IP节点发送的广播ARP报文单播至地址解析服务器20。
该实施方式中,交换机通过将非地址解析服务器的IP节点发送的广播ARP报文由广播变为单播,大幅减少广播域内广播报文数量,减小带宽消耗。
作为一种选择,交换机10可以维护地址解析服务器可用列表(第一列表),用于至少记录能够使用的地址解析服务器的MAC地址。交换机10识别出所接收的ARP报文为广播 ARP查询报文或免费报文(例如,操作类型字段为1),并且ARP内容分组中的源MAC地址未记 录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP报 文。然后,例如,交换机10将识别出的、非地址解析服务器的IP节点发送的、广播ARP报文的、二层的目的地址(目的MAC地址)修改为地址解析服务器20的MAC地址,然后将修改后的ARP报文单播给该地址解析服务器20。
作为一种选择,地址解析服务器20维护ARP表,ARP表包括ARP条目。ARP条目可包括MAC地址、IP地址,还可包括接口信息、协议信息、时间信息(包括生存时间、老化时间)以及ARP条目类型等。接口信息表示地址解析服务器20学到该ARP条目的物理端口,协议信息表明网络层协议。地址解析服务器20可以由管理员手动添加或删除ARP条目。每一个ARP条目对应不同的条目类型,例如,手动添加的条目为static类型,通过ARP报文学到的条目为dynamic(动态)类型。Static(静态)类型的ARP条目长期有效;Dynamic类型的条目对应有老化时间和生存时间(老化时间<=生存时间),这两个参数可由管理员配置。从ARP条目被添加开始,老化时间和生存时间由初始值递减。当老化时间减至0以后,条目类型变为invalid(无效);当生存时间减至0时,条目被删除。
作为一种选择,每当地址解析服务器20接收到ARP报文时,则根据所接收到的ARP报文的、ARP分组内容中的、源MAC地址和源IP地址新建或更新ARP条目。
图4是根据本申请的一个实施方式的、地址解析服务器新建或更新ARP条目的方法2000。如图4所示,在步骤S200中,地址解析服务器20接收ARP报文。在步骤S210中,地址解析服务器20判断该ARP报文中的、ARP分组内容中的、源MAC地址和源IP地址的至少一个是否记录在ARP表中。
如果源MAC地址和源IP地址均未记录在ARP表中,则在步骤S240中新建与源MAC地址和源IP地址对应的ARP条目,并添加至ARP表中。
如果MAC地址和源IP地址中至少一个记录在ARP表中,则在步骤S220中地址解析服务器20判断该ARP报文中的、ARP分组内容中的、源MAC地址和源IP地址的MAC-IP对应关系是否与ARP表中记录的MAC-IP对应关系一致。
如果MAC-IP对应关系不一致,则在步骤S240中新建与源MAC地址和源IP地址对应的ARP条目,并添加至ARP表中,并且删除记录在ARP表中的与源MAC地址或源IP地址对应的原ARP条目。
如果MAC-IP对应关系一致,则在步骤S230中,更新相应的ARP条目。例如,更新相应的ARP条目,重置时间信息;如果判断出该ARP条目的类型为无效,则更改为有效。
图5是根据本申请的一个实施方式的方法示意图3000。下面结合图3所示的通信系统来描述方法3000。
在步骤S300中,交换机10接收ARP报文。然后在步骤S310中,交换机10识别该ARP报文。
接着在步骤S320中,交换机10将识别出的非地址解析服务器的IP节点发送的广播ARP查询报文单播至地址解析服务器20。例如,交换机10识别出所接收的ARP报文为广播ARP查询报文(例如,操作类型字段为1且ARP分组内容中的目标MAC地址为0),并且ARP内容分组中的源MAC地址未记录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP查询报文。然后,例如,交换机10将识别出的、非地址解析服务器的IP节点发送的、广播ARP查询报文的、二层的目的地址修改为地址解析服务器20的MAC地址,然后将修改后的单播ARP查询报文单播给该地址解析服务器20。
然后在步骤S330中,地址解析服务器20根据所接收的单播ARP查询报文中的、ARP分组内容中的、源MAC地址和源IP来新建或更新地址解析服务器20维护的ARP表的ARP条目。例如,根据图4所示的方法2000来新建或更新ARP条目。
然后在步骤S340中,地址解析服务器20判断所接收的单播ARP查询报文中的、ARP分组内容中的、目标IP是否记录在ARP表中,以及相应的ARP条目的类型。
如果目标IP记录在ARP表中,且相应ARP条目的类型为有效(包括dynamic和static),则在步骤S370中,地址解析服务器20根据该ARP条目向交换机10返回ARP应答报文。ARP应答报文的、ARP分组内容中的、源MAC地址和源IP地址是在ARP表中查询到的、ARP条目中的、MAC地址和IP地址,目标MAC地址和目标IP地址是地址解析服务器20接收到的ARP查询报文中的、源MAC地址和源IP地址。
如果目标IP未记录在ARP表中,或者目标IP记录在ARP表中但相应的ARP条目的类型为无效,则在步骤S350中,地址解析服务器20保留该单播ARP查询报文,并向网络中广播ARP查询,以获取来自网络的ARP应答报文。
在步骤S350中,地址解析服务器20检验在预定的时间内是否收到ARP应答报文。
如果收到ARP应答报文,则在步骤S360中,地址解析服务器20按照上述的图4所示的方法新建或更新ARP条目。然后在步骤S370中,地址解析服务器20根据新建或更新的ARP条目向交换机10返回ARP应答。
如果在预定的时间内没有收到ARP应答报文,则地址解析服务器20丢弃所保留的单播ARP查询报文。
该实施方式中,交换机通过将非地址解析服务器的IP节点发送的广播ARP查询报文由广播变为单播,由网络中部署的地址解析服务器代替目标主机进行应答,从而大幅减少广播域内广播报文数量,减小带宽消耗。更有利于云互联数据中心大二层组网。而且,地址解析服务器向全网提供MAC地址的查询和维护功能,有利于从全局角度维护管理网络设备。
图6是根据本申请的一个实施方式的方法4000。下面结合图3所示的通信系统来描述方法4000。
如图6所示,在步骤S400中,交换机10接收ARP报文。然后在步骤S410中识别出该ARP报文为地址解析服务器20发出的通告报文。
地址解析服务器20为了向交换机和/或其他地址解析服务器通告自身存在,每隔一定时间向外广播通告报文实现保活(keep alive)。通告报文可以利用现有ARP协议,对ARP免费报文进行改进来实现。例如,与ARP免费报文一样,通告报文的二层源地址为发送通告报文的地址解析服务器20的MAC地址,目的地址为FF:FF:FF:FF:FF:FF;ARP分组中的源MAC地址为发送通告报文的地址解析服务器20的MAC地址,源IP和目标IP地址均为发送通告报文的地址解析服务器20的IP地址;与ARP免费报文不同的是,ARP免费报文的ARP分组内容中的目标MAC地址为0,而通告报文的ARP分组内容中的目标MAC地址与源MAC地址一致,即为发送通告报文的地址解析服务器20自身的MAC地址。
例如,在步骤S410中,交换机10判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为地址解析服务器20或其他地址解析服务器发送的ARP通告报文。
作为一种选择,交换机10还维护地址解析服务器可信列表(第二列表),用于至少记录能够信任的地址解析服务器的MAC地址。例如,由管理员手动添加和删除所有可信的地址解析服务器MAC地址。
在步骤S420中,交换机10判断通告报文中的、ARP分组内容中的源MAC地址是否记录在第二列表中。
如果源MAC地址记录在第二列表中,则在步骤S430中根据通告报文中的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)来更新第一列表。
如果源MAC地址未记录在第二列表中,则在步骤S440中丢弃该通告报文。
这样可防止网络攻击者通过向网络发送通告报文将自身伪造成一台地址解析服务器从而获得全网地址解析的控制权。
当然作为一种选择,交换机10也可以不维护第二列表,而是识别出所接收的ARP报文为地址解析服务器20发出的通告报文后,根据通告报文中的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)直接更新第一列表。
图7是根据本申请的一个实施方式的方法示意图5000。下面结合图2所示的通信系统来描述方法5000。
如图7所示,在步骤S500中,交换机10接收ARP报文。步骤S510中,交换机10识别所接收的ARP报文。
在步骤S520中,交换机10将识别出的非地址解析服务器的IP节点发送的、广播ARP免费报文单播至地址解析服务器20。例如,交换机10识别出所接收的ARP报文为广播ARP免费报文(例如,操作类型字段为1且ARP分组内容中的目标IP与源IP一致),并且ARP内容分组中的源MAC地址未记录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP免费报文。然后,例如,交换机10将识别出的、非地址解析服务器的IP节点发送的、广播ARP免费报文的、二层的目的地址修改为地址解析服务器20的MAC地址,然后将修改后的单播ARP免费报文单播给该地址解析服务器20。
在步骤S530中,地址解析服务器20根据所接受的单播ARP免费报文,按照上述图4的方法更新或新建ARP条目。
作为一种选择,为了保证地址解析服务器20维护的ARP表的实时性和有效性,地址解析服务器20可以在适当的时候主动检测ARP条目是否可用。
图8是根据本申请的一个实施方式的地址解析服务器自检方法6000。下面结合图2所示的通信系统来描述方法6000。
在步骤S600中,时间阈值触发地址解析服务器20检验进行自检。地址解析服务器20维护的ARP表中包括的时间信息可包括老化时间和/或生存时间。因此,时间阈值相应地包括老化时间阈值(第一阈值)和/或生存时间阈值(第二阈值)。当时间阈值触发时,地址解析服务器20将对相应的ARP条目进行自检。
在步骤S610中,地址解析服务器20判断触发自检的时间阈值是第一阈值还是第二阈值。
当判断结果为第一阈值时,在步骤S620中,地址解析服务器20向与第一阈值触发的、将被自检的ARP条目中的MAC地址单播ARP查询报文,以接收ARP应答。地址解析服务器20发送的单播ARP查询报文的二层帧头中的源地址是地址解析服务器20的MAC地址,目的地址是该ARP条目中的MAC地址;ARP分组内容中的源MAC地址和源IP地址是地址解析服务器20的MAC地址和IP地址;目标IP地址是该ARP条目中的IP地址,目标MAC地址置为0。如果收到ARP应答报文,则根据前文所述的图4的方法更新或新建ARP条目从而更新ARP表。
当判断结果为第二阈值时,在步骤S630中,地址解析服务器20向网络进行广播ARP查询,以接收ARP应答。如果收到ARP应答报文,则根据前文所述的图4的方法更新或新建ARP条目从而更新ARP表。
作为一种选择,地址解析服务器20可以仅对dynamic类型ARP条目进行检测。
该实施方式中,地址解析服务器20对ARP表项的可用性定期检测,这样可以在尽可能保证条目的有效性和实时性的同时延长表项在ARP表中的时间,避免再次查询。
作为一种选择,通信系统中可包括多个地址解析服务器。地址解析服务器20也可维护第一列表,用于至少记录能够使用的地址解析服务器的MAC地址。
地址解析服务器20收到通告报文的处理方法与上述的图6所示的方法4000类似。
例如,地址解析服务器20接收ARP报文,然后判断出所接收的ARP报文为其他地址解析服务器发送的ARP通告报文。然后根据通告报文中的、分组内容中的MAC信息直接更新第一列表。
作为一种选择,地址解析服务器20还维护第二列表,用于至少记录能够信任的地址解析服务器的MAC地址。例如,由管理员手动添加和删除所有可信的地址解析服务器MAC地址。
例如,地址解析服务器20接收ARP报文,然后判断出所接收的ARP报文为其他地址解析服务器发送的ARP通告报文。接着,判断通告报文中的、ARP分组内容中的、源MAC地址是否记录在第二列表中。
如果源MAC地址记录在第二列表中,地址解析服务器20则根据通告报文中的、分组内容中的MAC信息来更新第一列表。
如果源MAC地址未记录在第二列表中,地址解析服务器20则丢弃该通告报文。
这样可防止网络攻击者通过向网络发送通告报文将自身伪造成一台地址解析服务器从而获得全网地址解析的控制权。
作为一种选择,地址解析服务器20每次新建ARP条目之后,都会根据其自身维护的第一列表中记录的MAC地址向其他地址解析服务器单播ARP免费报文,使其他地址解析服务器了解所更新的ARP条目。地址解析服务器20发送的单播ARP免费报文中,ARP分组内容中的源MAC地址和源IP地址是所更新的ARP条目中的MAC地址和IP地址,ARP分组内容中的目标IP地址与源IP地址一致,目标MAC地址置为0。
该实施方式中,多地址解析服务器可为网络提供冗余和负载均衡,并可通过信息共享机制实现多服务器ARP信息的实时性和完整性,减少不必要的广播查询。
作为一种选择,当存在多个地址解析服务器时,交换机10接收到非地址解析服务器发出的广播ARP报文时,可以按照不同过的模式将其单播给地址解析服务器。
例如,主备模式:交换机10依据预定的优先策略(例如比较第一列表中各MAC地址大小)从第一列表中选择一个地址解析服务器作为主用地址解析服务器,然后将接收到非地址解析服务器发出的广播ARP报文的、二层的目的地址(目的MAC地址)修改为该主用地址解析服务器的MAC地址,然后将修改后的ARP报文单播给该主用地址解析服务器。不同交换机的优先策略可以一致也可不一致。
又例如,负载均衡模式:当交换机10需要将所接收的非地址解析服务器发出的广播ARP报文单播给地址解析服务器时,交换机10依据预定的策略(如随机、轮流或哈希)从第一列表中选择一个地址解析服务器作为目的服务器。
可选地,交换机10对所接收的非地址解析服务器发出的广播ARP查询报文单播给地址解析服务器之后,在预定时间(例如5s)内如果没有收对应的ARP应答报文(ARP应答报文中的、ARP分组内容中的目标IP和MAC地址与ARP查询报文中的、源IP和MAC地址相同),则根据预定策略在第一列表中选择其他地址解析服务器为目的地址解析服务器,然后修改非地址解析服务器发出的广播ARP查询报文并单播至该目的地址解析服务器,以获取ARP应答报文。
图9是根据本申请的一个实施方式的交换机的示意图。如图9所示,交换机10可包括收发模块110和识别模块120。收发模块110接收ARP报文;识别模块120,识别接收的ARP报文。当识别模块120识别出所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,收发模块110将其单播至地址解析服务器。
图10是根据本申请的一个实施方式的交换机的示意图。如图10所示,交换机10还可包括维护模块140,用于维护第一列表,第一列表至少记录能够使用的地址解析服务器的MAC地址。
识别模块120识别出所接收的ARP报文为广播ARP查询报文或免费报文(例如,操作类型字段为1),并且ARP内容分组中的源MAC地址未记录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP报文。
交换机10还可包括处理模块130,将识别出的、非地址解析服务器的IP节点发送的、广播ARP报文的、二层的目的地址(目的MAC地址)修改为地址解析服务器的MAC地址。
收发模块110把处理模块130修改后的ARP报文单播至地址解析服务器。
识别模块120识别出所接收的ARP报文为广播ARP查询报文(例如,操作类型字段为1且ARP分组内容中的目标MAC地址为0),并且ARP内容分组中的源MAC地址未记录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP查询报文。处理模块130将识别出的、非地址解析服务器的IP节点发送的、广播ARP查询报文的、二层的目的地址(目的MAC地址)修改为地址解析服务器的MAC地址。收发模块110还将处理模块130修改后的单播ARP查询报文单播给该地址解析服务器。
识别模块120识别出所接收的ARP报文为广播ARP免费报文(例如,操作类型字段为1且ARP分组内容中的目标IP与源IP一致),并且ARP内容分组中的源MAC地址未记录在第一列表中,则确定所接收的ARP报文为非地址解析服务器的IP节点发送的广播ARP免费报文。处理模块130将识别出的、非地址解析服务器的IP节点发送的、广播ARP免费报文的、二层的目的地址(目的MAC地址)修改为地址解析服务器的MAC地址。收发模块110还将处理模块130修改后的单播ARP免费报文单播给该地址解析服务器
识别模块120识别出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为地址解析服务器发送的ARP通告报文。维护模块140根据ARP通告报文的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)直接更新第一列表。
作为一种选择,维护模块140还可维护地址解析服务器可信列表(第二列表),用于至少记录能够信任的地址解析服务器的MAC地址。例如,由管理员手动添加和删除所有可信的地址解析服务器MAC地址。
识别模块120识别处收发模块110所接收的ARP报文为通告报文后,判断通告报文中的、ARP分组内容中的、源MAC地址是否记录在第二列表中。
如果源MAC地址记录在第二列表中,则维护模块140中根据通告报文中的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)来更新第一列表。
如果源MAC地址未记录在第二列表中,则处理模块130丢弃该通告报文。
这样可防止网络攻击者通过向网络发送通告报文将自身伪造成一台地址解析服务器从而获得全网地址解析的控制权。
作为一种选择,当存在多个地址解析服务器时,收发模块110的接收到非地址解析服务器发出的广播ARP报文时,处理模块130可以按照不同过的模式将其单播给地址解析服务器。
例如,主备模式:处理模块130依据预定的优先策略(例如比较第一列表中各MAC地址大小)从第一列表中选择一个地址解析服务器作为主用地址解析服务器,然后将接收到非地址解析服务器发出的广播ARP报文的、二层的目的地址(目的MAC地址)修改为该主用地址解析服务器的MAC地址,然后将修改后的ARP报文单播给该主用地址解析服务器。不同交换机的优先策略可以一致也可不一致。
又例如,负载均衡模式:处理模块130依据预定的策略(如随机、轮流或哈希)从第一列表中选择一个地址解析服务器作为目的服务器。
可选地,在所接收的非地址解析服务器发出的广播ARP查询报文单播给地址解析服务器之后,收发模块110在预定时间(例如5s)内如果没有收对应的ARP应答报文(ARP应答报文中的、ARP分组内容中的目标IP和MAC地址与ARP查询报文中的、源IP和MAC地址相同),处理模块130则根据预定策略在第一列表中选择其他地址解析服务器为目的地址解析服务器,然后修改非地址解析服务器发出的广播ARP查询报文,并由收发模块110单播至该目的地址解析服务器,以获取ARP应答报文。
图11是根据本申请的一个实施方式的地址解析服务器的示意图。如图11所示,地址解析服务器20包括收发模块210和判断及维护模块220。收发模块210接收ARP报文,判断及维护模块,维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址和ARP条目类型,所述类型至少包括有效和无效。
例如,收发模块210接收的ARP报文包括:交换机将所接收的、非地址解析服务器的IP节点发送的、广播ARP报文的、二层的目的地址(目的MAC地址)修改为地址解析服务器20的MAC地址,然后单播给该地址解析服务器20。
作为一种选择,ARP条目可包括MAC地址、IP地址,还可包括接口信息、协议信息、时间信息(包括生存时间、老化时间)以及ARP条目类型等。接口信息表示地址解析服务器20学到该ARP条目的物理端口,协议信息表明网络层协议。地址解析服务器20可以由管理员手动添加或删除ARP条目。每一个ARP条目对应不同的条目类型,例如,手动添加的条目为static类型,通过ARP报文学到的条目为dynamic(动态)类型。Static(静态)类型的ARP条目长期有效;Dynamic类型的条目对应有老化时间和生存时间(老化时间<=生存时间),这两个参数可由管理员配置。从ARP条目被添加开始,老化时间和生存时间由初始值递减。当老化时间减至0以后,条目类型变为invalid(无效);当生存时间减至0时,条目被删除。
作为一种选择,每当收发模块210接收到ARP报文时,判断及维护模块220则根据所接收到的ARP报文的、ARP分组内容中的、源MAC地址和源IP地址新建或更新ARP条目。
例如,收发模块210接收到ARP报文。判断及维护模块220判断该ARP报文中的、ARP分组内容中的、源MAC地址和源IP地址的至少一个是否记录在ARP表中。
如果源MAC地址和源IP地址均未记录在ARP表中,判断及维护模块220则新建与源MAC地址和源IP地址对应的ARP条目,并添加至ARP表中。
如果MAC地址和源IP地址中至少一个记录在ARP表中,判断及维护模块220则判断该ARP报文中的、ARP分组内容中的、源MAC地址和源IP地址的MAC-IP对应关系是否与ARP表中记录的MAC-IP对应关系一致。
如果MAC-IP对应关系不一致,判断及维护模块220则新建与源MAC地址和源IP地址对应的ARP条目,并添加至ARP表中,并且删除记录在ARP表中的与源MAC地址或源IP地址对应的原ARP条目。
如果MAC-IP对应关系一致,判断及维护模块220则更新相应的ARP条目。例如,更新相应的ARP条目,重置时间信息;如果判断出该ARP条目的类型为无效,则更改为有效。
当收发模块210接收到的ARP报文为交换机发送的单播ARP查询报文时,判断及维护模块220根据所接收的单播ARP查询报文中的、ARP分组内容中的、源MAC地址和源IP来新建或更新地址解析服务器20维护的ARP表的ARP条目。
例如,判断及维护模块220判断所接收的单播ARP查询报文中的、ARP分组内容中的、目标IP是否记录在ARP表中,以及相应的ARP条目的类型。
如果目标IP记录在ARP表中,且相应ARP条目的类型为有效(包括dynamic和static),收发模块210则根据该ARP条目向交换机10返回ARP应答报文。
如果目标IP未记录在ARP表中,或者目标IP记录在ARP表中但相应的ARP条目的类型为无效,判断及维护模块220则保留该单播ARP查询报文,并且收发模块210向网络中广播ARP查询,以获取来自网络的ARP应答报文。
如果收发模块210在预定的时间内收到ARP应答报文,判断及维护模块220则新建或更新ARP条目。收发模块210根据新建或更新的ARP条目向交换机10返回ARP应答。
如果收发模块210在预定的时间内没有收到ARP应答报文,判断及维护模块220则丢弃所保留的单播ARP查询报文。
地址解析服务器20为了向交换机和/或其他地址解析服务器通告自身存在,收发模块210每隔一定时间向外广播通告报文实现保活(keep alive)。
例如,判断及维护模块220判断出收发模块210所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为其他地址解析服务器发送的ARP通告报文。
判断及维护模块220识别出所接收的ARP报文为地址解析服务器20发出的通告报文后,根据通告报文中的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)直接更新第一列表。
作为一种选择,判断及维护模块220还维护地址解析服务器可信列表(第二列表),用于至少记录能够信任的地址解析服务器的MAC地址。例如,由管理员手动添加和删除所有可信的地址解析服务器MAC地址。
判断及维护模块220还可判断通告报文中的、ARP分组内容中的、源MAC地址是否记录在第二列表中。
如果源MAC地址记录在第二列表中,判断及维护模块220则根据通告报文中的、分组内容中的MAC信息(通告报文中的目标MAC地址与源MAC地址一致)来更新第一列表。
如果源MAC地址未记录在第二列表中,判断及维护模块220则丢弃该通告报文。
这样可防止网络攻击者通过向网络发送通告报文将自身伪造成一台地址解析服务器从而获得全网地址解析的控制权。
当收发模块210接收到交换机发送的单播ARP免费报文时,判断及维护模块220根据所接受的单播ARP免费报文,更新或新建ARP条目。
作为一种选择,为了保证判断及维护模块220维护的ARP表的实时性和有效性,地址解析服务器20可以在适当的时候主动检测ARP条目是否可用。
例如,时间阈值触发地址解析服务器20检验进行自检。判断及维护模块220维护的ARP表中包括的时间信息可包括老化时间和/或生存时间。因此,时间阈值相应地包括老化时间阈值(第一阈值)和/或生存时间阈值(第二阈值)。当时间阈值触发时,地址解析服务器20将对相应的ARP条目进行自检。
例如,判断及维护模块220判断触发自检的时间阈值是第一阈值时,收发模块210向与第一阈值触发的、将被自检的ARP条目中的MAC地址单播ARP查询报文,以接收ARP应答。如果收发模块210收到ARP应答报文,判断及维护模块220则更新或新建ARP条目从而更新ARP表。
当判断及维护模块220判断触发自检的时间阈值为第二阈值时,收发模块210向网络进行广播ARP查询,以接收ARP应答。如果收发模块210收到ARP应答报文,判断及维护模块220则更新或新建ARP条目从而更新ARP表。
作为一种选择,地址解析服务器20可以仅对dynamic类型ARP条目进行检测。
作为一种选择,判断及维护模块220每次新建ARP条目之后,收发模块210都会根据判断及维护模块220维护的第一列表中记录的MAC地址向其他地址解析服务器单播ARP免费报文,使其他地址解析服务器了解所更新的ARP条目。
作为一种选择,地址解析服务器20可以是单独网元,也可与其他网元集成为一体。
以上所述仅为本申请的优选实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (46)

1.一种地址解析方法,包括:
交换机接收ARP报文;
识别所述ARP报文,所述交换机维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址;
当所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,单播至地址解析服务器;
其中,所述识别所述ARP报文的步骤包括:所述交换机判断出所接收的ARP报文为广播ARP查询报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的广播ARP查询报文。
2.如权利要求1所述的方法,其中,所述单播至地址解析服务器的步骤包括:
将所述广播ARP报文中的二层的目的地址修改为所述地址解析服务器的MAC地址。
3.如权利要求2所述的方法,其中,所述将所述广播ARP报文中的二层的目的地址修改为所述地址解析服务器的MAC地址的步骤包括:
根据所述第一列表将所述广播ARP报文中的二层的目的地址修改为所述地址解析服务器的MAC地址。
4.如权利要求1所述的方法,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址以及ARP条目类型,所述类型至少包括有效和无效;
所述方法还包括:
所述地址解析服务器判断所接收的ARP查询报文的ARP分组内容中的目标IP地址是否记录在所述ARP表中,以及相应的ARP条目的类型;
判断结果为是且类型为有效,则向所述交换机发送ARP应答;
判断结果为否或类型为无效,则保留所述ARP查询报文,并向网络中进行广播ARP查询,以获取ARP应答并发送至所述交换机。
5.如权利要求3所述的方法,其中,所述识别所述ARP报文的步骤包括:
所述交换机判断出所接收的ARP报文为广播ARP免费报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则所述ARP报文为非地址解析服务器的IP节点发出的ARP免费报文。
6.如权利要求1所述的方法,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括ARP条目类型和时间信息,所述类型至少包括有效和无效,所述时间信息包括老化时间,所述老化时间是所述ARP条目类型为有效的时间;
所述方法还包括:
当与所述老化时间对应的、预定的第一时间阈值到达时,向所述ARP条目中的MAC地址单播ARP查询报文,以接收ARP应答。
7.如权利要求1所述的方法,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括ARP条目类型和时间信息,所述类型至少包括有效和无效,所述时间信息包括生存时间,所述生存时间能够记录所述ARP条目在所述ARP表中的时间;
所述方法还包括:
当与所述生存时间对应的、预定的第二时间阈值到达时,向网络进行广播ARP查询,以接收ARP应答。
8.如权利要求1或4-7中任一项所述的方法,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址、MAC-IP对应关系和ARP条目类型,所述类型至少包括有效和无效;
所述方法还包括:
每当所述地址解析服务器接收到ARP报文,则根据所接收到的ARP报文的ARP分组内容中的源MAC地址和源IP地址新建或更新ARP条目;
其中,所接收到的ARP报文包括所述交换机单播给所述地址解析服务器的ARP报文以及非地址解析服务器的IP节点发出的ARP应答。
9.如权利要求8所述的方法,所述新建ARP条目的步骤包括:
所述地址解析服务器判断出所述源MAC地址和源IP地址均未记录在所述ARP表中,则新建与所述源MAC地址和源IP地址相应的ARP条目并添加至所述ARP表;
判断出所述源MAC地址与源IP地址记录中至少一个在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系不一致,则新建与所述源MAC地址和源IP地址相应的ARP条目,然后添加至所述ARP表,并删除记录在所述ARP表中的与所述源MAC地址或源IP地址对应的原ARP条目。
10.如权利要求8所述的方法,所述ARP条目还包括ARP条目的时间信息,所述更新ARP条目的步骤包括:
所述地址解析服务器判断出所述源MAC地址或源IP地址记录在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系一致,更新所述ARP表中相应的ARP条目,重置所述时间信息;
如果判断出所述ARP条目的类型为无效,则更改为有效。
11.如权利要求3所述的方法,所述识别所述ARP报文的步骤包括:
所述交换机判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则所接收的ARP报文为所述地址解析服务器或其他地址解析服务器发送的ARP通告报文;
则所述方法还包括:
更新所维护的所述第一列表。
12.如权利要求11所述的方法,所述交换机还维护第二列表,至少记录能够信任的地址解析服务器的MAC地址;
所述方法还包括:
在识别出所接收的ARP报文为所述ARP通告报文后,判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中;
判断结果为是,则更新所维护的第一列表;
判断结果为否,则抛弃所述ARP通告报文。
13.如权利要求3所述的方法,所述地址解析服务器维护属于自身的所述第一列表,所述方法还包括:
所述地址解析服务器判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则所接收的ARP报文为其他地址解析服务器发送的ARP通告报文;
更新所维护的第一列表。
14.如权利要求13所述的方法,所述地址解析服务器维护属于自身的所述第二列表,至少记录能够信任的地址解析服务器的MAC地址;
所述方法还包括:
在识别出所接收的ARP报文为所述ARP通告报文后,判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中;
判断结果为是,则更新所维护的第一列表;
判断结果为否,则抛弃所述ARP通告报文。
15.如权利要求9所述的方法,其中,所述地址解析服务器维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址;
所述方法还包括:
所述地址解析服务器新建ARP条目之后,分别向所述第一列表中记录的MAC地址单播ARP免费报文,以使与记录的MAC地址对应的地址解析服务器了解所述新建ARP条目。
16.一种通信系统,包括:
交换机,接收ARP报文,识别所述ARP报文,所述交换机维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址,当所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,单播至地址解析服务器,其中,所述识别所述ARP报文的步骤包括:所述交换机判断出所接收的ARP报文为广播ARP查询报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的广播ARP查询报文;
所述地址解析服务器,接收经修改的ARP报文,并向所述交换机返回ARP应答,且确定所述ARP报文为非地址解析服务器的IP节点发出的ARP报文。
17.如权利要求16所述的系统,其中,所述交换机将识别出的、非地址解析服务器的IP节点发出的广播ARP报文中的二层的目的地址修改为所述地址解析服务器的MAC地址,以将修改后的ARP报文单播至所述地址解析服务器。
18.如权利要求17所述的系统,其中,所述交换机根据所述第一列表将识别出的、非地址解析服务器的IP节点发出的广播ARP报文中的二层的目的地址修改为所述地址解析服务器的MAC地址。
19.如权利要求17所述的系统,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址和ARP条目类型,所述类型至少包括有效和无效;
所述地址解析服务器判断所接收的ARP查询报文的ARP分组内容中的目标IP地址是否记录在所述ARP表中,以及相应的ARP条目的类型;
判断结果为是且类型为有效,则向所述交换机发送ARP应答;
判断结果为否或类型为无效,则保留所述ARP查询报文,并向网络中进行广播ARP查询,以获取ARP应答并发送至所述交换机。
20.如权利要求18所述的系统,其中,所述交换机判断出所接收的ARP报文为广播ARP免费报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的ARP免费报文。
21.如权利要求16所述的系统,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括ARP条目类型和时间信息,所述类型至少包括有效和无效,所述时间信息包括老化时间,所述老化时间是所述ARP条目类型为有效的时间;
当与所述老化时间对应的、预定的第一时间阈值到达时,所述地址解析服务器向所述ARP条目中的MAC地址单播ARP查询报文,以接收ARP应答。
22.如权利要求16所述的系统,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括ARP条目类型和时间信息,所述类型至少包括有效和无效,所述时间信息包括生存时间,所述生存时间能够记录所述ARP条目在所述ARP表中的时间;
当与所述生存时间对应的、预定的第二时间阈值到达时,所述地址解析服务器向网络进行广播ARP查询,以接收ARP应答。
23.如权利要求17或19-22中任一项所述的系统,其中,所述地址解析服务器维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址、MAC-IP对应关系和ARP条目类型和时间信息,所述类型至少包括有效和无效;
所述地址解析服务器每当接收到ARP报文时,根据所接收的ARP报文的ARP分组内容中的源MAC地址和源IP地址新建或更新ARP条目;
其中,所接收到的ARP报文包括所述交换机单播给所述地址解析服务器的ARP报文以及非地址解析服务器的IP节点发出的ARP应答。
24.如权利要求23所述的系统,其中,所述地址解析服务器判断出所接收到的ARP报文的ARP分组内容中的源MAC地址和源IP地址均未记录在所述ARP表中,则新建与所述源MAC地址和源IP地址相应的ARP条目并添加至所述ARP表;
判断出所述源MAC地址或源IP地址记录在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系不一致,则新建与所述源MAC地址和源IP地址相应的ARP条目并添加至所述ARP表,并删除记录在所述ARP表中的与所述源MAC地址或源IP地址对应的原ARP条目。
25.如权利要求23所述的系统,其中,所述地址解析服务器判断出所接收到的ARP报文的ARP分组内容中的源MAC地址与源IP地址中至少一个记录在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系一致,更新所述ARP表中相应的ARP条目,重置所述时间信息;
判断出所述ARP条目的类型为无效,则更改为有效。
26.如权利要求18所述的系统,其中,所述交换机判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为所述地址解析服务器或其他地址解析服务器发送的ARP通告报文,并更新所维护的所述第一列表。
27.如权利要求26所述的系统,所述交换机还维护第二列表,至少记录能够信任的地址解析服务器的MAC地址,所述交换机判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中,判断结果为是,则更新所维护的第一列表,判断结果为否,则抛弃所述ARP通告报文。
28.如权利要求18所述的系统,所述地址解析服务器维护属于自身的所述第一列表,所述地址解析服务器判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为其他地址解析服务器发送的ARP通告报文,并更新所维护的第一列表。
29.如权利要求28所述的系统,所述地址解析服务器维护属于自身的所述第二列表,至少记录能够信任的地址解析服务器的MAC地址,所述地址解析服务器判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中,判断结果为是,则更新所维护的第一列表,判断结果为否,则抛弃所述ARP通告报文。
30.如权利要求24所述的系统,其中,所述地址解析服务器维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址,所述地址解析服务器新建ARP条目之后,分别向所述第一列表中记录的MAC地址单播ARP免费报文,以使与记录的MAC地址对应的地址解析服务器了解所述新建ARP条目。
31.一种交换机,包括:
收发模块,接收ARP报文;
识别模块,识别所述ARP报文;
维护模块,维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址;
当所述识别模块识别出所接收的ARP报文为非地址解析服务器的IP节点发出的广播ARP报文时,所述收发模块将其单播至地址解析服务器;
其中,所述识别模块进一步配置用于判断出所接收的ARP报文为广播ARP查询报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的广播ARP查询报文。
32.如权利要求31所述的交换机,还包括:
处理模块,将所述识别模块判断出的非地址解析服务器的IP节点发出的广播ARP报文的、二层的目的地址修改为所述地址解析服务器的MAC地址。
33.如权利要求32所述的交换机,还包括:
处理模块,根据所述第一列表将所述识别模块判断出的非地址解析服务器的IP节点发出的广播ARP报文的、二层的目的地址修改为所述地址解析服务器的MAC地址。
34.如权利要求33所述的交换机,其中,所述识别模块判断出所接收的ARP报文为广播ARP免费报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的ARP免费报文。
35.如权利要求33所述的交换机,所述识别模块判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为所述地址解析服务器或其他地址解析服务器发送的ARP通告报文;
所述维护模块更新所述第一列表。
36.如权利要求35所述的交换机,所述维护模块还维护第二列表,至少记录能够信任的地址解析服务器的MAC地址;
所述识别模块判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中;
判断结果为是,则所述维护模块更新所维护的第一列表;
判断结果为否,则所述处理模块抛弃所述ARP通告报文。
37.一种地址解析服务器,包括:
收发模块,接收ARP报文,其中,所述ARP报文为交换机识别出的ARP报文,且确定所述ARP报文为非地址解析服务器的IP节点发出的ARP报文,所述交换机维护属于自身的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址,所述交换机识别所述ARP报文的步骤包括:所述交换机判断出所接收的ARP报文为广播ARP查询报文,且ARP分组内容中的源MAC地址未记录在所述第一列表中,则确定所述ARP报文为非地址解析服务器的IP节点发出的广播ARP查询报文;
判断及维护模块,维护ARP表,所述ARP表包括ARP条目,所述ARP条目包括IP节点的IP地址、MAC地址和ARP条目类型,所述类型至少包括有效和无效。
38.如权利要求37所述的地址解析服务器,所述判断及维护模块判断所接收的、交换机单播的ARP查询报文的ARP分组内容中的目标IP地址是否记录在所述ARP表中,以及相应的ARP条目的类型,
判断结果为是且类型为有效,则所述收发模块向所述交换机发送ARP应答;
判断结果为否或类型为无效,则保留所述ARP查询报文,所述收发模块向网络中进行广播ARP查询,以获取ARP应答并发送至所述交换机。
39.如权利要求37所述的地址解析服务器,其中,ARP条目还包括时间信息,所述时间信息包括老化时间,所述老化时间是所述ARP条目类型为有效的时间;
当所述判断及维护模块在与所述老化时间对应的、预定的第一时间阈值到达时,所述收发模块向所述ARP条目中的MAC地址单播ARP查询报文,以接收ARP应答。
40.如权利要求37所述的地址解析服务器,其中,所述ARP条目还包括时间信息,所述时间信息包括生存时间,所述生存时间能够记录所述ARP条目在所述ARP表中的时间;
当与所述生存时间对应的、预定的第二时间阈值到达时,所述收发模块向网络进行广播ARP查询,以接收ARP应答。
41.如权利要求37-40中任一项所述的地址解析服务器,其中,
所述判断及维护模块根据所述收发模块所接收到的每条ARP报文的ARP分组内容中的源MAC地址和源IP地址新建或更新ARP条目;
其中,所接收到的ARP报文包括所述交换机单播给所述地址解析服务器的ARP报文以及非地址解析服务器的IP节点发出的ARP应答。
42.如权利要求41所述的地址解析服务器,其中,所述判断及维护模块判断出所接收到的ARP报文的ARP分组内容中的源MAC地址和源IP地址均未记录在所述ARP表中,则新建与所述源MAC地址和源IP地址相应的ARP条目并添加至所述ARP表;
判断出所述源MAC地址与源IP地址记录中至少一个在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系不一致,则新建与所述源MAC地址和源IP地址相应的ARP条目并添加至所述ARP表,并删除记录在所述ARP表中的与所述源MAC地址或源IP地址对应的原ARP条目。
43.如权利要求41所述的地址解析服务器,其中,所述判断及维护模块判断出所接收到的ARP报文的ARP分组内容中的源MAC地址或源IP地址记录在所述ARP表中,且所述源MAC-源IP对应关系与所述ARP表中记录的MAC-IP对应关系一致,更新所述ARP表中相应的ARP条目,重置所述时间信息;
判断出所述ARP条目的类型为无效,则更改为有效。
44.如权利要求37所述的地址解析服务器,所述判断及维护模块还维护第一列表,用于至少记录能够使用的地址解析服务器的MAC地址,当判断出所接收的ARP报文为广播ARP报文,且ARP分组内容中的源MAC地址与目标MAC地址一致、源IP与目标IP一致,则确定所接收的ARP报文为其他地址解析服务器发送的ARP通告报文,并更新所维护的第一列表。
45.如权利要求44所述的地址解析服务器,所述判断及维护模块还维护第二列表,用于至少记录能够信任的地址解析服务器的MAC地址,所述判断及维护模块还判断所述ARP通告报文的ARP分组内容中的源MAC地址是否记录在所述第二列表中,判断结果为是,则更新所维护的第一列表,判断结果为否,则抛弃所述ARP通告报文。
46.如权利要求42所述的地址解析服务器,其中,所述判断及维护模块还维护属于所述地址解析服务器的第一列表,用于至少记录能够使用的地址解析服务器的MAC地址;
所述收发模块在所述判断及维护模块新建ARP条目之后,分别向所述第一列表中记录的MAC地址单播ARP免费报文,以使与记录的MAC地址对应的地址解析服务器了解所述新建ARP条目。
CN201210213641.6A 2012-06-25 2012-06-25 地址解析方法及相应的系统、交换机和服务器 Active CN103516821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210213641.6A CN103516821B (zh) 2012-06-25 2012-06-25 地址解析方法及相应的系统、交换机和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210213641.6A CN103516821B (zh) 2012-06-25 2012-06-25 地址解析方法及相应的系统、交换机和服务器

Publications (2)

Publication Number Publication Date
CN103516821A CN103516821A (zh) 2014-01-15
CN103516821B true CN103516821B (zh) 2017-05-03

Family

ID=49898838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210213641.6A Active CN103516821B (zh) 2012-06-25 2012-06-25 地址解析方法及相应的系统、交换机和服务器

Country Status (1)

Country Link
CN (1) CN103516821B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092614B (zh) * 2014-07-30 2017-07-04 新华三技术有限公司 更新地址解析信息的方法和装置
CN105553852A (zh) * 2015-12-31 2016-05-04 联想(北京)有限公司 一种信息处理方法、装置、电子设备及管理平台
CN108833604B (zh) * 2018-05-28 2021-08-13 新华三技术有限公司 一种表项更新方法及装置
CN114124812A (zh) * 2021-11-22 2022-03-01 迈普通信技术股份有限公司 维护表项一致性的方法、装置及电子设备
CN114884917B (zh) * 2022-04-26 2023-07-28 北京华信傲天网络技术有限公司 一种地址解析协议报文的控制系统及方法
CN115002071B (zh) * 2022-05-25 2024-07-09 深信服科技股份有限公司 一种信息更新方法、装置、设备及可读存储介质
CN115296893A (zh) * 2022-08-02 2022-11-04 北京天融信网络安全技术有限公司 一种地址信息异常检测的方法、装置、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854901A (en) * 1996-07-23 1998-12-29 Cisco Systems, Inc. Method and apparatus for serverless internet protocol address discovery using source address of broadcast or unicast packet
CN101668044A (zh) * 2003-07-24 2010-03-10 思科技术公司 用于802.11e站台的统一节电方法
CN101741702A (zh) * 2008-11-25 2010-06-16 中兴通讯股份有限公司 实现arp请求广播限制的方法和装置
CN102075591A (zh) * 2010-12-21 2011-05-25 华为技术有限公司 获取介质访问控制地址的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854901A (en) * 1996-07-23 1998-12-29 Cisco Systems, Inc. Method and apparatus for serverless internet protocol address discovery using source address of broadcast or unicast packet
CN101668044A (zh) * 2003-07-24 2010-03-10 思科技术公司 用于802.11e站台的统一节电方法
CN101741702A (zh) * 2008-11-25 2010-06-16 中兴通讯股份有限公司 实现arp请求广播限制的方法和装置
CN102075591A (zh) * 2010-12-21 2011-05-25 华为技术有限公司 获取介质访问控制地址的方法、装置和系统

Also Published As

Publication number Publication date
CN103516821A (zh) 2014-01-15

Similar Documents

Publication Publication Date Title
CN103516821B (zh) 地址解析方法及相应的系统、交换机和服务器
US10565001B2 (en) Distributed virtual network controller
US9674139B2 (en) Detection of a misconfigured duplicate IP address in a distributed data center network fabric
CN106452857B (zh) 生成配置信息的方法和网络控制单元
US9276902B2 (en) Robust domain name resolution
EP2235885B1 (en) Mapless global traffic load balancing via anycast
EP2541848B1 (en) Service routing method and service network
US8892725B2 (en) Method for network anomaly detection in a network architecture based on locator/identifier split
US20130329605A1 (en) Multicast service in virtual networks
US10560422B2 (en) Enhanced inter-network monitoring and adaptive management of DNS traffic
US20120207167A1 (en) Method of searching for host in ipv6 network
US8725852B1 (en) Dynamic network action based on DHCP notification
EP2230802A1 (en) A method and apparatus for maintaining route information
CN106878288B (zh) 一种报文转发方法及装置
CN102546666B (zh) 防止igmp欺骗和攻击的方法及装置
CN109379291B (zh) 一种组网中服务请求的处理方法及装置
CN103200117B (zh) 一种负载均衡方法和装置
CN102025799A (zh) 一种发现及自动配置设备的ip地址的方法
CN107124364A (zh) 基于软件定义网络控制器的网络arp完全代理方法及系统
US11646991B2 (en) System and method for optimizing ARP broadcast
Kim et al. Revisiting Ethernet: Plug-and-play made scalable and efficient
Song et al. A novel frame switching model based on virtual MAC in SDN
Song et al. Using FDAD to prevent DAD attack in secure neighbor discovery protocol
CN102143051A (zh) 虚拟路由冗余协议负载分担的方法和系统
CN111654558A (zh) Arp交互与内网流量转发方法、装置和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant