Ipv6 routing search algorithm by applying trie and binary search

Page 1

Scientific Journal of Control Engineering June 2013, Volume 3, Issue 3, PP.147-154

IPv6 Routing Search Algorithm by Applying Trie and Binary Search Chao Chen Network Management Center, Sichuan University of Technology & Engineering, Sichuan Zigong 643000, China #

Email: cynet525@139.com

Abstract Because of increase of the address length under IPv6, the treatment burden of router is heavier; it is unable to meet the new demand to a lot of algorithms that is existing after expanding to IPv6 at present. So, for reaching very good adaptability to IPv6, routing search algorithms must have very good performance to buffering tactics, compressing tactics, prefix expanding, independent prefix to transform etc. This paper briefly analyzed the binary routing search algorithm based on prefix length and the routing search algorithm based on Trie. After then, it proposed an improved routing search algorithm and presented corresponding implementation schemes under IPv6. Combined the binary routing search algorithm based on prefix length and the routing search algorithm based on Trie, the improved algorithm supports MVRF dynamic to update, has higher search speed and better scalability of prefix length. Simulation results show that this algorithm can well satisfy the requirements of IPv6. Keywords: Binary Search; IPv6; Routing Search Algorithm; MVRF

采用 Trie 和二分查找的 IPv6 路由查找算法* 陈超 四川理工学院 网络管理中心,四川 自贡 643000 摘 要:在 IPv6 下由于地址长度增加,导致路由器负担加重,目前很多已有的路由查找算法扩展到 IPv6 后无法适应新的 需求。因此,路由查找算法要达到对 IPv6 很好的适应性,必须要在缓存策略、压缩策略、前缀扩展、独立前缀转化等各 个方面都具有很好的性能。本文首先简要分析了基于 Trie 的路由查找算法和基于前缀长度的二分路由查找算法的优缺 点,在此基础上提供了一个改进的路由查找算法并给出了其在 IPv6 下的实现方案。该改进算法把基于 Trie 的路由查找算 法和基于前缀长度的二分路由查找算法结合起来,从而使其具备路由转发表动态更新、查找速度快、对前缀长度扩展性 好等特点。仿真实验表明该算法能够较好地满足 IPv6 的要求。 关键词:二分查找;IPv6;路由查找算法;路由转发表;MVRF

引言 IPv4 作为网络的基础协议曾经发挥了巨大的作用,取得了令人瞩目的成功[1]。但随着 Internet 的迅速发 展,IPv4 的弊端和局限日益凸显,如地址空间短缺、安全问题、配置麻烦等,这些都大大限制了 Internet 的 飞速发展[2]。为了解决这些问题,尤其是解决地址空间不足的问题,IPv6 应运而生。由于新一代 IP 协议 IPv6 使用长度为 128 的地址,它给本来已经很复杂的最长匹配前缀查找带来了更大的困难 [3]。对于目前的 32 位计算机系统来说,访问一个 128 地址就需要进行 4 次读写操作,查找速度会大大降低。为此,目前很 多已有的路由查找算法应用到 IPv6 后不能很好地满足其要求[4]。在此背景下,研究适用于 IPv6 的路由查找 算法成为了当前的一个研究热点。本文首先简要分析了基于 Trie 的路由查找算法和基于前缀长度的二分路 *

基金资助:四川省科技厅支撑计划项目(2013GZ0030);人工智能四川省重点实验室开放基金项目(2011RYY06);四川理工学 院国家基金培育项目(2011PY05)。 - 147 http://www.sj-ce.org/


由查找算法的优缺点,在此基础上提出了一个改进的路由查找算法,并给出了该算法在 IPv6 下的实现方 案。从模拟性能来看,该算法具有查找、更新速度快的特点。同时,由于算法简单,容易实现,具有较高 的实用价值。

1 相关算法分析 1.1 基于 Trie 的路由查找算法 Trie 来源于单词 retrieval,Radix Trie 也称为简单 Trie,是一种在每一个分支上标注了值的二叉树,在进 行查找时用查找索引值的每个 bit 分别与分支上的标注值比较来实现检索[5]。 基于 Trie 的路由查找算法的特点是顺序比较目的地址的一位或几位,在进行 IPv4 查找时由于地址只有 32 比特,所以可以得到较好的查找性能。但这类算法的一个严重的缺点是对前缀长度的扩展性差。对于压 缩转发表和压缩树算法都是专门为 IPv4 地址设计,不适合查找更长的地址。采用该类算法查找 IPv6 的 128 位地址时,其查找速度会下降 4 倍,存储容量增加的倍数更多,所以目前基于 Trie 的路由查找算法不适应 未来 IPv6 的路由查找[6]。

1.2 基于前缀长度的二分路由查找算法 该算法是在基于前缀长度的路由查找算法的基础上产生的。基于前缀长度的路由查找算法进行查找的 一大缺点是需要查找的次数太多,如果能减少搜索的次数,这种方法还是很吸引人的[7]。基于前缀长度二分 路由查找算法是减少搜索次数的一种有效方法。它不是从前缀最长的集合开始,而是从一个中间值开始。 假设地址长度为 W,查找首先从长度为 W/2 的集合开始,如果成功则查找长度为 W/2+W/4 的集合;如果失 败,则查找长度为 W/2-W/4 的集合,之后每次查找长度的变化(步长)为上一次的 1/2。这种算法的时间复杂 度为 O(log2W),对于 IPv4 地址来说,查找过程最多需要 log232 =5 次存储器的访问,对于 IPv6 地址来说, 查找最多需要访问 log2128 = 7 次存储器。 基于前缀长度的二分路由查找算法的一个显著优点是该算法具有很好的扩展性,它在最坏情况下访问 存储器的次数只与前缀长度的个数有关,与转发表中前缀的个数无关。对于 IPv4 最多只需要访问 5 次存储 器,既使考虑到将来的 IPv6,也只需要进行 7 次访问,而其它方法对于扩展到 IPv6 是很困难的。但在实现 时该方法也面临一些困难:某些前缀集合中的前缀数特别多,找到一个无冲突的 Hash 函数不是件容易的事 情,特别是每当插入一个前缀时,可能需要更新 Hash 函数,而快速找到新的 Hash 函数是很困难的。该方 法的速度是建立在能找到一个很好的 Hash 函数的基础之上[8]。

2 本文改进算法 基于 Trie 的路由查找算法实现灵活、转发表动态更新快,但是现有的这类算法都是针对 IPv4 的查找算 法,其扩展性差,如果扩展到 IPv6 其查找速度和存储容量都将大大增加。基于前缀长度的二分查找算法查 找很快,但是对于每一长度前缀集合查找时需要 Hash 函数,而性能良好 Hash 函数不容易找到,同时转发 表更新时要增加一些前缀,这有可能降低 Hash 函数的性能,这时就要重新选择 Hash 函数、组织 Hash 表, 增加了更新的难度。本文把这两种算法结合起来,提出一个改进的算法。

2.1 基本定义 步长 :第 k (k>1)次查询的前缀长度 Lk 与第 k-1 次查询的长度 Lk-1 的差值的绝对值 ΔL=|Lk-Lk-1|称为 第 k 次查询的步长 L0=0。 查询方向:假设第 k 次查询的网络前缀长度为 Lk,假设第 k-1 次查询的网络前缀长度为 Lk-1,如果 Lk-1<Lk 则称第 k-1 次查询结果的方向是正向的(该节点为其父节点的右节点),否则为反向(该节点为其父节 点的左节点)。 - 148 http://www.sj-ce.org/


节点,表示为 NLi,其中 L 表示该节点代表前缀的长度,i 为节点编号。 节点数组的表项,表示为 ELij,其中 L 和 i 的定义与节点中的定义相同,j 为节点数组索引值。 节点编号长度 Li:该长度与节点所代表的前缀长度有关,根节点的编号长度为 0,一节点如果是其父节 点的左节点,则该节点的节点编号长度与其父节点的相同;如果是右节点,则该节点的节点编号长度等于 其父节点所代表前缀的前缀长度。例如:节点 NW/2i 的 Li=0,其左节点的节点编号长度也为 0,其右节点 的节点编号长度为 W/2。 节点编号值 i:IP 地址(用二进制表示)前 Li 位的值。 索引长度 Lj=节点代表的前缀长度 L-节点编号长度 Li。 索引值 j:IP 地址(用二进制表示)第 Li+ 1 位到第 Li+Lj 位所代表的值,该值既与前缀有关又与节点有 关,对于不同的节点即使是相同的前缀其索引值也不同。 查找级 Le:表示节点所处的查找级。

