TW508925B - A hardware architecture for IP forwarding table lookup - Google Patents

A hardware architecture for IP forwarding table lookup Download PDF

Info

Publication number
TW508925B
TW508925B TW89115451A TW89115451A TW508925B TW 508925 B TW508925 B TW 508925B TW 89115451 A TW89115451 A TW 89115451A TW 89115451 A TW89115451 A TW 89115451A TW 508925 B TW508925 B TW 508925B
Authority
TW
Taiwan
Prior art keywords
memory
data
sram
search
selector
Prior art date
Application number
TW89115451A
Other languages
Chinese (zh)
Inventor
Cheng-Huei Li
Jiun-Yuan Lai
Original Assignee
Nat Science Council
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nat Science Council filed Critical Nat Science Council
Priority to TW89115451A priority Critical patent/TW508925B/en
Application granted granted Critical
Publication of TW508925B publication Critical patent/TW508925B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An IP forwarding table lookup function is required in a router to decide the next hop of an IP packet. Upon receiving an IP packet, a router extracts the destination address of the packet for routing table lookup. Because of subnetting and supernetting, IP table lookup is based on longest prefix matching. In this invention, a hardware architecture of forwarding table lookup is designed for IPv4 backbone routers. Our invention uses conventional memory and burst mode SRAM. The advantages of our invention include high memory usage efficiency, large table capacity, low update complexity, and high lookup speed.

Description

五、發明說明(1) -------, 產業上之利用領域 - 本^明針對使用1 Pv4的骨幹路由器提出一種硬體查表架 構’使用傳統記憶體搭配叢集式靜態記憶體(burst mode 六曰) 讓查表功能具備咼記憶體使用效率、大的轉送表 , 谷里、低的資料更新複雜度,以及快速查尋等性質。 背 景 IP轉送查表(IP forwarding table i〇〇kup)是路由器 的一項關鍵技術,路由器必須藉由搜尋轉送表 (forwarding table)來決定ip封包的繞路。查表的方式 可分為兩類··軟體查表;例如快速路由查表之小型前遞式 表格(Small Forwarding Tables for Fast Routing Lookups),網際網路路由器之快速位址查表(Fast Address Lookup for Internet Routers),可擴充的高 速路由查表(Scalable High Speed IP Routing Lookups) 及硬體查表(IP Address)高速路由查表之硬體查表 (Lookup in Hardware for High-Speed Routing),以 記憶體存取速度執行硬體陸猷查表(Rout ing Lookups in ψ Hardware at Memory Access Speeds)。 目前軟體查表依賴路由器内的中央處理器(CPU)以特 別的資料結構演算法處理轉送表,目的是讓整個轉送表能V. Description of the invention (1) -------, Fields of application in the industry-This paper proposes a hardware look-up table architecture for backbone routers using 1 Pv4 'using traditional memory with clustered static memory ( Burst mode 6) Make the table lookup function possess the characteristics of memory usage efficiency, large transfer table, low data update complexity, and fast search. Background IP forwarding table (IP forwarding table) is a key technology of routers. Routers must determine the routing of IP packets by searching forwarding tables. There are two types of lookup tables: software lookup tables; for example, Small Forwarding Tables for Fast Routing Lookups, and Fast Address Lookup Tables for Internet Routers for Internet Routers), Scalable High Speed IP Routing Lookups and IP Address Lookup in Hardware for High-Speed Routing The memory access speed is performed by the Hardware Lookups in ψ Hardware at Memory Access Speeds. At present, the software lookup table relies on the central processing unit (CPU) in the router to process the transfer table with a special data structure algorithm. The purpose is to enable the entire transfer table to

508925 五、發明說明(2) 存入中央處理器的内部快取記憶體,以提升查詢速度,但 · 處理器將花費許多能力進行繁瑣的資料結構演算,容易遭 遇查尋速度上的瓶頸,所以適合用於速度較低的區域路由 器,低成本則是它的優點。而在速度要求嚴格的骨幹網路 上,就必須使用快速的硬體查表。硬體查表則可利用對記 · 憶體的存取執行查表動作,只要記憶體的存取速度夠快, 便能符合實際應用上的要求。雖然花費較多的硬體成本, 卻能有較短的查尋時間。 習 知 技 藝 丨_ 路由器可由與其連結的網路規模大致區分為骨幹路由器 與區域路由器,這些路由器對查表技術有不同的要求。一 般使用在區域網路或企業網路的區域路由器所記載的轉送 表較小,約有一千筆備索資料,並且輸出入埠的速度不 高,查表時間較寬鬆。骨幹路由器則因為與廣域網路連 結,其轉送表大了許多。根據(IPM A )計晝針對美國四大骨 幹路由器所做的統計〈如表一所示,其轉送表約包含三至 四萬筆備索資料,因此無法直接使用(CAM, content addressable memory)執行硬體查表。此外,其輸出入埠 的線速率較區域網路高出許多,所花費的查尋時間必須更 短才行。 隨著網路速度的提高與用戶數目的增加,路由器的效能508925 V. Description of the invention (2) It is stored in the internal cache memory of the central processing unit to improve the query speed, but the processor will spend a lot of power to perform tedious data structure calculations, and it is easy to encounter bottlenecks in search speed, so it is suitable For low-speed area routers, low cost is its advantage. On backbone networks where speed is critical, fast hardware lookup tables must be used. The hardware look-up table can use the access to the memory to perform the table look-up action. As long as the memory access speed is fast enough, it can meet the requirements of practical applications. Although it costs more hardware, it has a shorter search time. Known technology 丨 _ Routers can be roughly divided into backbone routers and area routers based on the network scale connected to them. These routers have different requirements for table lookup technology. Generally, the routing table recorded in the area router used in the local area network or the corporate network is small, about one thousand pieces of backup data, and the speed of the input and output ports is not high, and the time for checking the table is relatively loose. The backbone router has a much larger forwarding table because it is connected to the WAN. According to (IPM A) statistics for the four major routers in the United States (as shown in Table 1, its forwarding table contains about 30,000 to 40,000 pieces of data on request, so it cannot be executed directly using (CAM, content addressable memory) Hardware checklist. In addition, the line rate of its input and output ports is much higher than that of the local area network, and the search time must be shorter. As the network speed increases and the number of users increases, the performance of the router

第6頁 508925 五、發明說明(3) 必須跟著提升,一些由軟體處理的動作將被硬體取代,查 表也不例外。雖然” Nicli Mckeow,Steven Lin and PankajPage 6 508925 V. Description of the invention (3) It must be improved, some actions handled by software will be replaced by hardware, and the lookup table is no exception. Although "Nicli Mckeow, Steven Lin and Pankaj

Gupta 在其發表的論文”R〇uting L〇〇kup in Hardware atGupta published his paper "Roting L〇〇kup in Hardware at

Mem°T^Access Speedn中也對(ΪΡν4)路由器提出一個高速 敫率偏低,而且遭遇轉送表更新 :ΐ:去’但是記憶體的花費太高,必需使用3 3 MB的圮憶空間貯存,使用 (update) 的困難。 另一種硬體查表方式县 f X ,, 吏用 CAM(Content Addressable [e m o r y ),此類特殊記惟骰,Mem ° T ^ Access Speedn also proposes a low-speed high-speed data rate for the (ΪΡν4) router, and encounters the transfer table update: ΐ: go 'but the cost of memory is too high, you must use 3 3 MB of memory space for storage, Difficulty using (update). Another type of hardware lookup table is f X ,, and CAM (Content Addressable [e m r r y) is used.

枓,廿日卷签供本Λ 可以迅速地查出完全相等的資 達成最長字首符合的搜尋::個記憶空間。其缺點是:! 表,再比較出正確的結果必須同時使用多組CAM查 高,功耗也大,無法做出大=’ C觸硬體構成複雜度 於骨幹網路路由器的查表工J置的CAM記憶體,因此不適 發 明 目Alas, the next day's signature for this Λ can quickly find the exact equivalent of the search to achieve the longest prefix match :: a memory space. The disadvantages are :! Table, and then to compare the correct results, you must use multiple sets of CAMs to check the height at the same time, and the power consumption is too large to make large = 'C touch the hardware to form the complexity of the CAM memory set by the table lookup tool of the backbone network router , So uninventive

本發明之首要目的係揭 一種硬體查表架構,使用 體(burst mode SRAM) 效率、大的轉送表容量、 查尋等性質。 Φ 2使用(IPv4)的骨幹路由器提出 ¥^先記憶體搭配叢集式靜態記憶 讓查表功能具備高記憶體使用 民的資料更新複雜度,以及快速The primary object of the present invention is to disclose a hardware look-up table architecture, which uses properties of burst mode SRAM, large transfer table capacity, and lookup. Φ 2 Backbone router using (IPv4) proposed ¥ ^ first memory with clustered static memory to make the table lookup function with high memory usage and the complexity of data update and fast

第7頁 508925 五、發明說明(4) 凡是熟悉該技藝的人士在閱讀下列經由不同圖解所展示 之較佳實施例詳細說明後,無疑地將非常清楚本發明所揭 示之目的和優點。 發明之詳細說明 路 路; 轉送 樹表 所有 連續 於在 能連 個小 找到 由器 當路 表以 示, 節點 輸出 第二 續貯 範圍 符合 中需 由器 獲得 本發 ,以 特性 層使 存在 底層 的資 要有I P轉送查表的功能 收到I P標頭中的目的位 繞徑資訊。I P轉送表的 明先利用傳統記憶體直 縮小查尋範圍,再利用 對底下(3 2 - η)層内的節 用比對的技巧,因此這 記憶體中,使其有較高 内的備索節點並不多, 料。以下是本發明的詳 來決定I Ρ封包的繞 址後,必須藉由查尋 資料結構可以用二元 接紀錄在1到η層内的 叢集式靜態記憶體的 點進行線性搜尋。由 些必須被比對的節點 的使用效率。因為每 故能在幾次的比對後 細說明。 本發明一種I Ρ封包轉送之硬體查表架構,係包括傳統記 憶體、叢集式靜態記憶體(B-SRAM)、比較器及資料選擇 器,其中傳統記憶體用以貯存I P值首η位元所對應的資料 結構,其資料輸出接至叢集式靜態記憶體(B-SRAM)位址線 與資料選擇器,作用是輸出查尋結果或指示第二階段查尋Page 7 508925 V. Description of the invention (4) Anyone who is familiar with the technology will undoubtedly know the objects and advantages disclosed by the present invention after reading the following detailed description of the preferred embodiments shown by different diagrams. The detailed description of the invention is the way; the transfer tree table is continuously displayed as a route table that can find a router, and the node outputs the second continuous storage range. The router needs to obtain the current request. The feature layer makes the bottom layer exist. It is necessary to have the function of the IP forwarding lookup table to receive the destination bit routing information in the IP header. The IP forwarding table first uses traditional memory to directly narrow the search range, and then uses the comparison and comparison technique in the bottom (3 2-η) layer. Therefore, this memory has a higher internal backup node. Not much, expected. The following is the details of the present invention. After determining the IP packet's routing address, it is necessary to perform a linear search by searching the data structure for binary static memory points recorded in layers 1 through n. The efficiency of the nodes that must be compared. Because each time can be explained in detail after several comparisons. The present invention provides a hardware look-up table architecture for IP packet forwarding, which includes traditional memory, cluster static memory (B-SRAM), comparator, and data selector. The traditional memory is used to store the first n bits of IP value. The data structure corresponding to the element. Its data output is connected to the cluster static memory (B-SRAM) address line and data selector. The function is to output the search result or instruct the second stage search.

第8頁 508925 五、發明說明(5) 之起始位址。叢集式靜態記憶體,用以貯存I p值末(3 2 _ n ) 位兀所對應之貧料結構,其資料輪出接入比較器,與丨?末 (3 2-n)值進行比對,並接受選擇器之控制訊號。 一組比較器’用以對IP值末(32〜n)位元(LSB)與叢集式靜 態記憶體(B-SRAM)輪出資料進行平行搜尋以提高查表速 度’並將比對結果輪出至選擇器;比較器個數可依實際應 用所需而定。 本發明並採用一個選擇器,作用是從傳統記憶體或比較 器中選擇符合最長字首原則的結果,並判斷查尋結束與 否;貯存於傳統記憶體與叢集式靜態記憶體(B-SRAM)内的 特殊資料結構’使記憶體具有高使用效率。 功能方塊圖: 本發明之功能方塊圖如圖一所示,包括待查之I p位址 (most significant n bits of 1F,1)、傳統記憶體 (RAM’ 2)、叢集式靜態記憶體(Burst mode SRAM,以下稱 B-SRAM’ 3)、比較器(comparat〇r,4)、及資料選擇器 (selector’ 5)、控制信號(Control signal, 9)、下一行 程資訊(next hop informati〇n, 1〇)。 傳統§己憶體用以貯存I p值之首n位元(M S B s)所對鹿的 查詢結果;叢集式靜態記憶體(B - S R A Μ )用以貯存I p值之末 (3 2 - η)位元(LSB s)所對應的查詢結果;比較器用來進行Page 8 508925 V. Starting address of invention description (5). The cluster static memory is used to store the lean structure corresponding to the last (3 2 _ n) position of the I p value. Its data is connected to the comparator in turn, and 丨? The last (3 2-n) values are compared and the control signal of the selector is accepted. A set of comparators 'for parallel search of the last IP value (32 ~ n) bits (LSB) and cluster static memory (B-SRAM) round-out data to improve table lookup speed' and compare the results Out to the selector; the number of comparators can be determined by the actual application. The invention also uses a selector, which is used to select the result that meets the longest prefix principle from the traditional memory or comparator, and judge whether the search ends or not; it is stored in the traditional memory and the cluster static memory (B-SRAM) The special data structure inside makes the memory highly efficient. Functional block diagram: The functional block diagram of the present invention is shown in Figure 1. It includes the I p address (most significant n bits of 1F, 1), traditional memory (RAM '2), and cluster static memory ( Burst mode SRAM, hereinafter referred to as B-SRAM '3), a comparator (comparat〇r, 4), and a data selector (selector' 5), a control signal (9), and next hop informati On, 10). The traditional § self-memory body is used to store the query results of the first n bits (MSB s) of the I p value for the deer; the cluster static memory (B-SRA Μ) is used to store the end of the I p value (3 2- η) query result corresponding to bit (LSB s); the comparator is used for

第9頁 刈8925Page 9 刈 8925

二)==SBs丄的查;選擇器則選出 予首原則的、、XT果,並判斷查詢結束與否。 茲就資料袼式說明如下: · 傳統記憶體儲存資料(2) == SBs 丄 's check; the selector selects the first, XT, and XT results, and judges whether the query is over or not. The following describes the data format: · Traditional memory stores data

1 Port number 0 Index to B-SRAM 、而^集式靜態記憶體(MSB)用以指示是否在第_層已^ ,土 =。若為1,表示在第一層樹狀資料結構中找‘符= 斌長子首的資料,其餘位元則為封包之輸出埠號碼。若ϋ 〇,必須再往第二層查尋,其餘位元則記載叢一 憶體(B-SRAM)指標。 、静〜、。己 叢集式靜態記憶體(B-SRAM)儲存資料 ; 2 part IP address Port number Prefix mask 此資料袼式提供第二層剩餘I Ρ位元比對之用,包含備索 資料的其餘位元,以及該備索資料對應的輸出琿號。由於 必須遵守最長符合字首原則,必須提供字首符合長度遮罩1 Port number 0 Index to B-SRAM, and the ^ set of static memory (MSB) is used to indicate whether it has been ^ at the _th level, soil =. If it is 1, it means to find the data of ‘symbol = first son of bin’ in the first-level tree data structure, and the remaining bits are the output port number of the packet. If ϋ 〇, you must go to the second layer to search, and the remaining bits record the B-SRAM index. , Jing ~ ,. Clustered static memory (B-SRAM) stores data; 2 part IP address Port number Prefix mask This data format provides the second layer of remaining IP bits for comparison, including the remaining bits of the requested data, and The output number corresponding to this request data. Since the longest prefix requirement must be followed, a prefix mask must be provided

第10頁 508925 五、發明說明(7) 告知比較器(4 )應比對的剩餘位元數,並且設計此遮罩所 — 能代表的最大數值大於第二層待查I P長度,以代表末筆資 料。 查表程序: · 查表可分成兩階段,首先使用I P位址的前η位元直接對 應至傳統記憶體之位址匯流排,做第一層查尋,若其輸出 資料之MSB為1,則資料選擇器將其餘位元輸出,並指示完 成查尋。 & 若未在第一層完成查尋’則輸出為一指向叢集式靜態記 憶體(B-SRAM)的指標,此時叢集式靜態記憶體(B-SRAM)將 在每一時脈週期送出備索資料,與未比對的IP位元(32-η b i t s )於比較器完成比對。只要叢集式靜態記憶體 (B-SRAM)的匯流排寬度足夠,可以使用多組比較器進行平 行比對。為使搜尋有效率,叢集式靜態記憶體(B-SRAM)内 的備索資料在建表時可以按照符合字首長度由大到小排 列,如此第一次比對成功的資料必符合最長字首原則,此 時資料選擇器可在這些比較器中選出一筆最大字首遮罩對 應的埠號輸出,並停止查表動作,不必搜尋整個區段才能 保證找到符合原則的資料,此外,當讀入的字首遮罩大於 未比對的I P位元數時,表示該區段資料已檢索完畢,必須 停止搜尋。Page 10 508925 V. Description of the invention (7) Tell the comparator (4) the number of remaining bits to be compared, and design this mask—the largest value that can be represented is greater than the length of the second layer of IP to be checked to represent the last stroke data. Table lookup procedure: · The table lookup can be divided into two stages. First, the first n bits of the IP address are directly mapped to the address memory of the traditional memory, and the first layer is searched. If the MSB of the output data is 1, then The data selector outputs the remaining bits and instructs the search to complete. & If the search is not completed in the first layer, the output is an indicator pointing to the cluster static memory (B-SRAM). At this time, the cluster static memory (B-SRAM) will be sent out for each clock cycle. The data is compared with the unmatched IP bits (32-η bits) in the comparator. As long as the bus width of the cluster static memory (B-SRAM) is sufficient, multiple sets of comparators can be used for parallel comparison. In order to make the search efficient, the backup data in the cluster static memory (B-SRAM) can be arranged in accordance with the prefix length when building the table, so that the data successfully matched for the first time must match the longest word. First, the data selector can select a port number corresponding to the largest prefix mask among these comparators, and stop the table lookup operation. You do not need to search the entire section to ensure that the data that meets the principle is found. In addition, when reading When the entered prefix mask is greater than the number of unmatched IP bits, it indicates that the segment data has been retrieved and the search must be stopped.

第11頁 508925 五、發明說明(8) 資料更新: 轉送表於首次建立時,依照字首長度超過η的備索資料 數目,在叢集式靜態記憶體(B-SRAM)中保留固定比例的空 間讓新節點加入,因此不必更動整個叢集式靜態記憶體 (B-SRAM)内的資料。對於字首長度小於η的備索資料更 新,只需更改傳統記憶體内的資料。而當有字首長度超過 η的節點更新時,必須先利用傳統記憶體對應至叢集式靜 態記憶體(Β-SRAM),如果要求按照字首長度由大到小排 列,則需要將此區段内的備索資料全部重新排序並更新, 否則只需要在預留空間加入一筆資料即可。由於每個叢集 式靜態記憶體(B-SRAM)區段内的備索資料並不多,最多64 個,再加上少許字首長度大於2 5之路徑,並且只更動需要 更新的資料,因此這樣的設計使得進行轉送表更新時不會 造成查尋的瓶頸。 硬體架構及運作: 本發明之硬體架構如圖二所示,包括資料選擇器 (selector,5)、記憶體( 2 5 6K* 2 RAM,6)、叢集式靜態 記憶體(32K*9 B-SRAM,7)、特殊應用積體電路(8)、下一 行程資訊(next hop information,10)、比較器 (comparator 11),比車交器(comparator 12)、比車交器 (comparator 13)、叢集式控制線(burst mode controlPage 11 508925 V. Description of the invention (8) Data update: When the transfer table was first created, a fixed proportion of space was reserved in the cluster static memory (B-SRAM) according to the number of data on request with the prefix length exceeding η. New nodes are added, so there is no need to change the data in the entire clustered static memory (B-SRAM). To update the information on request with the prefix length less than η, you only need to change the data in the traditional memory. When a node whose prefix length exceeds η is updated, it must first use traditional memory to correspond to cluster static memory (B-SRAM). If it is required to arrange the prefix length from large to small, you need to segment this section. All the data on request are reordered and updated, otherwise you only need to add one data to the reserved space. Because there is not much backup data in each clustered static memory (B-SRAM) section, up to 64, plus a few paths with a prefix length greater than 25, and only the data that needs to be updated, so This design prevents the search bottleneck when updating the transfer table. Hardware architecture and operation: The hardware architecture of the present invention is shown in Figure 2. It includes a data selector (5), memory (2 5 6K * 2 RAM, 6), and cluster static memory (32K * 9). B-SRAM, 7), special application integrated circuit (8), next hop information (10), comparator (comparator 11), comparator 12 (comparator 12), comparator (comparator) 13) 、 Cluster mode control line

第12頁 508925 五、發明說明(9) line,15)、執行查表功能之特殊應用積體電路(table lookup ASIC, 16)。 傳統記憶體的位址線輸入為待查I P值之首η位元,資料 輸出線則與叢集式靜態記憶體(Β-SRAM)的位址線及選擇器 的輸入並接。選擇器檢查此資料的MSB,若為1,則將埠號 輸出,並結束查尋,否則啟動叢集式靜態記憶體(B - S R A Μ ) 的叢集輸出功能。 當叢集式靜態記憶體(B-SRAM)的叢集式輸出功能啟動 時,則傳統記憶體的輸出資料是為叢集式靜態記憶體 (B-SRAM)之進入位址;比較器則將叢集式靜態記憶體 (Β-SRAM)連續輸出的資料逐一與剩餘的(32-n)位元比 對,並將結果輸出給選擇器;由於數個比較器同時輸出查 尋結果,選擇器必需依據(prefix mask)的大小選擇出符 合規則的結果,然後停止查尋動作。 設計實例: 本發明依據現有記憶體規格設計如附圖二的架構。將IP 位址分成1 8、1 4位元進行搜尋,使用256K X 16 bit s大小 的傳統記憶體搜尋第1至1 8層,扣除(MSB),其餘1 5位元正 好指向兩塊32K X 36 bits的叢集式靜態記憶體 (B-SRAM),這兩塊叢集式靜態記憶體(B-SRAM)並聯組成線Page 12 508925 V. Description of the invention (9) line, 15), special application integrated circuit (table lookup ASIC, 16) that performs table lookup function. The address line input of the traditional memory is the first n bit of the IP value to be checked, and the data output line is connected in parallel with the address line of the cluster static memory (B-SRAM) and the input of the selector. The selector checks the MSB of this data. If it is 1, it outputs the port number and ends the search. Otherwise, the cluster static memory (B-S R AM) cluster output function is activated. When the cluster output function of the cluster static memory (B-SRAM) is activated, the output data of the traditional memory is the entry address of the cluster static memory (B-SRAM); the comparator changes the cluster static The data continuously output from the memory (B-SRAM) is compared with the remaining (32-n) bits one by one, and the result is output to the selector. Because several comparators simultaneously output the search results, the selector must be based on ), Select the result that meets the rules, and then stop the search action. Design Example: The present invention designs a structure as shown in FIG. 2 according to the existing memory specifications. Divide the IP address into 18, 14 bits for searching, and use the traditional memory of 256K X 16 bit s to search for layers 1 to 18, deducting (MSB), and the remaining 15 bits exactly point to two 32K X 36-bit cluster static memory (B-SRAM). These two cluster static memory (B-SRAM) are connected in parallel to form a line.

