CN106603414B - 路由表快速比对方法 - Google Patents

路由表快速比对方法 Download PDF

Info

Publication number
CN106603414B
CN106603414B CN201611024154.XA CN201611024154A CN106603414B CN 106603414 B CN106603414 B CN 106603414B CN 201611024154 A CN201611024154 A CN 201611024154A CN 106603414 B CN106603414 B CN 106603414B
Authority
CN
China
Prior art keywords
routing
subset
comparison
route
prefix
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201611024154.XA
Other languages
English (en)
Other versions
CN106603414A (zh
Inventor
申涓
于婧
伊鹏
陈博
崔世建
陆志威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NATIONAL DIGITAL SWITCH SYSTEM ENGINEERING TECHNOLOGY RESEARCH CENTER
Zhuhai Gao Ling Information Polytron Technologies Inc
Original Assignee
Zhuhai Comleader Information Technology Co Ltd
China National Digital Switching System Engineering and Technological R&D Center
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 Zhuhai Comleader Information Technology Co Ltd, China National Digital Switching System Engineering and Technological R&D Center filed Critical Zhuhai Comleader Information Technology Co Ltd
Priority to CN201611024154.XA priority Critical patent/CN106603414B/zh
Publication of CN106603414A publication Critical patent/CN106603414A/zh
Application granted granted Critical
Publication of CN106603414B publication Critical patent/CN106603414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种路由表快速比对方法,克服了现有技术中,实现路由表快速比的效率有待提高的问题。该发明包括:一、将路由表按照前缀长度拆分成多个路由子集;二、路由比对过程包括路由子集预判过程和路由表项精确比对过程;三、路由子集预判过程通过该路由子集的bloom过滤器进行预判;四、路由表项精确比对过程首先在路由子集中查找到与待比对表项路由前缀一致的路由表项,然后,按照预先定义好的判定两条具有相同前缀的表项是否一致的判决条件;五、比对完成后,参加比对的两个路由表的表项打上了“一致”或“不一致”标识。本发明通过划分路由子集、引入Bloom过滤器进行预判,以子集为单位减少路由比对次数。

Description

路由表快速比对方法
技术领域
该发明涉及一种计算机网络的处理方法,特别是涉及一种路由表快速比对方法。
背景技术
路由表比对用于判别两个路由表的一致性,其基本思想是过滤路由表中内容一致的表项,标识出两个路由表不一致的表项。路由表由多条表项组成,路由表比对过程就是路由表项的逐个比较过程。假设路由表R1和R2,表项个数分别为m1和m2,全遍历情况下完成R1和R2比对至少要进行m1*m2次表项比较。考虑到路由表的容量通常以百万级为单位,假定R1和R2的表项规模为500万条,即m1=m2=5000000,全遍历情况下完成R1和R2比对最多将触发2.5*1013次表项比较。因此,如何提高表项比较效率,实现路由表快速比对,是路由表比对尤其是大规模路由表比对要解决的重要问题。
发明内容
本发明克服了现有技术中,实现路由表快速比的效率有待提高的问题,提供一种路由表快速比对方法。
本发明的技术解决方案是,提供一种具有以下步骤的路由表快速比对方法:其包括:
步骤一、将路由表按照前缀长度拆分成多个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器;
步骤二、整个路由表比对由多次路由比对过程实现,路由比对过程包括路由子集预判过程和路由表项精确比对过程;
步骤三、路由子集预判过程首先根据待比对表项的前缀长度定位其对应的路由子集,通过该路由子集的bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项,不存在则标识待比对表项为“不一致”,存在则针对该路由子集进一步执行路由表项的精确比对;
步骤四、路由表项精确比对过程首先在路由子集中查找到与待比对表项路由前缀一致的路由表项,然后,按照预先定义好的判定两条具有相同前缀的表项是否一致的判决条件,比较两条表项相关属性内容,如下一跳IP地址、输出端口等,根据判决结果为两条表项打上相应的“一致”或“不一致”标识;
步骤五、整个路由表比对过程完成后,参加比对的两个路由表的表项根据比对结果都打上了“一致”或“不一致”标识。
所述步骤一中将路由表按照前缀长度9~32拆分成24个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器,一共用到24个Bloom过滤器。
所述步骤三中bloom过滤器预判的过程如下:首先用bloom过滤器进行路由子集预判,根据待比对表项的前缀长度定位其对应的路由子集,再通过该路由子集的bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项;Bloom过滤器在判决某元素是否属于某集合时,判决结果为“属于”时,该元素实际上有可能不属于该集合;判决结果为“不属于”时,该元素实际上必定不属于该集合。
所述步骤四中路由表项精确比对过程中,需要以待比对表项的路由前缀为索引,在路由子集中进行查找,为了加速查找过程,建立路由子集的快速查找索引,如采用hash索引。
与现有技术相比,本发明路由表快速比对方法具有以下优点:本发明结合路由比对的特点,通过划分路由子集、引入Bloom过滤器进行预判,以子集为单位减少路由比对次数,有效提高了路由表项的比较效率,实现路由表快速比对,尤其适用于大规模路由表的快速比对。
附图说明
图1是本发明路由表快速比对方法的示意图;
图2是本发明路由表快速比对方法的详细流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明路由表快速比对方法作进一步说明:如图所示,本实施例提供一种大规模路由表快速比对方法。所述方法包括:将路由表按照前缀长度拆分成多个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器。
整个路由表比对由多次路由比对过程实现,路由比对过程包括路由子集预判过程和路由表项精确比对过程。
路由子集预判过程首先根据待比对表项的前缀长度定位其对应的路由子集,通过该路由子集的bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项,不存在则标识待比对表项为“不一致”,存在则针对该路由子集进一步执行路由表项的精确比对。
路由表项精确比对过程首先在路由子集中查找到与待比对表项路由前缀一致的路由表项,然后,按照预先定义好的判定两条具有相同前缀的表项是否一致的判决条件,比较两条表项相关属性内容,如下一跳IP地址、输出端口等,根据判决结果为两条表项打上相应的“一致”或“不一致”标识。
整个路由表比对过程完成后,参加比对的两个路由表的表项根据比对结果都打上了“一致”或“不一致”标识。
由于不存在长度小于8bits路由前缀,将路由表按照前缀长度9~32拆分成24个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器,一共用到24个Bloom过滤器。
首先用bloom过滤器进行路由子集预判,根据待比对表项的前缀长度定位其对应的路由子集,通过该路由子集的bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项。Bloom过滤器在判决某元素是否属于某集合时,判决结果为“属于”时,该元素实际上有可能不属于该集合;判决结果为“不属于”时,该元素实际上必定不属于该集合。也就是说,Bloom过滤器的判决会出现“假阳性误判”,但不会出现“假阴性漏判”。结合路由比对的需求,“假阳性误判”对路由比对的最终结果不会造成影响,而“假阴性漏判”直接影响路由比对的最终结果,因此,将Bloom过滤器用于路由比对的路由子集判决不会出现漏判,确保了路由比对的完备性和正确性。
接下来进行路由表项精确比对,需要以待比对表项的路由前缀为索引,在路由子集中进行查找,为了加速查找过程,可以建立路由子集的快速查找索引,本例中采用hash索引。
本发明路由表快速比对方法的具体流程如图2所述:
假设路由表R1和R2,表项个数分别为m1和m2,ri∈R1,rj∈R2,1≤i≤m1,1≤j≤m2,ri的路由前缀用prefixi表示,前缀长度用preleni表示。
步骤1:判定R1是否遍历完?是,则跳转到步骤5;不是,执行步骤2。
具体实现时,应当选取表项个数较少的路由表进行遍历,本例中假定m1≤m2,故选择R1进行遍历。
步骤2:读取当前路由表项ri的前缀长度preleni,选择对应的Bloom过滤器,判定prefixi是否属于对应的路由子集?不属于,则标记ri为“不一致”,跳转到步骤1;属于,执行步骤3。
结合路由表中路由前缀的唯一性(即一个路由前缀在一个路由表中只能出现一次),一旦在R2的某个路由子集中不存在该路由前缀,在R2的其他路由子集中也不会存在。因此,当Bloom预判决结果为不属于时,将R1中的ri直接标记为“不一致”。
步骤3:在前缀长度为preleni的路由子集中查找到路由前缀为prefixi的表项rj(本例采用hash索引查找),执行步骤4。
步骤4:按照预先定义好的判定两条具有相同前缀的表项是否一致的判决条件,比较ri和rj相关属性内容是否一致?一致,标记R1的ri、R2的rj为“一致”;不一致,标记R1的ri、R2的rj为“不一致”。跳转到步骤1。
判定两条具有相同前缀的表项是否一致的判决条件,可以是单个判决(如下一跳是否相等)或组合判决(下一跳相等且出接口相等)。这里,假定判决条件为“下一跳路由是否相等”,那么,比较ri和rj的下一跳路由,相等则标记为“一致”,不相等则标记为“不一致”。
步骤5:将R2中所有未标识的路由表项,标识为“不一致”。
同理,结合路由表中路由前缀的唯一性,在R1遍历完成后,R2中还没有进行标识的路由表项,其比对结果应该为“不一致”。进一步,为了加速比对,可以在初始化时直接将R2的所有表项预先标记为“不一致”。

Claims (3)

1.一种路由表快速比对方法,其特征在于:所述方法包括:
步骤一、将路由表按照前缀长度拆分成多个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器;所述步骤一中将路由表按照前缀长度9~32拆分成24个路由子集,同一个路由子集中的路由表项具有相同的路由前缀;对每个路由子集,建立对应的Bloom过滤器,一共用到24个Bloom过滤器;
步骤二、整个路由表比对由多次路由比对过程实现,路由比对过程包括路由子集预判过程和路由表项精确比对过程;
步骤三、路由子集预判过程首先根据待比对表项的前缀长度定位其对应的路由子集,通过该路由子集的Bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项,不存在则标识待比对表项为“不一致”,存在则针对该路由子集进一步执行路由表项的精确比对;
步骤四、路由表项精确比对过程首先在路由子集中查找到与待比对表项路由前缀一致的路由表项,然后,按照预先定义好的判定两条具有相同前缀的表项是否一致的判决条件,比较两条表项相关属性内容,包括下一跳IP地址和输出端口,根据判决结果为两条表项打上相应的“一致”或“不一致”标识;
步骤五、整个路由表比对过程完成后,参加比对的两个路由表的表项根据比对结果都打上了“一致”或“不一致”标识。
2.根据权利要求1所述的路由表快速比对方法,其特征在于:所述步骤三中Bloom过滤器预判的过程如下:首先用Bloom过滤器进行路由子集预判,根据待比对表项的前缀长度定位其对应的路由子集,再通过该路由子集的Bloom过滤器进行预判,即判断对应的路由子集中是否存在与该前缀匹配的路由表项;Bloom过滤器在判决某元素是否属于某集合时,判决结果为“属于”时,该元素实际上有可能不属于该集合;判决结果为“不属于”时,该元素实际上必定不属于该集合。
3.根据权利要求1所述的路由表快速比对方法,其特征在于:所述步骤四中路由表项精确比对过程中,需要以待比对表项的路由前缀为索引,在路由子集中进行查找,为了加速查找过程,建立路由子集的快速查找索引,如采用hash索引。
CN201611024154.XA 2016-11-17 2016-11-17 路由表快速比对方法 Active CN106603414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611024154.XA CN106603414B (zh) 2016-11-17 2016-11-17 路由表快速比对方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611024154.XA CN106603414B (zh) 2016-11-17 2016-11-17 路由表快速比对方法

Publications (2)

Publication Number Publication Date
CN106603414A CN106603414A (zh) 2017-04-26
CN106603414B true CN106603414B (zh) 2020-04-10

Family

ID=58591457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611024154.XA Active CN106603414B (zh) 2016-11-17 2016-11-17 路由表快速比对方法

Country Status (1)

Country Link
CN (1) CN106603414B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872863B (zh) * 2021-08-25 2023-04-18 优刻得科技股份有限公司 一种路径搜索方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949746A (zh) * 2006-10-31 2007-04-18 成都迈普产业集团有限公司 路由表查找方法
CN100531102C (zh) * 2007-11-02 2009-08-19 华为技术有限公司 路由表调整方法、路由查询方法和装置及路由表存储装置
CN102333036A (zh) * 2011-10-17 2012-01-25 中兴通讯股份有限公司 一种实现高速路由查找的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949746A (zh) * 2006-10-31 2007-04-18 成都迈普产业集团有限公司 路由表查找方法
CN100486227C (zh) * 2006-10-31 2009-05-06 成都迈普产业集团有限公司 路由表查找方法
CN100531102C (zh) * 2007-11-02 2009-08-19 华为技术有限公司 路由表调整方法、路由查询方法和装置及路由表存储装置
CN102333036A (zh) * 2011-10-17 2012-01-25 中兴通讯股份有限公司 一种实现高速路由查找的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Longest Prefix Matching Using Bloom Filters;Sarang Dharmapurikar, Praveen Krishnamurthy, and David E. Taylor;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20060430;正文第IV节 *
基于Bloom滤波器的缓存机制快速路由查找算法;张瑞等;《北京邮电大学学报》;20041231;正文第1节、第2.1节 *

Also Published As

Publication number Publication date
CN106603414A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
US20170180252A1 (en) Ccn routing using hardware-assisted hash tables
US9705761B2 (en) Opinion information display system and method
CN107154899B (zh) 一种用后缀索引查找ip路由的系统
US20230127391A1 (en) Algorithmic tcam based ternary lookup
US20180107759A1 (en) Flow classification method and device and storage medium
CN105827530B (zh) 一种兼容ipv4/ipv6的ip二分查找方法及装置
US20080133494A1 (en) Method and apparatus for searching forwarding table
EP3280104B1 (en) Ip routing lookup
US20150256450A1 (en) Generating a Shape Graph for a Routing Table
CN105745642B (zh) 查询数据的处理方法和装置
CN105701133B (zh) 一种地址输入的方法和设备
CN106603414B (zh) 路由表快速比对方法
CN106227741B (zh) 一种基于多级哈希索引链表的大规模url匹配方法
CN102195853B (zh) 一种保存位图的方法和装置
CN104954263A (zh) 一种复杂网络目标节点的搜索方法及装置
CN104539538B (zh) 路由器的ip地址匹配方法和路由器的数据包转发方法
US20230041395A1 (en) Method and Device for Processing Routing Table Entries
WO2020248690A1 (zh) 报文匹配查表方法、系统、存储介质和终端
US11803529B2 (en) Unbalanced binary tree construction method based on calculation of binary boundary value
CN106302178B (zh) 一种路由查询方法及装置
CN111163077A (zh) 一种基于网络处理器实现多维连续掩码的系统和方法
CN104539537A (zh) 一种路由查找方法和装置
US9544226B1 (en) Efficient address-based rule resolution in a network employing a bit-mapped index
CN104012053A (zh) 查找装置及方法
KR101587756B1 (ko) 블룸 필터 선-검색을 이용한 스트링 정보 검색 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190509

Address after: 519000 No. 1 Pingdong Road, Nanping Science and Technology Industrial Park, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Gao Ling information Polytron Technologies Inc

Applicant after: National Digital Switch System Engineering Technology Research Center

Address before: Room A501, Building No. 1588, Lianhai Road, Minhang District, Shanghai 201100

Applicant before: Shanghai red array Mdt InfoTech Ltd

Applicant before: National Digital Switch System Engineering Technology Research Center

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant