CN101989946B - 一种通信设备路由转发表的压缩方法 - Google Patents
一种通信设备路由转发表的压缩方法 Download PDFInfo
- Publication number
- CN101989946B CN101989946B CN2009101610333A CN200910161033A CN101989946B CN 101989946 B CN101989946 B CN 101989946B CN 2009101610333 A CN2009101610333 A CN 2009101610333A CN 200910161033 A CN200910161033 A CN 200910161033A CN 101989946 B CN101989946 B CN 101989946B
- Authority
- CN
- China
- Prior art keywords
- route
- network
- added
- forwarding table
- main frame
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信设备路由转发表的压缩方法,包括:在通讯设备的组网中,为组网中各传输节点配置不同网段的IP,并选择邻接的两个传输节点间的多个主机路由接口中的其中一个作为同一网段的网络路由接口;在对路由转发表进行更新时,判断待加入路由的类型是主机路由还是网络路由,如果是主机路由,则判断路由转发表中是否存在与该待加入主机路由同一网段的网络路由,如果存在,则丢弃该待加入主机路由,并用网络路由代替该待加入主机路由;否则,将该待加入主机路由加入到路由转发表中。采用本发明方法,使网络路由直接替换主机路由,有效缩小了路由转发表大小,从而可提高路由转发的效率、减少内存资源冲突、降低CPU的负荷。
Description
技术领域
本发明涉及通信领域,尤其涉及一种通信设备路由转发表的压缩方法。
背景技术
在一般的网络设备中,TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/互联网络协议)协议栈依靠路由表进行数据收发/转发处理工作。实际使用中常常出现路由表太大,而我们的路由表装载容器太小的问题。特别是在一些中低端的网络路由设备中,这种矛盾尤其突出。因此利用等价路由来有效缩小路由表大小,是解决此类问题比较有效的手段。
在现有的压缩转发表的实现中,有利用默认路由来压缩路由转发表的方法,例如中国专利CN200710130487.5;有利用字符进行路由压缩处理的方法,例如中国专利CN200710073936.7;还有使用目的地址与网关网元为关键字进行路由压缩的方法,例如中国专利CN02131448.9。
但以上所述压缩方法,或实现较复杂、或不能达到最大可能压缩路由表的效果。
发明内容
本发明要解决的技术问题是提供一种通信设备路由转发表的压缩方法,利用IP规划实现缩小路由转发表的大小,解决了路由转发表过大的问题。
为了解决上述问题,本发明提供了一种通信设备路由转发表的压缩方法,包括:
在通讯设备的组网中,为组网中各传输节点配置不同网段的IP,并选择邻接的两个传输节点间的多个主机路由接口中的其中一个作为同一网段的网络路由接口;
在对路由转发表进行更新时,判断待加入路由的类型是主机路由还是网络路由,如果是主机路由,则判断所述路由转发表中是否存在与该待加入主机路由同一网段的网络路由,如果存在,则丢弃该待加入主机路由,并用所述网络路由代替该待加入主机路由;否则,将该待加入主机路由加入到所述路由转发表中。
进一步地,所述方法通过子网掩码的长度判断所述待加入路由的类型,如果所述待加入路由的子网掩码转换为二进制数据后的长度为32位,则为主机路由;否则,为网络路由。
进一步地,所述方法在判断所述路由转发表中是否存在与该待加入主机路由同一网段的网络路由时,是以目的地址与子网掩码为关键字,从所述路由转发表中搜索是否存在与该待加入主机路由同一网段的网络路由。
进一步地,在对所述路由转发表进行更新时,如果判断出所述待加入路由为网络路由,则判断所述路由转发表中是否存在比该待加入网络路由网段更大的网络路由,如果存在,则丢弃该待加入网络路由;否则,再进一步判断所述路由转发表中是否存在比待加入网络路由网段更小的网络路由,并在不存在的情况下将所述待加入网络路由加入到所述路由转发表中。
进一步地,如果判断出所述路由转发表中存在比待加入网络路由网段更小的网络路由,则在删除系统中所有比待加入网络路由网段更小的网络路由的同时,判断所述路由转发表中是否已经存在所述待加入网络路由,如果不存在,则将所述待加入网络路由加入到所述路由转发表中。
进一步地,如果判断出所述路由转发表中已经存在所述待加入网络路由,则丢弃所述待加入网络路由。
进一步地,所述方法在判断网段的大小时,是根据子网掩码的长度大小进行判断,子网掩码的长度越短,则对应的网段越大。
本发明提出了一种利用规划IP实现压缩路由转发表的方法,使网络路由能够直接替换主机路由,有效缩小路由转发表大小,从而提高路由转发的效率、减少内存资源冲突、降低CPU(Central Processing Unit,中央处理单元)的负荷;并且本发明的特点是压缩算法和实施规则均较为简单。
附图说明
图1为本发明的压缩路由转发表的IP规划方法示例图;
图2为本发明实施例的注入路由到路由转发表的流程图;
图3为本发明主机路由写入路由转发表的示例图;
图4为本发明一个应用示例的网络路由写入路由转发表的示例图;
图5为本发明另一应用示例的网络路由写入路由转发表的示例图;
图6为本发明又一应用示例的网络路由写入路由转发表的示例图。
具体实施方式
本发明的核心思想是:在通讯设备的组网中,对组网中的传输节点(或路由器)的IP地址做配置规划,为每个路由器配置不同网段的IP,并从两个路由器间的多个主机路由接口中选择一个作为网络路由接口,达到利用网络路由代替主机路由的目的,从而可以缩小路由转发表的大小,解决路由转发表过大的问题。
具体地,本发明的实现方法包括如下内容:
1、IP配置规划
在通讯网络中,每个网络设备自成一个局域网。在全网通讯设备中,每个网络设备都属于不同的子网。每个网络设备上都分配一个本子网的以太网口的地址,运行路由协议。
2、路由转发表的初始化
创建一个存储路由信息的结构,以记录路由转发表。
3、检查路由类型
驱动每加入一条路由表项到路由转发表的时候,检查添加路由的类型,通过子网掩码判断此路由表项为主机路由还是网络路由。
4、查询及修改路由转发表
1)如果待加入路由为主机路由,则检查系统当前的转发路由表中是否存在与待加入路由在同一个网段的目的路由,如果不存在,则将此待加入路由表项添加到路由转发表中,同时将此路由表项注入到操作系统;如果存在,则对待加入路由不做任何操作,直接退出。
2)如果待加入的路由为网络路由,则检查系统当前的路由转发表中是否存在比待加入的路由更大的网络,如果存在,则对待加入路由不做任何操作,直接退出;如果不存在,则再检查路由转发表中是否存在比待加入路由网段更小的路由,如果存在,则删除系统中所有比待加入路由表项网段更小的路由。
3)如果检索出转发路由表中存在比待加入的网络路由网段更小的路由,则在删除所有比待加入路由表项网段更小的路由后,将此路由表项添加到路由转发表中,同时将此路由表项注入到操作系统。
通过以上所描述的压缩路由转发表的方法,最大程度地减小了路由转发表中的项,很好的解决了路由表太大带来的各种资源短缺问题,同时也大大提高了路由转发表的查找速度。
但本发明并不限于上述在更新路由转发表时的实现方法,也可以在任何时候对路由转发表进行压缩,用其中的网络路由替换掉同一网段的主机路由。
下面结合附图及具体实例对本发明技术方案的实施进行详细描述。
本发明实施例的IP规划方法如图1所示,在通讯设备的组网中,为每个路由器配置不同网段的IP:为A路由分配192.192.1.XXX网段的IP,为B路由分配192.192.2.XXX网段的IP,为C路由分配192.192.3.XXX网段的IP。
邻接的两个路由器之间的通讯、路由转发,都由同一个网关实现,即两个路由器之间的所有平行接口在某一时刻都有相同的网关通向对方目的地址。
这样,当组网中的连接发生变更,如某个接口断开或新增接口时,根据IP层的路由协议重新计算路由后,调用驱动层接口对路由转发表进行更新操作。驱动层接口收到待处理的路由信息后,分别对动态主机路由和动态网络路由进行压缩处理。
需要说明的是,本发明只针对路由协议计算出的动态路由进行路由压缩。对于静态路由,包括本网元和其它网元洪泛过来的静态路由均不在本发明所指的压缩范畴。
本发明实施例的在规划配置的IP网络下缩小路由转发表的处理方法如图2所示,驱动层收到需要注入的动态路由信息后的处理流程包括以下步骤:
步骤101,首先通过转换子网掩码的长度,判断待加入路由是否为主机路由,如果是,则执行步骤102,否则,执行步骤103;
在判断所述待加入路由的类型时,判断其子网掩码转换为二进制数据后的长度是否为32位,如果是,即是主机路由。
步骤102,判断当前的路由转发表中是否存在到达同一网络的网络路由,如果存在同一网段的网络路由,说明此路由所标识的目的地址已经包含在路由转发表的下一跳信息里面,则丢弃此路由,结束;否则,执行步骤108;
该步骤中,以目的地址与子网掩码为关键字,从记录动态路由信息的结构中搜索是否存在与此待加入路由同网段的网络路由;
步骤103,如果转换后的子网掩码的长度小于32位,即为网络路由,则执行步骤104;
步骤104,通过搜索记录动态路由信息的结构,确定此动态路由库中,是否存在比待加入的网络路由更大的网段的网络路由,如果已经有更大的网段存在,说明此目的网络的路由已经存在,则将此路由丢弃,结束;否则,说明此网段的路由需要更新,则执行步骤105;
步骤105,进一步搜索此动态路由库中是否存在比待加入路由更小的网段的网络路由,如果存在,则执行步骤106,否则,执行步骤108;
步骤106,删除转发路由表中网段更小的所有网络路由,并执行下一步107;
步骤107,搜索路由转发表中是否已经存在待加入的网络路由,如果已经存在,则更新无意义,直接结束该流程;如果不存在,则执行步骤108;
步骤108,将此路由添加至进路由转发表中后,结束此主机路由压缩过程。
上述流程中,在判断网段的大小时,是根据子网掩码的长度大小进行判断,子网掩码的长度越短,则对应的网段越大。
下面结合若干应用示例对本发明的技术方案的实施作进一步详细介绍。
应用示例一:
主机路由加入到路由转发表的过程说明。需要加入路由转发表的路由信息如图3左侧所示。假设当前路由转发表中没有包含195.0.0.0/8(即IP地址为195.0.0.0,子网掩码为255.0.0.0)网段的任何路由。
A路由195.2.2.0/24(即IP地址为195.2.2.0,子网掩码为255.255.255.0)加入路由转发表前,判断当前路由转发表中没有比A路由网段更大的路由,也没有比A路由网段更小的路由,那么直接写入路由转发表。
B路由195.2.2.19/32(即IP地址为195.2.2.19,子网掩码为255.255.255.255)加入路由转发表前,检查到B路由为主机路由,首先搜索路由转发表中是否存在同网段的网络路由;结果发现存在A路由为与B路由同网段的网络路由。那么不写入路由转发表,退出。
此时,经过两次写路由后,得到路由转发表的路由条目如图3的右框所示。
应用示例二:
网络路由加入到路由转发表情况一的过程说明。需要加入路由转发表的路由信息如图4左侧所示。假设此时路由转发表为空。
A路由195.2.0.0/16(即IP地址为195.2.0.0,子网掩码为255.255.0.0)加入路由转发表前,判断当前路由转发表中没有比A路由网段更大的路由,也没有比A路由网段更小的路由,那么直接写入路由转发表。
随后,对B路由195.2.3.0/24做写入前的判断,首先检查是否存在比B路由网段更大的路由。查找发现先前加入的A路由比等加入的B路由网段更大。那么退出此次路由转发表的更新过程。
此时,经过两次写路由后,经过聚合过的路由转发表结果如图4的右框所示。
应用示例三:
网络路由加入到路由转发表情况三的过程说明。需要加入路由转发表的路由信息如图5左侧所示,假设此时路由转发表为空。
A路由195.2.2.0/24加入路由转发表前,判断当前路由转发表中没有比A路由网段更大的路由,也没有比A路由网段更小的路由,那么直接写入路由转发表。
随后,对B路由195.2.0.0/16做写入前的判断,首先检查是否存在比B路由网段更大的路由。遍历过后发现没有。第二步,检查是否存在比B路由网段小的路由存在,此时,发现已经加入的A路由网段是包含在待加入的B路由的网段中。所以接下来要做的操作是更新路由转发表:首先删除路由转发表中的A路由,然后把B路由加入到路由转发表。
经过两次写路由后,A、B在使用本发明的压缩方法进行压缩后,聚合成一条1条表示195.2.0.0/255.255.0.0网段的路由,如图5右框所示。
应用示例四:
网络路由加入到路由转发表情况四的过程说明。需要加入路由转发表的路由信息如图6上侧所示。假设此时路由转发表为空。
第一步:A路由195.2.2.0/24加入路由转发表前,判断当前路由转发表中没有比A路由网段更大的路由,也没有比A路由网段更小的路由,那么直接写入路由转发表。
第二步:B路由与A路由判断过程相同,判断过后亦加入路由转发表。
第三步:对C路由195.2.0.0/16做写入前的判断,首先检查是否存在比C路由网段更大的路由。遍历过后发现没有。第二步,检查是否存在比C路由网段小的路由存在,此时,发现已经加入的A路由网段是包含在待加入的B路由的网段中。所以接下来要做的操作是更新路由转发表:首先删除路由转发表中的A、B路由,然后把B路由加入到路由转发表。
经过三次写路由后,A、B、C在使用本发明的压缩方法进行压缩后,聚合成一条1条表示195.2.0.0/255.255.0.0网段的路由,如图6下框所示。
此种方法在传输设备中应用的最大优点是,两传输节点中的平行数据通道的路由可以聚合,达到路由表的最大压缩比。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。
Claims (7)
1.一种通信设备路由转发表的压缩方法,其特征在于,包括:
在通讯设备的组网中,为组网中各传输节点配置不同网段的IP,并选择邻接的两个传输节点间的多个主机路由接口中的其中一个作为同一网段的网络路由接口;
在对路由转发表进行更新时,判断待加入路由的类型是主机路由还是网络路由,如果是主机路由,则判断所述路由转发表中是否存在与该待加入主机路由同一网段的网络路由,如果存在,则丢弃该待加入主机路由,并用所述网络路由代替该待加入主机路由;否则,将该待加入主机路由加入到所述路由转发表中。
2.如权利要求1所述的方法,其特征在于,
所述方法通过子网掩码的长度判断所述待加入路由的类型,如果所述待加入路由的子网掩码转换为二进制数据后的长度为32位,则为主机路由;否则,为网络路由。
3.如权利要求1或2所述的方法,其特征在于,
所述方法在判断所述路由转发表中是否存在与该待加入主机路由同一网段的网络路由时,是以目的地址与子网掩码为关键字,从所述路由转发表中搜索是否存在与该待加入主机路由同一网段的网络路由。
4.如权利要求1所述的方法,其特征在于,
在对所述路由转发表进行更新时,如果判断出所述待加入路由为网络路由,则判断所述路由转发表中是否存在比该待加入网络路由网段更大的网络路由,如果存在,则丢弃该待加入网络路由;否则,再进一步判断所述路由转发表中是否存在比待加入网络路由网段更小的网络路由,并在不存在的情况下将所述待加入网络路由加入到所述路由转发表中。
5.如权利要求4所述的方法,其特征在于,
如果判断出所述路由转发表中存在比待加入网络路由网段更小的网络路由,则在删除系统中所有比待加入网络路由网段更小的网络路由的同时,判断所述路由转发表中是否已经存在所述待加入网络路由,如果不存在,则将所述待加入网络路由加入到所述路由转发表中。
6.如权利要求5所述的方法,其特征在于,
如果判断出所述路由转发表中已经存在所述待加入网络路由,则丢弃所述待加入网络路由。
7.如权利要求5或6所述的方法,其特征在于,
所述方法在判断网段的大小时,是根据子网掩码的长度大小进行判断,子网掩码的长度越短,则对应的网段越大。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101610333A CN101989946B (zh) | 2009-07-30 | 2009-07-30 | 一种通信设备路由转发表的压缩方法 |
PCT/CN2010/075553 WO2011012081A1 (zh) | 2009-07-30 | 2010-07-29 | 一种通信设备路由转发表的压缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101610333A CN101989946B (zh) | 2009-07-30 | 2009-07-30 | 一种通信设备路由转发表的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101989946A CN101989946A (zh) | 2011-03-23 |
CN101989946B true CN101989946B (zh) | 2012-07-18 |
Family
ID=43528783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101610333A Expired - Fee Related CN101989946B (zh) | 2009-07-30 | 2009-07-30 | 一种通信设备路由转发表的压缩方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101989946B (zh) |
WO (1) | WO2011012081A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9065677B2 (en) | 2012-07-25 | 2015-06-23 | Qualcomm Incorporated | Forwarding tables for hybrid communication networks |
CN105939265B (zh) * | 2015-08-13 | 2019-05-07 | 杭州迪普科技股份有限公司 | 路由处理方法和装置 |
CN112187636B (zh) * | 2020-09-22 | 2022-08-16 | 锐捷网络股份有限公司 | Ecmp路由的存储方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394038A (zh) * | 2001-06-26 | 2003-01-29 | 华为技术有限公司 | Ip网络节点发现方法 |
CN1402488A (zh) * | 2002-10-14 | 2003-03-12 | 北京港湾网络有限公司 | 一种路由表压缩方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110778A (zh) * | 2007-07-23 | 2008-01-23 | 中兴通讯股份有限公司 | 一种利用默认路由压缩路由转发表的方法 |
-
2009
- 2009-07-30 CN CN2009101610333A patent/CN101989946B/zh not_active Expired - Fee Related
-
2010
- 2010-07-29 WO PCT/CN2010/075553 patent/WO2011012081A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394038A (zh) * | 2001-06-26 | 2003-01-29 | 华为技术有限公司 | Ip网络节点发现方法 |
CN1402488A (zh) * | 2002-10-14 | 2003-03-12 | 北京港湾网络有限公司 | 一种路由表压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011012081A1 (zh) | 2011-02-03 |
CN101989946A (zh) | 2011-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10938748B2 (en) | Packet processing method, computing device, and packet processing apparatus | |
US10581700B2 (en) | Service flow processing method, apparatus, and device | |
KR101886291B1 (ko) | 흐름 엔트리 구성 방법, 장치, 및 시스템 | |
CN102938794B (zh) | 地址解析协议arp消息转发方法、交换机和控制器 | |
KR102059971B1 (ko) | 데이터 라우팅 방법 및 장치 | |
US8149840B2 (en) | Method, system and processor for processing network address translation service | |
CN101764751A (zh) | 无线用户终端跨vlan漫游报文转发的方法、系统及设备 | |
CN101119324A (zh) | 网络地址转换属性自适应方法及装置 | |
CN103259726A (zh) | 存储和发送mac地址表项的方法、设备及系统 | |
CN102857414A (zh) | 一种转发表写入、报文转发方法及装置 | |
CN107005834B (zh) | 数据处理的方法和设备 | |
CN102571613A (zh) | 一种转发报文的方法及网络设备 | |
CN103441932A (zh) | 一种主机路由表项生成方法及设备 | |
US12015548B2 (en) | Method and device for identification management and optimized forwarding in large-scale polymorphic network | |
CN105763385A (zh) | 流量调度方法及装置 | |
CN104378299A (zh) | 流表项处理方法以及装置 | |
CN102055641A (zh) | 一种虚拟局域网的分配方法以及相关装置 | |
CN109088957B (zh) | Nat规则管理的方法、装置和设备 | |
KR101754618B1 (ko) | 소프트웨어 정의 네트워크 기반의 가상 네트워크 동적 생성 방법 및 그 장치 | |
CN101471841A (zh) | 路由表维护方法及装置 | |
CN103931144A (zh) | 一种在虚拟域中通信的方法、设备和系统 | |
CN101710864B (zh) | 一种多网口Linux服务器的配置方法及装置 | |
CN103634214A (zh) | 一种路由信息生成方法及装置 | |
CN104836738A (zh) | 路由硬件表项资源管理方法、装置及网络设备 | |
CN101989946B (zh) | 一种通信设备路由转发表的压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180711 Address after: California, USA Patentee after: Global innovation polymerization LLC Address before: 518057 law department, Zhongxing communication building, Nanshan District science and Technology Industrial Park, Nanshan District high tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 |
|
CF01 | Termination of patent right due to non-payment of annual fee |