RU2002122720A - DEVICE AND METHOD FOR PERFORMING A HIGH-SPEED SEARCH FOR THE INTERNET PROTOCOL ROUTES AND THE MANAGEMENT OF ROUTING / SHIPMENT TABLES - Google Patents

DEVICE AND METHOD FOR PERFORMING A HIGH-SPEED SEARCH FOR THE INTERNET PROTOCOL ROUTES AND THE MANAGEMENT OF ROUTING / SHIPMENT TABLES

Info

Publication number
RU2002122720A
RU2002122720A RU2002122720/09A RU2002122720A RU2002122720A RU 2002122720 A RU2002122720 A RU 2002122720A RU 2002122720/09 A RU2002122720/09 A RU 2002122720/09A RU 2002122720 A RU2002122720 A RU 2002122720A RU 2002122720 A RU2002122720 A RU 2002122720A
Authority
RU
Russia
Prior art keywords
node
prefix
range
route
routing
Prior art date
Application number
RU2002122720/09A
Other languages
Russian (ru)
Other versions
RU2233473C2 (en
Inventor
Мионгсу ЧОЕ
Original Assignee
Самсунг Электроникс Ко., Лтд.
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
Priority claimed from KR10-2001-0007568A external-priority patent/KR100493099B1/en
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Application granted granted Critical
Publication of RU2233473C2 publication Critical patent/RU2233473C2/en
Publication of RU2002122720A publication Critical patent/RU2002122720A/en

Links

Claims (36)

1. Способ формирования таблиц маршрутизации/пересылки для поиска адреса протокола Интернет (IP-адреса) с использованием списка пропусков, включающий этапы разделения диапазона длин префикса IP- адреса заранее установленным способом; создания узла заголовка, имеющего максимальный уровень, на основе ряда кластеров, выделенных в диапазоне длин префикса, причем узел заголовка указывает каждый узел в списке пропусков, и создания подузлов с помощью ряда выделенных кластеров, причем каждый из подузлов имеет в качестве ключа выделенный диапазон длин префикса.1. A method of generating routing / forwarding tables to search for an Internet protocol address (IP address) using a skip list, including the steps of splitting the range of lengths of the IP address prefix in a predetermined manner; creating a header node with a maximum level based on a number of clusters allocated in the prefix length range, the header node indicating each node in the skip list, and creating subnodes using a number of selected clusters, each of the subnodes having a selected prefix length range as a key . 2. Способ по п.1, отличающийся тем, что дополнительно включает запоминание маршрутных записей, соответствующих соответствующим длинам префикса в соответствующем диапазоне длин префикса в хэш-таблицах, предусмотренных в каждом подузле в соответствии с длинами префикса.2. The method according to claim 1, characterized in that it further includes storing route entries corresponding to the corresponding prefix lengths in the corresponding range of prefix lengths in the hash tables provided in each subnode in accordance with the prefix lengths. 3. Способ по п.2, отличающийся тем, что маршрутные записи содержат 32 бита или 128 битов.3. The method according to claim 2, characterized in that the route entries contain 32 bits or 128 bits. 4. Способ по п.1, отличающийся тем, что уровень узла заголовка поду зла устанавливают случайным образом.4. The method according to claim 1, characterized in that the level of the header node of the sub-node is set randomly. 5. Способ по п.1, отличающийся тем, что диапазон длин префикса разделяют фиксированным, либо переменным образом.5. The method according to claim 1, characterized in that the range of prefix lengths is divided in a fixed or variable manner. 6. Способ по п.1, отличающийся тем, что диапазон длин префикса разделяют таким образом, что каждый диапазон длин префикса покрывается посредством подузлов.6. The method according to claim 1, characterized in that the range of prefix lengths is divided in such a way that each range of prefix lengths is covered by subnodes. 7. Способ по п.1, отличающийся тем, что таблицы маршрутизации/пересылки содержатся в процессоре маршрутизации и процессоре пересылки соответственно.7. The method according to claim 1, characterized in that the routing / forwarding tables are contained in the routing processor and the forwarding processor, respectively. 8. Способ формирования таблиц IP маршрутизации/пересылки с использованием списка пропусков, включающий этапы создания узла заголовка для указания каждого узла для обработки каждого узла в списке пропусков, создания множества подузлов, имеющих в качестве ключа диапазон префиксов IP-адреса, разделенный заранее установленным способом, и создания хэш-таблиц в соответствии с длинами префикса для запоминания маршрутных записей в соответствии с длинами префикса в соответствующем диапазоне длин префикса в каждом подузле.8. A method of generating IP routing / forwarding tables using the skip list, including the steps of creating a header node for specifying each node to process each node in the skip list, creating a plurality of subnodes having as key a range of IP address prefixes, divided by a predetermined method, and creating hash tables in accordance with the prefix lengths for storing route entries in accordance with the prefix lengths in the corresponding range of prefix lengths in each subnode. 9. Способ по п.8, отличающийся тем, что дополнительно включает запоминание маршрутных записей, совпадающих с соответствующим префиксом в хэш-таблицах.9. The method according to claim 8, characterized in that it further includes storing route entries matching the corresponding prefix in the hash tables. 10. Способ по п.8, отличающийся тем, что уровень узла заголовка подузла устанавливают случайным образом.10. The method according to claim 8, characterized in that the level of the header node of the sub-node is set randomly. 11. Способ по п.8, отличающийся тем, что диапазон длин префикса разделяют фиксированным или переменным образом.11. The method according to claim 8, characterized in that the range of prefix lengths is divided in a fixed or variable manner. 12. Способ по п.8, отличающийся тем, что диапазон длин префикса разделяют таким образом, что каждый диапазон длин префикса должен быть покрыт посредством множества подузлов.12. The method according to claim 8, characterized in that the range of prefix lengths is divided in such a way that each range of prefix lengths must be covered by a plurality of subnodes. 13. Способ по п.8, отличающийся тем, что маршрутные записи содержат 32 или 128 бит.13. The method according to claim 8, characterized in that the route entries contain 32 or 128 bits. 14. Способ по п.8, отличающийся тем, что узел заголовка имеет значение ключа +∞ и прямой указатель (указатели), проиндексированный от 0 до значения максимального уровня минус единица.14. The method of claim 8, wherein the header node has a key value + ∞ and a direct pointer (s) indexed from 0 to the maximum level value minus one. 15. Способ по п.8, отличающийся тем, что таблицы маршрутизации/пересылки находятся в процессоре маршрутизации и процессоре пересылки соответственно.15. The method according to claim 8, characterized in that the routing / forwarding tables are in the routing processor and the forwarding processor, respectively. 16. Способ поиска в таблицах маршрутизации/пересылки с использованием списка пропусков, в котором маршрутные записи запоминают в виде хэш-таблицы в соответствии с длиной префикса, установленной в каждом узле, созданном в соответствии с распределением диапазона префиксов IP-адреса, причем способ включает этапы нахождения узла, в котором установлен диапазон префикса, соответствующий длине префикса искомого маршрута; нахождения хэш-таблицы с той же длиной префикса, что и у искомого маршрута, в найденном узле и нахождения искомого маршрута из найденной хэш-таблицы.16. A method for searching routing / forwarding tables using a skip list, in which the route entries are stored as a hash table in accordance with the prefix length set in each node created in accordance with the distribution of the IP address prefix range, the method comprising the steps finding the node in which the prefix range corresponding to the length of the prefix of the desired route is set; finding a hash table with the same prefix length as the search route in the found node and finding the search route from the found hash table. 17. Способ по п.16, отличающийся тем, что этап нахождения узла включает нахождение узла для указания от максимального уровня узла заголовка списка пропусков, сравнение диапазона длин префикса найденного узла с длиной префикса искомого маршрута, и нахождение узла, указанного на следующем уровне узла заголовка, когда длина префикса искомого маршрута не соответствует диапазону длин префикса найденного узла.17. The method according to clause 16, wherein the step of finding the node includes finding a node to indicate the skip list header from a maximum node level, comparing the prefix length range of the found node with the prefix length of the desired route, and finding the node indicated at the next level of the header node when the prefix length of the desired route does not match the prefix length range of the found node. 18. Способ по п.16, отличающийся тем, что список пропусков включает узел заголовка и множество узлов, каждый из которых имеет ключ в диапазоне, заранее установленном в убывающем порядке, и сохраняет маршрутные записи, соответствующие соответствующим длинам префикса, в хэш-таблицах, связанных с соответствующими длинами префикса.18. The method according to clause 16, wherein the skip list includes a header node and a plurality of nodes, each of which has a key in a range predefined in descending order, and stores the route entries corresponding to the corresponding prefix lengths in hash tables, associated with the corresponding prefix lengths. 19. Способ по п.16, отличающийся тем, что таблицы маршрутизации/пересылки находятся в процессоре маршрутизации и процессоре пересылки соответственно.19. The method according to clause 16, wherein the routing / forwarding tables are in the routing processor and the forwarding processor, respectively. 20. Способ по п.16, отличающийся тем, что маршрутные записи содержат 32 бита или 128 бит.20. The method according to clause 16, wherein the route entries contain 32 bits or 128 bits. 21. Способ обновления таблиц маршрутизации/пересылки с использованием списка пропусков, в котором маршрутные записи запоминают в виде хэш-таблицы в соответствии с длиной префикса, установленной в каждом узле, созданном в соответствии с диапазоном длин префикса IP-адреса, причем способ включает этапы нахождения узла, в котором установлен диапазон префикса, соответствующий длине префикса обновляемого маршрута, поиска в хэш-таблице, имеющей ту же длину префикса, что и у обновляемого маршрута в найденном узле, и обновления соответствующего маршрута в хэш-таблице, когда хэш-таблица найдена.21. A method for updating routing / forwarding tables using a skip list, in which the route entries are stored as a hash table in accordance with the prefix length set in each node created in accordance with the IP address prefix length range, the method including the steps of finding the node in which the prefix range corresponding to the prefix length of the updated route is set, search in the hash table having the same prefix length as the updated route in the found node, and updates the corresponding ma the route in the hash table when the hash table is found. 22. Способ по п.21, отличающийся тем, что этап нахождения узла включает нахождение узла для указания от максимального уровня узла заголовка списка пропусков, сравнение диапазона длин префикса найденного узла с длиной префикса обновляемого маршрута, и нахождение узла, указанного на следующем уровне узла заголовка, когда длина префикса обновляемого маршрута не соответствует диапазону длин префикса найденного узла.22. The method according to item 21, wherein the step of finding the node includes finding a node to indicate the skip list header from a maximum node level, comparing the prefix length range of the found node with the prefix length of the updated route, and finding the node indicated at the next level of the header node when the prefix length of the updated route does not match the prefix length range of the found node. 23. Способ по п.21, отличающийся тем, что этап обновления маршрута включает добавление, изменение или удаление обновляемого маршрута.23. The method according to item 21, wherein the step of updating the route includes adding, changing or deleting the updated route. 24. Способ по п.21, отличающийся тем, что дополнительно включает этапы создания хэш-таблицы, имеющей тот же префикс, что и обновляемый маршрут, когда хэш-таблица не найдена, и вставки обновляемого маршрута в созданную хэш-таблицу.24. The method according to item 21, characterized in that it further includes the steps of creating a hash table having the same prefix as the updated route when the hash table is not found, and insert the updated route into the created hash table. 25. Способ по п.21, отличающийся тем, что список пропусков включает узел заголовка и множество узлов, каждый из которых имеет ключ в диапазоне, заранее установленном в убывающем порядке, и сохраняет маршрутные записи, соответствующие соответствующим длинам префикса, в хэш-таблицах, связанных с соответствующими длинами префикса.25. The method according to item 21, wherein the skip list includes a header node and a plurality of nodes, each of which has a key in a range predetermined in descending order, and stores the route entries corresponding to the corresponding prefix lengths in hash tables, associated with the corresponding prefix lengths. 26. Способ по п.21, отличающийся тем, что таблицы маршрутизации/пересылки находятся в процессоре маршрутизации и процессоре пересылки соответственно.26. The method according to item 21, wherein the routing / forwarding tables are in the routing processor and the forwarding processor, respectively. 27. Способ по п.21, отличающийся тем, что маршрутные записи содержат 32 бита или 128 бит.27. The method according to item 21, wherein the route entries contain 32 bits or 128 bits. 28. Способ поиска маршрута в таблицах маршрутизации/пересылки с использованием списка пропусков, в котором маршрутные записи запоминают в виде хэш-таблицы в соответствии с заранее установленными длинами префикса в каждом узле, созданном в соответствии с распределением диапазона префикса IP-адреса, причем способ включает этапы нахождения соседнего узла, начиная с первого узла списка пропусков, сравнения адреса назначения с соответствующими хэш-таблицами в соответствующем узле и принятие совпадающего префикса в качестве самого длинного префикса, когда хэш-таблица содержит адрес назначения.28. A method for finding a route in routing / forwarding tables using a skip list in which route entries are stored in a hash table according to predefined prefix lengths at each node created in accordance with the distribution of the IP address prefix range, the method including the steps of finding a neighboring node, starting from the first node of the skip list, comparing the destination address with the corresponding hash tables in the corresponding node, and accepting the matching prefix as the longest The prefix, when the hash table contains the destination address. 29. Способ поиска маршрута по п.28, отличающийся тем, что дополнительно включает нахождение следующего узла в списке пропусков, когда хэш-таблица не содержит IP-адрес назначения.29. The route search method according to claim 28, characterized in that it further includes finding the next node in the skip list when the hash table does not contain the destination IP address. 30. Способ поиска маршрута по п.28, отличающийся тем, что список пропусков включает узел заголовка и множество узлов, каждый из которых имеет ключ в диапазоне, заранее установленном в убывающем порядке, и сохраняет маршрутные записи, соответствующие соответствующим длинам префикса в хэш-таблицах, связанных с соответствующими длинами префикса.30. The route search method according to claim 28, wherein the skip list includes a header node and a plurality of nodes, each of which has a key in a range predetermined in descending order, and stores route entries corresponding to the corresponding prefix lengths in the hash tables associated with the corresponding prefix lengths. 31. Способ поиска маршрута по п.28, отличающийся тем, что этап сравнения включает сравнение адреса назначения с хэш-таблицей, имеющей максимальную длину префикса среди хэш-таблиц соответствующего узла, и сравнение следующей хэш-таблицы, имеющей следующую по величине длину префикса, с адресом назначения, когда адрес назначения не найден в хэш-таблице, имеющей максимальную длину префикса.31. The route search method according to claim 28, wherein the comparison step includes comparing the destination address with a hash table having the maximum prefix length among the hash tables of the corresponding node, and comparing the next hash table having the next largest prefix length, with the destination address when the destination address is not found in the hash table having the maximum prefix length. 32. Способ поиска маршрута по п.22, отличающийся тем, что поисковые таблицы маршрутизации/пересылки находятся в процессоре маршрутизации и процессоре пересылки соответственно.32. The route search method according to claim 22, wherein the routing / forwarding lookup tables are in the routing processor and the forwarding processor, respectively. 33. Способ поиска маршрута по п.28, отличающийся тем, что маршрутные записи содержат 32 бита или 128 бит.33. The route search method according to claim 28, characterized in that the route entries contain 32 bits or 128 bits. 34. Маршрутизатор протокола Интернет (IP), содержащий по меньшей мере модуль плат, каждый из которых снабжен процессором пересылки, предназначенным для ввода и вывода пакетов, при этом процессор пересылки имеет таблицу пересылки, имеющую архитектуру списка пропусков, которая содержит узел заголовка и множество узлов, каждый из которых создан в соответствии с диапазоном префикса IP-адреса, имеет диапазон длин префикса в качестве ключа и хранит маршрутные записи в виде хэш-таблицы в соответствии с установленной длиной префикса, коммутационную структуру для коммутации пакетов между внутренними портами, и процессор маршрутизации, включающий таблицу маршрутизации, имеющую архитектуру списка пропусков, которая содержит узел заголовка и множества узлов, кааждый из которых создан в соответствии с диапазоном префикса IP-адреса, имеет диапазон длин префикса в качестве ключа и хранит маршрутные записи в виде хэш-таблицы в соответствии с установленной длиной префикса, и управляет всей операцией маршрутизации линейных модулей плат и коммутационной структуры.34. An Internet Protocol (IP) router containing at least a module of cards, each of which is equipped with a forwarding processor for inputting and outputting packets, the forwarding processor having a forwarding table having a skip list architecture that includes a header node and a plurality of nodes , each of which is created in accordance with the IP address prefix range, has a prefix length range as a key and stores route entries in the form of a hash table in accordance with the set prefix length, switching a structure for switching packets between the internal ports, and a routing processor including a routing table having a skip list architecture that contains a header node and a plurality of nodes, each of which is created in accordance with the IP address prefix range, has a prefix length range as a key and stores route entries in the form of a hash table in accordance with the set prefix length, and controls the entire routing operation of the linear modules of the boards and the switching structure. 35. IP маршрутизатор, содержащий по меньшей мере модуль плат, снабженный процессором пересылки, имеющим таблицу пересылки с архитектурой списка пропусков, которая содержит узел заголовка и множество узлов, каждый из которых создан в соответствии с диапазоном префикса IP-адреса, имеет диапазон длин префикса в качестве ключа и хранит маршрутные записи в виде хэш-таблицы в соответствии с установленной длиной префикса, коммутационную структуру для коммутации пакетов между внутренними портами, и процессор маршрутизации для управления всей операцией маршрутизации линейных модулей плат и коммуникационной структуры.35. An IP router containing at least a module of cards equipped with a forwarding processor having a forwarding table with a skip list architecture that contains a header node and a plurality of nodes, each of which is created in accordance with the IP address prefix range, has a prefix length range of as a key and stores routing entries in the form of a hash table in accordance with the set prefix length, a switching structure for switching packets between internal ports, and a routing processor to control the entire opera atsiey routing line module cards and communication structure. 36. IP маршрутизатор по п.35, отличающийся тем, что процессор маршрутизации содержит таблицу маршрутизации, имеющую архитектуру списка пропусков, которая содержит узел заголовка и множество узлов, каждый из которых создан в соответствии с диапазоном префикса IP адреса, имеет диапазон длин префикса в качестве ключа и хранит маршрутные записи в виде хэш-таблицы в соответствии с установленной длиной префикса.36. The IP router of claim 35, wherein the routing processor comprises a routing table having a skip list architecture that contains a header node and a plurality of nodes, each of which is created in accordance with the IP address prefix range, has a prefix length range of key and stores the route entries in the form of a hash table in accordance with the set prefix length.
RU2002122720/09A 2000-12-22 2001-12-21 Device and method for performing high-speed search for routes of internet protocol and controlling routing/transfer tables RU2233473C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25714800P 2000-12-22 2000-12-22
US60/257,148 2000-12-22
KR10-2001-0007568A KR100493099B1 (en) 2000-12-22 2001-02-15 Route lookup and routing/forwarding table management for high-speed internet protocol router
KR2001-0007568 2001-02-15
US10/022,210 2001-12-20

Publications (2)

Publication Number Publication Date
RU2233473C2 RU2233473C2 (en) 2004-07-27
RU2002122720A true RU2002122720A (en) 2004-12-27

Family

ID=33422254

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2002122720/09A RU2233473C2 (en) 2000-12-22 2001-12-21 Device and method for performing high-speed search for routes of internet protocol and controlling routing/transfer tables

Country Status (1)

Country Link
RU (1) RU2233473C2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITTV20070013A1 (en) * 2007-02-05 2008-08-06 Nice Spa BUS SYSTEM AND RELATIVE TRANSMISSION PROTOCOL
KR101212838B1 (en) * 2008-04-25 2012-12-14 후지쯔 가부시끼가이샤 Node device, method executed in node device, and computer-readable recording medium
US20130176861A1 (en) * 2010-09-22 2013-07-11 Ippei Akiyoshi Control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
CA2814072A1 (en) * 2010-10-15 2012-04-19 Nec Corporation Switch system, and monitoring centralized control method
ES2675758T3 (en) * 2012-02-16 2018-07-12 Philips Lighting Holding B.V. Efficient management of a proxy table in communication networks
RU2622629C2 (en) * 2015-03-31 2017-06-16 Закрытое акционерное общество "Лаборатория Касперского" Method of searching for the road by tree
JP6493945B2 (en) * 2015-08-12 2019-04-03 シグニファイ ホールディング ビー ヴィ Green Power for high-density, large-scale networks (proxy table scaling)
CN111695150B (en) * 2020-05-15 2023-07-28 浙江信网真科技股份有限公司 Dynamic granularity self-polymerization safe filtering method and device

Similar Documents

Publication Publication Date Title
US7031320B2 (en) Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables
Gupta et al. Routing lookups in hardware at memory access speeds
US6658482B1 (en) Method for speeding up internet protocol address lookups with efficient use of memory
US7315547B2 (en) Packet forwarding device
US6985483B2 (en) Methods and systems for fast packet forwarding
US8090901B2 (en) TCAM management approach that minimize movements
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US7111071B1 (en) Longest prefix match for IP routers
KR100745693B1 (en) Method for ternary contents address memory table management
KR100586461B1 (en) Method, Hardware Architecture and Recording Medium for Searching IP Address by Using Pipeline Binary Tree
US20050071501A1 (en) Method and apparatus for performing a binary search on an expanded tree
CN102571599A (en) Rapid storage method of routing table entry
CN1216473C (en) TCAM high-speed search method and system supporting multiple nexthop
KR20040077376A (en) Apparatus and method for packet classification using Field Level Trie
US20040044868A1 (en) Method and apparatus for high-speed longest prefix match of keys in a memory
RU2002122720A (en) DEVICE AND METHOD FOR PERFORMING A HIGH-SPEED SEARCH FOR THE INTERNET PROTOCOL ROUTES AND THE MANAGEMENT OF ROUTING / SHIPMENT TABLES
EP1025678A2 (en) A lookup device and a method for classification and forwarding of packets
RU2233473C2 (en) Device and method for performing high-speed search for routes of internet protocol and controlling routing/transfer tables
KR100686732B1 (en) Method for foriming database for routing data packet from plural prefix and method for routing and router using the method
US7934198B2 (en) Prefix matching structure and method for fast packet switching
JP3795881B2 (en) Table search method and apparatus
CN107204926B (en) Rapid route searching method for preprocessing cache
Pao et al. Enabling incremental updates to LC-trie for efficient management of IP forwarding tables
EP3319279B1 (en) Ip routing lookup
KR100459542B1 (en) Internet protocol address look-up device