一种更新地址解析协议表中端口地址的方法和设备转让专利

申请号 : CN200710122500.2

文献号 : CN100586108C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑上闽吕志勇焦雪松

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明提供一种更新地址解析协议表中端口地址的方法和设备,具体为:当进行由端口迁移所引发的媒体接入控制(MAC)迁移时,从MAC迁移过程中获得检测出的端口迁移后的端口地址和对应的MAC地址;将地址解析协议(ARP)表中与检测出的MAC地址所对应的端口地址更新为检测出的端口地址。应用本发明方案,交换机不必等待ARP老化,从而实现对ARP表中的端口地址快速更新,避免在端口发生迁移时长时间无法正确进行三层转发。

权利要求 :

1、一种更新地址解析协议表中端口地址的方法,其特征在于,该方法为: A、当进行由端口迁移所引发的媒体接入控制MAC迁移时,获得MAC迁移过程中检测出的端口迁移后的端口地址和对应的MAC地址; 根据检测出的MAC地址查询包括ARP属性的MAC软件表,所述ARP属性为新增加的属性;查询到包括检测出的MAC地址的表项,并根据表项的ARP属性判断ARP表中是否包括检测出的MAC地址,是则执行步骤B;否则结束本流程; B、将地址解析协议ARP表中与检测出的MAC地址所对应的端口地址更新为检测出的端口地址。

2、 根据权利要求1所述的方法,其特征在于,所述获得MAC迁移过程中-险测出的端口迁移后的端口地址和对应的MAC地址的方法为:从中断信号中获得端口迁移后的端口地址和对应的MAC地址,所述中断信号为MAC迁移过程中检测出端口迁移时所产生的包括端口迁移后的端口地址和对应的MAC地址的中断信号。

3、 根据权利要求1或2所述的方法,其特征在于,所述ARP表包括ARP软件表和ARP硬件表,所述步骤B包括:将ARP软件表中与4企测出的MAC地址所对应的端口地址更新为4企测出的端口地址,再将ARP软件表同步给ARP硬件表;或者,将ARP硬件表中与4企测出的MAC地址所对应的端口地址更新为4企测出的端口地址,再将ARP硬件表同步给ARP软件表。

4、 一种更新地址解析协议表中端口地址的设备,其特征在于,该设备包括:获取单元,用于在进行由端口迁移所引发的MAC迁移时,获得MAC迁移过程中检测出的端口迁移后的端口地址和对应的MAC地址;存储单元,用于保存ARP表和MAC软件表;判别单元,用于根据检测出的MAC地址查询存储单元中保存的MAC软件表,查询到包括检测出的MAC地址的表项,根据表项新增加的ARP属性判断出ARP表中包括检测出的MAC地址,启动ARP更新单元;ARP更新单元,用于将ARP表中与检测出的MAC地址所对应的端口地址更新为检测出的端口地址。

说明书 :

一种更新地址解析协议表中端口地址的方法和设备

技术领域

本发明涉及通讯领域技术,特别是涉及一种更新地址解析协议表中端口
地址的方法和i殳备。 背景技术
交换机进行三层转发时,通常需要利用地址解析协议(ARP, Address Resolution Protocol)表来确定发送报文的端口地址,该ARP表可以包括因 特网协议(IP, Internet Protocol)地址、4某体接入控制(MAC, Media Access Controller)地址、端口地址等信息。
交换机进行三层转发的过程大致是:当交换机接收到某个报文时,先根 据报文中携带的目的IP地址查找路由表,从路由表中确定下一跳的IP地址; 再才艮据下一跳的IP地址查找ARP表,从ARP表中确定对应的MAC地址和 端口地址,将报文中的目的MAC地址替换为从ARP表中确定的MAC地址, 然后从对应的端口地址将报文发送出去。也就是说,ARP表中的IP地址、 MAC地址和端口地址有严格的对应的关系,只有保持正确的对应关系,才 能够正确地进行三层报文转发。
实际应用中,如果与交换机连接的某设备的位置发生了变化,或者网络 的拓朴结构发生了变化,那么,交换机中连接该设备的端口就可能会发生迁 移,导致ARP表中IP地址、MAC地址和端口地址的对应关系与实际情况 不符,这里所述的设备指与交换机连接的用户主机等通信设备。比如:交换 机A通过端口 1与设备al进行连接,交换机A的ARP表中存在设备al的 IP地址、设备al的MAC地址和端口 1这样对应关系的一个表项。如果设 备al的位置发生了变化,变化后的设备al不再通过端口 1与交换机A连接,而是通过端口 2与交换机连接,即端口发生了迁移,此时,原ARP表所记 录的对应关系就与实际情况不符合。
现有技术中,为了使ARP表中IP地址、MAC地址和端口地址的对应 关系与实际情况保持一致,通常利用ARP老化机制来实现。也就是说,当 ARP表项老化时,交换机会发起ARP学习过程,并在与自身连接设备的交 互过程中重新获得该设备的IP地址、MAC地址和端口地址的对应关系,按 照重新获得的对应关系更新ARP表项。这样,如果交换机与某设备相连的 端口发生了变化,就可以在更新ARP表项时将原来的端口地址更改成新的 端口地址,使IP地址、MAC地址和端口地址的对应关系与实际情况保持一 致。这里所述将ARP表项中原来的端口地址更改为新的端口地址通常也可 以称为ARP迁移。
但现有技术中,ARP老化时间一般比较长,比如可以设置默认老化时 间为20分钟,更新ARP表项中端口地址也就会比较慢,从而导致交换机在 相当长的 一段时间内无法正确进行三层报文的转发。

发明内容

本发明的第一个发明目的是提供一种更新地址解析协议(ARP)表中端
口地址的方法,可以对ARP表中的端口地址快速更新,避免在端口发生迁
移时长时间无法正确进行三层转发。
本发明的第二个发明目的是提供一种更新ARP表中端口地址的设备,
可以对ARP表中的端口地址快速更新,避免在端口发生迁移时长时间无法
正确进行三层转发。
为了达到上述第一个发明目的,本发明提出的技术方案为:
一种更新地址解析协议表中端口地址的方法,该方法为:
A、当进行由端口迁移所引发的媒体接入控制MAC迁移时,获得MAC迁
移过程中4企测出的端口迁移后的端口地址和对应的MAC地址;
检测出的MAC地址查询包括ARP属性的MAC软件表,所述ARP属性为新增加的属性;查询到包括;险测出的MAC地址的表项,并根据表项的ARP 属性判断ARP表中是否包括检测出的MAC地址,是则执行步骤B;否则结束 本流程;
B、将地址解析协议ARP表中与检测出的MAC地址所对应的端口地址更 新为4企测出的端口地址。
上述方案中,所述获得MAC迁移过程中;f企测出的端口迁移后的端口地址 和对应的MAC地址的方法为:
从中断信号中获得端口迁移后的端口地址和对应的MAC地址,所述中断 信号为MAC迁移过程中检测出端口迁移时所产生的包括端口迁移后的端口地 址和对应的MAC地址的中断信号。
上述方案中,所述ARP表包括ARP软件表和ARP硬件表,所述步骤B包
括:
将ARP软件表中与检测出的MAC地址所对应的端口地址更新为检测出的 端口地址,再将ARP软件表同步给ARP硬件表;或者,
将ARP硬件表中与检测出的MAC地址所对应的端口地址更新为检测出的 端口地址,再将ARP硬件表同步给ARP软件表。
为了达到上述第二个发明目的,本发明提出的技术方案为:
一种更新地址解析协议表中端口地址的设备,该设备包括:
获取单元,用于在进行由端口迁移所引发的MAC迁移时,获得MAC迁移 过程中检测出的端口迁移后的端口地址和对应的MAC地址;
存储单元,用于保存ARP表和MAC软件表;
判别单元,用于根据检测出的MAC地址查询存储单元中保存的MAC软件 表,查询到包括检测出的MAC地址的表项,根据表项新增加的ARP属性判断 出ARP表中包括检测出的MAC地址,启动ARP更新单元;
ARP更新单元,用于将ARP表中与检测出的MAC地址所对应的端口地址 更新为检测出的端口地址。综上所述,本发明提出的 一种更新地址解析协议表中端口地址的方法和
设备,可以在进行由端口迁移所引发的媒体接入控制(MAC)迁移时,从 MAC迁移过程中获得才企测出的端口迁移后的端口地址和对应的MAC地址; 并将地址解析协议(ARP )表中与4企测出的MAC地址所对应的端口地址更 新为检测出的端口地址。由于本发明方案中的交换机不必等待ARP老化, 可以实现对ARP表中的端口地址快速更新,从而避免在端口发生迁移时长 时间无法正确进行三层转发。

附图说明

图1是本发明实现更新ARP表中端口地址方法的流程图;
图2是应用本发明方案的方法实施例的流程图;
图3是本发明实现更新ARP表中端口地址设备的基本结构示意图;
图4是应用本发明方案的设备实施例的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体 实施例对本发明作进一 步地详细描述。
为了在发生端口迁移时,能够及时更新地址解析协议(ARP)表中的端 口地址,本发明将更新ARP表中端口地址的过程与端口迁移引发的MAC 迁移进行关联。这样,本发明就可以根据MAC迁移过程中获得的端口地址 进行更新,而不必等待ARP老化,从而到达对ARP表中端口地址进行快速 更新的目的。
图1是本发明实现对ARP表中端口地址进行更新的方法流程图。如图 1所示,该方法可以包^fe:
步骤101:当进行由端口迁移所引发的MAC迁移时,获得MAC迁移 过程中^r测出的端口迁移后的端口地址和对应的MAC地址。
实际应用中,当端口发生迁移时,不但需要更新ARP表中的端口地址,还需要更新用于二层报文转发的MAC表中的端口地址。MAC表包括MAC 硬件表和MAC软件表,MAC表的表项中则包括MAC地址和对应的端口地 址。如果ARP表和MAC表同时包括某设备的MAC地址,那么与该MAC 地址对应的端口地址在ARP表和MAC表中也应该完全相同。比如:ARP 表中包括设备A的MAC地址,对应的端口地址为交换机的端口 1,那么, MAC表中也包括设备A的MAC地址,对应的端口地址也应该为交换机的 端口 1。
这里所述MAC硬件表是交换机进行二层报文转发时直接使用的MAC 表, 一般可以保存在只读存储器(ROM)中;而MAC软件表则是交换机软 件为了便于管理MAC地址而设置的,是从MAC硬件表同步所得到的MAC表。
通常,由端口迁移而导致MAC表中端口地址的更新也可以称为MAC 迁移。为了更好地描述本步骤,下面先对MAC迁移的情况进行简单介绍:
如果与交换机连接的某设备位置或网络的拓朴结构发生变化,导致交换 机与该设备连接的端口发生迁移,交换机在从迁移后的端口接收到该设备的 报文时,会检测出接收报文的端口地址和该设备的MAC地址的对应关系与 MAC表记录的情况不一致,将会产生中断,从而引发MAC迁移。MAC迁 移的具体过程可以为:交换机检测出由端口迁移所产生的中断信号,所述中 断信号包括端口迁移后的端口地址和对应的MAC地址;交换机将MAC硬 件表中与冲企测出的MAC地址所对应的端口地址更新为4企测出的端口地址, 并将MAC硬件表同步给事先设置的MAC软件表。
上述是MAC迁移的过程,交换机可以从MAC迁移过程的中断信号中 获得端口迁移后的端口地址和对应的MAC地址。
步骤102:将ARP表中与检测出的MAC地址所对应的端口地址更新为 4企测出的端口地址。
由于MAC表中MAC地址和端口地址的对应关系,以及ARP表中MAC 地址和端口地址的对应关系是完全相同的,只要从步骤101中获得迁移后的端口地址和对应的MAC地址,就可以对ARP表中的端口地址进行更新。
实际应用中,如果与交换机连接的某些设备仅允许进行二层转发,而不
能进行三层转发,那么,这些设备的MAC地址和端口地址的对应关系就仅 存在于MAC表,而没有保存在ARP表中。在这种情况下,就可以在步骤 101和步骤102之间进一步包括:
交换机根据检测出的MAC地址查询事先设置的包括ARP属性的MAC 软件表,查询到包括检测出的MAC地址的表项,并根据该表项的ARP属性 判断ARP表中是否包括4企测出的MAC地址,如果是,则执行步骤102。
也就是说,可以事先为JVIAC软件表的表项增加一个MAC硬件表所没 有的ARP属性,用于表示MAC软件表中的MAC地址是否也同时存在于 ARP表中。这样,在交换机产生中断信号时,就可以在明确ARP表存在中 断信号包括的MAC地址时,才利用步骤102对ARP表中的端口地址进行更 新,否则,交换机可以不对ARP表进行更新。
为了更好地说明本发明方案,下面用 一 个较佳实施例进行详细描述。
本实施例中,假设设备A由于位置发生变化,交换机与之连接的端口 从端口 1迁移到端口 2;交换机允许对设备A进行二层报文和三层报文的转 发;交换机中包括MAC硬件表、MAC软件表以及ARP表等等。
端口迁移之前,MAC硬件表的格式可以如表一所示:table see original document page 9

其中,"MAC-A"表示设备A的MAC地址,"端口 1"表示交换机通 过端口 l与设备A进行交互。
端口迁移之前,MAC软件表的才各式可以如表二所示:
table see original document page 9
table see original document page 10
表二
其中,"MAC-A,,表示设备A的MAC地址,"端口 1"表示交换机通过端口 1与设备A进行交互,"ARP属性为1"表示ARP表中也包括针对设备A的表项,即存在设备A的MAC地址。
端口迁移之前,交换机中的ARP表的格式可以如表三所示:
table see original document page 10
表三
其中,"IP-A"表示设备A的IP地址,"MAC-A"表示设备A的MAC地址,"端口 1"表示交换才几通过端口 l与设备A进行交互。
可见,端口迁移之前,MAC表中设备A的MAC地址和端口地址的对应关系,与ARP表中设备A的MAC地址和端口地址的对应关系完全相同。
此后,假设设备A的位置发生变化,交换机从端口 2接收到来自设备A的报文,并可以检测出携带有设备A的MAC地址的报文是从端口 2接收到的这种对应关系。这种对应关系与硬件MAC表中原有的对应关系不一致,将引发MAC迁移,其过程可以为:交换机检测出由端口迁移所产生的中断信号,所述中断信号包括端口迁移后的端口 2和对应的MAC-A;交换机将MAC硬件表中与MAC-A所对应的端口地址更新为端口 2,将MAC硬件表同步给事先设置的MAC软件表。
交换机更新MAC硬件表之后,其格式可以如表四所示:
table see original document page 10
交换机同步MAC软件表之后,其格式可以如表五所示:
MAC地址 端口地址 ARP属性
MAC隱A 端口 2 1''. .'. ..•
表五
上述是MAC迁移的情况,本实施例中,当交换机进行由端口迁移所引发的MAC迁移时,还需要对ARP表中的端口地址进行更新。
图2是本实施例实现更新ARP表中端口地址方法的流程图。如图2所示,该方法包才舌:
步骤201:当进行由端口迁移所引发的MAC迁移时,交换机从中断信号中获得;险测出的端口迁移后的端口地址和对应的MAC地址。
这里,中断信号中包括的端口地址就是"端口 2",对应的MAC地址就是"MAC-A"。
步骤202:交换机根据检测出的MAC地址查询MAC软件表,查询到包括检测出的MAC地址的表项。
步骤203:交换机根据查询到的表项中ARP属性判断出ARP表中包括4全测出的MAC地址。
这里,由于查询到的表项中ARP属性值为"1",表示ARP表中包括设备A的MAC地址。实际应用中,如果不允许对设备A进行三层转发,则该表项中的ARP属性可以为"0",表示ARP表中不包括设备A的MAC地址,交换机将不再继续执行后续步骤,直接结束本流程即可。
更新为4企测出的端口地址。
本步骤中,交换机将更新ARP表中的端口地址,更新后的ARP表可以^口表六所示:
IP地址
MAC地址
端口地址
table see original document page 12

