IPv6 的快速路由查找算法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第22卷第10期 计算机应用与软件 Vol.22, No.10
2005年10月
Computer Applications and Software
Oct. 2005
IPv6的快速路由查找算法研究
王 燕
(浙江警官职业学院 浙江 杭州 310018)
摘 要 TCAM 被广泛用于执行快速路由查找,不管前缀的数量和长度,它能在极短时间内解决最佳前缀问题。与基于软件解
决方法相比较,TCAM 能提供持续吞吐量和简单系统体系,这对IPv6路由查找来说是很有吸引力的。然而,它也有一些缺点,例如入口数量有限,价格昂贵和能源消耗。因此,本文提出一种有效、能减少所需TCAM 的算法,该算法通过增加微DRAM 来消除98%的TCAM 入口。实验证明,该算法效果良好,可以大大提高IPv6路由查找性能。 关键词
IPv6 路由查找 TCAM
RAPID ROUTING LOOKUP ALGORITHM RESEARCH ON IPv6
Wang Yan
(Department of Information Technology and Management, Zhejiang Police Vocation Academy, Hangzhou Zhejiang 310018, China)
Abstract
Ternary content-addressable memory has been widely used to perform fast routing lookups. It is able to accomplish the best matching prefix problem in
(1)O time without considering the number of prefixes and its lengths. As compared to the software-based solutions, the Ternary content-addressable memory can offer
sustained throughput and simple system architecture. It is attractive for IPv6 routing lookup. However, it also comes with several shortcomings, such as the limited number of entries, expansive cost and power consumption. Accordingly, an efficient algorithm is proposed in the paper to reduce the required size of Ternary content-addressable memory. The proposed scheme, which has a good effect, can eliminate 98 percentages of Ternary content-addressable memory entries by adding tiny DRAM. Keywords
IPv6 Routing Lookup TCAM
1 引 言
由于国际互联网和电子商务的飞速发展、网络接入需求呈
指数级增长、国际互联网正面临着IPv4地址损耗问题,所以网络管理员必须越来越多地依赖NAT(网络地址转换)技术来配置网络。但这会使网络管理变得更加复杂,还会中断网络首尾相连的规则。一些应用程序越过NAT 设备就不能运行,例如IPsec 。而且网络主机不再是计算机,而是一个全新的需要大量IP 地址的信息设备范围。
所有这些事实是发展IPv6主要驱动力量,因为IPv6拥有大量地址空间。例如,目前IPv6的推荐地址分配策略是分配一个48位前缀给国际互联网每个站点,不管它是国内,小办公室,还是大企业站点。48位前缀允许每个站点中65,000子网,每个子网能容纳实质上无数台主机。IPv6也带来了这样一些好处:无国家限制的自动配置,更有效的移动管理和完整的IPsec 。 高速路由设计的主要障碍是相对较慢的IP 查找算法。为了将数据包转发到目的地址,一台路由器必须执行转发决定,输入数据包下一跳地址取决于路由协议收集到的信息。随着1993年CIDR [1]的发展,(路由前缀,前缀长度)确定了IP 路由,这里前缀长度在1位到32位之间变化。对一台有大量路由表入口的骨干路由器来说,可变前缀长度进行的BMP(最佳匹配前缀)搜索可能会花很长时间,国际互联网主机的指数级增长也给路由系统增加更大的压力。数据包转发速度很难跟上日益增长的通信量需求,地址查找操作更是当今路由器转发性能的主要瓶颈。
TCAM 是执行快速IP 查找的流行硬件设备,与基于软件解决方法相比较,TCAM 能提供持续吞吐量和简单系统体系结构,因此对IPv6路由查找来说是很有吸引力的。然而,它也有一些缺点,例如入口数量有限,价格昂贵和能源消耗。更有甚者,用同样的IPv4入口处理IPv6的128位地址需要4倍的TCAM 。本文提出了一种有效算法,该算法通过增加微DRAM 来消除98%TCAM 入口。
2 已有算法
近年来,在创建路由表方面已有大量的研究,包括硬件和软件解决方法。在[2]中,Degermark et al.使用一个类似Trie 树结构,其主要观点是量化前缀长度到几个级别:16位、24位和32位,然后将路由表中每个前缀扩充到下一个更高级别。该方法能将一个有40,000入口的路由表压缩成大小只有150~160K ,用硬件实现一个路由查找需要访问存储器的最小和最大次数分别为2和9。在[3]中,Gupta et al.提出了基于巨型DRAM 的快速路由查找方案,该方案采用最多2次存储器访问实现33MB 转发路由表的路由查找。通过增加一张中间长度路由表,使转