Transcript Document

IPv6路由搜尋演算法的探討
出處:中山大學資工研究所碩士論文
作者:張瑋哲
資碩一 9601 郇智喬
1
目錄





簡介
相關文獻
Modified Memory Access Algorithm for IPv6
模擬及結果
結論
2
簡介


IPv4遇到的問題
IPv4上的routing lookup方法




Conventional algorithm
Hardware and caching solutions
Protocol based solution
New algorithm
3
相關文獻


IPv4
IPv6

文字表示法:X:X:X:X:X:X:X:X


例如 ABCD:EF10:2345:6789:0120:0204:0106:1045
Address type



Unicast :Aggregatable Global , Link-Local , Site-Local
Anycast
Multicast
8bits
4bits
11111111
flags
4bits
scope
80bits
32bits
0
IPv4 multicast address
4
5
相關文獻

Routing Lookup on IPv4








Dynamic Prefix Trie
Fast Routing Tale Lookup Using CAM
High-Performance IP Routing Table Lookup Using CPU
Caching
Routing Lookups in Hardware at Memory Access Speeds
Scalable High Speed IP Routing Lookups
IP Lookups using Multiway and Multicolumn Search
Small Forwarding Tables for Fast Routing Table
Faster IP Lookups using Controlled Prefix Expansion
6
相關文獻

Routing Lookup for IPv6



Scalable High Speed IP Routing Lookups
IP Lookups using Multiway and Multicolumn
Search
Faster IP Lookups using Controlled Prefix
Expansion
7
名稱
技術基礎
Memory reference
(worst case)
Memory
space
缺點
優點
DP-Trie
Trie
O( w )
Large
速度慢
CAM
Hardware
Depend on
hardware design
Large
成本過高
IPv6上效能不
好
搜尋速度快
High-Performance IP Routing
Table Lookup Using CPU
Caching
Hardware
?
?
相容性差
IPv6上必須大
幅修改演算法
使用CPU快取速
度快
Routing Lookups in Hardware
at Memory Access Speeds
Hardware
Depend on the
level of table
Large
記憶體需求太
高
記憶體讀取次數
少
Binary Search on Prefix
Length
New
Algorithm
O( log w )
?
更新耗時
速度快
速度與表格大小
無關
Multiway and Multicolumn
Search
New
Algorithm
15 memory
access
?
記憶體讀取次
數太多
Small Forwarding Tables
New
Algorithm
3-9 memory
access
4-5 bytes
/prefix+15.3
KB
速度慢
記憶體需求小
Controlled Prefix Expansion
New
Algorithm
3 hash access
4 memory access
?
適當的hash方
法難找
記憶體讀取次數
少
8
Modified Memory Access Algorithm for IPv6


目前IPv6位址只使用了15%
位址分段





Multicast address
Unicast address
總共切成7段一個RT16 五個RT8 一個RT64
分成四種Table RT16,RT8,RT8-end,RT64
Building Routing Table
9
10
模擬及結果

Test Pattern Design
24 bits 25-47 bits 48 bits 49-63 bits 64 bits 65-128bits
A
B
C
n
n
n
4n
4n
8n
2n
2n
16n
8n
16n
4n
16n
8n
2n
1%
1%
1%
11
模擬及結果

Number of Memory Access
12
模擬及結果
13
模擬及結果

Number of Memory Space
14
模擬及結果

Routing Table分層方法
15
結論

用硬體或大量記憶體配置路由表是可行的
16