与MAC表相似,ARP表其实也可以分为ARP硬件表和ARP软件。其中,ARP硬件表是交换机进行三层转发时直接使用的ARP表,而ARP软件表是交换机软件为了便于管理而设置的ARP表。
在这种情况下,本步骤更新ARP表中的端口地址的过程可以为:将ARP软件表中与4企测出的MAC地址所对应的端口地址更新为才全测出的端口地址,再将ARP软件表同步给ARP硬件表。或者,将ARP硬件表中与检测出的MAC地址所对应的端口地址更新为检测出的端口地址,再将ARP硬件表同步给ARP软件表。
另外,本发明实施例中MAC迁移和ARP迁移本身仍然是两个过程,但MAC迁移可以启动ARP迁移,并利用在MAC表中设置的ARP属性将MAC迁移和ARP迁移关联起来。
应用本实施例方案,由于交换机可以在端口迁移引发MAC迁移时启动对ARP表中端口地址的更新,所以,如果交换机在对设备A进行三层报文转发,就可以不必等待ARP老化而将ARP表中的端口地址快速进行更新,从而将接收到的三层报文及时正确地转发给设备A,避免设备A长时间中断三层报文的接收。
针对上述方法,本发明还提出 一种更新地址解析协议表中端口地址的设备。图3是该设备的基本结构示意图,如图3所示,该设备包括:
获取单元301,用于在进行由端口迁移所引发的MAC迁移时,从MAC迁移过程中获得检测出的端口迁移后的端口地址和对应的MAC地址。
存储单元302,用于保存ARP表。
ARP更新单元303,用于将ARP表中与检测出的MAC地址所对应的端口地址更新为检测出的端口地址。
图4是应用本发明方案的设备实施例内部结构示意图。如图4所示,该实施例不但包括图3中的实际应用中获取单元301、存储单元302、 ARP更 新单元303,该设备还可以包括:
判别单元304,用于根据4企测出的MAC地址查询存储单元302保存的 MAC软件表,查询到包括检测出的MAC地址的表项,根据表项事先设置 的ARP属性判断出ARP表中包括检测出的MAC地址,并启动ARP更新单 元302。
也就是说,在进行由端口迁移所引发的MAC迁移时,获取单元301从 MAC迁移过程中获得一全测出的端口迁移后的端口地址和对应的MAC地址; 判别单元304根据检测出的MAC地址查询保存在存储单元302中的MAC 软件表,查询到包括检测出的MAC地址的表项,根据表项事先设置的ARP 属性判断出ARP表中包括^r测出的MAC地址,并启动ARP更新单元303; ARP更新单元303将ARP表中与检测出的MAC地址所对应的端口地址更 新为4全测出的端口地址。
当然,实际应用中,存储单元302还可以分为ROM、 RAM等不同的存 储器,并将MAC硬件表、ARP硬件表保存在ROM中,将MAC软件表、 ARP软件表等保存在RAM中。由于MAC软件表和ARP软件表分别与MAC 硬件表和ARP硬件表保持同步,所以,保存MAC软件表和ARP软件表的 存储器也通常称为映射区(shadow)。
应用本发明方案,由于交换机可以在进行MAC迁移时获得端口迁移后 的端口地址和对应的MAC地址,并根据端口迁移后的端口地址和对应的 MAC地址启动ARP表中端口地址的更新,不必等待ARP老化,从而实现 对ARP表的快速更新,避免交换机在端口发生迁移时长时间无法正确进行 三层转发。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。