三层转发方法、装置及地址解析协议信息表更新方法

文档序号:7961661阅读:166来源:国知局
专利名称:三层转发方法、装置及地址解析协议信息表更新方法
技术领域
本发明涉及三层转发技术领域,具体涉及一种采用两张表存储三层转发信息的交换芯片进行三层转发的方法和采用两张表存储三层转发信息的三层转发装置,以及一种采用两张表存储三层转发信息的交换芯片更新地址解析协议(ARP)信息表的方法。
背景技术
目前在数据通讯领域,交换机设备大量应用于二层、三层数据交换网络的接入层、汇聚层中。
二层交换的基本原理是交换机首先对以太网报文的转发过程进行二层学习,记录以太网报文的入端口、入虚拟局域网(VLAN)、源媒体接入控制(MAC)地址等的对应关系,并将该对应关系保存在MAC地址表中;此后,当交换机收到以太网报文时,在自身保存的MAC地址表中查找与该报文的目的MAC地址对应的源MAC地址,若查找到,则按照该源MAC地址对应的入端口、入VLAN等信息将该报文直接转发出去;若未查找到,则在报文所在VLAN内广播。
三层交换的基本原理是交换机首先对以太网报文的转发过程进行三层学习,并保存以太网报文的目的IP地址对应的网段地址前缀(Prefix)、下一跳主机地址(NextHop)、地址解析协议(ARP)信息的对应关系;此后,当交换机收到以太网报文时,首先按照最长匹配原则在自身查找到与报文的目的IP地址最为匹配的网段地址前缀,再通过该网段地址前缀查找到下一跳主机地址,再通过该下一跳主机地址查找到对应的ARP信息,然后以ARP信息中的MAC地址替换报文的目的MAC地址,以交换机的出接口MAC地址替换报文的源MAC地址,然后将该报文从与该报文的目的MAC地址对应的端口、VLAN发送出去。
交换机通常采用两种方式存储三层转发信息第一种是采用三张表来存储三层转发信息,这三张表分别是网段地址前缀表、ARP信息表、MAC地址表。在这种方式下,当交换机以ARP信息表中的MAC地址替换报文的目的MAC地址,以自身的出接口MAC地址替换报文的源MAC地址后,交换机在MAC地址表中查找替换后的目的MAC地址对应的端口、VLAN,然后将报文从所述端口、VLAN转发出去,即此时报文进行的是三层封装,而遵循的是二层转发流程。
第二种是采用两张表来存储三层转发信息,这两张表分别是网段地址前缀表和ARP信息表,且ARP信息表保存有MAC地址、端口和VLAN信息。在这种方式下,当交换机以ARP信息中的MAC地址替换报文的目的MAC地址,并以自身的出接口MAC地址替换报文的源MAC地址以后,交换机直接根据ARP信息表中存储的与替换后的目的MAC地址对应的端口、VLAN信息将报文转发出去。可以看出此时报文进行的也是三层封装,但不遵循二层转发流程。
由于MAC地址经常发生被删除的现象、MAC地址对应的端口也经常发生迁移的现象,当上述现象发生时MAC地址表可以及时得到更新,因此二层转发不会中断,从而,对于采用三张表存储三层转发信息的交换芯片,由于此时交换芯片遵循二层转发流程,因此也不会导致三层报文转发中断;但是,对于采用两张表存储三层转发信息的交换芯片,当MAC地址被删除或对应端口发生迁移时,由于ARP信息表中的MAC地址或端口可能没有及时更新,因此会导致报文因无法找到端口、VLAN或找到错误的端口、VLAN,而使得网络中的三层转发流量中断。
针对采用两张表存储三层转发信息的交换机,通常采用两种方法使得在MAC地址被删除和对应端口发生迁移时,ARP信息表中的对应信息能够及时得到更新
方法一删除ARP信息。当MAC地址被删除或者端口发生迁移时,删除交换机已学习到的对应ARP信息,并将网段地址前缀和下一跳地址的路由属性设置成转至中央处理单元(toCPU),以通过软件来触发ARP信息重新学习。
这种方法的缺陷是删除ARP信息,并将网段地址前缀和下一跳地址的路由属性设置成toCPU,会导致大量报文都发送至CPU,导致CPU的占用率过高,严重时会导致上层协议任务无法得到及时调度,从而使得ARP信息无法及时被重新学习,导致三层报文转发流量中断。
方法二发送ARP请求。当MAC地址被删除或者端口发生迁移后,不直接删除ARP信息表中的主机路由信息,而是通过广播针对该MAC地址的ARP请求,以促使ARP信息重新学习。这种方法的缺点是由于交换机的MAC地址经常被删除、对应端口也经常发生迁移,因此会有大量的ARP请求和响应报文发送到CPU,同样将导致CPU占用率高,同时大量的ARP报文将阻塞交换机的CPU发送队列,导致ARP请求和响应报文的丢失,从而使得ARP信息无法及时更新,最终导致三层报文流量中断。

发明内容
有鉴于此,本发明提供一种三层转发方法和装置,以在采用两张表存储三层转发信息时,避免三层转发流量中断;另外,本发明提供一种ARP信息表更新方法,以在MAC地址信息发生变化时及时更新ARP信息表,从而避免三层转发流量中断。
为达到上述目的,本发明的技术方案是这样实现的一种三层转发方法,该方法采用网段地址前缀表和ARP信息表存储三层转发信息的交换芯片在自身保存的MAC地址表中增加与MAC地址对应的IP地址信息,包括A、交换芯片检测到MAC地址信息发生了改变,根据该MAC地址对应的IP地址查找到对应的ARP信息,并根据改变的MAC地址信息,更新对应的ARP信息;B、交换芯片收到以太网报文,根据更新后的ARP信息进行三层转发。
步骤A所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址被删除,步骤A所述交换芯片更新对应的ARP信息包括交换芯片将ARP信息中的端口属性更新为广播。
所述步骤B包括交换芯片收到以太网报文,按照最长匹配原则在自身查找到该报文的目的IP地址对应的网段地址前缀,然后查找到该网段地址前缀对应的ARP信息,并检测到该ARP信息中的端口属性为在虚拟局域网VLAN内广播,则交换芯片在ARP信息中指定的VLAN内广播该报文。
交换芯片检测到MAC地址被删除的同时进一步包括交换芯片启动一个定时器,在定时器超时后,若还未检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址查找到对应的ARP信息,并触发该ARP信息重学习。
所述步骤A之后进一步包括交换芯片检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址,查找到对应的ARP信息,将ARP信息中的端口更新为学习到的端口,并将端口属性更新为单播。
步骤A所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址对应端口发生了迁移,步骤A所述交换芯片更新对应的ARP信息包括交换芯片根据该MAC地址对应的IP地址查找到对应的ARP信息,将该ARP信息中的端口更新为迁移后的端口。
一种三层转发装置,该装置包括MAC地址信息更新检测模块,检测到MAC地址信息发生改变,将携带MAC地址的更新指示发送出去;MAC地址信息存储更新模块,根据MAC地址信息更新检测模块发来的携带MAC地址的更新指示,在自身查找该MAC地址对应的IP地址,将携带该IP地址的更新指示发送出去;ARP信息存储更新模块,根据MAC地址信息存储更新模块发来的携带IP地址的更新指示更新自身与该IP地址对应的ARP信息;接收携带IP地址的ARP信息请求,将自身与该IP地址对应的ARP信息返回;转发控制模块,接收以太网报文,将该报文的目的IP地址携带在ARP信息请求中发送给ARP信息存储更新模块,根据ARP信息存储更新模块返回的ARP信息转发该报文。
所述MAC地址信息更新检测模块包括MAC地址删除检测模块,在检测到MAC地址被删除时,向MAC地址信息存储更新模块发送携带MAC地址的删除指示;端口迁移检测模块,在检测到MAC地址对应的端口发生迁移时,向MAC地址信息存储更新模块发送携带MAC地址和端口信息的端口迁移指示。
所述MAC地址信息存储更新模块包括MAC地址删除指示接收模块,接收MAC地址删除检测模块发来的携带MAC地址的删除指示,将该删除指示转发出去,并根据获取到的所述MAC地址对应的IP地址,将携带该IP地址的端口属性更新指示发送出去;端口迁移指示接收模块,接收端口迁移检测模块发来的携带MAC地址和端口信息的端口迁移指示,将该端口迁移指示转发出去,并根据获取到的所述MAC地址对应的IP地址,将携带该IP地址和所述端口信息的端口更新指示发送出去;MAC地址信息更新模块,接收MAC地址删除指示接收模块发来的携带MAC地址的删除指示,在自身保存的该MAC地址上设置被删除标记;接收端口迁移指示接收模块发来的携带MAC地址和端口信息的端口迁移指示,将自身保存的与该MAC地址对应的端口更新为该端口迁移指示携带的端口,且若检测到该MAC地址上设置有被删除标记,则清除该标记;根据MAC地址删除指示接收模块和端口迁移指示接收模块发来的携带MAC地址的获取IP地址请求,将对应的IP地址返回给MAC地址删除指示接收模块和端口迁移指示接收模块。
所述ARP信息存储更新模块包括端口属性更新指示接收模块,将接收到的MAC地址删除指示接收模块发来的携带IP地址的端口属性更新指示转发出去;端口更新指示接收模块,将接收到的端口迁移指示接收模块发来的携带IP地址和端口信息的端口更新指示转发出去;ARP信息更新模块,根据端口属性更新指示接收模块发来的携带IP地址的端口属性更新指示,将自身与该IP地址对应的ARP信息中的端口属性更新为广播;根据端口更新指示接收模块发来的携带IP地址和端口信息的端口更新指示,将自身与该IP地址对应的ARP信息中的端口更新为所述端口;接收转发控制模块发来的携带目的IP地址的ARP信息请求,将自身与该目的IP地址对应的ARP信息发送给转发控制模块。
一种ARP信息表更新方法,该方法采用网段地址前缀表和ARP信息表存储三层转发信息的交换芯片在自身保存的MAC地址表中增加与MAC地址对应的IP地址信息,包括交换芯片检测到MAC地址信息发生了改变,根据该MAC地址对应的IP地址查找到对应的ARP信息,并根据改变的MAC地址信息,更新对应的ARP信息。
所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址被删除,步骤A所述交换芯片更新对应的ARP信息包括交换芯片将ARP信息中的端口属性更新为广播。
交换芯片检测到MAC地址被删除的同时进一步包括交换芯片启动一个定时器,在定时器超时后,若还未检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址查找到对应的ARP信息,并触发该ARP信息重学习。
所述方法进一步包括交换芯片检测到ARP信息中的MAC地址被重学习,则根据该MAC地址对应的IP地址,查找到对应的ARP信息,将ARP信息中的端口更新为学习到的端口,并将端口属性更新为单播。
所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址对应端口发生了迁移,所述交换芯片更新对应的ARP信息包括交换芯片根据该MAC地址对应的IP地址查找到对应的ARP信息,将该ARP信息中的端口更新为迁移后的端口。
与现有技术相比,本发明通过在MAC地址表中增加与MAC地址对应的IP地址,当MAC地址信息发生了改变时,根据所述IP地址查找到对应的ARP信息,并及时更新ARP信息中的MAC地址信息,避免了当MAC地址信息发生改变时,由于ARP信息更新不及时而导致的三层转发端口无法查找到或查找错误,从而引起的三层转发流量中断的发生。具体地,当MAC地址被删除时,可以将ARP信息中的对应端口属性设置为广播;当MAC地址对应端口发生迁移时,可以将ARP信息中的端口及时更新为迁移后的端口,使得MAC地址信息改变后,无需再将报文发送到CPU以触发MAC地址重学习、无需向CPU发送ARP报文,在避免三层转发流量中断的同时,避免了对CPU的占用率的冲击;进一步地,对于单向流,可在检测到MAC地址信息被删除时启动一定时器,并在定时超时后及时删除ARP,以触发ARP重新学习,避免单向流的网络中断现象的发生。