第13頁 508925 五、發明說明(ίο) 寬為3 2 K X 7 2 b i t s記憶區塊,可用三個比較器對1 8至3 2 * 層内的有效節點進行平行比對。總共使用8 0 0 K b y t e s記憶 體容量。 在轉送表容量方面,每個叢集式靜態記憶體(B-SR AM)實 體位址可以記憶三筆備索資料,理論上最多能紀錄96K筆 · 資料。而實際上還需扣除為了方便在更新時插入節點所預 · 留的位址,所以有效容量將小於9 6 K,視預留比例而定。 性能分析: « 根據I PMA的統計資料如圖三所示,介於8 - 2 4位元間的最 長字首分佈佔總備索資料的9 9%以上,並且大多集中於第 2 4層。針對這個性質,本發明假設最多搜尋次數發生在18 至2 4層的搜尋内,來做最差表現的分析。 從第1 8層的某個節點推至第2 4層可以長成一個完整的七 層二元樹,其中包含6 4個有效節點,最差的情況是三組比 較器必須比對這些資料才能得到結果,也就是必須由 B-SRAM輸出22次。若使用存取時間為10ns—般規格的叢集 式靜態記憶體(B-SRAM),加上第一階段查尋的記憶體存取 時間,總耗時估計在3 0 0 n s以内,在最壞的情況下仍可達 到每秒3. 3百萬次的查表動作。 然而,實際上在這1 8 - 2 4層内的有效節點分佈是零散Page 13 508925 V. Description of the Invention (ίο) The width is 3 2 K X 7 2 b i t s memory block. Three comparators can be used for parallel comparison of valid nodes in the layers 1 to 3 2 *. A total of 800 K b y t e s memory capacity is used. In terms of transfer table capacity, each cluster static memory (B-SR AM) physical address can store three pieces of data on request, and theoretically can record up to 96K pieces of data. Actually, it is necessary to deduct the address reserved by the node in order to facilitate the update, so the effective capacity will be less than 96 K, depending on the reserve ratio. Performance analysis: «According to the statistics of the I PMA, as shown in Figure 3, the longest prefix between 8 and 24 digits accounts for more than 99% of the total available data, and most of them are concentrated in the 24th layer. In view of this property, the present invention assumes that the maximum number of searches occurs within the search of 18 to 24 layers to perform the analysis of the worst performance. Pushing from a node of the 18th layer to the 24th layer can grow into a complete seven-layer binary tree, which contains 64 valid nodes. In the worst case, the three sets of comparators must compare these data to The result is that the B-SRAM must be output 22 times. If a cluster static memory (B-SRAM) with an access time of 10 ns is used, plus the memory access time of the first stage search, the total time is estimated to be within 300 ns, which is the worst. In the case, it can still reach 3.3 million table lookups per second. However, the distribution of valid nodes in these layers is actually scattered.

