一种基于复合trie树结构的源地址目的地址联合查找方法技术

技术编号:12431129 阅读:75 留言:0更新日期:2015-12-03 14:57
一种基于复合trie树结构的源地址目的地址联合查找方法,可支持对源地址、目的地址的精确查找,实现组播报文的正确查找转发。本查找结构的创建步骤为:(1)对组播路由表项进行预处理;(2)使用组播源地址集合建立单棵trie树;(3)使用组播目的地址集合建立多棵trie树;(4)构建满足源地址目的地址联合查找的复合trie树结构。基于该结构的查找步骤为:(1)确定起始树节点;(2)使用源地址进行查找;(3)使用目的地址进行查找。本发明专利技术具有查找步骤简单,易于实现,有效地降低查找结构深度和存储空间消耗的优点。

【技术实现步骤摘要】

本专利技术涉及,属于网络交换

技术介绍
IP路由器支持单播、组播业务,当接收到单播报文时,根据目的地址进行最长前缀匹配查找,实现单播报文的查找转发。IP路由器运行PM组播协议,支持三种工作模式:稀疏模式组播、密集模式组播和特定源组播。当IP路由器工作于特定源组播模式时,使用源地址S和目的地址(即组地址)G(S,G)共同标识一个会话,只针对目的地址进行最长前缀匹配的查找结构已不能满足此需求,因此需要对源地址、目的地址进行联合查找,完成(源地址,目的地址)精确匹配,保障组播报文查找转发的正确性。“实现组播路由快速查找的一种方法”,使用所有组播路由记录(组播组,组播源)建立网格,路由器通过源地址和组地址在网格确定一个唯一的交叉处,使用两个内容寻址器进行源地址和组地址的精确匹配查找,若对组地址进行精确匹配查找返回的结果为X,对源地址进行精确匹配查找返回的结果为y,则(x,y)表示网格中某个交叉处,若该值为‘0’则说明这一(组播组,组播源)对应的转发信息不存在,触发网络处理器来计算相应的转发信息,若该值为‘I’则计算下一跳位图流数组的索引值,在下一跳位图流数组中读出相应位置的下一跳位图流即转发的输出端口,完成组播地址的查询过程。该方法查询过程很简单,查找表规模较大,占用存储空间严重,与本专利使用的复合trie树结构完全不同,且不适合使用在资源严重受限的星载IP路由设备中。“一种基于分段式存储的组播路由查找方案”,提出一种基于TCAM的分段式存储查找方法,TCAM表项存储查找关键字,SRAM存储查找结果,一级关键字是组播路由查找关键字,查找关键字按照先组播源地址后组播组地址串行输入。一级关键字的查找以TCAM实现,二级关键字是TCAM匹配地址到SRAM的映射地址,二级关键字的索引利用SRAM实现,SRAM返回的结果为最终结果,配合流水线设计,可实现高速查找。该方法与本专利使用的复合trie树查找结构完全不同,且资源消耗严重不适用于星载IP路由设备。“一种精确转发IP特定源组播数据的实现方法”,专利号20140399650.8,专利提出提供一种精确转发IP特定源组播数据的实现方法,可以分别根据组播转发表项或PON接口转发表项来对硬件IP组播转发表进行维护,实现对特定源的组播流进行精确控制。该方法侧重研究组播源地址的变化(分为允许转发的源地址、禁止转发的源地址)和组播组过滤模式的变化(分为INCLUDE模式和EXCLUDE模式)引起对硬件转发表的添加和删除操作,并未针对特定源组播建立转发表及查找转发的问题给出具体方法。“增强多位trie树查找方法和装置”,专利号200710123674.0,专利使用多位trie树的查找方法,对扩展位图及上下级树节点之间的关系提出优化改造。算法对单棵trie树结构进行压缩,且主要针对trie树的最长匹配查找,未涉及源地址目的地址联合查找。
技术实现思路
本专利技术的技术解决问题是:克服现有技术不足,提出,实现组播报文源地址、目的地址的精确匹配查找。本专利技术所采用的技术解决方案:—种基于复合trie树结构的源地址目的地址联合查找方法,步骤如下:(I)建立复合trie树结构,具体为:(1.1)对组播路由表项进行预处理:聚合所有组播路由表项,将同一源地址的多个组播路由表项进行合并,即将a个源地址为S、目的地址为Gb的组播路由表项(S,G1),(S,G2),...,(S,Ga)合并为(S,G1,...,Ga);将c个合并后的组播路由表项(S1, G11, G12,...,Gla),(S2, G21, G22,...,G2J,...,(Sc, Gcl, Gc2,...,Gj 整理为 I 个组播源地址集合 SS: (S1, S2,…,Sc)和 c 个组播目的地址集合 GSd: (G n, G12,…,Gla),(G21, G22,…,G2J,…,(Gcl, Gc2,…,GJ,分别将集合SS,GS1, GS2,…,GS。中的元素按从小到大的顺序进行排序;其中,a、b、C、d 为正整数,l^b^a, l^d^c;(1.2)使用组播源地址集合建立单棵trie树,trie树节点的结构均为:左儿子m_I son、右儿子m_r son、扩展标识SF以及路由索引index,设置trie树可变步长为4 ;左儿子m_lson和右儿子!!!」^。]!的长度均为16bit,扩展标识SF长度为lbit,路由索引index长度为 15bit ;步骤1:若集合SS不为空,使用组播源地址集合SS: (S1, S2,…,S。)建立trie树,之后进入步骤2 ;若集合SS为空,跳出建树;步骤2:令bit为地址当前比特位,初值设为0x8000,表示最高位;令1*001:1为当前计算的trie树节点,节点号为I,表示树的根节点;计算集合SS中c个元素从bit位开始,相同比特的个数e,令e < 4个,之后进入步骤3 ;步骤3:当e大于I时,进行变步长压缩建树:I)令rootl的扩展标识SF为I ;2)令rootl的左儿子的高4比特位bitl5…bitl2为e,rootl的左儿子的中间8比特位Ι?1:11...?3;??4为0,rootl的左儿子的低4比特位bit3…bitO为集合SS中首个元素中从bit位开始的e个比特;3)生成新的trie树节点f,节点号加I ;4)令rootl的右儿子为f ;5)对集合SS进行递归建树,令当前计算的trie树节点rootl为f,当前比特位bit为原值向右移动e位;步骤4:当e等于I时,建立左右儿子节点:I)令集合Q为空,将SS中的所有以O比特开始的元素从SS中删除,放入集合Q中;2)若Q不为空,生成新节点g,节点号加1,令rootl的右儿子为g ;对集合Q进行递归建树,令当前计算的trie树节点rootl为g,当前比特位bit为原值向右移动I位;3)若SS不为空,生成新节点h,节点号加1,令rootl的右儿子为h ;对集合SS进行递归建树,令当前计算的trie树节点rootl为h,当前比特位bit为原值;(1.3)使用组播目的地址集合建立多棵trie树,组成组播地址集合的复合trie树:步骤1:将c个组播目的地址集合GS1, GS2,…,GS。依次使用步骤(1.2)的方法分别建立c棵trie树;步骤2:将源地址建立的单棵trie树和目的地址建立的c棵trie树,根据生成的trie树节点号递增顺序依次排列,组成组播地址集合的复合trie树;(1.4)构建满足源地址目的地址联合查找的复合trie树结构:生成trie树根节点,节点号为0,0号节点的右儿子为组播地址集合建立的复合trie树根节点号;(2)基于复合trie树结构进行源地址目的地址查找,具体为:(2.1)确定起始树节点:对源地址、目的地址进行联合查找,取所述复合trie树结构根节点的右儿子作为查找起始树节点,记为root2 ;(2.2)使用源地址进行trie树查找:步骤1:查找的trie树节点为i,初始值设置为root2 ;源地址待处理的比特位为W,初始值设置为0,表示源地址的最高位;步骤2:从左到右依次处理源地址的比特位,若节点i的扩展标识SF为1,进入步骤3 ;若节点i的扩展标识SF为0,进入步骤4 ;步骤3:取本文档来自技高网
...
一种基于复合trie树结构的源地址目的地址联合查找方法

【技术保护点】
一种基于复合trie树结构的源地址目的地址联合查找方法,其特征在于步骤如下:(1)建立复合trie树结构;(2)基于复合trie树结构进行源地址目的地址联合查找,具体为:(2.1)确定起始树节点:对源地址、目的地址进行联合查找,取所述复合trie树结构根节点的右儿子作为查找起始树节点,记为root2;(2.2)使用源地址进行trie树查找:步骤1:查找的trie树节点为i,初始值设置为root2;源地址待处理的比特位为w,初始值设置为0,表示源地址的最高位;步骤2:从左到右依次处理源地址的比特位,若节点i的扩展标识SF为1,进入步骤3;若节点i的扩展标识SF为0,进入步骤4;步骤3:取节点i的左儿子的高4位为步进值step,若源地址从w比特开始向右的step个比特与节点i的左儿子的低4位相同,将节点i的右儿子的值赋值给节点i,否则令i为0;令w=w+step,若w<32,则返回步骤2;否则,进入步骤5;步骤4:取源地址从左到右第w个比特位,若该比特位为0,将节点i的左儿子的值赋值给节点i;若该比特位为1,将节点i的右儿子的值赋值给节点i;令步进值step为1;令w=w+step,若w<32,则返回步骤2;否则,进入步骤5;步骤5:得到节点i的路由索引index的值,作为目的地址查找的根节点号;(2.3)使用目的地址进行trie树查找:使用步骤(2.2)的方法进行目的地址查找,得到节点q的路由索引index值,即为进行源地址目的地址联合查找命中的路由表项下标,从而得到下一跳地址和输出端口号。...

【技术特征摘要】

【专利技术属性】
技术研发人员:何婧马伟刘晓旭赵哲邵世雷
申请(专利权)人:西安空间无线电技术研究所
类型:发明
国别省市:陕西;61

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

1