2.2 算法原理 基于 Trie 的路由查找算法采用顺序比较 IP 地址位数的方法,所以访问存储器次数较多,查找速度慢, 如果此时采用二分的方法将会提高查找速度。对于前缀长度为 W 的 IP 地址,首先利用 IP 地址的前 W/2 bit 与所有前缀长度为 W/2 前缀进行匹配,如果匹配成功则用 IP 地址的 W/2+1~W/2+W/4 bit 为索引,查找前缀 长度为 W/2+W/4 的其前 W/2 bit 与该 IP 地址相同的前缀;如果匹配失败则取 IP 地址的前 W/4 bit 与所有前 缀长度为 W/4 前缀进行匹配。依次类推,直到查询结束。其查询顺序如图 1 所示: 第一级

W/2 匹配失败

匹配成功

W/4 匹配失败

第二级

3W/4 匹配成功

匹配失败

匹配成功

W/8

3W/8

5W/8

7W/8

第三级

……

……

……

……

……

图 1 基于二分查找和 Trie 的路由查找算法的前缀长度查询顺序

backward(B)

backward_address(BA) 节点头

prefix_valid(PV) forward(F) backtrack(T) nexthop_address(NHA) forward_address(FA) 节点数组 图 2 节点数据结构

每个节点的数据结构由节点头和节点数组两部分组成。在节点头中:backward(B)表示该节点是否有左 分支;backward_address(BA)在 backward 有效时表示左分支节点的地址。在节点数组中:prefix_valid(PV)表 示该表项是否是有效节点;forward(F)表示该表项是否有右分支;backtrack(T),表示该节点是否存在回溯; nexthop_address(NHA),在 prefix_valid 或 backtrack 有效时表示该表项对应的下一跳地址信息;forward_ - 149 http://www.sj-ce.org/


address(FA),在 forward 有效时表示该表项对应的右节点的地址。 该方案实际上是一种特殊的 Trie 结构,每个节点包含一个节点头和一个节点数组。节点数组的大小和 与该节点表示前缀的长度有关,处于第 Le 级的节点其数组大小为 2w/a,a=2Le,所以处于第一级的节点数 组最大,为 2w/2,第一级节点只有一个,为 Nw/2.0 称为根节点,以后每一级节点数组的大小是前一级的 1/2。节点头指向该节点的反向节点(如果反向节点存在),每个节点最多包含一个反向节点(左节点); 每个节点数组可以指向一个该节点的正向数组,所以最多包含 2w/a 个正向节点(右节点)。 如果把一个前缀的长度为 W/2 的前缀加入转发表,该前缀在第一级的索引值 j 等于前缀 1~W/2bit 所代 表的值,把第一级节点数组第 j 个表项的 prefix_valid 置为有效(置为 1),同时将 nexthop_address 设置为 该前缀对应的下一跳地址。 如果把一个前缀长度为 W/2+W/4 的前缀加入转发表。该前缀在第一级节点的编号长度 Li=0,编号值为 i=0,索引长度 Lj=W/2,索引值 jw/2 等于前缀 1~W/2bit 所代表的值。该前缀在前缀长度为 3W/4 的第二级节 点的编号长度 Li=W/2,编号值 i 等于前缀 1~W/2bit 所代表的值,索引长度 Lj=W/4,索引值 j3w/4 等于前缀 的第 W/2+1~3W/4bit 所代表的值。首先把第一级节点第 jw/2 个表项的 forward 置为有效,申请一个前缀长度 为 3W/4 的第二级节点 N3w/4i,其中 i 为第二级节点的编号,把该节点的地址写入第一级节点的 forward_ address。把第二级节点的第 j3w/4 个表项的 prefix_valid 置为有效,将 nexthop_address 设置为该前缀对应的 下一跳地址。 如果把一个前缀长度为 W/4 的前缀加入转发表。把第一级节点头 backward 置为有效,申请一个前缀长 度为 W/4 的第二级节点 Nw/4i,该前缀在第二级节点的编号长度 Li=0,编号值 i=0,索引长度 Lj=W/4,索 引值 j 等于前缀 1~W/4bit 所代表的值。把第二级节点的地址写入第一级节点头中的 backward_address,第二 级节点数组第 j 个表项的 prefix_valid 置为有效,将 nexthop_address 设置为该前缀对应的下一跳地址。

2.3 算法分析 该算法结合了 Trie 算法支持转发表动态更新和基于前缀长度二分查找算法查找速度快、对前缀长度扩 展性好的特点,与原有的路由查找算法相比具有以下优点: (1)实现方法简单灵活,查找速度快。 本算法最坏的情况下需要访问存储器的次数为 log2W,所以对于 IPv4 来说完成一次查找最多访问存储 器 5 次,对于 IPv6 地址查找最多也只需要 7 次。 (2)对前缀长度的扩展性好; 与现有路由查找算法中只有基于前缀区间的算法相比,基于前缀长度的二分查找算法扩展性好,但基 于前缀区间的算法随着网络前缀数量的增加查找性能下降,而后者则不会出现这种问题,本算法采用基于 前缀长度的二分查找算法的思想,对前缀长度的扩展性好。 (3)支持转发表的动态更新; 支持转发表的动态更新使得该算法的更新速度快。 (4)利用部分 IP 地址为索引避免了使用 Hash 函数; 基于前缀长度的二分查找算法的查找速度虽然与本算法相同,但是对每一前缀长度集合查找时需要使 用 Hash 函数,但性能良好的 Hash 函数不容易找到,而且在转发表更新时需要插入网络前缀,会降低现有 Hash 函数的性能,某些情况下还需要重新选择 Hash 函数、组织 Hash 表,增加了转发表的更新难度。本算 法利用部分 IP 地址作为索引避免了使用 Hash 函数,提高了算法的性能。

3

IPv6 下本文算法路由查找方案

3.1 IPv6 查找结构图 由于 IPv6 的地址长度为 128bit,如果直接采用该算法应用于 IPv6,第一级节点数组包含 264 个表项, - 150 http://www.sj-ce.org/


第二级的节点数组包含 232 个表项,所需的存储空间过大。本文通过增加三个数组 Table-64,Table-32 和 Table-96 使其适应 IPv6 路由查找,查找结构如图 3 所示。Table-64 中索引项存放的是长度大于等于 64bit 的 路由前缀的前 64bit;Table-96 的索引表项长度为 96bit,存放长度大于等于 96bit 的前缀的前 96bit;Table-32 的索引表项长度为 32bit,存放长度大于 32 小于 64 的前缀的前 32bit。这三个表可以通过 CAM 实现,通过 两次查询剩下的前缀按长度分成 4 类:1~31bit,33~63bit,65~95bit 和 97~128bit。每一类可按 IPv4 查找算 法组织数据结构。 IPv6地址

输出结果

Table-64

匹配失败

匹配成功

Table-32

Table-96

输出结果

输出结果 Trie

输出结果

图 3 IPv6 查找结构图

Table-32,Table-64 和 Table-96 表项的数据结构:prefix_valid,forward,backtrack,nexthop_address 和 forward_address。三个数组均不再包含节点头。其中 forward_address 表示的意义与原算法有所不同,Table64 中的 forward_address 指向的是一个 Trie 的入口地址,该 Trie 由前缀长度大于 64bit 小于 96bit,且前 64bit 与该表项索引相同的前缀构成的 Trie;Table-32 中 forward_address 指向的 Trie 由前缀长度大于 32bit 小于 64bit,且前 32bit 与该表项索引相同的前缀构成的;Table-96 中 forward_address 指向的 Trie 由前缀长度大于 96bit,且前 96bit 与该表项索引相同的前缀构成的 Trie。

3.2 转发表的生成 对于前缀长度大于等于 64bit 的前缀在 Table-64 中对应一个表项,如果该前缀长度等于 64,在对应表项 处 prefix_valid 置 1,把该前缀对应的下一跳地址填入 nexthop_address;如果大于 64 小于 96,则把该表项的 forward 置 1,将前缀长度大于 64 小于 96 且前 64bit 与该前缀相同的前缀构成一个 Trie,把 Trie 的入口地址 填入 forward_address。 对于前缀长度大于等于 96bit 的前缀,除了在 Table-64 对应一个表项外,在 Table-96 也对应一个表项, Table-64 中对应表项的 forward 置 1,如果前缀长度等于 96,在 Table-96 对应表项处 prefix_valid 置 1,并将 该前缀对应的下一跳地址填入 nexthop_address;如果长度大于 96 将 Table-96 对应表项处的 forward 置 1,将 前缀长度大于 96bit 且前 96bit 与该前缀相同的前缀构成一个 Trie,把 Trie 的入口地址填入 forward_address。 前缀长度小于 64bit 的前缀按相同的方式存储,处理前缀回溯问题与原算法基本相同,这里不再复述。

3.3 查找步骤 目的地址 D128 的查找步骤: 第一步:设置变量 success 作为查找中是否匹配到有效前缀的标志,设置变量 nexthop_address 记录有效 前缀对应的下一跳地址,forward_address 为 Trie 的入口地址,DTrie 为第五步查找索引。 第二步:取 D128 的前 64bit 为索引查找 Table-64;如果找到匹配表项,则: 如果该表项的 prefix_valid=1,forward=0,则:success=1;nexthop_address=该表项的 nexthop_address; 查找结束; - 151 http://www.sj-ce.org/


如 果 该 表 项 的 prefix_valid=1 , forward=1 , 或 者 prefix_valid=0 , forward=1 , backtrack=1 则 : success=1;nexthop_address=该表项的 nexthop_address;forwardes_address=该表项的 forwardee_address;转 到第三步查找 Table-96; 如果该表项的 prefix_valid=0,forward=1,backtrack=0 则:Forward_address=该表项的 forward_address; 转到第三步查找 Table-96; 否则,转到第四步查找 Table-32; 第三步:取 D128 的前 96bit 为索引查找 Table-96;如果找到匹配表项,则: 如果该表项的 prefix_valid=1,forward=0,则:success=1:nexthop_address=该表项的 nexthop_address; 查找结束; 如 果 该 表 项 的 prefix_valid=1 , forward=1 , 或 者 prefix_valid =0 , forward=1 , backtrack=1 则 : success=1 ; nexthop_address= 该 表 项 的 nexthop_address ; forward_address= 该 表 项 的 forward_address ; DTrie=D128 的第 97~128bit;转到第五步; 如果该表项的 prefix_valid=0,forward=1,backtrack=0 则:Forward_address=该表项的 forward_address; DTrie=D128 的第 97~128bit;转到第五步; 否则,DTrie=D128 的第 65~95bit;转到第五步; 第四步:取 D128 的前 32bit 为索引查找 Table-32;如果找到匹配表项,则: 如果该表项的 prefix_valid=1,forward=0,则:success=1;nexthop_address=该表项的 nexthop_address; 查找结束; 如 果 该 表 项 的 prefix_valid=1 , forward=1 , 或 者 prefix_valid =0 , forward=1 , backtrack=1 则 : success=1 ; nexthop_address= 该 表 项 的 nexthop_address ; forward_address= 该 表 项 的 forwardes_address ; DTrie=D128 的第 33~63bit;转到第五步; 如果该表项的 prefix_valid=0,forward=1,backtrack=0 则:Forward_address=该表项的 forward_address; DTrie=D128 的第 33~63bit;转到第五步; 否则,DTrie=D128 的第 1~31bit;Forward_address=长度小于 32 的前缀构成的 Trie 的入口地址;转到第 五步; 第五步:以 forward_address 为 Trie 的入口地址,DTrie 为索引,按照类似 IPv4 的算法查找。

4

仿真实验

4.1 查找速度 本文算法最坏的情况下需要访问存储器的次数为 log2W,所以对于 IPv4 来说完成一次查询最多访问存 储器 5 次,对于 IPv6 地址查找最多也只需要 7 次。如果采用 50ns 的 DRAM 实现,最坏可以达到 4M lookups/s 的查找速度。该算法为分级结构,可以采用流水线实现,如果采用流水线结构可以达到 20M lookups/s 的查找速度。

4.1 转发表所需存储容量 本文对骨干网路由器 AADS 和 Mae-West 的路由表进行了统计,表 1 给出了它们的前缀长度分布情况。 本文根据表 1 的数据对该算法进行了模拟仿真,分析其性能,实验结果如表 2、表 3 所示。 AADS 转发表所需的表项总数为 1913956 个,节点头为 26889 个。Mae-West 转发表所需的表项总数为 1787658 个,节点头 为 23612 个。如果该算法采用 DRAM 实现,每个节点数组表项 为 56bit,其中 prefix_valid,forward 和 backtrack 各 lbit,nexthop_address 22bit,forward_address 31bit;每个节点头为 32bit。转发表所需存储容量 AADS 为 13485KB,Mae-West 为 12595KB。该算法是一种所需存储容量适中的 路由查找算法。 - 152 http://www.sj-ce.org/


表 1 骨干网路由器路由表前缀长度分布 前缀 长度 8 9 10 11 12 13 14 15 16 17 18 19 20

前缀数目 AADS MaeWest 9 10 2 3 2 3 1 4 7 12 31 37 58 65 112 122 2630 2324 611 532 1009 876 2778 2259 2459 2030

前缀 长度