第14頁 508925 五、發明說明(11) 的,因為總有效節點只有約四萬個,所以像這樣節點分布 密集的結構出現機率極小。絕大部分的情況都能在數次比 對後得到結果,平均每秒的查表次數會比3. 3百萬次高出 許多。Page 14 508925 V. Description of the invention (11), because there are only about 40,000 effective nodes in total, a densely distributed structure like this has a very low probability of appearing. In most cases, the results can be obtained after several comparisons, and the average number of table lookups per second will be much higher than 3.3 million times.

第15頁 508925 圖式簡單說明 圖式說明: 圖一本發明之功能方塊圖 圖二 本發明之硬體架構圖 圖三 字首長度分佈圖(每日字首長度分佈(Prefix Daily Length Distribution,其 47 首列粗體數字 代表字首長度,表格内容代表各字首長度的備索 資料筆數,網路名稱·· MAE-EAST,MAE-WEST, ADDS, PacBell) « 圖號說明: l··· · . I P位址 2··· ··傳統記憶體(RAM) 3…· ·叢集式靜態記憶體(Burst mode SRAM,B-SRAM) 4··· ··比較器(comparator) 5…··及資料選擇器(selector) 6··· · ·記憶體( 2 5 6K* 2 RAM) 7··· · ·叢集式靜態記憶體 (32K*9 B-SRAM)Page 15 508925 Schematic illustrations Schematic descriptions: Figure 1 Functional block diagram of the present invention Figure 2 Hardware architecture diagram of the present invention Figure Three prefix length distribution (Prefix Daily Length Distribution, which 47 The first row of bold numbers represents the prefix length, and the contents of the table represent the number of data on request for each prefix length, network name. MAE-EAST, MAE-WEST, ADDS, PacBell) «Drawing number description: l · · · ·. IP address 2 · · · · · Traditional memory (RAM) 3 · · · Cluster static memory (Burst mode SRAM, B-SRAM) 4 · · · · Comparator (comparator) 5 ... · · And data selector (selector) 6 · · · · · Memory (2 5 6K * 2 RAM) 7 · · · · · Cluster static memory (32K * 9 B-SRAM)

8··· ·.特殊應用積體電路 9…·.控制信號(Control signal) 1 0…··下一行程資訊(next hop i n f or mat i on) ll··· · ·比較器(comparator) 12…··比較器(comparat〇r) 508925 圖式簡單說明 13···…比車交器 (comparator) 15…··叢集式控制線(burst mode control line) 16…·.執行查表功能之特殊應用積體電路 (table lookup ASIC)8 ···· Special application integrated circuit 9 ··· Control signal 1 0 ···· Next trip information (next hop inf or mat i on) ll · ···· Comparator 12… Comparer (comparat〇r) 508925 Brief description of the diagram 13 ... Comparator 15… Burst mode control line 16… .Perform table lookup Special application integrated circuit (table lookup ASIC)

第17頁Page 17

Claims (1)

508925 六、申請專利範圍 1. 一種I P封包轉送之硬體查表架構,係包括傳統記憶 體、叢集式靜態記憶體(B-SRAM)、比較器及資料選 擇器,而以比較器與選擇器作為特徵之所在;其中 傳統記憶體用以貯存I P值首η位元所對應的資料結構, 其資料輸出接至叢集式靜態記憶體(B-SRAM)位址線與 資料選擇器,作用是輸出查尋結果或指示第二階段查 尋之起始位址; 叢集式靜態記憶體,用以貯存IP值末(32-η)位元所對 應之貧料結構’其貢料輸出接入比較裔’與I Ρ末 (32-η)值進行比對; 一組比較器,用以對IP值末(32-η)位元(LSB)與B-SRAM 輸出資料進行平行搜尋以提高查表速度,比較器個數 可依實際應用所需而定; 一個選擇器,作用是從傳統記憶體或比較器中選擇符 合最長字首原則的結果,並判斷查尋結束與否; 貯存於傳統記憶體與叢集式靜態記憶體(B-SRAM)内的 特殊資料結構,使記憶體具有高使用效率。508925 6. Scope of patent application 1. A hardware look-up table architecture for IP packet transfer, which includes traditional memory, clustered static memory (B-SRAM), comparator and data selector. Comparator and selector As a feature; the traditional memory is used to store the data structure corresponding to the first n bits of the IP value, and its data output is connected to the cluster static memory (B-SRAM) address line and data selector, which is used to output The search result or indicates the starting address of the second-stage search; the cluster static memory is used to store the lean material structure corresponding to the last (32-η) bits of the IP value, and its tributary output is connected to the comparative origin. The end of IP (32-η) value is compared; a set of comparators is used to search the end of IP value (32-η) bit (LSB) and B-SRAM output data in parallel to improve the lookup table speed, compare The number of registers can be determined according to the actual application requirements. A selector is used to select the result that meets the longest prefix principle from traditional memory or comparator, and judge whether the search ends or not. It is stored in traditional memory and cluster type. Static memory (B-SRAM) The special data structure, so that memory with high efficiency. 第18頁Page 18
TW89115451A 2000-08-01 2000-08-01 A hardware architecture for IP forwarding table lookup TW508925B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW89115451A TW508925B (en) 2000-08-01 2000-08-01 A hardware architecture for IP forwarding table lookup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW89115451A TW508925B (en) 2000-08-01 2000-08-01 A hardware architecture for IP forwarding table lookup

Publications (1)

Publication Number Publication Date
TW508925B true TW508925B (en) 2002-11-01

Family

ID=27656828

Family Applications (1)

Application Number Title Priority Date Filing Date
TW89115451A TW508925B (en) 2000-08-01 2000-08-01 A hardware architecture for IP forwarding table lookup

Country Status (1)

Country Link
TW (1) TW508925B (en)

Similar Documents

Publication Publication Date Title
US7089240B2 (en) Longest prefix match lookup using hash function
TWI287723B (en) Method and data structure for a low memory overhead database
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
JP5525273B2 (en) System for forwarding packets with hierarchically structured variable length identifiers
US7443841B2 (en) Longest prefix matching (LPM) using a fixed comparison hash table
US6691124B2 (en) Compact data structures for pipelined message forwarding lookups
JP4482259B2 (en) Method and apparatus for a 4-way hash table
US6985483B2 (en) Methods and systems for fast packet forwarding
Warkhede et al. Multiway range trees: scalable IP lookup with fast updates
Pao et al. Efficient hardware architecture for fast IP address lookup
US7624226B1 (en) Network search engine (NSE) and method for performing interval location using prefix matching
Yu et al. Forwarding engine for fast routing lookups and updates
US20050114393A1 (en) Dynamic forwarding method using binary search
Lim et al. A parallel multiple hashing architecture for IP address lookup
TW508925B (en) A hardware architecture for IP forwarding table lookup
CN113328947B (en) Variable-length route searching method and device based on application of controllable prefix extension bloom filter
Dai et al. CONSERT: Constructing optimal name-based routing tables
Pao et al. Bit-shuffled trie: IP lookup with multi-level index tables
Hsiao et al. A high-throughput and high-capacity IPv6 routing lookup system
Hanna et al. Advanced hashing schemes for packet forwarding using set associative memory architectures
US9444731B2 (en) Methods and systems for data packet routing
Ke et al. The analysis and design of fast route lookup algorithms for high performance router
Ji et al. Fast IP routing lookup with configurable processor and compressed routing table
Oh et al. Bit-map trie: a data structure for fast forwarding lookups
Lee et al. Packet classification using diagonal-based tuple space search

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees