IP lookup via Longest Prefix Match (LPM) is critical for packet forwarding. Unfortunately, conventional lookup algorithms are inefficient for IPv6 Forwarding Information Bases (FIBs), which are characterized by a set of long prefixes with diverse lengths. We observe that LPM inherently represents a two-dimensional (2D) search problem over both prefix values and prefix lengths, but existing algorithms mostly treat LPM as two separate levels of one-dimensional (1D) searches, causing poor lookup performance and high memory overhead. This paper presents PlanB, a novel scheme for high-speed IPv6 lookup. We transform the 2D LPM into an equivalent 1D search problem over elementary intervals, thereby unifying the search across prefix value and lengths. We then adapt a flat-array-based B-tree structure to the needs of LPM to propose the linearized $B^+$-tree, based on which we introduce an efficient search algorithm tailored to the properties of the transformed space. To maximize performance, we integrate PlanB with vectorization, batching, branch-free logic, and loop unrolling to fully exploit CPU parallelism. Extensive evaluation shows that PlanB achieves single-core performance of 390 Million Lookups Per Sec (MLPS) with real-world IPv6 FIBs on AMD processor, and scales to full-12-core performance of 3.4 Billion Lookups Per Sec (BLPS). This is 1.6$\times$$\sim$14$\times$ higher than state-of-the-art software-based schemes (PopTrie, CP-Trie, Neurotrie and HBS).


翻译:摘要:通过最长前缀匹配(LPM)进行的IP查找对数据包转发至关重要。然而,传统查找算法对于IPv6转发信息库(FIB)效率低下,这类FIB以一组长度多样的长前缀为特征。我们观察到,LPM本质上代表了一个涉及前缀值和前缀长度的二维(2D)搜索问题,但现有算法大多将LPM视为两个分离的一维(1D)搜索层次,导致查找性能低下且内存开销高昂。本文提出PlanB,一种新颖的高速IPv6查找方案。我们将二维LPM转化为等价的一维搜索问题(基于基本区间),从而统一了前缀值和长度的搜索。随后,我们针对LPM需求对基于扁平数组的B树结构进行适配,提出了线性化$B^+$-树,并基于此引入了一种适配变换后空间特性的高效搜索算法。为最大化性能,我们将PlanB与向量化、批处理、无分支逻辑及循环展开相结合,以充分利用CPU并行性。大量评估表明,在AMD处理器上使用真实世界IPv6 FIB时,PlanB实现了单核性能达3.9亿次查找/秒(MLPS),并扩展至全12核性能达34亿次查找/秒(BLPS)。这一性能比现有最先进的软件方案(PopTrie、CP-Trie、Neurotrie和HBS)高出1.6倍至14倍。

0
下载
关闭预览

相关内容

互联网
专知会员服务
27+阅读 · 2021年8月6日
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
24+阅读 · 2020年4月3日
重磅发布:基于 PyTorch 的深度文本匹配工具 MatchZoo-py
中国科学院网络数据重点实验室
16+阅读 · 2019年8月26日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
11+阅读 · 2018年4月13日
Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
AI研习社
22+阅读 · 2018年3月7日
国家自然科学基金
1+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
VIP会员
最新内容
认知战:定义与能力发展
专知会员服务
2+阅读 · 今天9:25
乌军利用美国“黄蜂”无人机摧毁俄军后勤
专知会员服务
6+阅读 · 6月7日
《支持作战级人机协同智能的交互式OODA流程》
专知会员服务
14+阅读 · 6月7日
ICML 2026 | SARDI:扩散语言模型的自增强检索
专知会员服务
8+阅读 · 6月6日
相关VIP内容
专知会员服务
27+阅读 · 2021年8月6日
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
24+阅读 · 2020年4月3日
相关基金
国家自然科学基金
1+阅读 · 2016年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员