CN102857414B - 一种转发表写入、报文转发方法及装置 - Google Patents
一种转发表写入、报文转发方法及装置 Download PDFInfo
- Publication number
- CN102857414B CN102857414B CN201210296875.1A CN201210296875A CN102857414B CN 102857414 B CN102857414 B CN 102857414B CN 201210296875 A CN201210296875 A CN 201210296875A CN 102857414 B CN102857414 B CN 102857414B
- Authority
- CN
- China
- Prior art keywords
- information
- forwarding
- forwarding table
- message
- specify
- 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
Links
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/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种转发表写入、报文转发方法及装置,包括:在一个转发表中保存从各条出口封装信息中获取的不同的指定信息,并在每条转发表条目中写入路由前缀信息、出端口信息以及对应的指定信息在转发表中的地址或地址索引。从而在一个转发表中,实现多条转发表条目对相同的指定信息的共享,减少转发表容量的占用,在不增加转发表容量的情况下,提高报文转发设备的报文转发容量,在提高报文转发设备性能的同时节省硬件成本。且无需重复写入相同的指定信息,减少向转发表写入的数据数量,加快路由转发信息写入转发表的速度。
Description
技术领域
本发明涉及通信领域,尤其涉及一种转发表写入、报文转发方法及装置。
背景技术
报文转发效率是衡量报文转发设备,如路由设备和交换设备性能的一项关键指标。为了提高报文转发效率,路由设备和交换设备一般采用转发表来完成报文转发。若报文转发设备为分布式设备,则报文转发设备除包括主控板之外,还包括多块线卡板,在主控板上完成路由生成之后将路由转发信息同步到线卡板,通过线卡板上的转发表完成报文转发。若报文转发设备为集中式设备,则报文转发设备包括集成有主控板和线卡板功能的集成板,通过集成板上的转发表完成报文转发。
路由设备和交换设备将通过动态路由协议或静态配置生成的路由转发信息(包括路由前缀信息、出口封装信息和出端口信息)写入转发表,转发表中的每条转发表条目对应一条路由转发信息,每条转发表条目中均保存有路由前缀信息、出口封装信息和出端口信息。路由设备和交换设备在进行报文转发时,首先可以根据待转发报文的目的地址查询转发表中对应的转发表条目(即根据待转发报文的报文头中的路由前缀信息,匹配转发表中保存有相同路由前缀信息的转发表条目,并查询该转发表条目),然后根据查询到的出口封装信息修改待转发报文的报文头内容,最后根据查询到的出端口信息将报文头内容已修改的待转发报文转发出去,即报文转发过程包括查表、封装和转发三个步骤。
以三层报文转发为例,待转发报文进入交换设备(或路由设备)后,交换设备(或路由设备)进行报文解析,并可以根据待转发报文的虚拟专用网络标识号(VPNID,VirtualPrivate Network Identity)和目的地址(可以简称为Destip)查询转发表匹配最佳路径,并根据确定出的转发表条目中包含的出口封装信息修改待转发报文的报文头内容,如修改报文头中的标签、下一跳因特网协议(IP)地址、物理地址(MAC地址)等,然后可以根据查询到的出端口信息将报文头内容已修改的待转发报文转发出去。
在现有技术中,由于转发表空间有限,而在每条转发表条目中均保存有一条路由转发信息对应的路由前缀信息、出口封装信息和出端口信息,每条转发表条目占用空间较大,因此限制了转发表能够保存的路由转发信息的数量,导致报文转发设备的报文转发容量受到限制。
发明内容
本发明实施例提供一种转发表写入、报文转发方法及装置,用于提高报文转发设备的报文转发容量。
一种转发表写入方法,所述方法包括:
针对一条路由转发信息,报文转发设备从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息;
报文转发设备确定转发表中是否已存储有所述指定信息,所述转发表用于保存路由转发信息:
若是,则报文转发设备将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;
否则,报文转发设备将所述指定信息写入所述转发表,并将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
一种报文转发方法,所述方法包括:
报文转发设备接收待转发报文;
报文转发设备对所述待转发报文进行解析,获得该待转发报文中携带的路由前缀信息;
报文转发设备利用所述路由前缀信息作为键值,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引,所述指定信息为在报文转发过程中,用于修改报文头的信息;
报文转发设备利用所述地址或地址索引确定转发表中保存的指定信息,利用确定出的指定信息封装所述待转发报文;
报文转发设备根据所述出端口信息转发封装后的所述待转发报文。
一种转发表写入装置,所述装置包括:
信息提取单元,用于针对一条路由转发信息,从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息;
确定单元,用于确定转发表中是否已存储有所述指定信息,所述转发表用于保存路由转发信息;
写入单元,用于在确定单元确定出转发表中已存储有所述指定信息时,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;在确定单元确定出转发表中没有存储有所述指定信息时,将所述指定信息写入所述转发表,并将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
一种报文转发装置,所述装置包括:
接收单元,用于接收待转发报文;
解析单元,用于对所述待转发报文进行解析,获得该待转发报文中携带的路由前缀信息;
查询单元,用于利用所述路由前缀信息作为键值,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引,所述指定信息为在报文转发过程中,用于修改报文头的信息;
封装单元,用于利用所述地址或地址索引确定转发表中保存的指定信息,利用确定出的指定信息封装所述待转发报文;
转发单元,用于根据所述出端口信息转发封装后的所述待转发报文。
根据本发明实施例提供的方案,可以针对一条待写入转发表的路由转发信息,从出口封装信息中获取指定信息,确定转发表中是否已存储有该指定信息,如果已存储,则相对于现有技术,可以将该指定信息在转发表中的地址或地址索引替代出口封装信息写入该路由转发信息对应的转发表条目,如果没有存储,则可以将该指定信息写入转发表,并将该指定信息在转发表中的地址或地址索引替代出口封装信息写入该路由转发信息对应的转发表条目。通过本发明方案,可以使得相同的指定信息共用一个转发表地址,实现不同的转发表条目对相同的指定信息的共享,减少转发表容量的占用,在不增加转发表容量的情况下,提高报文转发设备的报文转发容量,从而在提高报文转发设备性能的同时节省硬件成本。且,无需重复写入相同的指定信息,减少向转发表写入的数据数量,加快路由转发信息写入转发表的速度。
附图说明
图1为现有技术提供的报文转发示意图;
图2为本发明实施例一提供的转发表写入方法的步骤流程图;
图3为本发明实施例二提供的转发表写入方法的步骤流程图;
图4为本发明实施例三提供的从出口封装信息获取指定信息的的步骤流程图;
图5为本发明实施例四提供的报文转发方法的步骤流程图;
图6为本发明实施例五提供的报文转发方法的步骤流程图;
图7为本发明实施例六提供的转发表写入装置的结构示意图;
图8为本发明实施例七提供的报文转发装置的结构示意图。
具体实施方式
在现有技术中,报文转发设备转发表的每条转发表条目中均需保存有路由前缀信息、出口封装信息和出端口信息,本案发明人通过分析发现,多条路由转发信息对应的出口封装信息中,用于修改报文头的信息在很多情况下是相同的,例如,如图1所示,从服务商边缘设备PE2通告到服务商边缘设备PE1上的两条路由2.2.2.2和3.3.3.3,它们的Destip不同,转发目的设备相同时,在两条路由转发信息中,出口封装信息中用于修改报文头的内层出标签(配置指定同VPN为同一标签)、外层出标签、下一跳IP地址、MAC地址完全相同。因此,可以对出口封装信息进行抽象整合获得用于修改报文头的信息,实现对用于修改报文头的信息的共享,减少对转发表空间的占用,提高报文转发设备的报文转发容量。同时,通过用于修改报文头的信息的共享还可以减少转发表写表次数,提高转发表写表速度。
下面结合说明书附图和各实施例对本发明方案进行说明。
实施例一、
本发明实施例一提供一种转发表写入方法,用于实现将路由转发信息写入转发表,以将一条路由转发信息写入转发表为例,该方法的步骤流程可以如图2所示,包括:
步骤101、从路由转发信息中提取指定信息。
本实施例中各步骤的执行主体为报文转发设备,可以理解为路由设备或交换设备。
在本步骤中,针对需要写入转发表的一条路由转发信息(路由转发信息中包括路由前缀信息、出口封装信息和出端口信息),报文转发设备从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息。
在本实施例中,路由转发信息可以是由报文转发设备通过动态路由协议或静态配置生成的。
具体的,报文转发设备可以按照报文转发遵循的协议类型,从路由转发信息包括的出口封装信息中获取指定信息。
所述指定信息可以但不限于包括私网标签、私网物理MAC地址、公网物理MAC地址和公网因特网协议IP地址中的至少一个。
步骤102、确定所述指定信息是否已存储。
报文转发设备可以确定用于保存路由转发信息的转发表中,是否已存储有所述指定信息。若确定已存储,则可以跳转执行步骤104,否则,可以继续执行步骤103。
步骤103、将所述指定信息写入转发表。
若确定所述指定信息未存储在转发表中,即在之前写入转发表的路由转发信息中,没有路由转发信息与本次需要写入的路由转发信息具有相同的指定信息时,在本步骤中,可以将本次需要写入的路由转发信息中的指定信息写入转发表。
在本实施例中,通过将指定信息单独写入转发表,相同的指定信息可以共用一个转发表地址,使得后续可以实现对相同的指定信息的共享。
步骤104、将路由转发信息写入转发表。
若确定所述指定信息已存储在转发表中,在本步骤中,可以将所述指定信息在所述转发表中的地址或地址索引、路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目,实现转发表对该路由转发信息的保存。
在本实施例中,通过将指定信息在转发表中的地址或地址索引写入转发表条目,实现转发表条目对相同的指定信息的共享,使得相同的指定信息在一个转发表中只需写入一次,无需重复写入,减少向转发表写入的数据数量,提高路由转发信息向转发表写入的速度,同时,相同的指定信息在一个转发表中无需重复存储,减少了转发表空间的占用,使得相同的转发表容量可以存储更多的路由转发信息,可以提高报文转发设备的报文转发容量。
较优的,在步骤103之后,所述方法还可以包括步骤104’(步骤104’可以在步骤104之前执行,也可以在步骤104之后执行):
步骤104’、存储指定信息与地址或地址索引的对应关系。
本步骤是一个优选步骤。为了使得后续可以方便地查找指定信息是否已在所述转发表中存储,在步骤103之后,报文转发设备可以在预先建立的对应关系表中增加对应关系表条目,将写入所述转发表的指定信息、该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目。
如果针对每条写入所述转发表的指定信息,利用步骤104’提供的方式存储指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系,则在步骤101中可以通过以下方式确定指定信息是否已存储:
报文转发设备利用指定信息为键值,查询所述对应关系表,确定该对应关系表中是否有对应关系表条目保存有该指定信息;
若确定所述对应关系表中有对应关系表条目保存有该指定信息,确定所述转发表中已存储有该指定信息,否则,确定所述转发表中没有存储该指定信息。
为了避免路由转发信息重复写入转发表,进一步的,在步骤103之后,步骤104之前还可以包括步骤103’(步骤103’和步骤104’的执行不分先后):
步骤103’、确定路由前缀信息是否已存储。
本步骤是一个优选步骤。在本步骤中,报文转发设备可以确定所述转发表中,是否已存储有本次需要写入的路由转发信息中包括的路由前缀信息。
在确定所述转发表中没有转发表条目保存有所述路由前缀信息(本次需要写入的路由转发信息中包括的路由前缀信息)时,继续执行步骤104,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目,否则,可以结束本流程,从而防止路由转发信息的重复存储。
需要说明的是,本实施例中,还可以针对每条写入转发表的指定信息,设定一个引用计数值,该引用计数值的初始值可以为0,在步骤104之后,可以将为该指定信息设定的引用计数值加1,使得该引用计数值可以用于表示包括该指定信息在所述转发表中的地址或地址索引的转发表条目的数量。从而可以在路由转发信息撤消后,可以通过引用计数值的变化,在包括该指定信息在所述转发表中的地址或地址索引的全部转发表条目均删除时,回收对应关系表条目占用的空间,减少系统资源的占用。
实施例一提供的方法可以适用于报文转发设备,如路由设备或交换设备。报文转发设备可以为分布式设备,也可以为集中式设备。下面以报文转发设备为分布式设备为例,对本发明实施例一的方案进行具体说明。
实施例二、
本发明实施例二提供一种转发表写入方法,该方法的步骤流程可以如图3所示,包括:
步骤201、主控板生成路由转发信息。
在本步骤中,主控板通过动态路由协议或者静态配置生成新的路由转发信息,并将路由转发信息(包括路由前缀信息、出口封装信息和出端口信息)同步到各个线卡板,当然,也可以将路由转发信息同步到该路由转发信息中的出端口信息表示的出端口所在的线卡板。
针对每个接收到路由转发信息的线卡板,均可以执行以下操作将路由转发信息写入转发表。下面以一个线卡板为例,对该线卡板将路由转发信息写入转发表的过程进行说明。
步骤202、提取指定信息。
在本步骤中,线卡板可以按照报文转发遵循的协议类型,从路由转发信息包括的出口封装信息中获取指定信息。
步骤203、确定指定信息是否已存储。
在本步骤中,线卡板可以以所述指定信息为关键字,查询对应关系表(可以是软件表),判断是否存在对应关系表条目保存有该指定信息,如果不存在则继续执行步骤204,否则,跳转执行步骤205。
步骤204、将指定信息写入转发表。
线卡板在确定所述指定信息尚未写入转发表时,将所述指定信息写入转发表。
在线卡板将所述指定信息写入转发表之后,可以为该指定信息设定引用计数值,该引用计数值的初始值为0。
将所述指定信息写入转发表之后,线卡板还可以在对应关系表中增加对应关系表条目,将所述指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目。
当然,在对应关系表中增加对应关系表条目,将所述指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目也可以是在将路由转发信息写入转发表之后执行的。
步骤205、确定路由前缀信息是否已存储。
在本步骤中,线卡板可以以路由转发信息包括的路由前缀信息为关键字,查询转发表,判断是否存在转发表条目保存有所述路由前缀信息,如果不存在,则继续执行步骤206,否则,可以结束本流程。从而在路由转发信息已经被其他线卡板写入转发表时,不再向转发表写入该路由转发信息,避免路由转发信息的重复写入。
步骤206、将路由转发信息写入转发表。
在本步骤中,线卡板可以将所述指定信息在所述转发表中的地址或地址索引、所述路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目,实现转发表对该路由转发信息的保存。
较优的,将路由转发信息写入转发表之后,还可以将为所述指定信息设定的引用计数值加1,使得该引用计数值可以用于表示包括该指定信息在所述转发表中的地址或地址索引的转发表条目的数量。
进一步的,如果为所述指定信息设定了引用计数值,则在本实施例中,还可以在所述路由转发信息撤销时,将所述引用计数值减1,在所述引用计数值为0时,删除保存有所述指定信息的对应关系表条目。从而可以通过引用计数值的变化,确定包含该指定信息在所述转发表中的地址或地址索引的全部转发表条目是否删除,在包含该指定信息在所述转发表中的地址或地址索引的全部转发表条目均删除时,回收对应关系表中对应关系表条目占用的空间,减少对系统资源的占用。
即,所述方法还可以进一步包括步骤207:
步骤207、更新引用计数值。
在本步骤中,报文转发设备可以在所述路由转发信息撤销时,将为所述指定信息设定的引用计数值减1,并在所述引用计数值为0时,删除对应关系表中保存有所述指定信息的对应关系表条目。
如果实施例二中报文转发设备为集中式设备,则实施例二中各步骤的执行主体可以理解为集成板。
下面对本发明实施例一中涉及的从出口封装信息获取指定信息的方法进行说明。
实施例三、
本发明实施例三提供的方法的步骤流程可以如图4所示,包括:
步骤301、生成路由转发信息。
在本步骤中,报文转发设备可以通过动态路由协议或者静态配置生成新的路由转发信息,路由转发信息可以包括路由前缀信息、出口封装信息和出端口信息。
具体的,如果通过等价多路径(ECMP,Equal-cost Multi-path)或快速重路由(FRR,Fast ReRoute)获得多条路径,需要针对每条路径生成一条路由转发信息。
步骤302、确定报文转发遵循的协议类型。
假设在本实施例中,报文转发设备报文转发遵循三层路由协议,因此,可以确定需要从出口封装信息中获取以下指定信息:私网标签、私网物理(MAC)地址、公网物理MAC地址和公网因特网协议(IP)地址。
当然,还可以结合实际转发需要确定从出口封装信息中获取的指定信息,如,可以确定需要从出口封装信息中获取以下指定信息:私网物理(MAC)地址和公网因特网协议(IP)地址,不需要获取私网VPN标签和公网标签。
步骤303、获取指定信息。
在本步骤中,针对一条路由转发信息,可以按层次从出口封装信息中获取指定信息,如按照从报文封装的内层到外层,和/或从报文封装的三层到二层的顺序,获得指定信息。
通过将出口封装信息抽象整合为指定信息,即使针对不同的出口封装信息,也可能得到相同的指定信息,并可以实现相同指定信息的共享,比如针对通过地址解析协议(ARP,Address Resolution Protocol)、IP ECMP、IP FRR获得的出口封装信息,经过抽象整合后可以得到相同的下一跳IP地址和MAC地址。同理,针对出口封装信息中的L3VPN外层LDP、L3VPN外层LDPECMP/FRR/TE/TE FRR、L3VPN FRR外层LDP/LDP FRR/LDP ECMP/TE/TEFRR,经过抽象整合后可能得到相同的私网VPN标签、私网MAC地址、公网标签、下一跳IP地址和公网MAC地址。
需要说明的是,若报文转发设备为分布式设备,则步骤303可以由主控板执行,也可以由线卡板执行。
在本发明实施例一~实施例三提供的方案的基础上,本发明实施例四提供一种报文转发方法。
实施例四、
本发明实施例四提供一种报文转发方法,该方法的步骤流程可以如图5所示,包括:
步骤401、接收待转发报文。
步骤402、解析待转发报文。
报文转发设备可以进行报文解析,提取报文中的路由前缀信息。
步骤403、确定出端口信息,以及指定信息在转发表中的地址或地址索引。
在本步骤中,报文转发设备可以将路由前缀信息作为关键字,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引。
步骤404、封装待转发报文。
在本步骤中,报文转发设备可以利用所述地址或地址索引确定转发表中保存的指定信息,并利用确定出的出口封装信息封装所述待转发报文。
步骤405、转发报文。
在本步骤中,报文转发设备可以根据所述出端口信息转发封装后的所述待转发报文。
下面以报文转发设备为分布式设备,实现三层报文转发为例,对本发明实施例四的方案进行具体说明。
实施例五、
本发明实施例五提供一种报文转发方法,该方法的步骤流程可以如图6所示,包括:
步骤501、接收待转发报文。
本步骤包括,第一线卡板接收三层报文。
步骤502、解析待转发报文。
本步骤包括,第一线卡板进行报文解析,提取三层报文中的路由前缀信息。
步骤503、确定出端口信息,以及指定信息在转发表中的地址或地址索引。
在本步骤中,第一线卡板可以根据路由前缀信息查询转发表,获取出端口信息、以及指定信息对应在转发表中的地址或地址索引。
步骤504、发送待转发报文。
在本步骤中,第一线卡板可以根据出端口信息确定出端口,将待转发报文,以及指定信息对应在转发表中的地址或地址索引发送到出端口所在的第二线卡板。
具体的,第一线卡板可以将待转发报文,以及指定信息对应在转发表中的地址或地址索引发送到主控板,然后由主控板将待转发报文,以及指定信息对应在转发表中的地址或地址索引发送到出端口所在的第二线卡板。
步骤505、封装待转发报文。
在本步骤中,第二线卡板可以利用根据所述地址或地址索引确定出的指定信息封装所述待转发报文,即可以理解为第二线卡板根据指定信息修改报文头中的IP地址、MAC地址、公网标签、私网标签等信息。
当然,封装待转发报文可以也可以是在第一线卡板上实现的。并可以在封装完成后,将封装后的待转发报文发送至第二线卡板。即在步骤503之后,第一线卡板可以可以执行步骤505,封装待转发报文,然后执行步骤504,将封装后的待转发报文转发到第二线卡板,且第二可以继续执行步骤506。
步骤506、转发报文。
在本步骤中,第二线卡板可以根据所述出端口信息转发封装后的所述待转发报文。
与本发明实施例一~实施例五基于同一发明构思,提供以下的装置。
实施例六、
本发明实施例六提供一种转发表写入装置,该装置可以集成于路由设备或交换设备,该装置的结构可以如图7所示,包括:
信息提取单元11用于针对一条路由转发信息,从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息;确定单元12用于确定转发表中是否已存储有所述指定信息,所述转发表用于保存路由转发信息;写入单元13用于在确定单元确定出转发表中已存储有所述指定信息时,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;在确定单元确定出转发表中没有存储有所述指定信息时,将所述指定信息写入所述转发表,并将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
所述信息提取单元11具体用于按照报文转发遵循的协议类型,从该路由转发信息包括的出口封装信息中获取指定信息。
所述装置还包括对应关系建立单元14:
对应关系建立单元14用于写入单元将所述指定信息写入所述转发表之后,在预先建立的对应关系表中增加对应关系表条目,将所述指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目。
所述确定单元12具体用于利用所述指定信息为键值,查询对应关系表,确定所述对应关系表中是否有对应关系表条目保存有所述指定信息;若确定所述对应关系表中有对应关系表条目保存有所述指定信息,确定转发表中已存储有所述指定信息,否则,确定转发表中没有存储所述指定信息。
所述装置还包括计数单元15:
计数单元15用于写入单元将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之后,将为该指定信息设定的引用计数值加1,该引用计数值用于表示包括该指定信息在所述转发表中的地址或地址索引的转发表条目的数量,且该引用计数值的初始值为0。
所述计数单元15还用于在所述路由转发信息撤销时,将为所述指定信息设定的引用计数值减1,并在所述引用计数值为0时,删除对应关系表中保存有所述指定信息的对应关系表条目。
所述写入单元13具体用于将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之前,利用所述路由前缀信息为键值,查询所述转发表,确定所述转发表中是否有转发表条目保存有所述路由前缀信息;并在确定所述转发表中没有转发表条目保存有所述路由前缀信息时,将述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的所路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
实施例七、
本发明实施例七提供一种报文转发装置,该装置可以集成于路由设备或交换设备,该装置的结构可以如图8所示,包括:
接收单元21用于接收待转发报文;解析单元22用于对所述待转发报文进行解析,获得该待转发报文中携带的路由前缀信息;查询单元23用于利用所述路由前缀信息作为键值,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引,所述指定信息为在报文转发过程中,用于修改报文头的信息;封装单元24用于利用所述地址或地址索引确定转发表中保存的指定信息,利用确定出的指定信息封装所述待转发报文;转发单元25用于根据所述出端口信息转发封装后的所述待转发报文。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种转发表写入方法,其特征在于,所述方法包括:
针对一条路由转发信息,报文转发设备从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息;
报文转发设备确定转发表中是否已存储有所述指定信息,所述转发表用于保存路由转发信息:
若是,则报文转发设备将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;
否则,报文转发设备将所述指定信息写入所述转发表,并将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;
报文转发设备将所述指定信息写入所述转发表之后,所述方法还包括:报文转发设备在预先建立的对应关系表中增加对应关系表条目,将所述指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目。
2.如权利要求1所述的方法,其特征在于,报文转发设备从该路由转发信息包括的出口封装信息中获取指定信息,具体包括:
报文转发设备按照报文转发遵循的协议类型,从该路由转发信息包括的出口封装信息中获取指定信息。
3.如权利要求1所述的方法,其特征在于,所述指定信息包括私网标签、私网物理MAC地址、公网物理MAC地址和公网因特网协议IP地址中的至少一个。
4.如权利要求1~3任一所述的方法,其特征在于,报文转发设备确定转发表中是否已存储有所述指定信息,具体包括:
报文转发设备利用所述指定信息为键值,查询对应关系表,确定所述对应关系表中是否有对应关系表条目保存有所述指定信息;
若确定所述对应关系表中有对应关系表条目保存有所述指定信息,确定转发表中已存储有所述指定信息,否则,确定转发表中没有存储所述指定信息。
5.如权利要求1~3任一所述的方法,其特征在于,报文转发设备将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之后,所述方法还包括:报文转发设备将为该指定信息设定的引用计数值加1,该引用计数值用于表示包括该指定信息在所述转发表中的地址或地址索引的转发表条目的数量,且该引用计数值的初始值为0。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
报文转发设备在所述路由转发信息撤销时,将为所述指定信息设定的引用计数值减1,并在所述引用计数值为0时,删除对应关系表中保存有所述指定信息的对应关系表条目。
7.如权利要求1~3任一所述的方法,其特征在于,报文转发设备将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之前,所述方法还包括:报文转发设备利用所述路由前缀信息为键值,查询所述转发表,确定所述转发表中是否有转发表条目保存有所述路由前缀信息;
报文转发设备将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目,具体包括:报文转发设备在确定所述转发表中没有转发表条目保存有所述路由前缀信息时,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
8.一种根据如权利要求1~7任一所述的转发表写入方法得到的转发表进行报文转发的方法,其特征在于,所述方法包括:
报文转发设备接收待转发报文;
报文转发设备对所述待转发报文进行解析,获得该待转发报文中携带的路由前缀信息;
报文转发设备利用所述路由前缀信息作为键值,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引,所述指定信息为在报文转发过程中,用于修改报文头的信息;
报文转发设备利用所述地址或地址索引确定转发表中保存的指定信息,利用确定出的指定信息封装所述待转发报文;
报文转发设备根据所述出端口信息转发封装后的所述待转发报文。
9.一种转发表写入装置,其特征在于,所述装置包括:
信息提取单元,用于针对一条路由转发信息,从该路由转发信息包括的出口封装信息中获取指定信息,所述指定信息为在报文转发过程中,用于修改报文头的信息;
确定单元,用于确定转发表中是否已存储有所述指定信息,所述转发表用于保存路由转发信息;
写入单元,用于在确定单元确定出转发表中已存储有所述指定信息时,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;在确定单元确定出转发表中没有存储有所述指定信息时,将所述指定信息写入所述转发表,并将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目;
所述装置还包括:对应关系建立单元,用于写入单元将所述指定信息写入所述转发表之后,在预先建立的对应关系表中增加对应关系表条目,将所述指定信息与该指定信息在所述转发表中的地址或地址索引的对应关系写入该对应关系表条目。
10.如权利要求9所述的装置,其特征在于,所述信息提取单元,具体用于按照报文转发遵循的协议类型,从该路由转发信息包括的出口封装信息中获取指定信息。
11.如权利要求9或10所述的装置,其特征在于,所述确定单元,具体用于利用所述指定信息为键值,查询对应关系表,确定所述对应关系表中是否有对应关系表条目保存有所述指定信息;若确定所述对应关系表中有对应关系表条目保存有所述指定信息,确定转发表中已存储有所述指定信息,否则,确定转发表中没有存储所述指定信息。
12.如权利要求9或10所述的装置,其特征在于,所述装置还包括:
计数单元,用于写入单元将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之后,将为该指定信息设定的引用计数值加1,该引用计数值用于表示包括该指定信息在所述转发表中的地址或地址索引的转发表条目的数量,且该引用计数值的初始值为0。
13.如权利要求12所述的装置,其特征在于,所述计数单元,还用于在所述路由转发信息撤销时,将为所述指定信息设定的引用计数值减1,并在所述引用计数值为0时,删除对应关系表中保存有所述指定信息的对应关系表条目。
14.如权利要求9或10所述的装置,其特征在于,所述写入单元,具体用于将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目之前,利用所述路由前缀信息为键值,查询所述转发表,确定所述转发表中是否有转发表条目保存有所述路由前缀信息;并在确定所述转发表中没有转发表条目保存有所述路由前缀信息时,将所述指定信息在所述转发表中的地址或地址索引、该路由转发信息中包括的路由前缀信息以及出端口信息写入所述转发表的一条转发表条目。
15.一种根据如权利要求1~7任一所述的转发表写入方法得到的转发表进行报文转发的装置,其特征在于,所述装置包括:
接收单元,用于接收待转发报文;
解析单元,用于对所述待转发报文进行解析,获得该待转发报文中携带的路由前缀信息;
查询单元,用于利用所述路由前缀信息作为键值,查询转发表,确定该路由前缀信息所在转发表条目中存储的出端口信息以及指定信息在所述转发表中的地址或地址索引,所述指定信息为在报文转发过程中,用于修改报文头的信息;
封装单元,用于利用所述地址或地址索引确定转发表中保存的指定信息,利用确定出的指定信息封装所述待转发报文;
转发单元,用于根据所述出端口信息转发封装后的所述待转发报文。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210296875.1A CN102857414B (zh) | 2012-08-20 | 2012-08-20 | 一种转发表写入、报文转发方法及装置 |
PCT/CN2013/081231 WO2014029278A1 (zh) | 2012-08-20 | 2013-08-09 | 一种转发表写入、报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210296875.1A CN102857414B (zh) | 2012-08-20 | 2012-08-20 | 一种转发表写入、报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102857414A CN102857414A (zh) | 2013-01-02 |
CN102857414B true CN102857414B (zh) | 2018-05-04 |
Family
ID=47403618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210296875.1A Active CN102857414B (zh) | 2012-08-20 | 2012-08-20 | 一种转发表写入、报文转发方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102857414B (zh) |
WO (1) | WO2014029278A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857414B (zh) * | 2012-08-20 | 2018-05-04 | 中兴通讯股份有限公司 | 一种转发表写入、报文转发方法及装置 |
CN104301225B (zh) * | 2013-07-17 | 2017-12-29 | 华为技术有限公司 | 一种流转发方法和通信设备 |
CN105791107A (zh) * | 2014-12-22 | 2016-07-20 | 中兴通讯股份有限公司 | 一种acl规则的配置方法、匹配方法及相关装置 |
CN106982163B (zh) * | 2016-01-18 | 2020-12-04 | 华为技术有限公司 | 按需获取路由的方法及网关 |
CN107547409B (zh) * | 2016-06-24 | 2020-12-25 | 华为技术有限公司 | 一种路由查找方法、装置和路由设备 |
CN106357446B (zh) * | 2016-09-20 | 2019-07-09 | 杭州迪普科技股份有限公司 | 一种流量转发路径的获取方法及装置 |
CN108259346B (zh) | 2017-01-25 | 2020-08-04 | 新华三技术有限公司 | 一种等价路由表项建立方法和装置 |
CN107086960B (zh) * | 2017-02-28 | 2020-06-09 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN111026324B (zh) * | 2018-10-09 | 2021-11-19 | 华为技术有限公司 | 转发表项的更新方法及装置 |
CN110233801B (zh) * | 2019-05-31 | 2021-08-17 | 北京星网锐捷网络技术有限公司 | 路由更新方法及装置 |
CN110661713B (zh) * | 2019-10-22 | 2021-09-21 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN115604186A (zh) * | 2021-07-09 | 2023-01-13 | 华为技术有限公司(Cn) | 路由方法及相关设备 |
CN114090313B (zh) * | 2021-10-31 | 2024-04-12 | 新华三技术有限公司合肥分公司 | 一种转发表生成方法及装置 |
CN114338528B (zh) * | 2021-12-23 | 2023-06-16 | 锐捷网络股份有限公司 | 一种表项的查询方法及装置 |
CN115065632B (zh) * | 2022-03-31 | 2023-11-17 | 重庆金美通信有限责任公司 | 一种轻量化的树形网络数据转发方法 |
CN115334035B (zh) * | 2022-07-15 | 2023-10-10 | 天翼云科技有限公司 | 一种报文转发方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921453A (zh) * | 2006-09-25 | 2007-02-28 | 杭州华为三康技术有限公司 | Mpls有序方式下lsp中间节点标签分配方法及装置 |
CN101197787B (zh) * | 2008-01-03 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种报文信息学习方法和装置 |
US7822033B1 (en) * | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
CN101577676B (zh) * | 2009-06-10 | 2011-12-07 | 杭州华三通信技术有限公司 | 一种实现粘性访问的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857414B (zh) * | 2012-08-20 | 2018-05-04 | 中兴通讯股份有限公司 | 一种转发表写入、报文转发方法及装置 |
-
2012
- 2012-08-20 CN CN201210296875.1A patent/CN102857414B/zh active Active
-
2013
- 2013-08-09 WO PCT/CN2013/081231 patent/WO2014029278A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822033B1 (en) * | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
CN1921453A (zh) * | 2006-09-25 | 2007-02-28 | 杭州华为三康技术有限公司 | Mpls有序方式下lsp中间节点标签分配方法及装置 |
CN101197787B (zh) * | 2008-01-03 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种报文信息学习方法和装置 |
CN101577676B (zh) * | 2009-06-10 | 2011-12-07 | 杭州华三通信技术有限公司 | 一种实现粘性访问的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014029278A1 (zh) | 2014-02-27 |
CN102857414A (zh) | 2013-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857414B (zh) | 一种转发表写入、报文转发方法及装置 | |
CN104468358B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
CN104954218B (zh) | 分布式虚拟交换装置及转发方法 | |
CN103023827B (zh) | 一种虚拟化数据中心的数据转发方法及其实现设备 | |
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN111193653B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN100596107C (zh) | 报文转发方法以及自治系统边界路由器 | |
CN106878138B (zh) | 一种报文传输方法和装置 | |
CN101155130B (zh) | 学习mac地址的方法及传送vpls客户数据的系统及设备 | |
CN104184664B (zh) | 路由转发表项生成方法及装置 | |
US9237124B2 (en) | Scaling of virtual machine addresses in datacenters | |
CN106254256B (zh) | 基于三层vxlan网关的数据报文转发方法和设备 | |
CN106685826B (zh) | 交换机堆叠系统、从设备、交换芯片及处理协议报文方法 | |
CN103401773B (zh) | 一种实现板间通信的方法及网络设备 | |
CN106603550B (zh) | 一种网络隔离方法及装置 | |
CN105634942B (zh) | 转发报文的方法和交换机 | |
CN106416147A (zh) | 一种用于软件定义协议网络节点的系统和方法 | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
CN107733799A (zh) | 一种报文传输方法和装置 | |
CN107579900A (zh) | 从vlan网络接入vxlan网络的方法、装置及系统 | |
CN108600074A (zh) | 组播数据报文的转发方法及装置 | |
CN103746914B (zh) | 建立私网标签与原始vrf对应关系的方法、装置及系统 | |
CN107645433A (zh) | 报文转发方法及装置 | |
CN113301667A (zh) | 一种报文转发方法及装置 | |
CN107733765B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |