一种交换机路由表的管理方法技术

技术编号:3496793 阅读:402 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种交换机路由表的管理方法,其过程为:A、在软件层上建立散列表,该散列表记录有每条路由表项索引;B、通过查找上述散列表,获得所需路由表项索引;C、根据查找到的路由表项索引在硬件路由表中进行查找,根据查找结果进行相应地删除或插入。本发明专利技术通过在软件上维护一个记录每条路由表项索引的哈希表,在查找、插入、删除路由表项时先通过查软件上的哈希表来获取对应的TCAM表里路由表项的索引,找到对应表项,避免每次都是逐条去读硬件路由表项。本发明专利技术通过减少硬件路由表项的读写次数来提高系统性能、降低成本。

【技术实现步骤摘要】

本专利技术涉及计算机网络通信领域,具体涉及三层交换机的一种高效的路由表管理方法。
技术介绍
在三层以太网交换机的运维过程中,对交换机的路由表表项的查找、删除、插入是非常频繁的,提高交换机路由表管理的效率对保证交换机的性能起着非常重要的作用。目前对路由表的管理一般是采用TCAM(Ternary Content AddressMemory)作为存储介质来提高路由表的管理效率。这种方法虽然通过提高存储介质性能而提高了路由表的管理效率,但由于每次操作需要逐条在TCAM表中去查找,所以开销很大、成本较高。
技术实现思路
为了解决现有的采用TCAM作为存储介质来提高路由表管理效率的方法开销大、成本高的问题,本专利技术提供了。本专利技术的管理方法按以下步骤进行A、在软件层上建立散列表,该散列表记录有每条路由表项索引;B、通过查找上述散列表,获得所需路由表项索引;C、根据查找到的路由表项索引在硬件路由表中进行查找,根据查找结果进行相应地删除或插入。上述A步骤中所述的散列表包括一个哈希表,以目的IP和掩码为钥匙依据哈希算法所获得的数值作为该条路由条目在哈希表的下标,该下标对应的哈希表中的内容为该目的IP和掩码所对应的路由条目在硬件TCAM路由表中所对应的表项索引。上述A步骤中所述的散列表还包括一个哈希冲突表,用于记录由于目的IP和掩码依据哈希算法所获得的数值发生相同情况而导致冲突的路由表项;发生冲突时,以已经存入哈希表中的路由条目在硬件TCAM路由表中所对应的表项索引作为与该路由条目发生冲突的冲突路由条目在哈希冲突表中的下标,该下标对应的哈希冲突表中的内容为所述冲突路由条目在硬件TCAM路由表中所对应的表项索引。专利技术效果本专利技术通过在软件上维护一个记录每条路由表项索引(index)的哈希(Hash)表,在查找、插入、删除路由表项时先通过查软件上的哈希表来获取对应的TCAM表里路由表项的索引(index),找到对应表项,避免每次都是逐条去读硬件路由表项。本专利技术通过减少硬件路由表项的读写次数来而提高系统性能、降低成本。最好的情况是能一次根据哈希表找到到对应路由条目的索引,那么就只需要进行一次读硬件路由表项的操作;只有在最坏情况下才需要逐条去读硬件表项。本专利技术通过软硬件的配合来加快硬件TCAM路由表的插入、删除及查找的速度,提高了路由表的管理效率。附图说明图1是本专利技术的散列表与TCAM表的对应关系示意图;图2是具体实施方式中本专利技术管理方法的B步骤中查找过程的流程图;图3是具体实施方式中本专利技术管理方法的C步骤中删除或插入路由表项的过程流程图。具体实施例方式以下将详细描述本专利技术的各较佳实施例。本专利技术的交换机路由表的管理方法按以下步骤实施A、在软件层上建立散列表,该散列表记录有每条路由表项索引;B、通过查找上述散列表,获得所需路由表项索引;C、根据查找到的路由表项索引在硬件路由表中进行查找,根据查找结果进行相应地删除或插入。上述A步骤中所述的散列表包括一个哈希表,以目的IP和掩码为钥匙依据哈希(Hash)算法所获得的数值作为该条路由条目在哈希表的下标,该下标对应的哈希表中的内容为该目的IP和掩码所对应的路由条目在硬件TCAM路由表中所对应的表项索引。以下举例说明如何建立上述哈希表以目的IP和掩码为Hash算法的钥匙(key)定义Hash算法。如图1所示,如果路由条目a的IP地址和掩码所对应的TCAM表里的内容为“Index2”,而由Hash算法根据该IP地址和掩码所Hash出来的数值为“value1”,那么,该路由条目a在哈希表中的索引下标设为“value1”,对应的在哈希表里第“value1”条表项的内容被填入“Index2”。上述A步骤中所述的散列表还包括一个哈希冲突表,用于记录由于目的IP和掩码依据哈希算法所获得的数值发生相同情况而导致冲突的路由表项;发生冲突时,以已经存入哈希表中的路由条目在硬件TCAM路由表中所对应的表项索引作为与该路由条目发生冲突的冲突路由条目在哈希冲突表中的下标,该下标对应的哈希冲突表中的内容为所述冲突路由条目在硬件TCAM路由表中所对应的表项索引。以下举例说明如何建立上述哈希冲突表同样地,以目的IP和掩码为Hash算法的钥匙(key)定义Hash算法。如图1所示,如果路由条目b所对应的IP地址和掩码所Hash出来的数值与上述路由条目a的Hash数值相同,即也为“value1”,而路由条目b的IP地址和掩码所对应的TCAM表里的内容为“Index4”,那么,“Index2”(即,路由条目a的IP地址和掩码所对应的TCAM表里的内容)被设为路由条目b在哈希冲突表中的索引下标,对应的在哈希冲突表里第“Index2”条表项的内容被填入“Index4”。在哈希冲突表中,由于没有出现上述冲突会有一些空余,那么,以该路由条目在硬件TCAM路由表中所对应的表项索引作为哈希冲突表的下标,该下标对应的哈希冲突表中的内容被填入表示无效状态的无效值。根据图1举例说明此点,如果没有发生与上述路由条目b对应的IP地址和掩码所Hash出来的数值相同的情况,那么,以“Index4”(即,路由条目b的IP地址和掩码所对应的TCAM表里的内容)作为哈希冲突表的索引下标的话,在哈希冲突表里第“Index4”条表项的内容被填入无效值“fff”。上述哈希表和哈希冲突表都由类型为整形的数组构成,且哈希表和哈希冲突表的表项大小均为TCAM路由表表项数目的大小。对上述哈希(Hash)表和哈希(Hash)冲突表的管理用以下结构体概括typedef struct_tcam_lpm_hash_s{intentry_count; /*Number entries in hash table*/uint 16*table; /*Hash table with 16 bit index*/uint 16*link_table; /*To handle collisions*/}_soc_cam_lpm_hash_t;其中的entry_count记录hash表的表项总数,table为hash表的起始地址,link_table为hash冲突表的起始地址。如图2所示,给出了一种本专利技术管理方法的B步骤中查找过程的优选方法,具体过程如下B1、以目的IP和掩码为钥匙依据哈希算法获得哈希数值,以该哈希数值为下标查找哈希表里的对应表项,读出其中存放的该目的IP和掩码所对应的路由条目在硬件TCAM路由表中所对应的表项索引;B2、判断该表项索引是否无效;若该表项索引无效,则表明所要寻找的路由条目不存在; 若该表项索引有效,则执行步骤B3;B3、根据步骤B1读出的表项索引去读硬件TCAM路由表;B4、将步骤B3读到的硬件表项里的内容与所需查找的路由表项相比较,看是否一致;如果步骤B4的判断结果为是,则表明找到对应表项;如果步骤B4的判断结果为否,则表明存在由于目的IP和掩码依据哈希算法所获得的数值发生相同情况而导致冲突的问题,需要进一步在Hash冲突表里查找,执行步骤B5;B5、以依据步骤B1在哈希表里读出的表项索引作为下标去索引哈希冲突表;B6、判断哈希冲突表里的内容是否为无效值;若步骤B6的判断结果为是,则表明所要寻找的路由条目不存在;若步骤B6的判断结果为否,则执本文档来自技高网...

【技术保护点】
一种交换机路由表的管理方法,其特征在于,所述方法采用如下步骤:A、在软件层上建立散列表,该散列表记录有每条路由表项索引;B、通过查找上述散列表,获得所需路由表项索引;C、根据查找到的路由表项索引在硬件路由表中进行查找 ,根据查找结果进行相应地删除或插入。

【技术特征摘要】

【专利技术属性】
技术研发人员:毕恒
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1