CN117938783B - 一种交换芯片的分区路由共享方法和装置 - Google Patents
一种交换芯片的分区路由共享方法和装置 Download PDFInfo
- Publication number
- CN117938783B CN117938783B CN202311716085.9A CN202311716085A CN117938783B CN 117938783 B CN117938783 B CN 117938783B CN 202311716085 A CN202311716085 A CN 202311716085A CN 117938783 B CN117938783 B CN 117938783B
- Authority
- CN
- China
- Prior art keywords
- partition
- route
- port
- routing
- routing table
- 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
- 238000005192 partition Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000000977 initiatory effect Effects 0.000 claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 10
- 239000000872 buffer Substances 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 24
- 208000027744 congestion Diseases 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种交换芯片的分区路由共享方法和装置,将交换芯片所有端口划分为多个分区,每个分区中设置共享路由表,在每个端口内部设置本地路由缓存;当入口端口接收到入口报文,获取报文内目的设备ID后,向本地路由缓存中发起预路由请求,如果缓存命中,将对应的出口端口直接返回给入口端口,如果未命中,向分区内共享路由表发起读路由表请求;在读分区共享路由请求仲裁胜利后,开始路由查表,查表命中时,将目的节点设备ID对应的出口端口返回给入口端口;入口端口对分区路由表应答校验通过后,更新本地路由缓存。本发明在降低硬件资源消耗的基础上,保证路由寻址效率,降低报文传输延时,保证交换芯片传输带宽。
Description
技术领域
本发明属于交换网络路由领域,特别涉及一种交换芯片的分区路由共享方法和装置。
背景技术
交换芯片是交换网络中核心硬件组件,用于处理网络流量、实现网络中数据的快速交换和转发功能。高传输带宽、低传输延时是交换芯片重要的性能指标。交换芯片的重要硬件模块之一是路由表RT(Routing Table),该路由表包含网络的拓扑结构和指向特定网络目的节点设备的路径信息。路由表的实现方案对交换芯片出口端口确定和报文快速转发至关重要。交换芯片中的路由表通常采用内容寻址存储器CAM(Content AddressableMemory)或随机存储器RAM(Random Access Memory)实现,用于存储报文目的节点设备ID和交换芯片出口端口的对应关系。
随着交换网络的快速发展,网络中交换节点越来越多,包含网络拓扑中路由信息的路由表项越来越多,硬件资源消耗也越来越大。同时,交换芯片端口数量日益增大,芯片规模也越来越大。受限于制造工艺和制造成本,高性能交换芯片在实现高带宽的基础上,对硬件资源消耗要求也非常严苛。如何在平衡资源消耗和路由效率的基础上,实现高效的路由表查询是影响交换芯片传输带宽、传输延时的重要因素之一。
在现有技术的一种典型设计中,如图1所示,交换芯片所有端口(PORT)全局共享唯一路由表。该方案存在读路由性能不足、物理实现时序(Timing)收敛、拥塞(Congestion)风险较高等不足。具体地,在全局共享方案中,多个端口入口报文需要读路由表时,大量端口排队等待读路由表,最终造成报文传输延时增大、传输带宽下降。路由表放置在芯片中心位置,离入口端口物理距离较远,入口端口发起读路由表请求、路由表应答路径传输延时大,物理实现时序收敛风险大。入口端口到位于芯片中心的路由表需物理实现大量信号走线,存在物理实现的绕线拥塞风险。
在现有技术的另一种典型设计中,如图2所示,交换芯片各入口端口分别独享一张路由表。该方案存在硬件资源消耗大,路由表长时间空闲,未充分利用的缺点。具体地,在独享路由方案中,大规模的交换网络中,路由表项、端口数较大,独享方案资源消耗巨大,存在物理不可实现风险、制造成本升高。通常路由表在网络拓扑发现的过程中完成配置。路由表个数多,软件配置时间长,CPU负载大。对于链路传输、大数据包传输交换网络中,入口端口并不需要每周期持续读路由表,独享路由方案的路由表长时间空闲,并未被充分利用。
发明内容
本发明的目的在于提供一种交换芯片的分区路由共享方法和装置,旨在克服路由寻址性能不足和物理拥塞风险较高的问题。
根据本发明的第一方面,提供了一种交换芯片的分区路由共享方法,包括:
将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存;
当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将所述入口报文的目的节点设备ID对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求;
对分区内各端口的读路由表请求进行仲裁,仲裁胜利的读路由表请求发起读路由表操作,在所述共享路由表命中时,将所述目的节点设备ID对应的出口端口返回给对应的入口端口,通过所述入口端口对所述分区路由表进行应答校验,校验通过后更新所述入口端口内的本地路由缓存。
优选地,所述将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,进一步包括:
根据各个端口之间的物理位置关系将端口划分为多个分区,将相邻端口放置在同一分区内,
根据分区内各个端口到所述共享路由表的物理实现距离,确定所述共享路由表的位置。
优选地,所述向所述入口端口所在分区的共享路由表发起读路由表请求,进一步包括:
判断本地已发出并且未应答的Outstanding队列是否具有剩余空间,如果具有剩余空间,则向所述共享路由表发起所述读路由表请求,否则等待。
优选地,所述对读路由表请求进行仲裁,进一步包括:
判断所述入口端口是否具有绝对优先级,所述绝对优先级表征该端口读路由表的仲裁优先级高于其他入口端口;如果不具有绝对优先级,则对入口端口逐个轮询完成查表操作。
优选地,所述本地路由缓存包括第一路由缓存和第二路由缓存,所述第一路由缓存由软件配置,第二路由缓存由硬件自动获取和更新,并且所述更新所述入口端口内的本地路由缓存,进一步包括:
接收所述共享路由表的返回目的节点设备ID对应的出口端口,判断所述目的节点设备ID在所述第二路由缓存中是否已存在,
如果已存在则不进行处理;如果不存在,则将所述第二路由缓存中最早记录的一组目的节点设备ID和出口端口的对应关系删除,并将所述本次目的节点设备ID和出口端口的对应关系记录在第二路由缓存中。
根据本发明的第二方面,提供了一种交换芯片的分区路由共享装置,包括:
分区模块,用于将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存;
路由请求模块,用于当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求;
仲裁模块,用于对所述分区内各端口的读路由请求进行读分区共享路由的仲裁,确定读路由表顺序;
更新模块,在所述目的节点设备ID对应的出口端口返回给所述入口端口时,通过所述入口端口对所述分区路由表进行应答校验后,更新所述入口端口内的本地路由缓存。
相比于现有技术,本发明的技术方案具备以下优点:
本发明在硬件资源消耗可接受的前提下,可以提高路由表查询效率,提高报文传输速率,降低报文在交换芯片传输延时。相较于全局共享路由表方案,提高了路由性能,降低了端口到路由表的路径延时,物理实现友好,降低了拥塞风险。相较于端口独享路由表方案,在保证路由效率的基础上,节省硬件资源消耗,降低芯片制造成本。通过基于Outstanding机制的路由寻址方案,高效流水地、无等待地完成路由表查询。在报文目的节点设备ID重复出现、系统关注特定关键目的节点设备传输性能的场景下,实现快速路由查询,保证传输效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可以通过在说明书、权利要求书以及附图中所指出的结构和流程来实现和获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的是,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是根据现有技术的全局共享路由表实现示意图。
图2是根据现有技术的独享路由表实现示意图。
图3是根据本发明的支持本地路由缓存的分区共享路由表实现示意图。
图4是根据本发明的交换芯片的分区路由共享的总体流程图。
图5是根据本发明的路由分区内的实现示意图。
图6是根据本发明的分区共享路由寻址流程图。
图7是根据本发明的本地路由缓存实现示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
针对现有全局共享路由表的路由寻址性能不足、物理拥塞风险大,独享路由表的硬件消耗大、路由表无法充分利用的不足,本发明提出一种交换芯片的分区路由共享方法和装置,采用寄存器实现的端口内本地路由缓存方案和分区共享路由表,实现重复报文目的节点设备或特定关键节点的快速路由寻址。在平衡路由寻址效率和硬件资源消耗的基础上,有效保证路由寻址和传输效率,进而降低传输延时,保证交换芯片传输带宽。
本发明的支持本地路由缓存的分区共享路由实现架构如图3所示。将交换芯片中所有端口按预设规则分区,在分区内共享一组路由表。交换芯片中所有端口内部设置本地路由缓存,本地路由缓存包括第一路由缓存和第二路由缓存,在图5中示出为本地路由缓存1和本地路由缓存2。在本地路由缓存1中由软件设定,存储特定目的节点设备ID与交换芯片出口端口的对应关系。在本地路由缓存2中,由硬件自动获取并记录最近目的节点设备ID与交换芯片出口端口的对应关系。
参见图4的流程图,本发明提供的所述交换芯片的分区路由共享方法包括:
步骤101:将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存。
具体实施方案如图5所示。交换芯片中全部端口划分成多个路由分区。一个路由分区中放置一组包含网络拓扑中目的地设备在交换芯片中对应出口端口信息的路由表。路由分区内多个端口在接收到入口报文获取到目的节点设备ID时,发起读路由请求。路由表读仲裁模块接收各个入口端口寻址请求,仲裁后开始依次读取分区内的共享路由表。路由出口端口信息确定后,返回到对应的路由请求入口端口。
其中所述路由分区根据各个端口物理位置关系来确定,邻近端口划分到同一路由分区。所述分区共享路由表放置在分区内的端口附近,从而减小端口到共享路由表的物理实现距离,降低查表路径延时。
分区内的端口数量可以基于以下策略来确定:
1)在物理实现、芯片大小和制造成本可接受的基础上,分区内的端口数应尽量少,以降低各入口端口读路由等待时间;
2)分区内端口数不超过典型报文持续系统时钟周期数,所述典型报文持续周期数反映了各端口多少系统时钟周期需要进行一次路由查表。
在优选的实施例中,交换芯片中所有的分区路由表使用同一硬件逻辑实现,并挂载到系统总线同一地址空间。在路由表配置时,一次完成所有路由表配置,简化软件配置复杂度。
通常,路由表采用CAM/RAM实现,在高工作频率的高速交换网络中,往往当前读周期无法完成CAM/RAM实现的路由表查表。对于交换芯片入口报文对应的目的节点设备重复出现的场景,如数据消息受限于单个报文最大可承载的数据量MTU(Maximum TransferUnit)而被拆分成多个报文发送,或交换芯片直连终点设备等。并且在一些特殊应用场景中,某些关键目的节点设备传输优先级高于其他节点设备。针对上述问题,在本发明设计了一种寄存器实现的端口内本地路由缓存方案,可以快速确定报文的出口端口。
步骤102:当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求。
参见图6的流程图,路由分区内多个端口在接收到入口报文时,获取入口报文中目的节点设备ID,发起预路由请求。该节点ID是网络设备在网络拓扑中唯一的标识号,用于交换芯片报文传输的寻路以及确定出口端口。
所述预路由请求使用本地路由缓存1和本地路由缓存2,进行目的节点设备ID匹配。匹配命中则出口端口确认完成,流程结束。如果匹配未命中,则继续进行后续步骤。
在可选的实施例中,向所述入口端口所在分区的共享路由表发起路由请求之前,还包括,判断本地已发出并且未应答的Outstanding队列是否具有剩余空间,如果具有剩余空间,则发起Outstanding读路由表请求;否则等待。
其中,采用Outstanding机制发起读路由请求,可以在上一读路由请求应答前,继续发起下次读路由请求,最大限度保证读路由流水实现,提高路由寻址效率。Outstanding队列用于记录所有发出并且未应答的路由请求的目的节点设备ID,路由请求应答后清除对应的队列项。当Outstanding队列无剩余空间时,不再发起读路由请求;直到Outstanding队列有新增空间时,可再次发起读路由请求。在优选的实施例中,Outstanding队列深度可以根据需要设置。
步骤103:对分区内各端口的读路由表请求进行仲裁,仲裁胜利的读路由表请求发起读路由表操作,在所述共享路由表命中时,将所述目的节点设备ID对应的出口端口返回给对应的入口端口,通过所述入口端口对所述分区路由表进行应答校验,校验通过后更新所述入口端口内的本地路由缓存。
分区路由控制模块接收来自分区内各个端口的读路由表请求后,进行读路由仲裁。仲裁胜利的请求执行读路由表的操作,否则等待下次仲裁。
在一个实施例中,路由表读仲裁采用基于绝对优先级的轮询仲裁。根据使用需要,对分区内某一个或多个端口设置仲裁绝对优先级,即该端口查表优先级高于其他端口。未使能某一个或多个端口查路由绝对优先级时,对分区内各个端口查路由表请求公平地逐个轮询完成查表操作。
使用仲裁胜利的请求对应的目的节点设备ID信息,开始读取路由表。路由表查询完成后,返回路由信息到对应请求端口。
请求端口对分区路由表进行应答校验,校验通过后,出口端口确定完成,路由寻址流程结束,并更新本地路由缓存2。上述应答校验例如包括路由表应答出口端口不存在、路由表应答超时、应答类型不符合规范等。通过该步骤中的异常处理方案可以提高路由分区内路由查询的健壮性,有效避免路由表应答异常时的软件介入。
另一方面,如果校验未通过,则发起应答异常处理流程,重新发起读路由请求。应答异常处理具体包括使用Outstanding队列记录目的节点设备ID信息,重新发起未被正确应答的查表请求。
图7给出两种本地路由缓存的一种实现示例,即利用寄存器实现一定数量的目的节点设备ID和出口端口的对应关系。所述本地缓存中节点设备ID和出口端口对应关系数量可以根据需要设置。
表1
类型 | 配置方式 |
本地路由缓存1 | 软件配置,保持不变;支持拓扑变化时软件清除 |
本地路由缓存2 | 硬件自动获取和更新;支持拓扑变化时软件清除 |
结合上述表1,本地路由缓存1仅支持软件配置,用于交换网络中特定的高性能节点设备的出口端口的快速确定,而不再需要仲裁、排队读取分区共享路由表,提高该节点的报文路由、传输效率。本地路由缓存2由硬件自动获取和更新,用于记录特定数量的报文目的节点设备ID和交换芯片出口端口对应关系。在具体实现中,分区共享路由表返回入口报文的出口端口信息时,判断对应报文目的节点设备ID在本地路由缓存2中是否已存在。如果已存在,则不进行处理。如果不存在,则更新目的节点设备ID和出口端口对应关系到本地路由缓存2中。本地路由缓存2的更新采用循环写入方式实现,即新的“节点ID-出口端口”对应关系条目覆盖本地缓存2中最早的“节点ID-出口端口”条目。
此外,如表1所示,本地路由缓存1和缓存2支持软件清除;当网络拓扑发生变化、路由表项需要更新时,软件可配置清除端口内本地路由缓存;所述本地路由缓存完全兼容拓扑变化时的路由表项更新的操作。
可见,本发明提出的交换芯片的分区路由共享方法,相比于现有技术具备以下优点:
本发明采用支持本地路由缓存的分区共享路由方案,在硬件资源消耗可接受的前提下,可以提高路由表查询效率,提高报文传输速率,降低报文在交换芯片传输延时。相较于全局共享路由表方案,提高了路由性能,降低了端口到路由表的路径延时,物理实现友好,降低了拥塞风险。相较于端口独享路由表方案,在保证路由效率的基础上,节省硬件资源消耗,降低芯片制造成本。通过基于Outstanding机制的路由寻址方案,高效流水地、无等待地完成路由表查询。在报文目的节点设备ID重复出现时,实现报文的快速路由查询,保证传输效率;并可保证特定关键目的节点设备的报文传输效率。
相应地,本发明在第二方面提供了一种交换芯片的分区路由共享装置,包括:
分区模块,用于将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存;
路由请求模块,用于当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求;
仲裁模块,用于对所述分区内各端口的读路由请求进行读分区共享路由的仲裁,确定读路由表顺序;
更新模块,在所述目的节点设备ID对应的出口端口返回给所述入口端口时,通过所述入口端口对所述分区路由表进行应答校验后,更新所述入口端口内的本地路由缓存。
上述装置可通过上述第一方面的实施例提供的交换芯片的分区路由共享方法实现,具体的实现方式可以参见第一方面的实施例中的描述,在此不再赘述。
可以理解,上述实施例中描述的实现结构、名称和参数仅为举例。本领域技术人员还可以根据使用需要,对以上多个实施例的结构特征进行容易想到的组合和调整,而不应将本发明的构思限制于上述示例的具体细节。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种交换芯片的分区路由共享方法,其特征在于,包括:
将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存;
当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将所述入口报文的目的节点设备ID对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求;
对分区内各端口的读路由表请求进行仲裁,仲裁胜利的读路由表请求发起读路由表操作,在所述共享路由表命中时,将所述目的节点设备ID对应的出口端口返回给对应的入口端口,通过所述入口端口对所述分区路由表进行应答校验,校验通过后更新所述入口端口内的本地路由缓存;
其中,将交换芯片中所有端口划分为多个分区包括:路由分区根据各个端口物理位置关系来确定,邻近端口划分到同一路由分区;分区共享路由表放置在分区内的端口附近,从而减小端口到共享路由表的物理实现距离,降低查表路径延时。
2.根据权利要求1所述的交换芯片的分区路由共享方法,其特征在于,在每个分区中设置共享路由表,进一步包括:
根据分区内各个端口到所述共享路由表的物理实现距离,确定所述共享路由表的位置。
3.根据权利要求1所述的交换芯片的分区路由共享方法,其特征在于,所述向所述入口端口所在分区的共享路由表发起读路由表请求,进一步包括:
判断本地已发出并且未应答的Outstanding队列是否具有剩余空间,如果具有剩余空间,则向所述共享路由表发起所述读路由表请求,否则等待;其中,Outstanding队列用于记录所有发出并且未应答的路由请求的目的节点设备ID。
4.根据权利要求1所述的交换芯片的分区路由共享方法,其特征在于,所述对分区内各端口的读路由表请求进行仲裁,进一步包括:
判断所述入口端口是否具有绝对优先级,所述绝对优先级表征该入口端口读路由表的仲裁优先级高于其他入口端口;如果不具有绝对优先级,则对入口端口逐个轮询完成查表操作。
5.根据权利要求1所述的交换芯片的分区路由共享方法,其特征在于,所述本地路由缓存包括第一路由缓存和第二路由缓存,所述第一路由缓存由软件配置;第二路由缓存由硬件自动获取和更新,并且所述更新所述入口端口内的本地路由缓存,进一步包括:
接收所述共享路由表的返回目的节点设备ID对应的出口端口,判断所述目的节点设备ID在所述第二路由缓存中是否已存在,
如果已存在则不进行处理;如果不存在,则将所述第二路由缓存中最早记录的一组目的节点设备ID和出口端口的对应关系删除,并将本次目的节点设备ID和出口端口的对应关系记录在所述第二路由缓存中。
6.一种交换芯片的分区路由共享装置,其特征在于,包括:
分区模块,用于将交换芯片中所有端口划分为多个分区,在每个分区中设置共享路由表,并在每个端口内部设置本地路由缓存;
路由请求模块,用于当入口端口接收到入口报文时,向所述入口端口内的本地路由缓存发起预路由请求,如果所述入口报文的目的节点设备ID在所述本地路由缓存命中,则将所述入口报文的目的节点设备ID对应的出口端口直接返回给所述入口端口,如果所述本地路由缓存未命中,则向所述入口端口所在分区的共享路由表发起读路由表请求;
仲裁模块,用于对所述分区内各端口的读路由请求进行读分区共享路由的仲裁,确定读路由表顺序;
更新模块,在所述目的节点设备ID对应的出口端口返回给所述入口端口时,通过所述入口端口对所述分区路由表进行应答校验,校验通过后更新所述入口端口的本地路由缓存;
其中,将交换芯片中所有端口划分为多个分区包括:路由分区根据各个端口物理位置关系来确定,邻近端口划分到同一路由分区;分区共享路由表放置在分区内的端口附近,从而减小端口到共享路由表的物理实现距离,降低查表路径延时。
7.根据权利要求6所述的交换芯片的分区路由共享装置,其特征在于,所述分区模块,进一步用于:
根据分区内各个端口到所述共享路由表的物理实现距离,确定所述共享路由表的位置。
8.根据权利要求6所述的交换芯片的分区路由共享装置,其特征在于,所述路由请求模块,进一步用于:
判断本地已发出并且未应答的Outstanding队列是否具有剩余空间,如果具有剩余空间,则向所述共享路由表发起所述读路由表请求,否则等待;其中,Outstanding队列用于记录所有发出并且未应答的路由请求的目的节点设备ID。
9.根据权利要求6所述的交换芯片的分区路由共享装置,其特征在于,所述仲裁模块,进一步用于:
判断所述入口端口是否具有绝对优先级,所述绝对优先级表征该入口端口读路由表的仲裁优先级高于其他入口端口;如果不具有绝对优先级,则对入口端口逐个轮询完成查表操作。
10.根据权利要求6所述的交换芯片的分区路由共享装置,其特征在于,所述本地路由缓存包括第一路由缓存和第二路由缓存,所述第一路由缓存由软件配置,第二路由缓存由硬件自动获取和更新,并且所述更新所述入口端口内的本地路由缓存,
所述更新模块,进一步用于:
接收所述共享路由表的返回目的节点设备ID对应的出口端口,判断所述目的节点设备ID在所述第二路由缓存中是否已存在,如果已存在则不进行处理;如果不存在,则将所述第二路由缓存中最早记录的一组目的节点设备ID和出口端口的对应关系删除,并将本次目的节点设备ID和出口端口的对应关系记录在所述第二路由缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716085.9A CN117938783B (zh) | 2023-12-14 | 2023-12-14 | 一种交换芯片的分区路由共享方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716085.9A CN117938783B (zh) | 2023-12-14 | 2023-12-14 | 一种交换芯片的分区路由共享方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117938783A CN117938783A (zh) | 2024-04-26 |
CN117938783B true CN117938783B (zh) | 2024-08-27 |
Family
ID=90765477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311716085.9A Active CN117938783B (zh) | 2023-12-14 | 2023-12-14 | 一种交换芯片的分区路由共享方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117938783B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546380A (zh) * | 2013-11-05 | 2014-01-29 | 迈普通信技术股份有限公司 | 一种基于策略路由的报文转发方法和装置 |
CN110691032A (zh) * | 2019-09-12 | 2020-01-14 | 无锡江南计算技术研究所 | 一种融合自适应和确定性路由算法的分级路由方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004221807A (ja) * | 2003-01-14 | 2004-08-05 | Hitachi Ltd | 分散ルーティングテーブル管理方式およびルータ |
CN100531120C (zh) * | 2005-07-29 | 2009-08-19 | 杭州华三通信技术有限公司 | 一种交换设备、实现交换设备的方法和交换方法 |
CN104022950B (zh) * | 2014-06-10 | 2017-06-06 | 复旦大学 | 一种可共享和自配置缓存的路由器结构 |
CN112235401B (zh) * | 2020-10-14 | 2021-09-24 | 北京理工大学 | 一种基于chord算法的路由表信息查找方法及系统 |
US20220114098A1 (en) * | 2021-12-22 | 2022-04-14 | Intel Corporation | System, apparatus and methods for performing shared memory operations |
-
2023
- 2023-12-14 CN CN202311716085.9A patent/CN117938783B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546380A (zh) * | 2013-11-05 | 2014-01-29 | 迈普通信技术股份有限公司 | 一种基于策略路由的报文转发方法和装置 |
CN110691032A (zh) * | 2019-09-12 | 2020-01-14 | 无锡江南计算技术研究所 | 一种融合自适应和确定性路由算法的分级路由方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117938783A (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882025B2 (en) | System and method for facilitating efficient message matching in a network interface controller (NIC) | |
US7447230B2 (en) | System for protocol processing engine | |
JP4542539B2 (ja) | ルートルックアップエンジン | |
US8898313B2 (en) | Relay devices cooperating to distribute a message from same terminal to same server while session continues | |
JP7053798B2 (ja) | パケット転送方法及び装置 | |
US20040052254A1 (en) | Distributed lookup based on packet contents | |
JP2001045061A (ja) | 通信ノード装置 | |
CN102439574B (zh) | 系统缓存中数据替换方法及多核通信处理器 | |
CN109743414B (zh) | 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质 | |
WO2024183410A1 (zh) | 硬件流表老化方法、软件流表老化方法、装置及电子设备 | |
CN111538694B (zh) | 一种用于网络接口支持多链接和重传的数据缓存方法 | |
CN111371804B (zh) | Dns后端转发方法及系统 | |
US8539135B2 (en) | Route lookup method for reducing overall connection latencies in SAS expanders | |
CN117938783B (zh) | 一种交换芯片的分区路由共享方法和装置 | |
WO2013185660A1 (zh) | 一种网络处理器的指令存储装置及该装置的指令存储方法 | |
US9137158B2 (en) | Communication apparatus and communication method | |
CN108632148B (zh) | 基于预读取方式的学习mac地址的装置及方法 | |
CN116644002A (zh) | 一种基于rdma的内存管理方法和装置 | |
US20060274654A1 (en) | Range matching | |
JP3837670B2 (ja) | データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 | |
CN115118679A (zh) | 一种针对以太网交换器管理帧的快速转发系统 | |
WO2023130953A1 (zh) | 数据查找方法及装置、网络设备 | |
CN116074250B (zh) | 流表处理方法、系统、设备和存储介质 | |
US11924102B2 (en) | Minimizing deviation from average latency of table lookups | |
US20240362216A1 (en) | Data Search Method and Apparatus, and Network Device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |