CN1402488A - 一种路由表压缩方法 - Google Patents

一种路由表压缩方法 Download PDF

Info

Publication number
CN1402488A
CN1402488A CN02131448A CN02131448A CN1402488A CN 1402488 A CN1402488 A CN 1402488A CN 02131448 A CN02131448 A CN 02131448A CN 02131448 A CN02131448 A CN 02131448A CN 1402488 A CN1402488 A CN 1402488A
Authority
CN
China
Prior art keywords
route
polymerization
routing table
interval
converting
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.)
Granted
Application number
CN02131448A
Other languages
English (en)
Other versions
CN1207878C (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.)
Huawei Technologies Co Ltd
Original Assignee
BEIJIANG GANGWAN NETWORK Co Ltd
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 BEIJIANG GANGWAN NETWORK Co Ltd filed Critical BEIJIANG GANGWAN NETWORK Co Ltd
Priority to CNB021314489A priority Critical patent/CN1207878C/zh
Publication of CN1402488A publication Critical patent/CN1402488A/zh
Application granted granted Critical
Publication of CN1207878C publication Critical patent/CN1207878C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种互联网协议网络单播路由表的优化方法。在需要使用大容量路由表实施报文转发的设备中,可通过本方法生成等效的聚合路由,减少用于转发的路由数量,从而以较小的系统资源开销适应网络路由数量的不断增长。该方法可以应用于路由器或IP交换机等转发设备。

Description

一种路由表压缩方法
所属领域:
本发明涉及一种互联网协议(IP)网络单播路由表的优化方法,属于计算机网络通信技术领域。
背景技术:
在IP网络中,路由器和三层交换机等IP转发设备使用IP路由表控制报文的转发。随着IP网络的高速发展,在大型IP网络中,尤其是在因特网中,路由数量持续增长,在因特网中已经达到几十万条路由的数量级。大容量路由表为IP转发设备带来较大的系统开销,如占用大量内存、查询和维护效率降低等。
在目前的IP转发设备中,高层软件将路由表中的有效路由提交到IP转发引擎,保存在转发路由表中,转发引擎按转发路由表的指示,具体执行报文的高速转发功能。转发引擎可以由软件或硬件实现,但在高速转发设备中通常使用硬件实现。硬件转发引擎的灵活性较低,对转发路由表的容量通常有固定的限制。而目前路由表中的有效路由必须全部提交到转发路由表中,以保证转发引擎能够正确地实施报文转发。路由协议和转发引擎在设备中的关系参见图1:其中图中箭头表示路由提交方向,(1)是物理接口,(2)是链路层协议,(3)是IP转发引擎,(4)是IP层,(5)是TCP/UDP协议层,(6)是单播路由协议层,(7)是单播路由表,(8)是单播路由转发表。
中国专利00804339.6提出了一种高效率转发路由表的实现方法,目的是实现高效率的转发表检索,其中的“压缩”是指路由转发表占用内存空间的减少。而本方法的目的是为了减少提交到转发路由表的路由数量,是在将路由加入转发路由表之前所采取的一种优化方法,其中的“压缩”是指转发路由表中路由数量的减少,这与具体的转发路由表实现方式无关。
发明目的:
本发明针对大容量IP转发设备提出一种转发路由表的压缩方法,通过创建聚合路由减少转发路由表中的路由数量,同时保证不影响正确地执行转发功能。发明的技术方案:
尽管大型IP网络中的路由数量很大,但每个IP转发设备的相邻设备却不会很多,通常在几个到几十个之间,转发设备的目的不过是将数据包转发到这少量相邻设备中的一个,这就为路由的压缩提供了可能。
IP路由表的原理是使用最长匹配方法,即用一个目的IP地址检索转发路由表时,选择被路由网段包含并且网段范围最小(掩码长度最长)的路由,然后把报文转发到路由指定的相邻设备。相邻设备的IP地址在路由表中称为下一跳地址。对于多个下一跳地址相同的路由,可以用一个掩码较短的路由取代,称为聚合路由。对于IP转发来说,采用聚合路由地址的转发效果是相同的,而转发路由表中的路由数量可以因此而减少。当然,并不是所有的下一跳地址相同的路由都可以简单地聚合,需要设计某种方案得到正确的聚合路由。
本方法以当前路由表为基础,采用特定方案计算聚合路由;将聚合路由和不能被聚合的路由提交转发路由表,被聚合路由覆盖的路由不提交转发路由表;由聚合路由取代原先的路由,不影响正确地执行转发功能,同时对转发路由表进行了压缩。
构造路由表常用的数据结构是二叉基树(Radix Tree),基树是目前广泛使用的方法。基树由树节点构成。树节点上可能有路由数据,也可能没有路由数据。没有路由数据的树节点称为空节点,有路由数据的树节点称为实节点。空节点必然有两个子节点,实节点可以有零至二个子节点。在基树中,每个节点至少要包含位高度信息,实节点的位高度即路由的掩码长度。两个兄弟节点从高位开始的第一个不同的位(比特),就是它们的父节点的位高度,并且两个子节点在该位为0的是左子节点,为1的是右子节点。两个实节点有上下级关系,则这两个路由有包含关系,即有相同的一段目的地址前缀,但掩码长度不同。在图2中给出了一个二叉基树的例子,其中a、b、d等节点为空节点,c、e、f等节点为实节点,包含路由信息。
在基树中,一个连续的空节点区域为可优化区间。即这个区域内只包含空节点,并且这些空节点通过二叉树的父指针和左右孩子指针直接连接。在图3的例子中,有3个可优化区间,分别为{a,b,d}、{i,m}、{j}。除了可优化区间的根节点的父节点之外,其他与可优化区间直接连接的实节点为可优化的对象。可优化区间内的优化处理只需要考虑这些实节点。例如图3中第一个可优化区间内的可优化对象为:e、f、g、c。第二个可优化区间内的可优化对象为:l、n、o。不连续的可优化区间之间没有相关影响,聚合计算可以分别进行。在整个路由表中,只要对每个可优化区间分别做优化即可。在基树中,只需在空节点上增加聚合路由,就可达到充分的聚合效果。所以计算聚合路由的过程,也就是考虑每个空节点上是否需要增加聚合路由、聚合路由的下一跳取为什么值的过程。
本发明提出四个级别的优化压缩方法:
1)利用路由表中自然的聚合,被上级路由覆盖而且下一跳相同的路由不
  被选中,不向转发路由表提交。例如在图4中,节点h和p、q为可
  省略路由,它们被下一跳相同的父节点h和j覆盖,不必向转发表提
  交。
2)对一个可优化的区间,仅当整个区间或一个子区间的路由都有相同下
  一跳时才生成一个聚合路由,可不覆盖整个区间。例如在图5中,节
  点b和j上新增加了聚合路由,它们使得e、f、g、h、p、q等节点不
  必向转发表提交,从而压缩了转发表的大小。
3)对一个可优化的区间,取区间内数量最大的下一跳生成一个聚合路
  由,覆盖整个区间。例如在图6中,节点a上新增加了聚合路由,它
  使得f、g、h、l、o等节点不必向转发表提交,从而压缩了转发表的
  大小。
4)对一个可优化的区间,综合考虑生成多个聚合路由,达到整个区间的
  选中路由数量最小。例如在图7中,节点a和j上新增加了聚合路由,
  它们使得f、g、h、l、p、q等节点不必向转发表提交,从而压缩了转
  发表的大小。
这四个级别中,级别一是基础。另外三个级别的优化之后,都要使用级别一的原理选择应该提交的路由,忽略不必提交的路由。它单独使用时,对于正常的路由分布,可以使转发表的大小有所下降。但由于路由协议提供的路由通常不重叠,所以级别1单独使用时优化效果不太明显。级别2和级别3的优化效果比较明显,但不是最优方法。级别4是最优方法,但方案复杂,计算开销大,实用性不强。因此可以将级别2和级别3组合起来,形成一种计算复杂度较小而效果较好的实用优化方法。有益效果:
本方法通过采用聚合路由来取代大量的路由数据,减少了转发路由表中的路由数量,从而能够降低转发引擎的容量压力,减少空间开销,降低成本,提高设备的路由容纳能力。本方法可以应用于IPV4和IPV6网络设备,可应用的设备包括IP网络内的各种转发设备,如路由器、三层交换机、IP网关等。
说明书附图说明:图1    单播路由结构图图2    二叉基树示意图图3    可优化区域示意图图4    级别1优化示意图图5    级别2优化示意图图6    级别3优化示意图图7    级别4优化示意图(在图2至图7中,圆形代表空节点,方形代表实节点,星形代表增加的聚合路由。小写字母代表节点编号,大写字母代表路由的下一跳。)
实施例:
实施中操作流程如下:
1)单播路由协议生成路由或删除路由,提交到路由表
2)路由表维护模块采用下述方案做优化计算
3)如果优化计算得到新的选中路由,则提交到路由转发表
4)如果优化计算使原有的选中路由变成不选中,则从路由转发表删除
其中优化计算的具体流程有3个方案,分别对应到前文说述的3个级别。
级别1的具体处理过程如下:
加入过程:
1)路由R加入路由表;
2)如果R的父节点下一跳与R相同,将R标记为不选中。
3)否则R标记为选中,并检查R的子树,遇到实节点则回溯。
4)如果R的子树有下一跳与R相同的AR,则删除。
5)如果R的子树有下一跳与R相同的普通路由并且选中,则改为不选中。
6)如果R的子树有下一跳与R不同的普通路由并且没选中,则改为选中。
删除过程:
1)如果R没有选中则直接删除。
2)检查R的子树,遇到实节点则回溯。
3)如果R的子树有下一跳与R的父节点相同的AR,则删除。
4)如果R的子树有下一跳与R的父节点相同的普通路由并且选中,则改为
  不选中。
5)如果R的子树有下一跳与R的父节点不同的普通路由并且没选中,则改
  为选中。
6)路由R从路由表删除;
级别2的具体处理过程如下:
加入过程:
1)路由R加入路由表;
2)如果R的父节点下一跳与R相同,则结束。3)如果R的父节点是AR,则删除父节点AR,并为父节点的另一分支重新计算AR。4)从R向上逐步检查兄弟子树,遇到实节点则回溯。找到包含R的并且下一跳都与R相同的最大子树。5)在最大子树的根节点增加一个AR。下一跳就是R的下一跳。6)每次加入删除路由都使用级别1的方法调整相邻的AR。删除过程:1)如果R的父节点是AR,则删除父节点AR。2)找到R的一个兄弟节点B。3)删除路由R。4)用级别2的加入过程处理B节点,重新建立这个区域的AR。5)每次加入删除路由都使用级别1的方法调整相邻的AR。级别3的具体处理过程如下:加入过程:1)路由R加入路由表;2)找到R上方第一个非空父节点。3)如果父节点下一跳与R相同,则结束4)否则如果父节点是AR,删除这个AR5)如果父节点不是AR,检查父节点下的直接下属非空子节点,如果下一跳都与R相同,则在父节点下方增加AR。6)对R的左右子树各取一个直接下属非空子节点,重复以上处理。7)每次加入删除路由都使用级别1的方法调整相邻的AR。删除过程:1)找到R上方第一个非空父节点。2)如果父节点不是AR,则直接删除R,结束。3)如果R的左右子节点是AR,删除这些AR。4)取R的一个直接下属非空子节点,用级别3的加入过程处理它,重新建立这个区域的AR。5)每次加入删除路由都使用级别1的方法调整相邻的AR。

Claims (6)

1.一种网络数据转发设备的路由表压缩方法,高层软件采用二叉基树数据结构构造路由表,将路由表中的有效路由提交到IP转发引擎,保存在转发路由表中,转发引擎按转发路由表的指示,具体执行报文的高速转发功能,其特征在于:以当前路由表为基础,采用特定方案计算聚合路由;将聚合路由和不能被聚合的路由提交转发路由表,被聚合路由覆盖的路由不提交转发路由表;由聚合路由取代原先的路由,不影响正确地执行转发功能,同时对转发路由表进行了压缩。
2.根据权利要求1所述的路由表压缩方法,其特征在于:基树中连续的空节点区域为可优化区间,与可优化区间内节点直接连接的实子节点为可优化的对象;在可优化的空节点上增加并计算聚合路由;不连续的可优化区间之间没有相关影响,聚合计算分别进行。
3.根据权利要求2所述的路由表压缩方法,其特征在于增加并计算聚合路由的操作为:利用路由表中自然的聚合,被上级路由覆盖而且下一跳相同的路由不被选中,不向转发路由表提交。
4.根据权利要求2或3所述的路由表压缩方法,其特征在于增加并计算聚合路由的操作为:对一个可优化的区间,仅当整个区间或一个子区间的路由都有相同下一跳时才生成一个聚合路由,可不覆盖整个区间。
5.根据权利要求2或3所述的路由表压缩方法,其特征在于增加并计算聚合路由的操作为:对一个可优化的区间,取区间内数量最大的下一跳生成一个聚合路由,覆盖整个区间。
6.根据权利要求3-5任一权利要求之一所述的路由表压缩方法,其特征在:增加并计算聚合路由的操作组合使用,以便取得更好的压缩效果。
CNB021314489A 2002-10-14 2002-10-14 一种路由表压缩方法 Expired - Fee Related CN1207878C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021314489A CN1207878C (zh) 2002-10-14 2002-10-14 一种路由表压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021314489A CN1207878C (zh) 2002-10-14 2002-10-14 一种路由表压缩方法

Publications (2)

Publication Number Publication Date
CN1402488A true CN1402488A (zh) 2003-03-12
CN1207878C CN1207878C (zh) 2005-06-22

Family

ID=4746685

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021314489A Expired - Fee Related CN1207878C (zh) 2002-10-14 2002-10-14 一种路由表压缩方法

Country Status (1)

Country Link
CN (1) CN1207878C (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100377529C (zh) * 2004-01-13 2008-03-26 富士通株式会社 路由设计方法
CN100384131C (zh) * 2003-09-08 2008-04-23 华为技术有限公司 一种大容量组播路由表下提高组播数据转发效率的方法
CN101909005A (zh) * 2010-07-20 2010-12-08 中兴通讯股份有限公司 转发表的处理方法和装置
WO2011012081A1 (zh) * 2009-07-30 2011-02-03 中兴通讯股份有限公司 一种通信设备路由转发表的压缩方法和装置
CN101562573B (zh) * 2009-04-22 2011-07-13 中兴通讯股份有限公司 一种聚合路由条目的方法和系统
CN1947403B (zh) * 2004-04-29 2012-05-30 英国电讯有限公司 事件通知网络
CN102611628A (zh) * 2012-04-05 2012-07-25 杭州华三通信技术有限公司 用于实现传输路径切换的方法和装置
CN104184664A (zh) * 2014-08-05 2014-12-03 杭州华三通信技术有限公司 路由转发表项生成方法及装置
CN105721303A (zh) * 2016-03-31 2016-06-29 华为技术有限公司 一种路由控制方法、网络设备及控制器
CN111865803A (zh) * 2020-06-01 2020-10-30 锐捷网络股份有限公司 基于evpn的路由处理方法及装置
CN112787938A (zh) * 2021-01-14 2021-05-11 北京星网锐捷网络技术有限公司 一种路由表项配置方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227405B (zh) * 2008-02-18 2011-12-07 中兴通讯股份有限公司 路由汇聚方法及系统

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384131C (zh) * 2003-09-08 2008-04-23 华为技术有限公司 一种大容量组播路由表下提高组播数据转发效率的方法
CN100377529C (zh) * 2004-01-13 2008-03-26 富士通株式会社 路由设计方法
CN1947403B (zh) * 2004-04-29 2012-05-30 英国电讯有限公司 事件通知网络
CN101562573B (zh) * 2009-04-22 2011-07-13 中兴通讯股份有限公司 一种聚合路由条目的方法和系统
WO2011012081A1 (zh) * 2009-07-30 2011-02-03 中兴通讯股份有限公司 一种通信设备路由转发表的压缩方法和装置
CN101989946B (zh) * 2009-07-30 2012-07-18 中兴通讯股份有限公司 一种通信设备路由转发表的压缩方法
CN101909005A (zh) * 2010-07-20 2010-12-08 中兴通讯股份有限公司 转发表的处理方法和装置
CN102611628A (zh) * 2012-04-05 2012-07-25 杭州华三通信技术有限公司 用于实现传输路径切换的方法和装置
CN102611628B (zh) * 2012-04-05 2015-08-05 杭州华三通信技术有限公司 用于实现传输路径切换的方法和装置
CN104184664B (zh) * 2014-08-05 2017-07-04 新华三技术有限公司 路由转发表项生成方法及装置
CN104184664A (zh) * 2014-08-05 2014-12-03 杭州华三通信技术有限公司 路由转发表项生成方法及装置
CN105721303A (zh) * 2016-03-31 2016-06-29 华为技术有限公司 一种路由控制方法、网络设备及控制器
WO2017167028A1 (zh) * 2016-03-31 2017-10-05 华为技术有限公司 一种路由控制方法、网络设备及控制器
CN105721303B (zh) * 2016-03-31 2018-05-18 华为技术有限公司 一种路由控制方法、网络设备及控制器
US10700973B2 (en) 2016-03-31 2020-06-30 Huawei Technologies Co., Ltd. Routing control method, network device, and controller
US11349759B2 (en) 2016-03-31 2022-05-31 Huawei Technologies Co., Ltd. Routing control method, network device, and controller
US11997016B2 (en) 2016-03-31 2024-05-28 Huawei Technologies Co., Ltd. Routing control method, network device, and controller
CN111865803A (zh) * 2020-06-01 2020-10-30 锐捷网络股份有限公司 基于evpn的路由处理方法及装置
CN112787938A (zh) * 2021-01-14 2021-05-11 北京星网锐捷网络技术有限公司 一种路由表项配置方法及装置
CN112787938B (zh) * 2021-01-14 2022-09-20 北京星网锐捷网络技术有限公司 一种路由表项配置方法及装置

Also Published As

Publication number Publication date
CN1207878C (zh) 2005-06-22

Similar Documents

Publication Publication Date Title
CN1207878C (zh) 一种路由表压缩方法
CN102055817B (zh) 同源地址束汇聚方法及同源汇聚网络路由系统
CN1235157C (zh) 面向内容的负载均衡方法
CN1761238A (zh) 网络处理器中路由转发数据库的优化
CN1462004A (zh) 用于产生和使用改进的树形位图数据结构的方法和装置
CN1404591A (zh) 执行高速互联网协议路由查找和管理路由选择/转发表的装置和方法
CN1784678A (zh) 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的系统和方法
CN1859286A (zh) 一种负载分担的方法
Lim et al. NDN construction for big science: Lessons learned from establishing a testbed
CN1759568A (zh) 路由器中的基于接收到的分组的样式来生成路由的配置
CN1255975C (zh) 在路由设备中为分组选择路由的方法
CN1564989A (zh) Mac地址高速搜索引擎
CN1592248A (zh) 一种分层的内容分发网络及内容分层分发的方法
CN1688140A (zh) 基于网络处理器的高速多维报文分类算法的设计和实现
CN1816000A (zh) 一次路由计算实现层次路由的拓扑方法
CN1949776A (zh) 扩展边界网关协议的4 over 6隧道封装及解封装方法
CN1630268A (zh) 一种多isp局域网的出口路由方法
CN1968164A (zh) 基于全局Internet拓扑知识的P2P应用构建方法
CN1859208A (zh) 一种tcam路由表管理方法和系统
CN1897560A (zh) 一种提高路由表容量的方法
CN101039275A (zh) 路径计算单元组网及信息获取方法及通讯系统及相关设备
CN1716910A (zh) 在不连续网络中提供多播数据传输的方法
CN1279716C (zh) 消除最长前缀匹配查找的并行路由查找方法及其系统
CN1753389A (zh) 波长路由光网络的实时软抢占方法
CN1897562A (zh) 路由转发及路由转发的下一跳表存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GANGWAN NETWORK CO., LTD.

Effective date: 20060922

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20060922

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: Huawei Technologies Co., Ltd.

Address before: 100089, No. 21 West Third Ring Road, Beijing, Haidian District, Long Ling Building, 13 floor

Patentee before: Harbour Networks Holdings Limited

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050622

Termination date: 20111014