基于Hash和Trie树的IPv6高速查找和快速增量更新路由算法设计与实现
一种改进的二分法IPv6路由查找算法
大大提高 算法更新效 率。
由查找算法一一A s B H算法 , 即基于一 级线性索 引表 ( ra) A ry
查找算法基础之 七,提出了一种改进算法 ,该算法应用于超 大规模路 由表时能 表现 出较好、稳定的运行效率。为 减小内存消耗 ,还针对
该算法提 出 r 优化疗案 ,并通过实验数据进行 r 比分析 。 对 关健词 :Iv ;分组转发 ;最 长 P6 地址前缀 匹配;路 由表查找
I p o e s Pv u eLo k p Al o ih m r v d Fa t I 6Ro t o u g r t m Ba e n Bi a y S a c sd0 n r e r h
r ues o t r .Ba e n t e a g rt m f b na y s a c a h t b e , h s p p r d s rb s a n w l o i s d o h lo i h o i r e r h on h s a ls t i a e e c i e e ag rt hm,ABS H f r b s t h n r fx o Pv o e t mac i g p e f I 6 i
中 分 号 T31 圈 类 : P06 .
种 改进 的二分法 I v P 6路 由查找算 法
孙 庆南 ,鲁士文 ‘
一种基于Trie的IPv6路由查找方案
2 Ti的相关研究 r e
2 1 Ti 简介 . r e 字典树 ( r ) T i 是一种用 于快速字符 串检 索 e 的多 叉树结 构 。其原 理是利 用 字符 串的公 共 前缀来 降低时 空开销 , 从而 达到提 高程序效率
的 目的 。
上 ,取得 要查 找关 键词 的第二 个字 母 ,并进 步选择对应 的子树进 行检 索 ; ) ( 迭代过 程 ; 4 () 某个结 点处 ,关键 词的所 有字母 已被取 5在 出 ,则读 取附 在该结 点上 的信息 ,即完成 查 找 。 22 现有基于 Ti的 l查找方法 . r e P () 1二进制 Tre i 在二进¥ T i树 结构 中, 1r ] e 通过 前缀中每一 比特 的值来决定树 的分支 , 与路 由有关 的转发 信息 就保存在 T i 树的节 点中。 已知 某路 由 re 表如 表 1 所示 。其 二进制 T i 结构 如图 1 re 所 示 。对于 I v P 4来说 ,在最 坏情 况下树 的深 度为 3 2,即需 要 3 2次 的存储 器访 问。这 对 18 位地址 的 I v 来说 ,无疑是一个 极大的 2 P 6 挑 战 。 ( 变种 Tre 2) i a 路径 压缩 Tr . i e 路 径压缩 T i 结构 1 二进制 T i 结 r e I 是对 r e 构改进而 来的。考虑 到 1 i T i 结构 中相 b t r e 当一 部 分 内部 节 点既 不对 应 任 何路 由规 则 , 而且也 只有一 个子节点 ,如图 l 中的 “ l 0 0 l” 节点到 “ 10 0 ”标记为 C的点都属于这种 O 0 1 1 情 况 。显然这 一 系列的 点仅给 出 了一条搜 索 路径 , 只需对 C节点进行描述 , 可以删除中 则
IPv6 FIB路由查找及更新之挑战和测试原则
IPv6 FIB路由查找及更新之挑战和测试原则内容简介:IPv6 address长度是128bit,Ipv4 address长度的32bit。
就地址长度而言,扩大4倍。
就容量而言,扩大了2^96倍。
IPv6 Address Lookup对路由器设备的挑战有多大,是比IPv4难4倍还是难40倍?当前路由设备对IPv6 FIB查表的支持程度竟究如何?本文从三层转发最长匹配(LPM)原理出发,对比分析IPv6对路由器设备的带来的挑战难度。
同时,根据LPM的实现原理,提出对现有设备IPv6 Address lookup及IPv6 FIB支持情况的测试用例的设计三原则:IPv6地址离散性、不同掩码长度,IPv6 Prefix有嵌套和分叉。
同时,根据这三个原则对国内运营商选型测试中常用的两例IPv6测试进行分析,指出其优点改进方向。
最后,提出一个满足上述四个原则的测试用例脚本。
1.迎接IPv6时代—Are the Boxes Ready?全球的IPv4地址即将用完,尤其是中国的地址最为紧缺。
另一方面,物联网概念的提出,对IP地址的需求成N倍增长。
因此,IPv6地址即将走上舞台。
中国政府已经将Ipv6的推进提到国家战略的高度。
中国的各大运营商也对应Ipv6网络演进纷纷采取大动作,例如中国电信宣布成为全球首家认证通过的IPv6宽带接入运营商。
近年来,国内外各设备运营商纷纷对路由器设备展开IPv6 Address Lookup能力的测试,以期望这些设备能在未来的IPv6商用网络中发挥正常作用。
测试的内容,主要考核点:IPv6 FIB容量、IPv6路由刷新性能、IPv6转发性能。
由于全世界IPv6并未大规模商用,IPv6路由分布和地址分配方案都存在较大变数。
另一方面,IPv6地址容量大得足以给地球上每一粒沙子分配一个地址;而当前设备能处理的IPv6地址和前缀容量很有限,相对IPv6整个容量而言只能算沧海中的一小粟。
Trie树路由查找算法在网络处理器中的实现
中图分类号:T P 3 9 3 ・ 0 7
T r i e 树路 由查找 算 法在 网络处理器 中的实现
张 琦 ,金胤丞 ,李 苗 ,章建雄
( 中国 电子科 技集 团公 司第 三 十二研 究 所 ,上海 e 树数据结构的实现方法灵活 ,所需存储器空间小 ,是实现高速路 由查找和分组转发的理想选择 。为满足 1 0 G b / s 线速
d e p t h, e x c h a n gi n g s p a c e f o r t i me ,i mpr o v i ng t h e e ic f i e n c y of l oo k u p a n d pa c k e t f o w a r r d i n g. Ro u t e r l o ok u p a l g o r i t h m b a s e d o n T r i e t r e e i s i mp l e me nt e d i n NP de s i g n, a n d t h e a l go r i t hm p e r f or ma n c e i s a n a l y z e d. A s i ng l e mi c r o e ng i ne l o o ku p s p e e d i s up t o 4. 4 Mb / s , a n d i t h a s a n a d v a n t a g e of s mal l s t o r a g e a nd h i g h u pd a t e s p e e d.
t r e e s t r u c t u r e , t h e n t h e a d j a c e n t m u l t i n o d e s a r e c o m p r e s s e d t o a s t o r a g e n o d e . I t c o n s t uc r t s a s p e c i i f c t r e e s t uc r t u r e t o r e d u c e t h e t r e e s e a r c h
Internet路由之路由表查找算法概述-哈希LC-Trie树256-way-mtrie树
Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie 树引:路由是互联网的一个核心概念,广义的讲,它使分组交换网的每个节点彼此独立,通过路由耦合在一起,甚至在电路交换网中,虚电路的建立也依赖路由,路由就是网络中数据通路的指向标。
狭义的讲,路由专指IP路由,它支撑着整个IP网络。
由于IP是数据报网络,它是不建立连接的,因此IP分组是一跳一跳被转发,通路是通过路由信息一跳一跳的被打通的,因此路由直接关系到整个基于IP的网络的连通性。
由于IP协议没有方向,甚至它都没有会话的概念,因此路由必然要是双向的,否则数据就有去无回了(有人提倡用NAT来解决反向路由问题,实际上NAT在公共核心网络上口碑十分不咋地,它甚至破坏了IP协议的原则,记住,NAT一般只用于端点)。
互联网如此之大,每个路由器上的路由信息会非常之多,路由器是怎么在海量的路由信息中用最快的速度-显然很重要-检索出自己需要的呢?另外如此海量的路由信息又是怎么生成的呢?本文着重回答第一个问题,关于第二个问题请参考《Internet路由结构(第二版)》(Cisco Press,想看就赶快买,不买就买不到了,Cisco有几本书真的很火爆,总是不好买)1 .基本概念路由的概念:路由是一种指向标,因为网络是一跳一跳往前推进的,因此在每一跳都要有一系列的指向标。
实际上不仅仅是分组交换网需要路由,电路交换网在创建虚电路的时候也需要路由,更实际的例子,我们日常生活中,路由无处不在。
简单的说,路由由三元素组成:目标地址,掩码,下一跳。
注意,路由项中其实没有输出端口-它是链路层概念,Linux操作系统将路由表和转发表混为一谈,而实际上它们应该是分开的(分开的好处之一使得MPLS更容易实现)。
路由项通过两种途径加入内核,一种是通过用户态路由协议进程或者用户静态配置配置加入,另一种是主机自动发现的路由。
所谓自动发现的路由实际上是“发现了一个路由项和一个转发表”,其含义在主机某一个网卡启动的时候生效,比如eth0启动,那么系统生成下列路由表项/转发项:往eth0同一IP网段的包通过eth0发出。
一种基于Trie的IPv6路由查找方案
是利用字符串的公共前缀 来降低时空 开销 , 从而达到提 高程序
效率 的 目的 。
该字母选择对应的子树 , 并转到该子树继续 进行检索 ; 3 ()
在相应 的子树上 , 取得要查找关键词 的第 二个字母 , 并进一步选 择对应的子树进行检索 ;4 ( )迭代过程 ; 5 ( )在 某个结点 处 , 关 键词的所有字母 已被取出 , 则读取附在该结点上 的信息 , 即完成
随着 It t ne 的迅猛发展 , v me I 6技术必将 成 为主流。于是 , P 如何 高效地 在路 由表 中查找 匹配 18位 1v 2 P6地 址 , 为 了 成
Iv P6技术发展 的一大制约因素。经大量研究表明,r Ti e数据结构是实现高速路 由查找和报文转发的关键。结合 lv P 6的地址 结构特 点, 设计 出基于 Ti r e数据结构的查找算 法, 提高 了路 由查找效率以及报 文转发速 度。
Ab ta t sr c Wi h a i e eo me t fI tme .t e tc n l g fI v i e t e man t a t t e r pd d v lp n ne t h e h oo y o P 6 w l b h isr m.Th s ti t e k y t n e a h o l e u ,i s h e o f d a n w w y i
ta a th l 8 b tI v d rs n r u ig tb e w t ut ih s e d h tc n mac 2 . i P 6 a d e si o t a l i a q i hg p e .Af ra ma so td e ,w n h tt eTr aa sr cu e i n h e t s f u is e f d ta h i d t t t r s e s i e u t e k y t a h e e a h g p e o o t g l k p a d p c e fr a dn .A c r i g t te c a a tro P 6 a d e s sr cu e n t i p p r h e o c iv ih s e d f rru i o u n a k t o w r i g c o d n o h h ce f v d r s t tr ,i h s a e n o r I u i p ie e e r h n lo i m a e n T e h c a ih yp o t es a c i ge c e c f ui g lo u sa d te s e d o r t mvd s an w s a c i ga g rt b s d o i ,w ih c n hg l r moe t e h n f in yo t k p n h p e f ‘ h l h r i o r n o o f w r i g p c es a d n a k t. Ke wo d y rs R u ig l k p I v T e t e ot n o u P6 l i —r e
一种基于哈希表和Trie树的快速IP路由查找算法
一种基于哈希表和Trie树的快速IP路由查找算法
崔尚森;张白一
【期刊名称】《计算机工程与应用》
【年(卷),期】2005(41)9
【摘要】Internet的飞速发展要求核心路由器每秒能转发几百万个以上的分组,实现高速分组转发的关键是路由表的组织和快速的路由查找算法.论文提出了一种基于8比特的前向查找表(LFT)和7比特的简单二进制回退查找Trie树(HBT)的IP路由查找算法.算法综合考虑了IP地址的分布特点,兼顾了查找速度、存储空间利用、硬件实现,以及向IPv6过渡等几个因素.具有算法简单、查找速度较快、存储空间利用率较高、易于扩展和便于硬件实现等特点.
【总页数】3页(P156-158)
【作者】崔尚森;张白一
【作者单位】西安交通大学电信学院,西安,710049;长安大学信息工程学院,西安,710064;长安大学信息工程学院,西安,710064
【正文语种】中文
【中图分类】TP393
【相关文献】
1.快速的IP路由查找算法 [J], 秦振涛
2.基于二分法搜索hash表的快速IP路由查找算法 [J], 张明杰;卢锡城
3.一种基于哈希表和Trie树的快速内容路由查找算法 [J], 汪志莉;沈富可
4.散列索引多分支Trie树快速路由查找算法 [J], 崔尚森;冯博琴
5.一种基于Trie的快速IP路由查找算法 [J], 郜国良;李广军
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Hash和CAM的IPv6路由查找算法
a d t er mann r f e r s r d it x a d d Ra d m c s mo R n h e iig p e x sa e t e o e p n e n o Ac esMe  ̄( AM) An l s eu t h wsta eag r h h shg f ce t i o n . a i rs l s o t h l o i m a ih e in y s h t t i
[ ywo d ]Iv uiglo u ; s o rsin t — vlo k p pp l e C net desbe moyC Ke r s P 6r t k p Hahcmpeso ;wol e lo u ; iei ; o tn Ad rsa lMe r( AM) o n o e n
能被 8 除 的前缀存储在 8 H s 表 中 ,发生 H s 整 个 a h a h冲突的前缀存储在 C M 中,长度不能被 8 除的前缀按照一定 的组织 方式存储在随 A 整
机 存取存储器 中。分析 结果表明 ,该算法具 有较高 的存储利 用率 、查找速率及更新速率 ,并且易于扩展和硬件 实现 。
中 圈分类号:T33 P9
基 于 Hah和 CAM 的 I v s P 6路 由查 找 算 法
王瑞 青 ,杜慧敏 ,王亚刚
( 西安邮 电学 院 a .计算机 学院;b .电子工程学 院,西安 7 0 6 ) 10 1
摘
要: 分析实 际网络 中的 Iv 前缀分布规律 与增长趋势 , 出一种 基于 H s P6 提 a h和内容 可寻址存储器(A 的 lv 路 由查 找算法 。 C M) P6 将长度
一
传 统算法提 高 Iv P 6地址查找 的性能 。传统 I P地址 查找技 术
采用分段哈希方法的IPv6路由查找算法研究
度 , 满 足 下 一 代 互联 网 Iv 展 的 需 求 。 以 P 6发
关键 词 : 由查找 ;哈希表 ; 多分支 Ti树 ;最长 前缀 匹配;树 形结构 路 r e 中图法分 类号 :P 9 T 33 文献标 识码 : A 文章编 号: 007 2 2 1) 24 9 —4 10 —04(0 0 2 .7 00
0 引 言
路 由器 是 网络 互 联 的 核 心 设 备 , 的 性 能 直 接 影 响着 网 它
理 报 文 的机 制 [ 这 都 影 响 了 路 由器 的 工 作 效 率 , 路 由器 的 1 1 , 给
设 计 和 制 造 提 出 了挑 战 , 其 18 的 I 址 对 路 由表 查 找 尤 2位 P地
算 法 提 出 了新 的 更 高 的要 求 。 现 有 的解 决 L M 瓶 颈 的 算 法 P
大 都 针 对 Iv P 4的 3 位 地 址 设 计 ,不 能 直 接 移 植 或 者 扩 展 到 2
络 通 信 的质 量 。 目前 主 要 有 3个 制 约 路 由器 性 能 的 问题 :路 由查 找 、 组 交 换 和 输 出 调 度 。对 于 分 组 交 换 和 输 出 调 度 问 分
a eo k p trn ito civ s rerh ut ed n moyacs.T ipo oe h me ss i ldt rcue pr sh o u at gp n hee at a jsn e e t l s i o ta f es c o me r es hs rp sd ce e mpe a s utr, e— c s u s at
基于IPv6的路由查找算法的研究与设计
基于IPv6的路由查找算法的研究与设计Internet的快速发展使链路上传输的数据速度达到了 400Gbps,导致路由器的吞吐量和查找最佳出口的工作量也大大增加。
路由器对每一个经过的数据报转发的快慢即路由转发速率是影响当前互联网数据吞吐量的关键,路由转发过程中的关键是路由表查找,因此设计一个合适的路由查找算法十分必要。
相比于IPv4,IPv6的地址长度更长,这意味着IPv6的路由表表项数会更多,基于前缀长度的IPv4查找算法不能直接扩展到IPv6的查找。
论文围绕基于IPv6的路由查找算法展开,分别给出了适用于目前路由表和将来大规模IPv6路由表的路由查找算法。
主要工作包括:1、对IPv6单播地址结构和当前骨干路由器路由表分布特点进行了解析,提出了一种B-树和Bloom Filter 相结合的IPv6路由查找算法(BTBF)。
BTBF首先利用2-3树查找前缀前16bits值,如果正确匹配2-3树节点,那么通过节点中的位数组对于Bloom Filter的映射,将下一步查找转发到Bloom Filter。
再计算Bloom Filter计数数组的二进制值通过Hash的方式映射到目的IP地址的存储位置从而获取下一跳。
实验结果表明,BTBF相比于其他树形类和Bloom Filter类算法有效减少了查找时间和存储空间占用,能在路由表项数变化较大的情况下维持稳定的查找性能。
2、基于二进制比特的Trie型数据结构面对大规模IPv6路由表时查找困难,因此引入了前缀区间的概念以适应大规模动态IPv6路由表查找,提出了一种段表与B-树相结合的IPv6路由查找算法。
以α位为分割点将路由前缀分隔为前缀Indexα(P)和后缀Suffixα(P),Indexα(P)保存在段表中,段表为一个顺序表,可以根据的不同分别存储在段表的不同位置,具体的存储形式为Set(i),i前缀Indexα(P)的值。
当段表查找阶段匹配成功后可以索引到B-树,然后在B-树中查找后缀Suffixα(P),并利用Cover(x)数组存储被节点区间包含的数据以解决B-树查找歧义问题。
一种基于移动 IPv6的移动网络的改进设计与实现
一种基于移动 IPv6的移动网络的改进设计与实现高为民;肖莉贞;李昕【摘要】In mobile Internet environment , the IPv6 is prompted to emerge because of the factors such as the insufficiency of IPv 4 addresses, weak ability in mobile support , poor security and rapid expansion of mobile communication demand , etc.Based on analysing the characteristics of mobile IPv6, its working principle and the problems of directly applying the mobile IPv 6 to mobile Internet, we propose an improved design scheme of mobile IPv 6 network which is based on bidirectional tunnel communication model .The scheme focuses in the use of MPLS technology and rerouting mechanism to guarantee the communication quality . Contrastive simulation is carried out through constructing the experimental environment , the improved mobile IPv6 network can meet the needs of current 3G network performance , ensures reliable and effective data transmission between nodes after the mobile node left home agent and entered into the router in other place , these improve the location switching performance of mobile node .%在移动互联网络环境下,由于IPv4地址不足、移动支持能力不强、安全性差及移动通信需求量迅速增大等因素促使IPv6应运而生。
基于哈希表与多比特树的路由查找算法
基于哈希表与多比特树的路由查找算法范富明;李念军;雷升平;吉萌【摘要】网络带宽的急剧增加对处于网络节点的路由器设备数据转发速度提出了更高的要求.为此,将哈希表和多比特树相结合,提出一种新的路由查找算法.根据路由前缀的长度将路由表项分层存储在固定的三层Tree中,采用哈希表存储路由下一跳的信息,根据目的IP地址在三层Tree结构中按最长前缀匹配的原则进行快速路由表项定位,并通过表项的信息在对应的哈希表中读取下一跳信息,进行数据转发.在多核平台上的测试结果表明,该算法在百万条路由环境下可达到双向10 GB/s的速度,平均查找次数介于1~2次之间,平均延时小于30 μs.【期刊名称】《计算机工程》【年(卷),期】2015(041)009【总页数】5页(P63-67)【关键词】路由器;路由查找;哈希表;多比特树;最长前缀匹配【作者】范富明;李念军;雷升平;吉萌【作者单位】光纤通信技术和网络国家重点实验室,武汉430074;武汉烽火网络有限责任公司,武汉430074;光纤通信技术和网络国家重点实验室,武汉430074;武汉烽火网络有限责任公司,武汉430074;光纤通信技术和网络国家重点实验室,武汉430074;武汉烽火网络有限责任公司,武汉430074;光纤通信技术和网络国家重点实验室,武汉430074;武汉烽火网络有限责任公司,武汉430074【正文语种】中文【中图分类】TP393.04当前路由查找主要有Trie树和哈希表等方法[1-3]。
基于Trie树路由算法在路由表项增多情况下,树的深度变大,路由查找过程中平均匹配次数变多,算法效率较低。
为了提高算法的查找效率,路由查找过程中采用步长为8的查找方式,在一定程度上提高了查找的效率。
基于哈希表的路由算法,依据前缀长度路由表划分为多张路由子表,在路由条目较少的情况下,取得了较好的性能,但在路由条目较多的情况下,哈希冲突迅速上升,查找效率下降明显[4-5]。
基于分割多分枝Trie树的并行路由查找算法
基于分割多分枝Trie树的并行路由查找算法雷升平;吉萌【摘要】To break the bottleneck of slow routing lookup in packet forwarding on a multi-core processor platform,this paper presents a parallel routing lookup algorithm based on the divided multi-branchtrie.This algorithm divides a multi-branched trie into several subtrees according to the number of processor cores,and each of them becomes a separate multi-branched trie.In the subtrees,it abolishes prefix lookup and composes a large intermediate node and adopts fixed-step query between the inter-mediate nodes,within which it uses the binary tries for expression.The experimental results show that this algorithm is char-acteristic of small number of memory access,fast looking-up speed,small memory space occupation and small update overhead and furthermore,itis applicable to both IPv4 and IPv6 addresses.%为解决在多核处理器平台下路由器报文转发时路由查找速度慢的“瓶颈”问题,提出了一种基于分割的多分枝Trie树的并行路由查找算法。
基于二分查找和Trie的IPv6路由查找算法
基于二分查找和Trie的IPv6路由查找算法杨玉梅;黎仁国【期刊名称】《兰州理工大学学报》【年(卷),期】2012(38)4【摘要】分析基于前缀长度的二分路由查找算法和基于Trie的路由查找算法的优缺点,在此基础上提出一个改进的路由查找算法,并给出其在IPv6下的实现方案.由于基于前缀长度的二分路由查找算法扩展性好、查找速度快,而基于Trie的路由查找算法实现灵活、转发表动态更新快,这使得所提算法具备路由转发表动态更新快、查找速度快、对前缀长度扩展性好等优点.模拟实验表明该算法能够较好地满足IPv6的要求.%The merit and defect of both the binary routing search algorithm based on prefix length and that based on Trie were briefly analyzed. On this basis , an improved routing search algorithm was presented and its realization scheme was also given out in the case of IPv6. Due to the good expansibility and fast speed of searching with the first search algorithm mentioned above and the flexibility of algorithm implementing and fast dynamic updating of forwarding table with the second search algorithm above-mentioned, the algorithm presented was made to have the merits such as fast dynamic updating of routing forwarding table, fast searching speed, and good expansibility of prefix length. It was shown by the simulation result that this algorithm could well meet the requirement of IPv6.【总页数】5页(P98-102)【作者】杨玉梅;黎仁国【作者单位】川北医学院图书馆,四川南充637000;西华师范大学数学与信息学院,四川南充637009【正文语种】中文【中图分类】TP301【相关文献】1.基于三级索引和Trie的IPv6路由查找算法研究 [J], 刘阳2.基于分割多分枝Trie树的并行路由查找算法 [J], 雷升平;吉萌3.基于二分搜索Trie的IPv4/IPv6路由快速查找算法 [J], 王振兴;王智强;孙亚民;邬江兴4.基于多分支Trie的路由查找算法设计与实现 [J], 周瑞;常旭;林丹峰;杨林峰5.采用Trie和二分查找的IPv6路由查找算法 [J], 陈超;因版权原因,仅展示原文概要,查看原文内容请购买。
Trie树路由查找算法在网络处理器中的实现
Trie树路由查找算法在网络处理器中的实现张琦;金胤丞;李苗;章建雄【期刊名称】《计算机工程》【年(卷),期】2014(000)001【摘要】Trie tree data structure is flexible to realize and require small storage space, and it is the preferred to realize high speed routing lookup and packet forwarding. In order to meet the design requirements of micro engine of 10 Gb/s line speed in Network Processor(NP), an optimal balance, multilayer storage routing lookup algorithm based on Trie tree is proposed. That is to establish a balanced compression tree structure, then the adjacent multi nodes are compressed to a storage node. It constructs a specific tree structure to reduce the tree search depth, exchanging space for time, improving the efficiency of lookup and packet forwarding. Router lookup algorithm based on Trie tree is implemented in NP design, and the algorithm performance is analyzed. A single micro engine lookup speed is up to 4.4 Mb/s, and it has an advantage of small storage and high update speed.%Trie树数据结构的实现方法灵活,所需存储器空间小,是实现高速路由查找和分组转发的理想选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明学院2012届毕业设计(论文)设计(论文)题目基于Hash和Trie树的IPv6高速查找和快速增量更新路由算法设计与实现子课题题目姓名刘晓青学号 20081101420所属系信息技术学院专业年级08级计算机科学与技术指导教师何英2012年5月摘要由于Internet的速度不断提高、网络流量不断增加和网络规模不断扩大,使得路由器成为制约Internet性能的主要瓶颈之一。
随着路由器技术的发展,路由查找速度依然是进一步提高路由器性能的关键要素。
本论文首先研究了各种经典的IPv6路由查找算法,并分析了各种路由查找算法的复杂度和存在的问题,对IPv4向IPv6过度的路由查找算法的存在的问题以及路由查找算法的性能参数和复杂度,给出了一种基于hash和trie树高速查找和快速增量更新路由查找算法;其次,对路由缓存优化策略进行改进,并就路由节点进行生物智能化处理,使得路由负载平衡得到改善;最后,通过仿真实验,得出该算法优于以往算法。
关键字:路由查找;最长前缀匹配;Hash表;Trie树;生物智能AbstractWith the development of the internet,the increasing of throughput and the expanding of network,making the router becomes the one of the main bottleneck restricting the internet performance.With the development of routing technology,the speed of the routing lookup is still a key element to further improvement of router performance.This paper studied various classic IPv6 routing lookup algorithms firstly, then analysis the complexity of the various routing lookup algorithms and some existing problems,find the exiting problems in routing lookup algorithms from IPv4 to IPv6 and the performance parameters and complexity of routing lookup algorithms,i served a high speed lookup and fast incremental update routing lookup algorithms based on hash and trie tree;Secondly,i have been done for route cache optimization strategies improvement and conducted route nodal biological intelligent,make the routing load balancing improving;Finally,via the simulation experiment,i know that this algorithm is better than before.Keywords :Route lookup;Longest prefix match;Hash table;Tire;Biological intelligence;目录第一章绪论 (1)1.1 研究背景及现状 (1)1.2 本文研究内容、意义、价值 (1)第二章相关技术概述 (2)第三章 HT6路由查找算法的实现 (4)3.1算法设计 (4)3.1.1HT6算法基本思想 (4)3.1.2数据结构设计 (5)3.1.3 HT6查找设计 (8)3.1.4路由更新 (11)3.2算法改进 (13)3.2.1缓存优化 (13)3.2.2生物智能节点 (17)第四章模拟仿真及实验数据分析 (23)4.1仿真环境搭建 (23)4.2算法仿真及分析 (24)第五章总结与展望 (26)5.1全文总结 (26)5.2研究展望 (26)参考文献 (27)致谢 (28)第一章绪论1.1 研究背景及现状互联网在人类生活中扮演着重要的角色。
随着互联网规模不断增长,用于主干网络互联的核心路由器的接口速率需求已经大大提高,这就要求核心路由器在单位时间内能够转发更多的分组,分组转发的重要一步就是查找路由表。
目前的互联网是基于IPv4协议,随着互联网的网络规模不断扩大,IPv4协议在许多方面己经不能满足人们的需要。
IPv6是由IETF设计的,用来替代IPv4的下一代互联网协议。
和IPv4相比,IPv6最大的特点是它使用了128位超长IP 地址,这就使得IPv4中许多性能优异的路由查找算法不能够应用到IPv6中,或者是应用到IPv6之后,由于内存访问次数或内存消耗的增加,导致算法性能非常低。
1.2 本文研究内容、意义、价值本文主要研究了IPv6路由查找算法,提出了一种适用于IPv6路由高速查找和快速增量更新实现思路,在此基础上改进了路由缓存,将生物智能应用到路由节点的负载平衡中来,并搭建了仿真实验平台对其特点和性能进行了定量研究。
上述工作的意义和价值主要体现在以下方面:第一,本文在前人的基础上提出了新的路由查找算法设计思路,具有创新性。
基于该思路设计的查找算法具有更低的时间复杂度和空间复杂度。
第二,在此算法的基础上提出了路由缓存优化的策略和基于生物智能的路由节点负载策略对算法的性能进行了大幅度的提升,这对以后研究IPv6路由算法具有明显的借鉴价值。
第三,为了更好地分析和对比各种路由查找算法的性能,我们搭建了路由仿真平台。
相信第三章算法对学者以及企业级路由应用具有很高的参考价值。
第二章相关技术概述路由器是工作在网络层(IP层)的网络通信设备,可以连接不同类型的网络,还能够选择数据传送路径并对数据进行转发。
路由器主要由下面几部分组成:路由引擎、转发引擎、路由表、网络适配器和相关的逻辑电路等。
转发引擎负责把从一个网络适配器来的数据包转发到另一个网络适配器出去。
IP协议,包括对路由表的查找,构成了转发引擎中最主要的部分。
由于每个通过路由器并需要其转发的数据包都要对路由表进行查找,所以路由表的查找效率如何往往决定了整个路由器的性能。
路由引擎则包括了高层协议,特别是路由协议,它负责对路由表的更新。
由于路由引擎不涉及通过路由器的数据通路,可以使用通用的CPU 代替。
IPv6核心标准是RFC2460网际协议版本6(IPv6)规范,以及描述其辅助协议的文档RFC2461(IPv6邻居发现协议,ND)和RFC2463(互联网控制报文协议版本6,ICMPv6)。
IPv6地址可以分为一下三类:单播、任播、多播。
单播(unicast)地址是和IPv4相同标准的地址,一个单播地址标识一个网络接口;任播(anycast)地址标识一组网络接口,但目标为一个任播地址的分组只会被送到那个组中的一个接口中去,通常被送到容易到达的接口;多播(multicast)地址也标识一组网络接口,目标为多播地址的分组会被送给那个组中所有的成员IPv6地址的前缀表示,类似于IPv4的无类别地址。
地址由网络ID和主机ID组成,网络lD称为前缀,其比特个数称为前缀长度。
前缀通常是在地址后加斜杠,斜杠后加前缀长度来表示。
Trie采用一种基于树的数据结构,它通过前缀中每一个比特的值来决定树的分支。
Trie树结构的查找过程根据目的地址的比特位来进行,每个节点左右分支由目的地址所对应比特位的值来决定,如果比特位为0,则选择左分支,否则选右分支。
IPv6算法有:基于B-树的IPv6路由查找算法、TSB算法、基于trie的IPv6路由查找算法、基于哈希表和trie树的快速内容路由查找算法[1]基于B-树的IPv6路由查找算法,用IP地址作为插入和查找的关键字,将表项有序的存储在B-树结构中,同时利用B-树基于外存查找。
基于Hash和trie树的路由查找算法是将原来的Hash表按照顶级域名划分成各个小表,再利用trie树进行查找。
各算法性能分析与比较如表2.1所示(其中W为地址长度,N为路由表前缀数目):表2.1 IPv6各算法性能分析比较在实际开发中,路由查找算法需要满足以下要求。
1.)查找速度快2.)存储空间少3.)更新时间短4.)可扩展性5.)实现的灵活性6.)预处理时间短本章主要对路由技术现状的进行介绍和分析,其中重点讲了IPv6路由发展,研究,存在的问题及评价标准,特别是IPv6的路由研究。
这一章介绍的路由技术为作者的研究提供了素材和启迪,对HT6算法的设计以及改进提供了技术支援。
第三章 HT6路由查找算法的实现3.1算法设计我们希望一个好的路由查找算法能够达到:1.算法实现简单,耗费内存较小2.理想情况下,最好只用一次访存就能达到转发端口3.如果访存次数大于一次,那么该算法应该满足访存次数很少或者在任何情况下,访存次数能够被限定在一个很小的数值范围内4.算法更新所耗时间比较小本文算法基于这几方面提出了HT6算法。
3.1.1HT6算法基本思想考虑到分离链接散列表装填因子控制在0.674能够使节点平均查找得到最小的开销和多分支trie树检查的比特位数的特点,结合IPv6地址结构,对IPv6地址的48比特采用多分支Trie树进行查找,而剩余的16比特直接采用Hash 查找。
在路由前缀表项中增加前缀长度,压缩算法所需的存储空间采用BitAtlas (二进制位向量)来表示连续出现的相同Next-Hop(下一跳)信息,从而使得每个新出现的Next-Hop信息只需存储一次。
对于以001作为高3比特单播路由查找,在查找时我们可以忽略这三位,对于其它类型的单播路由,则只需将HT6-算法数据结构的第一层trie树的查找步宽增加到24比特即可。
针对以上分析HT6算法设计的基本思想主要体现在:对于前缀扩展技术不但要有较大幅度的压缩比,而且要易于解压缩查找和路由更新。
针对以上要求,我们设计的前缀扩展技术利用节点构造查找步宽为24-8-4-4-8-16的六层多分支Trie树,将具有相同下一跳信息的连续表项组成一个数据块,采用BitAtlas记录每个数据块的起始位置(即下一跳信息发生改变的表项位置),对于每个数据块中的下一跳信息只在表中存储一次。
3.1.2数据结构设计数据结构在参考了TrieC[2]算法的基础上提出了HT6算法,该算法采用24-8-4-4-8-16的步宽来构建多分支Tile树,树中各节点的数据结构如下:·根节点采用HTl5/6(步宽为24)的数据结构(忽略IPv6地址的001域),存储所有长度为[1,24]比特的IPv6地址前缀;·第二层和第五层均采用HT4/4(步宽为8)的数据结构,分别存储长度为[25,32]比特和[41,48]比特的IPv6地址前缀。