CN107465619A - 一种物联网商用网络报文转发的方法及设备 - Google Patents
一种物联网商用网络报文转发的方法及设备 Download PDFInfo
- Publication number
- CN107465619A CN107465619A CN201710721567.1A CN201710721567A CN107465619A CN 107465619 A CN107465619 A CN 107465619A CN 201710721567 A CN201710721567 A CN 201710721567A CN 107465619 A CN107465619 A CN 107465619A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- route
- asic
- internet
- routing
- 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.)
- Pending
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/33—Flow control; Congestion control using forward notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种物联网商用网络报文转发的方法及设备,采用多核CPU软转发与ASIC硬转发相结合的方法,当物联网网络设备上配置和学习到的路由转发表数量小于或等于ASIC的片内路由转发表数量时,转发流量都由ASIC来转发,提高了转发效率,当物联网网络设备上配置和学习到路由转发表数量大于ASIC的片内路由转发表数量时,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的流量都上送多核CPU转发,扩充了转发表容量。本发明既充分利用ASIC硬转发提高报文转发效率,实现了线速,达到了部分物联网网络的转发条目容量要求,又利用多核CPU软转发扩充了路由转发表容量,基本上满足了大多数物联网商用网络应用。
Description
技术领域
本发明涉及物联网通信技术领域,具体涉及一种物联网商用网络报文转发的方法及设备。
背景技术
目前,各种物联网商用网络中的设备对转发报文的处理主要有下面几种模式:
1、基于通用CPU软转发的处理方法,纯粹依靠CPU软发,转发性能比较差,业务转发板块端口线速困难,应用场景比较窄,只适合在最简单最边缘的小型物联网网络或家庭物联网网关中使用;
2、基于多核CPU转发的处理方法,多核CPU相对于通用CPU对核数量和硬件线程做了增强和补充,使得转发性能得到很大提升,但是仍然无法解决多业务(例如ACL或QOS等)叠加后,转发卡端口无法线速的问题。CN201180000569.2提出的多核路由器就是这种类型。
3、基于网络处理器NP转发的外理为法,需要昂贵的网络处理器,成本较高,且微码受到网络处理器代码空间限制,当业务增加到一定程度,网络处理器代码空间就消耗尽,业务扩展困难,软件版本不易升级,不适合多业务中低端网络设备。CN20130085936.4提出的网络设备就是这种类型;
4、基于FPGA转发或ASIC硬转发的处理方法,这种方法虽然转发性能很高,转发卡端口可以线速,但是片内路由转发表项数量太少,例如片内IPV4转发表为8K,当现网需要路由表的容量超过8K时,设备满足不了现网设备的容量指标。CN201210022503.X就是基于ASIC的硬转发,存在这种问题;
5、CN201220665763.4提出使用两个CPU配ASIC来转发报文,还是必须经过两个CPU负载平衡,本质上还是CPU软转发,只是堆叠两个CPU的转发宽带;CN201310132428.7提出CPU+ASIC转发,默认CPU转发,当CPU达不到转发性能时下发路由表和ARP表给ASIC,ASIC转发报文,此发明在流量较大时可一定程度上保护CPU,但在流量未达到阈值时还是让CPU转发,效率依然偏低。
以上所述的几种转发模式发表容量低,不是转发效率比较低、无法实现线速,就是转发表容量低,达不到现网设备的容量指标,均存在各自的缺点与不足。
发明内容
本发明所要解决的技术问题在于,提供一种物联网商用网络报文转发的方法及设备,采用多核CPU软转发与ASIC硬转发相结合的方法,当物联网网络设备上配置和学习到的路由转发表数量小于或等于ASIC的片内路由转发表数量时,转发流量都由ASIC来转发,提高了转发效率,当物联网网络设备上配置和学习到路由转发表数量大于ASIC的片内路由转发表数量时,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的流量都上送多核CPU转发,扩充了转发表容量。
为解决上述技术问题,本发明提供的技术方案是:
一种物联网商用网络报文转发的方法,所述方法包括:
获取物联网网络设备上的一个或多个路由转发信息;
将所述路由转发信息整合成多核CPU软转发时所需的一个或多个路由软转发表存储在共享内存中以及将所述路由转发信息整合成ASIC硬转发时所需的一个或多个硬转发表;
当所述硬转发表数量小于或等于所述ASIC的片内转发表数量时,将所述硬转发表中的转发条目写到所述片内路由转发表中,由所述ASIC对路由转发条目对应的转发流量进行相关业务处理后转发出去;
当所述硬转发表数量大于所述片内转发表数量时,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发。
进一步的,所述物联网网络设备整机的转发流量都上送到多核CPU转发,具体为:
将对于所述物联网网络设备整机的转发流量都上送到多核CPU转发,由所述多核CPU对上送的素数转发流量进行相关业务处理后,再将所述转发流量下发至所述ASIC,由所述ASIC将所述转发流量发送出去。
进一步的,所述方法还包括:
获取与所属添加的路由转发条目相关的路由转发信息;
将所述路由转发信息整合陈所述多核CPU软转发时所需的路由软转发表;
判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的路由转发条目写入所述片内路由转发表中;
若已满,再判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述路由转发条目覆盖所述短掩码对应的路由转发条目。若不存在,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发。
进一步的,所述方法还包括:
当需要删除一条路由转发条目时,查找所述路由软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
将所述软转发表中的所述路由转发条目删除后,查找所述ASIC的片内路由转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述路由软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的掩码,从查到的掩码中选取最大的掩码,将所述最长的掩码对应的路由转发条目写到所述ASIC的片内路由转发表中;例如:路由软转发表中有1.1.1.1/16、1.1.1.1/24、1.1.1.1/32三个条目,ASIC的片内路由转发表有1.1.1.1/32一个条目,当设备删除1.1.1.1/32这个条目时,路由软发表和ASIC的片内路由转发表都会删除这个条目,同时设备会把1.1.1.1/24这个条目写到ASIC的片内路由转发表中。
判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭整机流量上送引擎。
进一步的,所述方法还包括:物联网网络设备上电初始化时,ASIC片内需要写一条流量查不到路由转发表,需要上送到多核CPU处理的ACL规则,保证进入到ASCI的流量如果查不到对应路由转发表,会被ASIC上送到多核CPU处理。
依据本发明的另一个方面,提供了一种物联网商用网络报文转发的设备,所述设备包括:
获取路由协议模块,用于获取物联网网络设备上的一个或多个路由转发信息,并对所述路由转发信息进行处理,将处理后的所述路由转发信息下发至发表管理模块;
转发表管理模块,用于接受所述路由转发信息,并将所述路由转发新整合成所述多核CPU软转发时所需的一个或多个路由软转发表写到共享内存中,以供软转发时读取;以及将所述路由转发信息整合成所述ASIC硬转发时所需的一个或多个硬转发表,并将所述硬转发表下至驱动模块;以及删除共享内存中的路由软转发表和ASIC片内路由转发表;以及触发ASIC片内整机流量上送引擎和关闭ASIC片内整机流量上送引擎;
驱动模块,用于将所述硬转发表中需要所述ASIC转发的路由转发条目写到所述片内路由转发表中,由所述ASIC对所述转发条目对应的转发流量进行相关业务处理后进行转发;
软转发模块,用于根据报文信息和所述共享内存中的路由软转发表信息,对上送至所述多核CPU中的转发流量进行处理,处理完毕后将所述转发流量下发至所述ASIC。
进一步的,所述软转发模块还包括:
软转发单元,对上送到所述多核CPU的所述转发流量进行相关业务处理后,再将所述转发流量下发至所述ASIC,由所述ASIC将所述转发流量发送出去。
进一步的,所述设备还包括:
获取添加路由模块,用于获取与所需添加的路由转发条目相关的转发信息;
添加路由软转发表生成模块,用于将所述转发信息整合成所述多核CPU软转发时所需的路由软转发表;
添加转发条目模块,判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的路由转发条目写入所述片内路由转发表中;若已满,再判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述路由转发条目覆盖所述掩码对应的转发条目。若不存在,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发。
进一步的,所述设备还包括:
软转发表路由条目删除模块,用于查找所述路由软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
片内路由转发表路由条目删除模块,用于将所述软转发表中的所述路由转发条目删除后查找所述ASIC的片内转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的掩码,从查找到的掩码中选取最长的掩码、将所述最长的掩码对应的路由转发条目写到所述ASIC的片内路由转发表中;判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭整机流量上送引擎。
本发明的有益效果是:
本发明提供的一种物联网商用网络报文转发的方法及设备,采用多核CPU软转发语ASIC硬转发相结合的方法,首先将物联网设备的路由转发信息,整合成多核CPU软转发时所需的路由软转发表和ASIC硬转发时所需的硬转发表,当硬转发表数量小于或等于ASIC的片内转发表数量时,转发流量都由ASIC来转发,当硬转发表数量大于ASIC的片内转发表数量时,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发,由多核CPU进行相关的业务处理后,再下发至ASIC转发出去。本发明提供的方法和设备既充分利用ASIC硬转发提高报文转发效率,实现了线速,达到了部分物联网网络的转发条目容量要求,又利用多核CPU软转发扩充了路由转发表容量,基本上满足了大多数物联网商用网络应用。
附图说明
图1表示本发明实施例提供的物联网商用网络报文转发方法的步骤流程图。
图2表示本发明实施例提供的硬件连接结构图。
图3表示本发明实施例提供的添加路由转发条目的步骤流程图。
图4表示本发明实施例提供的示例中添加1.1.1.1/24路由转发条目的步骤流程图。
图5表示本发明实施例提供的删除1.1.1.1/24路由转发条目的的步骤流程图。
图6表示本发明实施例提供的示例中删除路由转发条目的步骤流程图。
图7表示本发明实施例提供的网络设备的结构框图。
图8表示本发明实施例提供的网络设备中添加路由转发条目的结构框图。
图9表示本发明实施例提供的网络设备中删除路由转发条目的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
依据本发明实施例的一个方面,提供了一种物联网商用网络报文转发的方法,如图1所示,所述方法包括:
步骤S101、获取物联网网络设备上的一个或多个路由转发信息;
从物联网网络设备上获得路由转发信息后,还需要对路由转发信息进行进一步的处理,因为从物联网网络上获得的路由转发处于一种杂乱、无序的状态,不能直接用在后续的转发流程中。
步骤S102、将所述路由转发信息整合成多核CPU软转发时所需的一个或多个路由软转发表存储在共享内存中以及将所述路由转发信息整合成ASIC硬转发时所需的一个或多个硬转发表;
其中,如图2所示,多核CPU为控制中枢,承载着整个软件系统的运行。多核CPU下挂ASIC,级联接口带宽为N个10G,其中在级联接口中包括数据报文通道XAUI、协议报文通道SGMI以及芯片配置通道PCIE,多核CPU从报文通道XAUI、协议报文通道SGMI接收ASIC整机上送的流量,通过芯片配置通道PCIE配置ASIC的片内路由转发表,同时多核CPU也与共享内存连接,从共享内存中读取软转发所需路由软转发表;
ASIC下挂各个接口板,设备所有对外接口都连接到ASIC上,ASIC主要负责流量的线速转发和物理链路流量的相互转换,流量的接受、发送、统计等;
共享内存为可访问存储区,包括SRAM(Stantiic Random Access Memory,静态随机存储器)、DRAM(Dynamic Random Access Memory,动态随机存储器)、DDR(Double DataRate,双倍数据传输速率存储器)等存储单元,用于各种业务转发流量信息的交互,报文缓存等。
步骤S103、当所述硬转发表数量小于或等于所述ASIC的片内路由转发表数量时,将所述硬转发表中的转发条目写到所述片内路由转发表中,由所述ASIC对所述转发条目对应的转发流量进行相关业务处理后转发出去;
当所述硬转发表数量小于或等于所述ASIC的片内路由转发表数量时,由ASIC转发路由转发条目对应的转发流量,通过ASIC进行转发,能够实现线速,转发效率比较快。
步骤S104、当所述硬转发表数量大于所述片内路由转发表数量时,触发物联网网络设备整机流量上送引擎,使整机的转发流量都上送到多核CPU转发。
当硬转发表数量大于片内路由转发表数量时,触发物联网网络设备整机流量上送引擎使整机的转发流量都上送到多核CPU转发,由多核CPU对上送的转发流量进行相关业务处理,由于多核CPU没有对外接口,所以还需要通过级联接口将转发流量下发至ASIC,由ASIC将转发流量发送出去。
进一步的,如图3所示,为本发明实施例提供的添加路由转发条目的步骤流程图,包括:
步骤S301、获取与所需添加的路由转发条目相关的路由转发信息;
步骤S302、将所述路由转发信息整合成所述多核CPU软转发时所需的路由软转发表;
步骤S303、判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的路由转发条目写入所述片内路由转发表中;
步骤S304、若已满,再判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述路由转发条目覆盖所述短掩码对应的路由转发条目。若不存在,触发物联网网络设备整机流量上送引擎,使整机的转发流量都上送到多核CPU转发。
为进一步了解本发明实施例提供的添加路由转发条目的步骤流程,下面将举例说明。
以IPV4地址1.1.1.1/24为例,如图4所示,添加路由1.1.1.1/24的转发条目的步骤流程如下:
步骤S401、配置添加1.1.1.1/24的路由,对路由1.1.1.1/24进行相关的业务处理后,生成本条路由的转发信息;
步骤S402、将路由1.1.1.1/24的转发信息进行整合后,以与多核CPU软转发时所需路由软转发表形式写入共享内存;
步骤S403、判断ASIC的片内路由转发表条目是否已满;
步骤S404、若未满,则将路由1.1.1.1/24的转发信息整合成ASIC硬转发时所需的硬转发表,将所述硬转发表中的路由转发条目写入片内路由转发表中;
步骤S405、若已满,再判断ASIC的片内路由转发表中有没有1.1.1.1短于24位掩码的路由转发条目;
步骤S406、若ASIC的片内路由转发表中有更短掩码的路由,例如16位,则用1.1.1.1/24覆盖1.1.1.1/16,路由转发条目添加成功,流程结束;
步骤S407、若ASIC的片内路由转发表中没有更短掩码的路由,触发设备整机流量上送引擎,使整机的转发流量都上送到多核CPU转发,流程结束。
进一步的,如图5所示,为本发明实施例提供的删除路由转发条目的步骤流程图,包括:
步骤S501、查找所述软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
步骤S502、将所述软转发表中的所述路由转发条目删除后,查找所述ASIC的片内路由转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述路由软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的掩码,从查找到掩码中选取最长的掩码,将所述最长的掩码对应的路由转发条目写到所述ASIC的片内路由转发中,判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭整机流量上送引擎。
为进一步了解本发明实施例提供的删除路由转发条目的步骤流程,下面将举例说明。以IPV4地址1.1.1.1/24为例,如图6所示,删除路由1.1.1.1/24的转发条目的步骤流程如下:
步骤S601、配置删除1.1.1.1/24的路由;
步骤S602、查路由软转发表中是否存在1.1.1.1/24的路由转发条目;
步骤S603、若存在,则将路由转发条目删除;
步骤S604、查找所述ASIC的片内路由转发表中的是否存在1.1.1.1/24的路由转发条目;
步骤S605、若存在,则将路由转发条目删除;
步骤S606、查找共享内存中的路由软转发表中是否存在1.1.1.1比删除的24位掩码短的掩码;
步骤S607、若存在,则从查找到的掩码中选取最长的掩码,例如23位掩码,将1.1.1.1/23的路由转发条目写到所述ASIC的片内路由转发表中;
步骤S608、比较ASIC片内已经使用的路由转发表数目与芯片标称值,如果相等,流程结束;
步骤S609、如果ASIC片内已经使用的路由转发表数目小于片内芯片标称值,关闭整机流量上送引擎,流程结束;
依据本发明实施例的另一个方面,提供了一种物联网网络报文转发的设备,如图7所示,其中,图中细箭头表示路由转发表信息,粗箭头表示转发流量,所述设备包括:
业务协议模块701、用于获取物联网网络设备上的一个或多个路由转发信息,并对所述路由转发信息进行处理,将处理后的所述路由转发信息下发至转发表管理模块;
业务协议模块701负责对配置命令的解析,路由协议的学习等,生成需要的路由转发信息通过多路复用器MUX消息机制下发给转发表管理模块,业务协议模块701属于控制面,不但与对报文的转发处理。
转发表管理模块702,用于介绍所述路由转发信息,并将所述路由转发信息整合成所述多核CPU软转发时所需的一个或多个路由软转发表写到共享内存中,以供软转发时读取;以及将所述路由转发信息整合成所述ASIC硬转发时所需的一个或多个硬转发表,并将所述硬转发表下发至驱动模块;
转发发表管理模块702主要接收控制面的转发信息,将接收到的MUX消息整合成软转发模块需要的转发表格式,即整合成路由软转发表,写入共享内存中,并且根据需要,还要整合成ASIC提供的软件开发工具包和应用程序接口SDK API接口入参形式下发给驱动模块。转发表管理模块702还要接受软转发模块和驱动模块在转发过程中的一些老化、统计等实时信息反馈给控制面。除此之外,转发表管理模块702还要根据接收到的MUX删除路由消息,删除共享内存中的路由软转发表和ASIC片内路由转发表。
驱动模块703,用于将所述硬转发表中需要所述ASIC转发的转发条目写到所述片内路由转发表中,由所述ASIC对所述路由转发条目对应的转发流量进行处理后转发;
驱动模块703直接操作ASIC的SDK API接口来处理片内路由转发表和ASIC的寄存器,并对SDK API接口进行了封装,提供给转发表管理模块702驱动接口。
软转发模块704,用于根据报文信息和所述共享内存中的路由软转发表信息,对上送至所述多核CPU中的转发流量进行处理,处理完毕后将所述转发流量下发至所述ASIC。
转发模块704根据报文信息和转发表管理模块702写入共享内存中的路由转发表信息,对进入多核CPU中的转发流量进行相关的业务处理,处理完毕后,将业务转发流量下发至ASIC,由ASIC将流量发送出去。
进一步的,如图7所示,所述软转发模块704还包括:
软转发单元714,用于将对于所述ASIC上送到多核CPU的转发流量,由所述多核CPU对上送的所述转发流量进行相关业务处理后,再将所述转发流量下发至所述ASIC,由所述ASIC将所述转发流量发送出去。
进一步的,如图8所示,所述设备还包括:
获取添加路由模块801,用于获取与所需添加的路由转发条目相关的路由转发信息;
添加路由软转发表生成模块802,用于将所述路由转发信息整合成所述多核CPU软转发时所需的路由软转发表;
在添加任何一条路由转发条目时,都需要将路由转发信息正常成多核CPU软转发时所需的路由软转发表。
添加转发条目模块803,判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的路由转发条目写入所述片内路由转发表中;若已满,在判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述路由转条目覆盖所述掩码对应的路由转发条目,若不存在,触发设备整机流量上送引擎,使整机的转发流量都上送到多核CPU转发。
进一步的,如图9所示所述网络设备还包括:
软转发表路由条目删除模块901,用于查找所述路由软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
片内转发表路由条目删除模块902,用于将所述路由软转发表中的所述路由转发条目删除后,查找所述ASIC的片内路由转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的掩码,从查到的掩码中选取最长的掩码,将所述最长的掩码对应的路由转发条目写到所述ASIC的片内路由转发表中,判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭整机流量上送引擎。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,依据本发明的技术实质,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (9)
1.一种物联网商用网络报文转发的方法,其特征在于,所述方法包括:
获取物联网网络设备上的一个或多个路由转发信息;
将所述路由转发信息整合成多核CPU软转发时所需的一个或多个路由软转发表存储在共享内存中以及将所述路由转发信息整合成ASIC硬转发时所需的一个或多个硬转发表;
当所述硬转发表数量小于或等于所述ASIC的片内路由转表数量时,将所述硬转发表中的转发写到所述片内路由转发表中,由所述ASIC对路由转发条目对应的转发流量进行相关业务处理后转发出去;
当所述硬转发表数量大于所述片内路由转发表数量时,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发。
2.根据权利要求1所述的物联网商用网络报文转发的方法,其特征在于,所述将物联网网络设备整机的转发流量都上送到多核CPU转发,具体为:
将对于所述物联网网络设备整机的转发流量都上送到多核CPU转发,由所述多核CPU对物联网网络设备整机上送的所述转发流量进行相关业务处理后,再将所述转发流量下发至所述ASIC,由所述ASIC将所述转发流量发送出去。
3.根据权利要求1所述的物联网商用网络报文转发的方法,其特征在于,所述方法还包括:
获取与所需添加的转发条目相关的路由转发信息:
将所述转发条目相关的路由转发信息整合成所述多核CPU软转发时所需的路由软转发表;
判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的转发表条目写入所述片内路由转发表中;
若已满,再判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述路由转发条目覆盖所述短掩码对应的转发条目;若不存在,触发物联网网络设备整机流量上送引擎,使物联网网络设备整机的转发流量都上送到多核CPU转发。
4.根据权利要求1所述的物联网商用网络报文转发的方法,其特征在于,
当需要删除一条路由转发条目时,查找所述路由软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
将所述路由软转发表中的所述路由转发条目删除后,查找所述ASIC的片内路由转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的所有掩码,从查到到的所有掩码中选取最长的掩码,将所述最长的掩码对应的路由转发条目写到所述ASIC的片内转发表中;
判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭物联网网络设备整机流量上送引擎。
5.根据权利要求1所述的物联网商用网络报文转发的方法,其特征在于,所述方法还包括:物联网网络设备上电初始化时,ASIC片内需要写一条流量查不到路由转发表,需要上送到多核CPU处理的ACL规则,保证进入到ASCI的流量如果查不到对应路由转发表,会被ASIC上送到多核CPU处理。
6.一种物联网商用网络报文转发的设备,其特征在于,所述设备包括:
获取路由协议模块,用于获取物联网网络设备上的一个或多个路由转发信息,并对所述路由转发信息进行处理,将处理后的所述路由转发信息下发至转发表管理模块;
转发表管理模块,用于接受所述路由转发信息,并将所述路由转发新整合成所述多核CPU软转发时所需的一个或多个路由软转发表写到共享内存中,以供软转发时读取;以及将所述路由转发信息整合成所述ASIC硬转发时所需的一个或多个硬转发表,并将所述硬转发表下至驱动模块;以及删除共享内存中的路由软转发表和ASIC片内路由转发表;以及触发ASIC片内整机流量上送引擎和关闭ASIC片内整机流量上送引擎;
驱动模块,用于将所述硬转发表中需要所述ASIC转发的路由转发条目写到所述片内路由转发表中,由所述ASIC对所述路由转发条目对应的转发流量进行相关业务处理后进行转发;
软转发模块,用于根据报文信息和所述共享内存中的路由软转发表信息,对上送至所述多核CPU中的转发流量进行处理,处理完毕后将所述转发流量下发至所述ASIC。
7.根据权利要求6所述的物联网商用网络报文转发的设备,其特征在于,所述软转发模块还包括:
软转发单元,对上送到所述多核CPU的所述转发流量进行相关业务处理后,再将所述转发流量下发至所述ASIC,由所述ASIC将所述转发流量。
8.根据权利要求6所述的物联网商用网络报文转发的设备,其特征在于,所述设备还包括:
获取添加路由模块,用于获取与所述添加的路由转发条目相关的路由转发信息;
添加路由软转发表生成模块,用于将所述路由转发信息整合成所述多核CPU软转发时所需的路由软转发表;
添加转发条目模块,判断所述ASIC的片内路由转发表中的转发条目是否已满,若未满,则将所述路由转发信息整合成所述ASIC硬转发时所需的硬转发表,并将所述硬转发表中的路由转发条目写入所述片内路由转发表中;若已满,再判断所述片内路由转发表中是否存在同一IP地址的掩码比所述路由转发条目的掩码短的掩码,若存在,则用所需添加的所述转发条目覆盖所述短掩码对应的转发条目;若不存在,触发物联网网络设备整机流量上送引擎,使整机的转发流量都上送到多核CPU转发。
9.根据权利要求6所述的物联网商用网络报文转发的设备,其特征在于,所述设备还包括:
软转发表路由条目删除模块,用于查找所述软转发表中是否存在所需删除的路由转发条目,若存在,则将所述路由转发条目删除;
片内路由转发表路由条目删除模块,用于将所述软转发表中的所述路由转发条目删除后查找所述ASIC的片内转发表中的是否存在所述路由转发条目,若存在,则将所述路由转发条目删除,并从所述软转发表中查找同一IP地址的、比删除的路由转发条目的掩码短的掩码,从查找到的掩码中选取最长的掩码、将所述最长的掩码对应的路由转发条目写到所述ASIC的片内路由转发表中;判断ASIC片内已经使用的路由转发表数目,如果小于芯片标称值,关闭整机流量上送引擎。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710721567.1A CN107465619A (zh) | 2017-08-22 | 2017-08-22 | 一种物联网商用网络报文转发的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710721567.1A CN107465619A (zh) | 2017-08-22 | 2017-08-22 | 一种物联网商用网络报文转发的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107465619A true CN107465619A (zh) | 2017-12-12 |
Family
ID=60549440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710721567.1A Pending CN107465619A (zh) | 2017-08-22 | 2017-08-22 | 一种物联网商用网络报文转发的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107465619A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431805A (zh) * | 2020-03-27 | 2020-07-17 | 上海天好信息技术股份有限公司 | 一种物联网多路信号复用的同步策略方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148768A (zh) * | 2011-05-26 | 2011-08-10 | 杭州华三通信技术有限公司 | 报文转发方法和报文转发设备 |
CN102457435A (zh) * | 2010-10-27 | 2012-05-16 | 杭州华三通信技术有限公司 | Fc网络中的报文转发方法和fc系统及fc设备 |
CN104836746A (zh) * | 2015-05-08 | 2015-08-12 | 杭州华三通信技术有限公司 | PPPoE网络报文转发的方法及装置 |
CN105763437A (zh) * | 2014-12-17 | 2016-07-13 | 中兴通讯股份有限公司 | 报文转发的方法及网络设备 |
-
2017
- 2017-08-22 CN CN201710721567.1A patent/CN107465619A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457435A (zh) * | 2010-10-27 | 2012-05-16 | 杭州华三通信技术有限公司 | Fc网络中的报文转发方法和fc系统及fc设备 |
CN102148768A (zh) * | 2011-05-26 | 2011-08-10 | 杭州华三通信技术有限公司 | 报文转发方法和报文转发设备 |
CN105763437A (zh) * | 2014-12-17 | 2016-07-13 | 中兴通讯股份有限公司 | 报文转发的方法及网络设备 |
CN104836746A (zh) * | 2015-05-08 | 2015-08-12 | 杭州华三通信技术有限公司 | PPPoE网络报文转发的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431805A (zh) * | 2020-03-27 | 2020-07-17 | 上海天好信息技术股份有限公司 | 一种物联网多路信号复用的同步策略方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
Yu et al. | BUFFALO: Bloom filter forwarding architecture for large organizations | |
CN105763437A (zh) | 报文转发的方法及网络设备 | |
CN103259725B (zh) | 报文发送方法和网络设备 | |
CN104579894B (zh) | 分布式虚拟交换机系统的IGMP Snooping实现方法及装置 | |
CN103490961B (zh) | 一种网络设备 | |
CN101330466B (zh) | 一种组播报文的转发方法及装置 | |
Leng et al. | FTRS: A mechanism for reducing flow table entries in software defined networks | |
Wette et al. | Which flows are hiding behind my wildcard rule? adding packet sampling to OpenFlow | |
CN106789425A (zh) | 一种确定重复报文的方法及装置 | |
CN106789730A (zh) | 分片报文的处理方法及装置 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN103685032B (zh) | 报文转发方法及网络地址转换服务器 | |
CN101171802B (zh) | 网络节点,网络,产生在网络中传送信息的对应关系产生方法 | |
CN105264841B (zh) | 报文转发系统、设备和方法 | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN102201996B (zh) | 网络地址转换环境中报文转发的方法及设备 | |
CN102158422A (zh) | 一种用于二层环网中的报文转发的方法和设备 | |
CN107465619A (zh) | 一种物联网商用网络报文转发的方法及设备 | |
CN106789671A (zh) | 一种业务报文转发方法及设备 | |
CN107196798A (zh) | 电信管理网中的网络设备管理系统及其方法 | |
CN105122744B (zh) | 通过按需路径更新的msdc扩展 | |
CN103460675B (zh) | 集群以及转发方法 | |
US8797897B1 (en) | Methods and apparatus with virtual identifiers for physical switches in a virtual chassis | |
CN104270310B (zh) | 一种基于rip的报文处理方法和设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171212 |