专利名称:一种路由选择出口的方法和装置的制作方法
技术领域:
本发明涉及数据通信领域中的路由出口选择技术,尤其涉及一种路由选择出口的 方法和装置。
背景技术:
目前,在以太网交换机形成路由时,会将路由的三层出接口转化为二层端口,并将 二层端口信息作为路由出口信息写入转发芯片。其中,所述二层端口是实际的物理端口,也 可能为多个物理端口聚合而成的链路聚合端口。链路聚合是一种将多个物理端口绑定使用的技术,链路聚合形成的逻辑端口称为 smartgroup,可以)smartgroup 当作O^i吏用。当 据^fiililBi, smartgroup 可f艮 据当前数据流量或者其它信息,决定数据流量应通过哪个成员端口传输,以达到负载均衡 的目的。现有技术中,当二层端口为smartgroup时,路由选择出口的方法为先将 smartgroup的信息写入转发芯片,在转发芯片进行数据流量转发时,转发芯片依据相应的 算法动态选择由smartgroup中的哪个成员端口通过数据流量,该方法称为芯片转发;此 外,还可在数据流量转发时,由软件模块动态选择由smartgroup中的哪个成员端口通过数 据流量,该方法称为软转发,该过程需在中央处理器中完成。可见,上述两种方法均是在转 发数据流量时,动态选择smartgroup中的成员端口作为路由的出口。上文所涉及的两种路由选择出口的方法均存在自身缺陷对于芯片转发的方法, 因转发芯片的成本较高,所以芯片转发的方法目前只能应用于部分业务中,而不能应用到 所有与路由相关的业务中;对于软转发的方法,在转发时动态选择smartgroup中的成员端 口的操作,将会导致频繁修改路由的出口信息,占用大量中央处理器资源,从而会影响数据 流量转发时的效率。
发明内容
有鉴于此,本发明的主要目的在于提供一种路由选择出口的方法和装置,能应用 于所有与路由相关的业务中,且能提高数据流量转发时的效率。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种路由选择出口的方法,该方法包括在路由形成时,交换机判断转化所得的二层端口是否为链路聚合端口 smartgroup,确定是smartgroup时,将获取的所述smartgroup的成员端口信息进行排序, 得到成员端口数组;依据查找所得的路由信息在成员端口数组中选择一个成员端口作为路 由的出口。其中,所述成员端口信息包括但不限于槽位号和端口号;所述将成员端口信息进行排序,为按照成员端口槽位号和端口号的大小顺序进 行排序,并为各成员端口设置对应的序号。
其中,所述路由信息为目的地址、或为目的地址和源地址的组合。其中,所述依据路由信息选择路由的出口为依据路由信息和smartgroup中成员 端口的数目选择路由的出口;所述选择方式为将destlp% portNum的计算结果作为所选成员端口对应的序 号;其中,所述destlp表示路由信息;所述portNum表示smartgroup中的成员端口数目; 所述%表示整数相除取余数的运算。该方法还包括路由出口选择结束后,将所选smartgroup中的成员端口信息写入 转发芯片。该方法还包括确定二层端口不是smartgroup时,将所述二层端口信息作为路由 的出口信息写入转发芯片。该方法还包括smartgroup的成员端口发生变化时,依据变化后所述smartgroup 的成员端口更新路由的出口信息。本发明还提供了一种路由选择出口的装置,该装置包括判断模块、排序模块和选 择模块;其中,所述判断模块,用于在路由形成时,判断转化所得的二层端口是否为smartgroup, 确定是smartgroup时,通知排序模块;所述排序模块,用于收到判断模块的通知后,获取所述smartgroup的成员端口信 息,并进行排序得到成员端口数组;所述选择模块,用于查找路由信息,并依据路由信息在排序模块排序所得的成员 端口数组中,选择一个成员端口作为路由的出口。其中,该装置还包括写入模块,用于将选择模块所选的smartgroup中的成员端口 信息写入转发芯片。其中,所述判断模块,进一步用于在确定二层端口不是smartgroup时,将所述二 层端口信息作为路由的出口信息通知写入模块;相应的,所述写入模块,进一步用于将判读模块所发的出口信息写入转发芯片。进一步地,该装置还包括更新模块,用于smartgroup的成员端口发生变化时,依 据变化后所述smartgroup的成员端口更新路由的出口信息。本发明提供的路由选择出口的方法和装置,在路由形成时,交换机判断转化所得 的二层端口是否为smartgroup,确定是smartgroup时,将获取的所述smartgroup的成员端 口信息进行排序,得到成员端口数组;依据查找所得的路由信息在成员端口数组中选择一 个成员端口作为路由的出口,并将所选成员端口信息写入转发芯片。本发明路由出口的选 择过程可由交换机内部设置的软件模块完成的,而并未在转发芯片中执行,降低了转发芯 片的复杂度,也可降低转发芯片的成本,因没有成本的限制,使得转发芯片可应用到所有与 路由相关的业务中。此外,本发明的路由选择过程是在数据流量转发之前的路由形成过程中实现的, 可避免现有技术中因转发时动态选择路由出口导致的大量占用中央处理器资源的问题,从 而可提高数据流量转发时的效率。
图1为本发明路由选择出口的方法实现流程示意图;图2为本发明smartgroup的成员端口发生变化时,更新路由出口信息的方法实现 流程示意图;图3为本发明路由选择出口的装置结构示意图。
具体实施例方式本发明的基本思想是在路由形成时,交换机判断转化所得的二层端口是否为 smartgroup,确定是smartgroup时,将获取的所述smartgroup的成员端口信息进行排序, 得到成员端口数组;依据查找所得的路由信息在成员端口数组中选择一个成员端口作为路 由的出口 ;之后将所选成员端口信息写入转发芯片。这里,交换机判断转化所得的二层端口不是smartgroup时,直接将所述二层端口 信息作为路由的出口信息写入转发芯片。进一步地,如果smartgroup的成员端口发生变化,则依据变化后所述smartgroup 的成员端口更新路由的出口信息。下面结合附图及具体实施例对本发明作进一步详细说明。图1为本发明路由选择出口的方法实现流程示意图,如图1所示,该方法的实现流 程如下步骤101 在路由形成时,交换机判断转化所得的二层端口是否为smartgroup,如 果是,则执行步骤102 ;如果不是,则执行步骤103 ;具体为在交换机形成路由时,并在向转发芯片中写入路由出口信息前,交换机判 断转化所得的二层端口是否为smartgroup,如果是,则执行步骤102 ;如果不是,则执行步 骤 103。这里,所述判断二层端口类型的方法可为交换机解析接收到的上行协议报文,得 到报文中携带的二层端口的类型,以确定二层端口是否为smartgroup。当然,对于不同的应 用场景,还有其它的判断方法。步骤102 将获取的所述smartgroup的成员端口信息进行排序,得到成员端口数 组,之后执行步骤104;具体为交换机从已存储的smartgroup的成员端口配置信息中,获取当前可用的 所有成员端口信息并进行排序;其中,所述成员端口信息可包括但不限于槽位号和端口号 等,那么,排序时可按照槽位号和端口号的大小顺序进行,得到smartgroup的成员端口数组。例如smartgroup的成员端口信息为1/2、1/3、1/5、2/1和2/2,即表示 smartgroup中包括的成员端口为线卡1上的第二、第三和第五个端口,以及线卡2上的第 一和第二个端口,共五个端口。排序时,对于线卡1上的三个端口,按端口号从小到大的顺 序排序为1/2、1/3、1/5 ;线卡2上的两个端口的排序为2/1、2/2,且线卡1的三个端口排 在线卡2的两个端口之前,设排序后五个端口对应的序号为0、1、2、3和4,对应关系如表1 所示,排序后即得到序号和端口对应的成员端口数组。
权利要求
一种路由选择出口的方法,其特征在于,该方法包括在路由形成时,交换机判断转化所得的二层端口是否为链路聚合端口smartgroup,确定是smartgroup时,将获取的所述smartgroup的成员端口信息进行排序,得到成员端口数组;依据查找所得的路由信息在成员端口数组中选择一个成员端口作为路由的出口。
2.根据权利要求1所述的路由选择出口的方法,其特征在于,所述成员端口信息包括 但不限于槽位号和端口号;所述将成员端口信息进行排序,为按照成员端口槽位号和端口号的大小顺序进行排 序,并为各成员端口设置对应的序号。
3.根据权利要求1或2所述的路由选择出口的方法,其特征在于,所述路由信息为目的 地址、或为目的地址和源地址的组合。
4.根据权利要求2所述的路由选择出口的方法,其特征在于,所述依据路由信息选择 路由的出口为依据路由信息和smartgroup中成员端口的数目选择路由的出口 ;所述选择方式为将destlp% portNum的计算结果作为所选成员端口对应的序号;其 中,所述destlp表示路由信息;所述portNum表示smartgroup中的成员端口数目;所述% 表示整数相除取余数的运算。
5.根据权利要求1或2所述的路由选择出口的方法,其特征在于,该方法还包括路由 出口选择结束后,将所选smartgroup中的成员端口信息写入转发芯片。
6.根据权利要求1或2所述的路由选择出口的方法,其特征在于,该方法还包括确定 二层端口不是smartgroup时,将所述二层端口信息作为路由的出口信息写入转发芯片。
7.根据权利要求1或2所述的路由选择出口的方法,其特征在于,该方法还包括 smartgroup的成员端口发生变化时,依据变化后所述smartgroup的成员端口更新路由的 出口信息。
8.—种路由选择出口的装置,其特征在于,该装置包括判断模块、排序模块和选择模 块;其中,所述判断模块,用于在路由形成时,判断转化所得的二层端口是否为smartgroup,确定 是smartgroup时,通知排序模块;所述排序模块,用于收到判断模块的通知后,获取所述smartgroup的成员端口信息, 并进行排序得到成员端口数组;所述选择模块,用于查找路由信息,并依据路由信息在排序模块排序所得的成员端口 数组中,选择一个成员端口作为路由的出口。
9.根据权利要求8所述的路由选择出口的装置,其特征在于,该装置还包括写入模块, 用于将选择模块所选的smartgroup中的成员端口信息写入转发芯片。
10.根据权利要求8或9所述的路由选择出口的装置,其特征在于,所述判断模块,进一 步用于在确定二层端口不是smartgroup时,将所述二层端口信息作为路由的出口信息通 知写入模块;相应的,所述写入模块,进一步用于将判读模块所发的出口信息写入转发芯片。
11.根据权利要求8或9所述的路由选择出口的装置,其特征在于,该装置还包括更新 模块,用于smartgroup的成员端口发生变化时,依据变化后所述smartgroup的成员端口更 新路由的出口信息。
全文摘要
本发明公开了一种路由选择出口的方法,包括在路由形成时,交换机判断转化所得的二层端口是否为链路聚合端口smartgroup,确定是smartgroup时,将获取的所述smartgroup的成员端口信息进行排序,得到成员端口数组;依据查找所得的路由信息在成员端口数组中选择一个成员端口作为路由的出口。本发明还同时公开了一种路由选择出口的装置,该方法和装置能应用于所有与路由相关的业务中,且能提高数据流量转发时的效率。
文档编号H04L12/56GK101980487SQ20101051674
公开日2011年2月23日 申请日期2010年10月22日 优先权日2010年10月22日
发明者吴铭, 汤海华 申请人:中兴通讯股份有限公司