图1为本发明实施例提供的采用两张表存储三层转发信息时,当MAC地址被删除时的三层转发流程图;图2为本发明实施例提供的采用两张表存储三层转发信息时,当MAC地址对应端口发生迁移时的三层转发流程图;图3为本发明实施例提供的三层转发装置框图一;
图4为本发明实施例提供的三层转发装置框图二。
具体实施例方式
本发明的核心思想是对于采用两张表存储三层转发信息的交换芯片,在MAC地址表中增加与MAC地址对应的IP地址,当MAC地址被删除时,在MAC地址表中设置被删除标记,并根据IP地址查找到对应的ARP信息,将ARP信息中的端口属性设置成VLAN内广播;当MAC地址对应端口发生迁移时,将MAC地址表中的端口更新为迁移后的端口,并根据IP地址查找到对应的ARP信息,将ARP信息中的端口也更新为迁移后的端口,从而实现了ARP信息表的及时更新,避免了三层转发流量的中断。
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明提供的采用两张表存储三层转发信息时,当MAC地址被删除时的三层转发的流程图,如图1所示,其具体步骤如下步骤101交换芯片在MAC地址表中增加各MAC地址对应的IP地址。
步骤102交换芯片检测到某个MAC地址被删除,在MAC地址表中为该MAC地址设置被删除标记,并在MAC地址表中记录该MAC地址的被删除时刻。
步骤103交换芯片在MAC地址表中查找到该MAC地址对应的IP地址,然后根据最长匹配原则在网段地址前缀表中查找到与该IP地址最匹配的网段地址前缀,进而查找到与该网段地址前缀对应的ARP信息,将该ARP信息中的端口属性设置为VLAN内广播。
对于单向以太网报文,由于没有对应的以太网报文返回,因此无法触发MAC地址的再学习。为了避免该MAC地址对应的三层报文转发流量中断,在本发明中,交换芯片检测到某个MAC地址被删除的同时,进一步包括启动一个定时器,当交换芯片检测到该定时器超时,且该MAC地址未被重新学习如被删除标记未被清除,则在MAC地址表中查找到该MAC地址对应的IP地址,然后查找到该IP地址对应的网段地址前缀,进而查找到该网段地址前缀对应的ARP信息,将该ARP信息删除,以触发ARP信息重新学习。
步骤104交换芯片接收以太网报文。
步骤105交换芯片根据该报文的目的IP地址,按照最长匹配原则,在自身查找到与该目的IP地址最匹配的网段地址前缀,然后根据该网段地址前缀查找到对应的ARP信息,以ARP信息中的MAC地址替换报文的目的MAC地址,以自身的出接口MAC地址替换报文的源MAC地址。
步骤106交换芯片检测到ARP信息中的端口属性为VLAN内广播,将该报文在ARP信息中的VLAN内广播。
进一步地,当交换芯片检测到被删除的MAC地址被重新学习后,清除MAC地址表中设置在该MAC地址上的被删除标记,并通过MAC地址表中保存的该MAC地址对应的IP地址查找到对应的ARP信息,将ARP信息中的端口更新为新学习到的端口,将端口属性由广播更新为单播。
可以看出当MAC地址被删除时,由于通过ARP信息表更新步骤即步骤101~103将ARP信息表中的对应端口属性设置为广播,使得报文可以转发出去,避免了三层转发流量的中断。
图2为本发明提供的采用两张表存储三层转发信息时,发生端口迁移时的三层转发的流程图,如图2所示,其具体步骤如下步骤201交换芯片在MAC地址表中增加各MAC地址对应的IP地址。
步骤202交换芯片检测到某个MAC地址的端口发生迁移,将MAC地址表中保存的该MAC地址对应的端口更新为迁移后的端口。
步骤203交换芯片根据MAC地址表中保存的该MAC地址对应的IP地址,按照最长匹配原则,在自身查找到与该IP地址最匹配的网段地址前缀,然后根据该网段地址前缀查找到对应的ARP信息,将ARP信息中的端口更新为迁移后的端口。
步骤204交换芯片接收以太网报文。
步骤205交换芯片根据该报文的目的IP地址,按照最长匹配原则,在自身查找到与该目的IP地址最匹配的网段地址前缀,然后根据该网段地址前缀查找到对应的ARP信息,以ARP信息中的MAC地址替换报文的目的MAC地址,以自身的出接口MAC地址替换报文的源MAC地址。
步骤206交换芯片将报文从ARP信息中的端口、VLAN发送出去。
可以看出当MAC地址对应端口发生迁移时,由于通过ARP信息表更新步骤即步骤201~203将ARP信息表中的对应端口及时更新为迁移后的端口,使得报文可以通过正确的端口转发出去,避免了三层转发流量的中断。
图3为本发明提供的三层转发的装置框图一,如图3所示,该装置包括MAC地址信息更新检测模块31、MAC地址信息存储更新模块32、ARP信息存储更新模块33和转发控制模块34,其中MAC地址信息更新检测模块31用于在检测到MAC地址信息发生改变后,向MAC地址信息存储更新模块32发送携带MAC地址的更新指示。
MAC地址信息存储更新模块32用于保存MAC地址信息即保存MAC地址、端口、VLAN、IP地址的对应关系,根据MAC地址信息更新检测模块31发来的更新指示,对应更新自身保存的MAC地址信息,并在自身查找MAC地址信息更新检测模块31发来的MAC地址对应的IP地址,然后向ARP信息存储更新模块33发送携带该IP地址的更新指示。
ARP信息存储更新模块33保存网段地址前缀和ARP信息的对应关系即保存网段地址前缀、MAC地址、端口、VLAN信息等的对应关系,在收到MAC地址信息存储更新模块32发来的携带IP地址的更新指示后,按照最长匹配原则,在自身查找到与该IP地址最匹配的网段地址前缀,从而查找到与该网段地址前缀对应的ARP信息,根据所述更新指示对应更新ARP信息;在收到转发控制模块34发来的携带目的IP地址的ARP信息请求后,按照最长匹配原则,在自身查找到与该目的IP地址最匹配的网段地址前缀,从而查找到与该网段地址前缀对应的ARP信息,将ARP信息中的MAC地址、端口和VLAN信息返回给转发控制模块34。
转发控制模块34在收到以太网报文后,将该以太网报文的目的IP地址携带在ARP信息请求中发送给ARP信息存储更新模块33,并以ARP信息存储更新模块33返回的MAC地址替换该报文的目的MAC地址,以自身保存的出接口MAC地址替换该报文的源MAC地址,并根据ARP信息存储更新模块33返回的端口和VLAN信息转发该报文。
图4为本发明提供的三层转发装置框图二,如图4所示,该图与图3相比MAC地址信息更新检测模块31主要包括MAC地址删除检测模块311和端口迁移检测模块312,其中MAC地址删除检测模块311用于在检测到MAC地址被删除时,向MAC地址信息存储更新模块32发送携带MAC地址的删除指示;端口迁移检测模块312用于在检测到MAC地址对应的端口发生迁移时,向MAC地址信息存储更新模块32发送携带MAC地址和迁移后的端口信息的端口迁移指示。
MAC地址信息存储更新模块32主要包括MAC地址删除指示接收模块321、端口迁移指示接收模块322和MAC地址信息更新模块323,其中MAC地址删除指示接收模块321用于接收MAC地址删除检测模块311发来的携带MAC地址的删除指示,并将该删除指示转发给MAC地址信息更新模块323,同时向MAC地址信息更新模块323获取该MAC地址对应的IP地址,然后向ARP信息存储更新模块33发送携带该IP地址的端口属性更新指示;端口迁移指示接收模块322用于接收端口迁移检测模块312发来的携带MAC地址和端口信息的端口迁移指示,将该端口迁移指示转发给MAC地址信息更新模块323,并向MAC地址信息更新模块323获取端口迁移检测模块312发来的MAC地址对应的IP地址,然后向ARP信息存储更新模块33发送携带该IP地址和所述端口迁移指示中的端口信息的端口更新指示;
MAC地址信息更新模块323保存MAC地址信息即保存MAC地址、端口、VLAN、IP地址的对应关系,在收到MAC地址删除指示接收模块321发来的携带MAC地址的删除指示后,在自身保存的该MAC地址上设置被删除标记,并记录该MAC地址的删除时刻;在收到端口迁移指示接收模块322发来的携带MAC地址和端口信息的端口迁移指示后,将自身保存的与该MAC地址对应的端口更新为该端口迁移指示携带的端口,且若检测到该MAC地址上设置有被删除标记,则清除该标记;根据MAC地址删除指示接收模块321和端口迁移指示接收模块322发来的携带MAC地址的获取IP地址请求,将与所述MAC地址对应的IP地址返回给MAC地址删除指示接收模块321和端口迁移指示接收模块322。
ARP信息存储更新模块33主要包括端口属性更新指示接收模块331、端口更新指示接收模块332和ARP信息更新模块333,其中端口属性更新指示接收模块331用于接收MAC地址删除指示接收模块321发来的携带IP地址的端口属性更新指示,将该端口属性更新指示转发给ARP信息更新模块333;端口更新指示接收模块332用于接收端口迁移指示接收模块322发来的携带IP地址和端口信息的端口更新指示,将该端口更新指示转发给ARP信息更新模块333;ARP信息更新模块333用于保存网段地址前缀和ARP信息的对应关系,在收到携带IP地址的端口属性更新指示后,按照最长匹配原则,在自身查找与该IP地址最匹配的网段地址前缀,然后将该网段地址前缀对应的ARP信息中的端口属性更新为广播;在收到携带IP地址和端口信息的端口更新指示后,按照最长匹配原则,在自身查找与该IP地址最匹配的网段地址前缀,然后将该网段地址前缀对应的ARP信息中的端口更新为所述端口更新指示携带的端口;在收到转发控制模块34发来的携带目的IP地址的ARP信息请求后,按照最长匹配原则,在自身查找与该目的IP地址最匹配的网段地址前缀,然后将该网段地址前缀对应的ARP信息中的MAC地址、端口和VLAN信息发送给转发控制模块34。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种三层转发方法,其特征在于,采用网段地址前缀表和地址解析协议ARP信息表存储三层转发信息的交换芯片在自身保存的媒体接入控制MAC地址表中增加与MAC地址对应的IP地址信息,该方法包括A、交换芯片检测到MAC地址信息发生了改变,根据该MAC地址对应的IP地址查找到对应的ARP信息,并根据改变的MAC地址信息,更新对应的ARP信息;B、交换芯片收到以太网报文,根据更新后的ARP信息进行三层转发。
2.如权利要求1所述的方法,其特征在于,步骤A所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址被删除,步骤A所述交换芯片更新对应的ARP信息包括交换芯片将ARP信息中的端口属性更新为广播。
3.如权利要求2所述的方法,其特征在于,所述步骤B包括交换芯片收到以太网报文,按照最长匹配原则在自身查找到该报文的目的IP地址对应的网段地址前缀,然后查找到该网段地址前缀对应的ARP信息,并检测到该ARP信息中的端口属性为在虚拟局域网VLAN内广播,则交换芯片在ARP信息中指定的VLAN内广播该报文。
4.如权利要求2所述的方法,其特征在于,交换芯片检测到MAC地址被删除的同时进一步包括交换芯片启动一个定时器,在定时器超时后,若还未检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址查找到对应的ARP信息,并触发该ARP信息重学习。
5.如权利要求2所述的方法,其特征在于,所述步骤A之后进一步包括交换芯片检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址,查找到对应的ARP信息,将ARP信息中的端口更新为学习到的端口,并将端口属性更新为单播。
6.如权利要求1所述的方法,其特征在于,步骤A所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址对应端口发生了迁移,步骤A所述交换芯片更新对应的ARP信息包括交换芯片根据该MAC地址对应的IP地址查找到对应的ARP信息,将该ARP信息中的端口更新为迁移后的端口。
7.一种三层转发装置,其特征在于,该装置包括MAC地址信息更新检测模块,检测到MAC地址信息发生改变,将携带MAC地址的更新指示发送出去;MAC地址信息存储更新模块,根据MAC地址信息更新检测模块发来的携带MAC地址的更新指示,在自身查找该MAC地址对应的IP地址,将携带该IP地址的更新指示发送出去;ARP信息存储更新模块,根据MAC地址信息存储更新模块发来的携带IP地址的更新指示更新自身与该IP地址对应的ARP信息;接收携带IP地址的ARP信息请求,将自身与该IP地址对应的ARP信息返回;转发控制模块,接收以太网报文,将该报文的目的IP地址携带在ARP信息请求中发送给ARP信息存储更新模块,根据ARP信息存储更新模块返回的ARP信息转发该报文。
8.如权利要求7所述的装置,其特征在于,所述MAC地址信息更新检测模块包括MAC地址删除检测模块,在检测到MAC地址被删除时,向MAC地址信息存储更新模块发送携带MAC地址的删除指示;端口迁移检测模块,在检测到MAC地址对应的端口发生迁移时,向MAC地址信息存储更新模块发送携带MAC地址和端口信息的端口迁移指示。
9.如权利要求8所述的装置,其特征在于,所述MAC地址信息存储更新模块包括MAC地址删除指示接收模块,接收MAC地址删除检测模块发来的携带MAC地址的删除指示,将该删除指示转发出去,并根据获取到的所述MAC地址对应的IP地址,将携带该IP地址的端口属性更新指示发送出去;端口迁移指示接收模块,接收端口迁移检测模块发来的携带MAC地址和端口信息的端口迁移指示,将该端口迁移指示转发出去,并根据获取到的所述MAC地址对应的IP地址,将携带该IP地址和所述端口信息的端口更新指示发送出去;MAC地址信息更新模块,接收MAC地址删除指示接收模块发来的携带MAC地址的删除指示,在自身保存的该MAC地址上设置被删除标记;接收端口迁移指示接收模块发来的携带MAC地址和端口信息的端口迁移指示,将自身保存的与该MAC地址对应的端口更新为该端口迁移指示携带的端口,且若检测到该MAC地址上设置有被删除标记,则清除该标记;根据MAC地址删除指示接收模块和端口迁移指示接收模块发来的携带MAC地址的获取IP地址请求,将对应的IP地址返回给MAC地址删除指示接收模块和端口迁移指示接收模块。
10.如权利要求9所述的装置,其特征在于,所述ARP信息存储更新模块包括端口属性更新指示接收模块,将接收到的MAC地址删除指示接收模块发来的携带IP地址的端口属性更新指示转发出去;端口更新指示接收模块,将接收到的端口迁移指示接收模块发来的携带IP地址和端口信息的端口更新指示转发出去;ARP信息更新模块,根据端口属性更新指示接收模块发来的携带IP地址的端口属性更新指示,将自身与该IP地址对应的ARP信息中的端口属性更新为广播;根据端口更新指示接收模块发来的携带IP地址和端口信息的端口更新指示,将自身与该IP地址对应的ARP信息中的端口更新为所述端口;接收转发控制模块发来的携带目的IP地址的ARP信息请求,将自身与该目的IP地址对应的ARP信息发送给转发控制模块。
11.一种ARP信息表更新方法,其特征在于,采用网段地址前缀表和ARP信息表存储三层转发信息的交换芯片在自身保存的MAC地址表中增加与MAC地址对应的IP地址信息,该方法包括交换芯片检测到MAC地址信息发生了改变,根据该MAC地址对应的IP地址查找到对应的ARP信息,并根据改变的MAC地址信息,更新对应的ARP信息。
12.如权利要求11所述的方法,其特征在于,所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址被删除,步骤A所述交换芯片更新对应的ARP信息包括交换芯片将ARP信息中的端口属性更新为广播。
13.如权利要求12所述的方法,其特征在于,交换芯片检测到MAC地址被删除的同时进一步包括交换芯片启动一个定时器,在定时器超时后,若还未检测到该MAC地址被重学习,则根据该MAC地址对应的IP地址查找到对应的ARP信息,并触发该ARP信息重学习。
14.如权利要求12所述的方法,其特征在于,所述方法进一步包括交换芯片检测到ARP信息中的MAC地址被重学习,则根据该MAC地址对应的IP地址,查找到对应的ARP信息,将ARP信息中的端口更新为学习到的端口,并将端口属性更新为单播。
15.如权利要求11所述的方法,其特征在于,所述交换芯片检测到MAC地址信息发生了改变为交换芯片检测到MAC地址对应端口发生了迁移,所述交换芯片更新对应的ARP信息包括交换芯片根据该MAC地址对应的IP地址查找到对应的ARP信息,将该ARP信息中的端口更新为迁移后的端口。
全文摘要
本发明公开了一种三层转发方法,包括在MAC地址表中增加与MAC地址对应的IP地址,当MAC地址信息发生改变时,根据所述IP地址查找到对应的ARP信息,并更新ARP信息中的MAC地址信息;本发明同时公开了一种三层转发装置,包括MAC地址信息更新检测模块、MAC地址信息存储更新模块、ARP信息存储更新模块和转发控制模块;本发明也公开了一种ARP信息表更新方法。本发明避免了MAC地址信息发生改变时,由于ARP信息更新不及时而导致的三层转发端口无法查找到或查找错误从而引起的三层转发流量中断的发生,并避免了对CPU的占用率的冲击;对于单向流,在MAC地址信息改变的同时启动一定时器,并在定时超时后及时触发ARP信息重新学习,避免单向流的网络中断现象的发生。
文档编号H04L29/06GK1878139SQ20061008330
公开日2006年12月13日 申请日期2006年5月31日 优先权日2006年5月31日
发明者苏兴山, 赵丽娜 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1