前缀数目 AADS MaeWest 1593 1393 2304 1962 2598 2252 17336 15728 46 25 40 2 29 2 21 1 6 1 12 2 0 0 0 1 33694 29636

21 22 23 24 25 26 27 28 29 30 31 32 合计

表 2 AADS 路由器实验结果 查找级 每个节点数组 所含表项数 每级节点个数

1 65536

2 256

3 16

4 4

5 2

1

6219

8079

5688

6902

表 3 Mae-West 路由器实验结果 查找级 每个节点数组 所含表项数 每级节点个数

1 65536

2 256

3 16

4 4

5 2

1

5937

7194

4981

5499

4.2 转发表更新 从转发表的生成和更新步骤可以看出,在更新一个网络前缀时,如果处理到某一节点数组,下一步是 处理右节点则不涉及该节点其它表项的修改;否则可能要修改该节点的其它表项。表 4 给出了更新某一长度 前缀最大所需要修改的表项数目。 表 4 更新某一长度前缀最大所需要修改的表项数目 前缀 长度

最大需要修改 表项数

前缀 长度

最大需要修改 表项数

8 9 10 11 12 13 14 15 16 17 18

242 135 67 34 17 11 6 5 1 135 67

21 22 23 24 25 26 27 28 29 30 31

11 2 5 2 11 6 5 2 5 5 9

表 4 更新某一长度前缀最大所需要修改的表项数目(续) 前缀 长度

最大需要修改 表项数

前缀 长度

最大需要修改 表项数

19 20

34 17

32

5

但是通过对实际骨干路由表数据的模拟,实际需要修改的表项数远小于最大值。表 5 给出了实际转发表 - 153 http://www.sj-ce.org/


前缀更新时所需要修改的表项数统计数据。 表 5 实际骨干网转发表更新前缀所需修改表项数目 修改表项数 AADS Mae-West

1 31996 28169

2 409 429

3 625 597

4 230 151

5 224 140

>5 137 129

实验结果显示, 超过 95%的网络前缀更新时只需要更新一个表项,超过 99%的网络前缀更新时修改表 项数不超过 5 个。理论最大值与实际模拟值相差很大的原因是:一些前缀相互重叠添加一个前缀前几级的节 点表项不需要更改;由于避免回溯而更改的表项较少。 通过上述分析可以看出本文算法是一种查找速度快,转发表存储容量适中,支持转发表动态更新且更 新速度较快的路由查找算法。

5

结束语 本文重点论述了路由查找算法,该技术对于设计下一代高性能路由器具有十分重要的意义。本文首先

简要分析了基于前缀长度的二分路由查找算法和基于 Trie 的路由查找算法的优缺点,在此基础上提出了一 个改进的路由查找算法,给出了该算法的实现步骤,并对算法性能进行了分析,进而提出了算法在 IPv6 下 的实现方案。实验结果显示该算法是一种性能良好的高速路由查找算法。

REFERENCES [1]

李磊, 杨柏林, 胡维华. IPv6 与 IPv4 网络通信模型的比较研究[J]. 计算机工程与应用, 2003, 39(2): 167-168,226

[2]

蒋丽影, 惠晓威, 齐永才. 从 IPv4 向 IPv6 过渡的关键技术及迁移过程[J]. 计算机与信息术, 2005, 13(11): 106-107

[3]

王相林. IPv6 技术——新一代网络技术[M]. 北京: 机械工业出版社, 2008

[4]

徐恪, 徐明伟, 吴建平, 吴剑. 路由查找算法研究综述[J]. 软件学报, 2002, 13(1): 42-50

[5]

王智强, 王振兴, 张定心. 基于 Trie 的快速路由查找算法[J]. 信息工程大学学报, 2003, 4(3): 10-13

[6]

崔尚森, 张白一. 一种基于哈希表和 Trie 树的快速 IP 路由查找算法[J]. 计算机工程与应用, 2005, 41(9): 156-158

[7]

刘亚林, 刘东, 张晓. 基于前缀扩展的快速路由查找算法[J]. 计算机学报, 2001, 24(12): 1272-1278

[8]

张宏丽, 昝利国. IPv6 路由查找算法探究[J]. 内蒙古电大学刊, 2010, 18(2): 60-61

【作者简介】 陈超(1980-),男,汉,四川资中人,硕士,副教授,主要从事网络安全技术及应用、物联网安全技术 及应用、智能信息处理等。Email: cynet525@139.com

- 154 http://www.sj-ce.org/


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.