CN102868775B - 地址解析协议表容量的扩展方法、报文转发方法和装置 - Google Patents
地址解析协议表容量的扩展方法、报文转发方法和装置 Download PDFInfo
- Publication number
- CN102868775B CN102868775B CN201210328748.5A CN201210328748A CN102868775B CN 102868775 B CN102868775 B CN 102868775B CN 201210328748 A CN201210328748 A CN 201210328748A CN 102868775 B CN102868775 B CN 102868775B
- Authority
- CN
- China
- Prior art keywords
- switch
- arp
- address
- information
- outlet
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种地址解析协议表容量的扩展方法、报文转发方法和装置,该ARP表容量的扩展方法包括:堆叠***中的第一交换机接收ARP信息;获得该ARP信息关联的出口;如果出口为第一交换机,则将ARP信息添加到ARP表中;如果出口为堆叠***中除第一交换机之外的第二交换机,则删除ARP信息,并将上述IP地址对应的路由信息中包含的下一跳信息修改为第二交换机关联的ARP表项中的IP地址。本发明可以保证出口为除第一交换机之外的第二交换机的ARP表项在第一交换机保存的ARP表中只有一项,节约了第一交换机保存的ARP表的整体资源,同时可以充分利用堆叠***中除第一交换机之外的其他交换机上的ARP资源,极大地提高了ARP表的容量。
Description
技术领域
本发明涉及通信技术,尤其涉及一种地址解析协议(Address ResolutionProtocol;以下简称:ARP)表容量的扩展方法、报文转发方法和装置。
背景技术
在大型网络中,通常采用堆叠交换机的方式满足大型网络对端口数量的要求;通过制造商提供的专用连接电缆或者普通线缆将一台交换机的堆叠口与另一台交换机的堆叠口连接,以实现整个设备端口容量的扩充。一般只有可堆叠的交换机才具备堆叠端口。当多台交换机通过堆叠的方式连接在一起时就像一台交换机一样,可以被当作一台交换机进行管理;可堆叠式交换机可以非常方便地实现对网络的扩充,是新建网络时最为理想的选择,不仅增加了可统一管理的用户端口数,还可以对多台交换机的统一管理,也给用户使用提供了便捷;一般情况下,当多台交换机堆叠在一起时,根据堆叠中各交换机的功能分为主交换机和从交换机,为了实现堆叠***下对多台交换机的管理,主交换机与从交换机之间需要通过堆叠口发送某些特定类型报文进行信息交互,以实现主交换机对从交换机进行管理;主交换机需要运行各种协议和直接接收用户的管理信息,并进行解析后通告到从交换机。从交换机主要是接收主交换机传递的信息并将自己的信息通告给主交换机,从交换机既不运行协议,也不直接接受用户的管理;主交换机与从交换机交互的信息一般包括管理报文和数据报文。举例来说,堆叠***中需要对某个从交换机进行配置时,主交换机将相关配置信息封装成特定报文,该特定报文即为一种管理报文,然后,主交换机将上述报文从主交换机的中央处理器(Central Processing Unit;以下简称:CPU)通过堆叠口发到从交换机,从交换机收到上述报文后,将报文重新拆封,转换成相关的配置信息,设置到从交换机;数据报文是指除管理报文之外的所有报文,管理报文和数据报文共享CPU资源。
因特网协议(Internet Protocol;以下简称:IP)报文的转发首先根据报文的目的IP地址查找路由表,从路由表中获取出口以及下一跳IP地址信息,然后根据下一跳IP地址查找ARP表,获取对应的介质访问控制(Media Access Control;以下简称:MAC)地址信息,保证报文的正确转发;因此为了保证IP报文的正确转发,需要路由表和ARP表的配合才能实现。
其中,ARP是一个位于传输控制协议(Transmission Control Protocol;以下简称:TCP)/IP协议栈中的底层协议,其作用是将IP地址转换为相应的物理地址;ARP的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。MAC地址也称为硬件地址,是识别局域网中网络设备节点的标识;在网络底层的物理传输过程中,通过MAC地址可以很容易实现不同设备之间的通信。
综上所述,要保证IP报文的正确转发,需要路由表和ARP表的配合才能实现;目前堆叠***中对路由表和ARP表的管理都采用全局维护的方式,而目前的芯片方案中,由于芯片容量的限制,路由表的数量一般都会大于ARP表的容量,因此堆叠***上ARP表的容量就成为了堆叠***的性能瓶颈,但现有技术并未提供对ARP表的容量进行扩展的方案。
发明内容
本发明提供一种地址解析协议表容量的扩展方法、报文转发方法和装置,以实现对ARP表的容量进行扩展。
本发明一方面提供一种地址解析协议ARP表容量的扩展方法,包括:
堆叠***中的第一交换机接收ARP信息;
所述第一交换机在所述第一交换机保存的路由表中查找与所述ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
如果所述ARP信息关联的出口为所述第一交换机,则将所述ARP信息添加到所述第一交换机保存的ARP表中;
如果所述ARP信息关联的出口为所述堆叠***中除所述第一交换机之外的第二交换机,则删除所述ARP信息,并将所述路由表中出口不是所述第一交换机的路由信息的出口修改为所述第一交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述第二交换机关联的ARP表项中的IP地址。
本发明另一方面提供一种报文转发方法,包括:
堆叠***中的交换机接收因特网协议IP报文;
所述交换机在所述交换机保存的路由表中查找与所述IP报文携带的目的IP地址对应的路由信息,从所述目的IP地址对应的路由信息中获得所述目的IP地址对应的出口;
如果所述出口为所述交换机的堆叠口,则所述交换机根据所述目的IP地址对应的路由信息中包含的下一跳信息,通过所述堆叠口的二层转发功能将所述IP报文转发到所述交换机连接的另一交换机的堆叠口,以便所述另一交换机通过所述另一交换机中接收所述IP报文的堆叠口的三层转发功能对所述IP报文进行三层转发,以将所述IP报文转发到所述下一跳信息指示的交换机;所述目的IP地址对应的路由信息中包含的下一跳信息为所述目的IP地址对应的路由信息所关联的ARP表项中的IP地址。
本发明再一方面提供一种地址解析协议ARP表容量的扩展装置,设置在堆叠***中的交换机上,所述ARP表容量的扩展装置包括:
接收模块,用于接收ARP信息;
查找模块,用于在所述交换机保存的路由表中查找与所述接收模块接收的ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
添加模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述交换机时,将所述ARP信息添加到所述交换机保存的ARP表中;
删除模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述堆叠***中除所述交换机之外的另一交换机时,删除所述ARP信息;
修改模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述堆叠***中除所述交换机之外的另一交换机时,将所述路由表中出口不是所述交换机的路由信息的出口修改为所述交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述另一交换机关联的ARP表项中的IP地址。
本发明再一方面提供一种报文转发装置,设置在堆叠***中的交换机上,所述报文转发装置包括:
报文接收模块,用于接收因特网协议IP报文;
信息查找模块,用于在所述交换机保存的路由表中查找与所述报文接收模块接收的IP报文携带的目的IP地址对应的路由信息,从所述目的IP地址对应的路由信息中获得所述目的IP地址对应的出口;
报文转发模块,用于当所述信息查找模块获得的所述出口为所述交换机的堆叠口时,根据所述目的IP地址对应的路由信息中包含的下一跳信息,通过所述堆叠口的二层转发功能将所述IP报文转发到所述交换机连接的另一交换机的堆叠口,以便所述另一交换机通过所述另一交换机中接收所述IP报文的堆叠口的三层转发功能对所述IP报文进行三层转发,以将所述IP报文转发到所述下一跳信息指示的交换机;所述目的IP地址对应的路由信息中包含的下一跳信息为所述目的IP地址对应的路由信息所关联的ARP表项中的IP地址。
本发明再一方面提供一种交换机,包括如上所述的地址解析协议ARP表容量的扩展装置和/或如上所述的报文转发装置。
本发明再一方面提供一种堆叠***,包括至少两个如上所述的交换机。
本发明的技术效果是:堆叠***中的第一交换机接收ARP信息之后,在第一交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从上述IP地址对应的路由信息中获得该ARP信息关联的出口;如果上述ARP信息关联的出口为第一交换机,则将上述ARP信息添加到第一交换机保存的ARP表中;如果上述ARP信息关联的出口为堆叠***中除第一交换机之外的第二交换机,则删除上述ARP信息,不再将该ARP信息添加到第一交换机保存的ARP表中,这样可以保证出口为堆叠***中除第一交换机之外的第二交换机的ARP表项在第一交换机保存的ARP表中只有一项,从而可以节约第一交换机保存的ARP表的资源,同时可以充分利用堆叠***中除第一交换机之外的其他交换机上的ARP表的资源,极大地提高了ARP表的容量。
附图说明
图1为本发明ARP表容量的扩展方法一个实施例的流程图;
图2为本发明报文转发方法一个实施例的流程图;
图3为本发明ARP表容量的扩展方法一个实施例的流程图;
图4为本发明报文转发方法另一个实施例的流程图;
图5为本发明ARP表容量的扩展装置一个实施例的结构示意图;
图6为本发明ARP表容量的扩展装置另一个实施例的结构示意图;
图7为本发明报文转发装置一个实施例的结构示意图。
具体实施方式
图1为本发明ARP表容量的扩展方法一个实施例的流程图,如图1所示,该ARP表容量的扩展方法可以包括:
步骤101,堆叠***中的第一交换机接收ARP信息。
步骤102,第一交换机在上述第一交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从该IP地址对应的路由信息中获得上述ARP信息关联的出口。
然后当上述ARP信息关联的出口为第一交换机时,执行步骤103;当上述ARP信息关联的出口为上述堆叠***中除第一交换机之外的第二交换机时,执行步骤104。
步骤103,如果上述ARP信息关联的出口为第一交换机,则将上述ARP信息添加到第一交换机保存的ARP表中。
步骤104,如果上述ARP信息关联的出口为上述堆叠***中除第一交换机之外的第二交换机,则删除上述ARP信息,并将路由表中出口不是第一交换机的路由信息的出口修改为第一交换机的堆叠口,以及将上述IP地址对应的路由信息中包含的下一跳信息修改为第二交换机关联的ARP表项中的IP地址。
其中,上述第二交换机关联的ARP表项中包括IP地址和MAC地址,该第二交换机关联的ARP表项中的IP地址和/或MAC地址用于指示第二交换机,也就是说,将上述IP地址对应的路由信息中包含的下一跳信息修改为第二交换机关联的ARP表项中的IP地址之后,根据上述IP地址对应的路由信息中包含的下一跳信息可以获知上述IP地址对应的路由信息中的下一跳为第二交换机。
进一步地,步骤101之前,第一交换机还可以在该第一交换机保存的ARP表中添加与上述堆叠***中除第一交换机之外的每台交换机关联的ARP表项。本实施例中,与上述堆叠***中除第一交换机之外的每台交换机关联的ARP表项同样包括IP地址和MAC地址,每个ARP表项中的IP地址和/或MAC地址用于指示该ARP表项关联的交换机。
本实施例中,如果上述ARP信息关联的出口为堆叠***中除所述第一交换机之外的第二交换机,则当上述ARP表中不存在与第二交换机关联的ARP表项时,第一交换机在上述ARP表中添加与第二交换机关联的ARP表项。
这样,第一交换机仅在该第一交换机保存的ARP表中添加了一项与第二交换机关联的ARP表项,如果上述ARP信息关联的出口为上述堆叠***中除第一交换机之外的第二交换机,则第一交换机删除上述ARP信息,不再将该ARP信息添加到该第一交换机保存的ARP表中,这样可以保证出口为堆叠***中除第一交换机之外的第二交换机的ARP表项在第一交换机保存的ARP表中只有一项,从而可以节约第一交换机保存的ARP表的资源。
本实施例中,当第一交换机为上述堆叠***中的主交换机时,堆叠***中的第一交换机接收ARP信息之后,第一交换机还需要将上述ARP信息发送到堆叠***中的从交换机;
当上述第一交换机为堆叠***中的从交换机时,上述堆叠***中的第一交换机接收ARP信息可以为:第一交换机接收堆叠***中的主交换机发送的ARP信息。
上述实施例中,堆叠***中的第一交换机接收ARP信息之后,在第一交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从上述IP地址对应的路由信息中获得该ARP信息关联的出口;如果上述ARP信息关联的出口为第一交换机,则将上述ARP信息添加到第一交换机保存的ARP表中;如果上述ARP信息关联的出口为堆叠***中除第一交换机之外的第二交换机,则删除上述ARP信息,不再将该ARP信息添加到第一交换机保存的ARP表中,这样可以保证出口为堆叠***中除第一交换机之外的第二交换机的ARP表项在第一交换机保存的ARP表中只有一项,从而可以节约第一交换机保存的ARP表的资源,同时可以充分利用堆叠***中除第一交换机之外的其他交换机上的ARP表的资源,极大地提高了ARP表的容量。
需要说明的是,本实施例中的“第一”和“第二”仅为描述方便,不代表性能的优劣、实施的先后、数量的多寡和/或优先级的高低,下同。
图2为本发明报文转发方法一个实施例的流程图,如图2所示,该报文转发方法可以包括:
步骤201,堆叠***中的交换机接收IP报文。
步骤202,上述交换机在该交换机保存的路由表中查找与上述IP报文携带的目的IP地址对应的路由信息,从上述目的IP地址对应的路由信息中获得上述目的IP地址对应的出口。
步骤203,如果上述出口为上述交换机的堆叠口,则上述交换机根据目的IP地址对应的路由信息中包含的下一跳信息,通过上述堆叠口的二层转发功能将上述IP报文转发到上述交换机连接的另一交换机的堆叠口,以便上述另一交换机通过该另一交换机中接收上述IP报文的堆叠口的三层转发功能对上述IP报文进行三层转发,以将上述IP报文转发到上述下一跳信息指示的交换机;上述目的IP地址对应的路由信息中包含的下一跳信息为上述目的IP地址对应的路由信息所关联的ARP表项中的IP地址。
本实施例中,如果上述出口为上述交换机中除堆叠口之外的转发端口,则通过该转发端口转发上述IP报文。
上述实施例可以实现在扩展ARP表容量的前提下,保证报文的正确转发。
本发明提供的ARP表容量的扩展方法通过对堆叠***中的ARP表进行区别存储的方式来实现ARP表容量的扩展;由于IP报文的正确转发是由路由表和ARP表的配合来实现的,因此根据路由表中出口的情况,对ARP表项进行区别存储,可以实现对ARP表的容量进行扩展。下面对本发明提供的ARP表容量的扩展方法进行详细介绍。
图3为本发明ARP表容量的扩展方法一个实施例的流程图,如图3所示,该ARP表容量的扩展方法可以包括:
步骤301,第一交换机在该第一交换机保存的ARP表中添加与上述堆叠***中除第一交换机之外的每台交换机关联的ARP表项。
具体地,第一交换机可以先获取堆叠***中的交换机数目N,然后在第一交换机的ARP表中添加N-1条ARP表项,这N-1条ARP表项分别关联堆叠***中除第一交换机之外的每台交换机。
步骤302,第一交换机接收ARP信息。
具体地,当第一交换机为堆叠***中的从交换机时,第一交换机接收ARP信息可以为:第一交换机接收堆叠***中的主交换机发送的ARP信息。
另外,当第一交换机为上述堆叠***中的主交换机时,第一交换机接收ARP信息之后,第一交换机还需要将上述ARP信息发送到堆叠***中的从交换机;这样,堆叠***中的每台交换机均执行同样的操作对自身保存的ARP表的容量进行扩展。
步骤303,第一交换机在上述第一交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从该IP地址对应的路由信息中获得上述ARP信息关联的出口。
步骤304,判断上述ARP信息关联的出口是否为第一交换机。如果是,则执行步骤305;如果上述ARP信息关联的出口不是第一交换机,而是堆叠***中除第一交换机之外的第二交换机,则执行步骤306。
步骤305,第一交换机将上述ARP信息添加到第一交换机保存的ARP表中。流程结束。
步骤306,第一交换机删除上述ARP信息。
步骤307,第一交换机将该第一交换机保存的路由表中出口不是第一交换机的路由信息的出口修改为第一交换机的堆叠口,以及将上述IP地址对应的路由信息中包含的下一跳信息修改为第二交换机关联的ARP表项中的IP地址。
其中,上述第二交换机关联的ARP表项中包括IP地址和MAC地址,该第二交换机关联的ARP表项中的IP地址和/或MAC地址用于指示第二交换机,也就是说,将上述IP地址对应的路由信息中包含的下一跳信息修改为第二交换机关联的ARP表项中的IP地址之后,根据上述IP地址对应的路由信息中包含的下一跳信息可以获知上述IP地址对应的路由信息中的下一跳为第二交换机。
本实施例中,将该第一交换机保存的路由表中出口不是第一交换机的路由信息的出口修改为第一交换机的堆叠口之后,第一交换机保存的路由表中的出口只有两种类型,即堆叠口和第一交换机中除堆叠口之外的转发端口;为了保证报文的正确转发,需要为第一交换机中的堆叠口设置二层转发功能和三层转发功能,其中,在通过第一交换机中的堆叠口发送报文时,开启该堆叠口的二层转发功能,第一交换机通过二层转发功能将上述报文从该堆叠口转发给第一交换机连接的另一交换机;在第一交换机中的堆叠口接收到第一交换机连接的另一交换机发送的报文之后,开启该堆叠口的三层转发功能,对接收到的报文进行三层转发。
步骤308,判断上述ARP表中是否存在与第二交换机关联的ARP表项。如果是,则不需要处理,流程结束。如果上述ARP表中不存在与第二交换机关联的ARP表项,则执行步骤309。
步骤309,第一交换机在上述ARP表中添加与第二交换机关联的ARP表项。流程结束。
步骤308和步骤309的操作可以实现在堆叠***的每台交换机保存的ARP表中,出口为堆叠***中除自身之外的交换机的ARP表项仅保存一份。
本实施例中,步骤307与步骤308~步骤309可以并行执行,也可以先后执行,本实施例对步骤307与步骤308~步骤309的执行顺序不作限定。但图3中以先执行步骤307,后执行步骤308~步骤309为例示出。
上述实施例中,堆叠***中的第一交换机接收ARP信息之后,在第一交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从上述IP地址对应的路由信息中获得该ARP信息关联的出口;如果上述ARP信息关联的出口为第一交换机,则将上述ARP信息添加到第一交换机保存的ARP表中;如果上述ARP信息关联的出口为堆叠***中除第一交换机之外的第二交换机,则删除上述ARP信息,不再将该ARP信息添加到第一交换机保存的ARP表中,这样可以保证出口为堆叠***中除第一交换机之外的第二交换机的ARP表项在第一交换机保存的ARP表中只有一项,从而可以节约第一交换机保存的ARP表的资源,同时可以充分利用堆叠***中除第一交换机之外的其他交换机上的ARP表的资源,极大地提高了ARP表的容量,同时不影响IP报文的正确转发。
采用本发明提供的ARP表容量的扩展方法之后,堆叠***中IP报文的转发流程如图4所示。
图4为本发明报文转发方法另一个实施例的流程图,如图4所示,该报文转发方法可以包括:
步骤401,堆叠***中的交换机接收IP报文。
步骤402,上述交换机在该交换机保存的路由表中查找与上述IP报文携带的目的IP地址对应的路由信息,从上述目的IP地址对应的路由信息中获得上述目的IP地址对应的出口。
从本发明图3所示实施例中的描述可以获知,在采用本发明提供的ARP表容量的扩展方法之后,堆叠***中的交换机所保存的路由表中,出口只有两种类型,即堆叠口和上述交换机中除堆叠口之外的转发端口。
步骤403,判断上述目的IP地址对应的出口是否为该交换机的堆叠口。如果是,则执行步骤405;如果上述目的IP地址对应的出口不是该交换机的堆叠口,而是上述交换机中除堆叠口之外的转发端口,则执行步骤404。
步骤404,上述交换机通过转发端口转发上述IP报文。
步骤405,上述交换机开启上述堆叠口的二层转发功能,根据上述目的IP地址对应的路由信息中包含的下一跳信息,通过该堆叠口的二层转发功能将上述IP报文转发到上述交换机连接的另一交换机的堆叠口,以便上述另一交换机通过该另一交换机中接收上述IP报文的堆叠口的三层转发功能对上述IP报文进行三层转发,以将上述IP报文转发到上述下一跳信息指示的交换机。
其中,上述目的IP地址对应的路由信息中包含的下一跳信息为上述目的IP地址对应的路由信息所关联的ARP表项中的IP地址。
本实施例中,由于堆叠***中的交换机通过堆叠口连接,因此交换机将上述IP报文转发到该交换机连接的另一交换机的堆叠口之后,另一交换机开启该另一交换机中接收上述IP报文的堆叠口的三层转发功能,通过该三层转发功能对上述IP报文重新执行三层报文转发流程,即另一交换机再次按照步骤402~步骤405的流程转发上述IP报文。
上述实施例可以实现在扩展ARP表容量的前提下,保证报文的正确转发。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明ARP表容量的扩展装置一个实施例的结构示意图,本实施例中的ARP表容量的扩展装置可以设置在堆叠***中的交换机上,实现本发明图1或图3所示实施例的流程,如图5所示,上述ARP表容量的扩展装置可以包括:接收模块51、查找模块52、添加模块53、删除模块54和修改模块55;
其中,接收模块51,用于接收ARP信息;
查找模块52,用于在上述交换机保存的路由表中查找与接收模块51接收的ARP信息中的IP地址对应的路由信息,从上述IP地址对应的路由信息中获得上述ARP信息关联的出口;
添加模块53,用于当查找模块52获得的上述ARP信息关联的出口为上述交换机时,将上述ARP信息添加到上述交换机保存的ARP表中;
删除模块54,用于当查找模块52获得的上述ARP信息关联的出口为上述堆叠***中除上述交换机之外的另一交换机时,删除上述ARP信息;
修改模块55,用于当查找模块52获得的上述ARP信息关联的出口为上述堆叠***中除上述交换机之外的另一交换机时,将上述路由表中出口不是上述交换机的路由信息的出口修改为该交换机的堆叠口,以及将上述IP地址对应的路由信息中包含的下一跳信息修改为上述另一交换机关联的ARP表项中的IP地址。
其中,上述另一交换机关联的ARP表项中包括IP地址和MAC地址,该另一交换机关联的ARP表项中的IP地址和/或MAC地址用于指示该另一交换机,也就是说,将上述IP地址对应的路由信息中包含的下一跳信息修改为另一交换机关联的ARP表项中的IP地址之后,根据上述IP地址对应的路由信息中包含的下一跳信息可以获知上述IP地址对应的路由信息中的下一跳为上述另一交换机。
进一步地,添加模块53,还用于在上述交换机保存的ARP表中添加与堆叠***中除该交换机之外的每台交换机关联的ARP表项。
本实施例中,添加模块53,还用于当上述ARP信息关联的出口为堆叠***中除交换机之外的另一交换机,并且上述ARP表中不存在与另一交换机关联的ARP表项时,在上述ARP表中添加与另一交换机关联的ARP表项。
上述实施例中,接收模块51接收ARP信息之后,查找模块52在交换机保存的路由表中查找与上述ARP信息中的IP地址对应的路由信息,从上述IP地址对应的路由信息中获得该ARP信息关联的出口;如果上述ARP信息关联的出口为上述交换机,则添加模块53将上述ARP信息添加到上述交换机保存的ARP表中;如果上述ARP信息关联的出口为堆叠***中除上述交换机之外的另一交换机,则删除模块54删除上述ARP信息,不再将该ARP信息添加到上述交换机保存的ARP表中,这样可以保证出口为堆叠***中除本交换机之外的另一交换机的ARP表项在本交换机保存的ARP表中只有一项,从而可以节约本交换机保存的ARP表的资源,同时可以充分利用堆叠***中除本交换机之外的其他交换机上的ARP表的资源,极大地提高了ARP表的容量。
图6为本发明ARP表容量的扩展装置另一个实施例的结构示意图,与图5所示的ARP表容量的扩展装置相比,不同之处在于,图6所示的ARP表容量的扩展装置还可以包括:
发送模块56,用于当上述交换机为堆叠***中的主交换机时,在接收模块51接收ARP信息之后,将上述ARP信息发送到上述堆叠***中的从交换机;
接收模块51,具体用于当上述交换机为堆叠***中的从交换机时,接收上述堆叠***中的主交换机发送的ARP信息。
本实施例中的ARP表容量的扩展装置可以保证出口为除本交换机之外的另一交换机的ARP表项在本交换机保存的ARP表中只有一项,节约了ARP表的资源,同时可以充分利用堆叠***中除本交换机之外的其他交换机上的ARP表的资源,极大地提高了ARP表的容量。
图7为本发明报文转发装置一个实施例的结构示意图,本实施例中的报文转发装置可以设置在堆叠***中的交换机上,实现本发明图2或图4所示实施例的流程。如图7所示,该报文转发装置可以包括:报文接收模块71、信息查找模块72和报文转发模块73;
其中,报文接收模块71,用于接收IP报文;
信息查找模块72,用于在上述交换机保存的路由表中查找与报文接收模块71接收的IP报文携带的目的IP地址对应的路由信息,从上述目的IP地址对应的路由信息中获得上述目的IP地址对应的出口;
报文转发模块73,用于当信息查找模块72获得的上述出口为交换机的堆叠口时,根据上述目的IP地址对应的路由信息中包含的下一跳信息,通过上述堆叠口的二层转发功能将上述IP报文转发到该交换机连接的另一交换机的堆叠口,以便另一交换机通过该另一交换机中接收上述IP报文的堆叠口的三层转发功能对上述IP报文进行三层转发,以将上述IP报文转发到上述下一跳信息指示的交换机;上述目的IP地址对应的路由信息中包含的下一跳信息为上述目的IP地址对应的路由信息所关联的ARP表项中的IP地址。
进一步地,报文转发模块73,还用于当信息查找模块72获得的上述出口为交换机中除堆叠口之外的转发端口时,通过上述转发端口转发上述IP报文。
上述报文转发装置可以实现在扩展ARP表容量的前提下,保证报文的正确转发。
本发明还提供一种交换机,该交换机可以包括本发明图5或图6所示实施例提供的ARP表容量的扩展装置,或者该交换机可以包括本发明图7所示实施例提供的报文转发装置,或者该交换机可以包括本发明图5或图6所示实施例提供的ARP表容量的扩展装置,以及本发明图7所示实施例提供的报文转发装置。
本发明还提供一种堆叠***,该堆叠***包括至少两个如上所述的交换机,该堆叠***中的每两个交换机之间通过堆叠口连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种地址解析协议ARP表容量的扩展方法,其特征在于,包括:
堆叠***中的第一交换机接收ARP信息;
所述第一交换机在所述第一交换机保存的路由表中查找与所述ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
如果所述ARP信息关联的出口为所述第一交换机,则将所述ARP信息添加到所述第一交换机保存的ARP表中;
如果所述ARP信息关联的出口为所述堆叠***中除所述第一交换机之外的第二交换机,则删除所述ARP信息,并将所述路由表中出口不是所述第一交换机的路由信息的出口修改为所述第一交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述第二交换机关联的ARP表项中的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述堆叠***中的第一交换机接收ARP信息之前,还包括:
所述第一交换机在所述第一交换机保存的ARP表中添加与所述堆叠***中除所述第一交换机之外的每台交换机关联的ARP表项。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
如果所述ARP信息关联的出口为所述堆叠***中除所述第一交换机之外的第二交换机,则当所述ARP表中不存在与所述第二交换机关联的ARP表项时,所述第一交换机在所述ARP表中添加与所述第二交换机关联的ARP表项。
4.根据权利要求1所述的方法,其特征在于,
当所述第一交换机为所述堆叠***中的主交换机时,所述堆叠***中的第一交换机接收ARP信息之后,还包括:
所述第一交换机将所述ARP信息发送到所述堆叠***中的从交换机;
当所述第一交换机为所述堆叠***中的从交换机时,所述堆叠***中的第一交换机接收ARP信息包括:
所述第一交换机接收所述堆叠***中的主交换机发送的所述ARP信息。
5.一种报文转发方法,其特征在于,包括:
堆叠***中的交换机接收因特网协议IP报文;
所述交换机在所述交换机保存的路由表中查找与所述IP报文携带的目的IP地址对应的路由信息,从所述目的IP地址对应的路由信息中获得所述目的IP地址对应的出口;
如果所述出口为所述交换机的堆叠口,则所述交换机根据所述目的IP地址对应的路由信息中包含的下一跳信息,通过所述堆叠口的二层转发功能将所述IP报文转发到所述交换机连接的另一交换机的堆叠口,以便所述另一交换机通过所述另一交换机中接收所述IP报文的堆叠口的三层转发功能对所述IP报文进行三层转发,以将所述IP报文转发到所述下一跳信息指示的交换机;所述目的IP地址对应的路由信息中包含的下一跳信息为所述目的IP地址对应的路由信息所关联的ARP表项中的IP地址;
其中,所述交换机保存的路由表是依据以下方法生成的:
所述堆叠***中的第一交换机接收ARP信息;
所述第一交换机在所述第一交换机保存的路由表中查找与所述ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
如果所述ARP信息关联的出口为所述堆叠***中除所述第一交换机之外的第二交换机,则删除所述ARP信息,并将所述路由表中出口不是所述第一交换机的路由信息的出口修改为所述第一交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述第二交换机关联的ARP表项中的IP地址。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果所述出口为所述交换机中除堆叠口之外的转发端口,则通过所述转发端口转发所述IP报文。
7.一种地址解析协议ARP表容量的扩展装置,其特征在于,设置在堆叠***中的交换机上,所述ARP表容量的扩展装置包括:
接收模块,用于接收ARP信息;
查找模块,用于在所述交换机保存的路由表中查找与所述接收模块接收的ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
添加模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述交换机时,将所述ARP信息添加到所述交换机保存的ARP表中;
删除模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述堆叠***中除所述交换机之外的另一交换机时,删除所述ARP信息;
修改模块,用于当所述查找模块获得的所述ARP信息关联的出口为所述堆叠***中除所述交换机之外的另一交换机时,将所述路由表中出口不是所述交换机的路由信息的出口修改为所述交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述另一交换机关联的ARP表项中的IP地址。
8.根据权利要求7所述的装置,其特征在于,
所述添加模块,还用于在所述交换机保存的ARP表中添加与所述堆叠***中除所述交换机之外的每台交换机关联的ARP表项。
9.根据权利要求7或8所述的装置,其特征在于,
所述添加模块,还用于当所述ARP信息关联的出口为所述堆叠***中除所述交换机之外的另一交换机,并且所述ARP表中不存在与所述另一交换机关联的ARP表项时,在所述ARP表中添加与所述另一交换机关联的ARP表项。
10.根据权利要求7所述的装置,其特征在于,还包括:发送模块;
所述发送模块,用于当所述交换机为所述堆叠***中的主交换机时,在所述接收模块接收ARP信息之后,将所述ARP信息发送到所述堆叠***中的从交换机;
所述接收模块,具体用于当所述交换机为所述堆叠***中的从交换机时,接收所述堆叠***中的主交换机发送的所述ARP信息。
11.一种报文转发装置,其特征在于,设置在堆叠***中的交换机上,所述报文转发装置包括:
报文接收模块,用于接收因特网协议IP报文;
信息查找模块,用于在所述交换机保存的路由表中查找与所述报文接收模块接收的IP报文携带的目的IP地址对应的路由信息,从所述目的IP地址对应的路由信息中获得所述目的IP地址对应的出口;
报文转发模块,用于当所述信息查找模块获得的所述出口为所述交换机的堆叠口时,根据所述目的IP地址对应的路由信息中包含的下一跳信息,通过所述堆叠口的二层转发功能将所述IP报文转发到所述交换机连接的另一交换机的堆叠口,以便所述另一交换机通过所述另一交换机中接收所述IP报文的堆叠口的三层转发功能对所述IP报文进行三层转发,以将所述IP报文转发到所述下一跳信息指示的交换机;所述目的IP地址对应的路由信息中包含的下一跳信息为所述目的IP地址对应的路由信息所关联的ARP表项中的IP地址;
其中,所述交换机保存的路由表是依据以下方法生成的:
所述堆叠***中的第一交换机接收ARP信息;
所述第一交换机在所述第一交换机保存的路由表中查找与所述ARP信息中的因特网协议IP地址对应的路由信息,从所述IP地址对应的路由信息中获得所述ARP信息关联的出口;
如果所述ARP信息关联的出口为所述堆叠***中除所述第一交换机之外的第二交换机,则删除所述ARP信息,并将所述路由表中出口不是所述第一交换机的路由信息的出口修改为所述第一交换机的堆叠口,以及将所述IP地址对应的路由信息中包含的下一跳信息修改为所述第二交换机关联的ARP表项中的IP地址。
12.根据权利要求11所述的装置,其特征在于,
所述报文转发模块,还用于当所述信息查找模块获得的所述出口为所述交换机中除堆叠口之外的转发端口时,通过所述转发端口转发所述IP报文。
13.一种交换机,其特征在于,包括如权利要求7-10任意一项所述的地址解析协议ARP表容量的扩展装置和/或如权利要求11-12任意一项所述的报文转发装置。
14.一种堆叠***,其特征在于,包括至少两个如权利要求13所述的交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328748.5A CN102868775B (zh) | 2012-09-06 | 2012-09-06 | 地址解析协议表容量的扩展方法、报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328748.5A CN102868775B (zh) | 2012-09-06 | 2012-09-06 | 地址解析协议表容量的扩展方法、报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868775A CN102868775A (zh) | 2013-01-09 |
CN102868775B true CN102868775B (zh) | 2015-05-20 |
Family
ID=47447360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210328748.5A Active CN102868775B (zh) | 2012-09-06 | 2012-09-06 | 地址解析协议表容量的扩展方法、报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868775B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515991A (zh) * | 2014-09-23 | 2016-04-20 | 中兴通讯股份有限公司 | 一种扩展三层转发设备的路由表容量的方法及转发设备 |
CN111756657B (zh) * | 2019-08-27 | 2023-06-02 | 北京京东尚科信息技术有限公司 | 通讯***与通讯方法 |
CN110830594B (zh) * | 2019-12-06 | 2022-04-01 | 广州微算互联信息技术有限公司 | 一种扩展云手机ip地址的方法、***、装置及存储介质 |
CN115118682A (zh) * | 2022-06-06 | 2022-09-27 | 上海华信长安网络科技有限公司 | 一种堆叠交换机与外接设备通信的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866899A (zh) * | 2005-12-30 | 2006-11-22 | 华为技术有限公司 | 基于虚拟局域网堆叠的聚合***及方法 |
KR100652964B1 (ko) * | 2005-08-25 | 2006-12-01 | 삼성전자주식회사 | 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법 |
CN101895471A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 一种网络设备及网络设备的数据处理方法 |
CN102231703A (zh) * | 2011-06-24 | 2011-11-02 | 中兴通讯股份有限公司 | 一种实现虚拟集***换机跨设备数据转发的方法和设备 |
-
2012
- 2012-09-06 CN CN201210328748.5A patent/CN102868775B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100652964B1 (ko) * | 2005-08-25 | 2006-12-01 | 삼성전자주식회사 | 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법 |
CN1866899A (zh) * | 2005-12-30 | 2006-11-22 | 华为技术有限公司 | 基于虚拟局域网堆叠的聚合***及方法 |
CN101895471A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 一种网络设备及网络设备的数据处理方法 |
CN102231703A (zh) * | 2011-06-24 | 2011-11-02 | 中兴通讯股份有限公司 | 一种实现虚拟集***换机跨设备数据转发的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102868775A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104380658A (zh) | 流分类器、业务路由触发器、报文处理的方法和*** | |
CN101827038B (zh) | 分布式设备和分布式设备中报文转发的方法 | |
JP5594171B2 (ja) | 通信処理装置、アドレス学習プログラムおよびアドレス学習方法 | |
CN108259328B (zh) | 报文转发方法及装置 | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
CN107770076A (zh) | 一种哈希冲突的处理方法、装置及交换设备 | |
KR101391965B1 (ko) | 하이브리드 네트워크들에 대한 제어 평면들의 구현 | |
CN101616094B (zh) | 报文转发路径的获取方法和设备 | |
CN102857414A (zh) | 一种转发表写入、报文转发方法及装置 | |
JP5699799B2 (ja) | トポロジ検出システムおよび中継装置 | |
CN102868775B (zh) | 地址解析协议表容量的扩展方法、报文转发方法和装置 | |
CN102792651B (zh) | 在mac层应用服务路径路由选择的装置 | |
US9135833B2 (en) | Process for selecting compressed key bits for collision resolution in hash lookup table | |
CN105376292A (zh) | 基于名称的转发中的显式策略反馈 | |
CN104488237A (zh) | 一种报文处理的方法、报文设备和*** | |
CN104836738A (zh) | 路由硬件表项资源管理方法、装置及网络设备 | |
CN103795815A (zh) | 网络通讯***以及网络通讯方法 | |
CN109756411B (zh) | 报文转发方法、装置、第一vtep设备及存储介质 | |
CN102263700A (zh) | 一种报文收发方法、装置和*** | |
CN108092896A (zh) | 堆叠***和聚合组建立装置 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN104539537B (zh) | 一种路由查找方法和装置 | |
CN101577660B (zh) | 一种标签转发表项获取、报文转发方法和装置 | |
CN102045254B (zh) | 路由表的扩展处理方法、装置和网络设备 | |
CN111147385A (zh) | 一种软件定义数据中心网络数据平面转发方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Fujian Xingwangruijie Network Co., Ltd. |