CN107426113B - 报文接收方法及网络设备 - Google Patents
报文接收方法及网络设备 Download PDFInfo
- Publication number
- CN107426113B CN107426113B CN201710821741.XA CN201710821741A CN107426113B CN 107426113 B CN107426113 B CN 107426113B CN 201710821741 A CN201710821741 A CN 201710821741A CN 107426113 B CN107426113 B CN 107426113B
- Authority
- CN
- China
- Prior art keywords
- message
- protocol
- packet
- service
- input
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种报文接收方法及网络设备,所述方法包括:对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文;若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;若所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。所述报文接收方法的协议报文接收可靠性高,能够确保协议报文不会因为业务报文过多而无法被接收,从而改善现有技术中协议报文丢包状况,降低协议报文丢包风险,使所述网络设备的网络协议稳定运行,提高网络设备的竞争力。
Description
技术领域
本发明涉及数据通信技术领域,具体而言,涉及一种报文接收方法及网络设备。
背景技术
随着数据通信技术的不断发展,网络设备(比如,路由器或具有联网功能的其他电子设备)的应用愈发广泛。在网络设备的使用过程中需要运行各类网络协议,以确保网络设备之间的通信畅通,其中网络协议间的协商和链路监控大多通过收发对应的协商、保活等协议报文的方式实现。为确保网络协议的正常运行,网络设备通常对各类网络协议的协议报文进行优先处理,发送报文时优先发送协议报文,接收报文时优先接收协议报文。
目前,业界主流通常针对这种情况采用的报文接收方案是在对输入的报文进行识别后,从同一缓冲区池中优先地分配出足够的缓冲区,用于对识别出的协议报文进行接收。但接收协议报文时使用的缓冲区与接收业务报文时使用的缓冲区是从同一缓冲区池内分配出的,这种报文接收方案会在业务报文被大量缓存即缓冲区被大量占用时,无法从所述缓冲区池内分配出足够的用于接收协议报文的缓冲区,从而使得对应网络设备的协议报文接收可靠性低,易出现严重的协议报文丢包现象,网络协议无法稳定运行,造成严重损失。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种报文接收方法及网络设备。所述报文接收方法的协议报文接收可靠性高,能够确保协议报文不会因为业务报文过多而无法被接收,从而改善现有技术中协议报文丢包状况,使对应网络设备的网络协议稳定运行,提高网络设备的竞争力。
就报文接收方法而言,本发明较佳的实施例提供一种报文接收方法,应用于网络设备。所述方法包括:
对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文;
若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;
若所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。
就网络设备而言,本发明较佳的实施例提供一种网络设备,所述设备包括:
报文识别模块,用于对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文;
第一存储模块,用于若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;
第二存储模块,用于若所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。
相对于现有技术而言,本发明较佳的实施例提供的报文接收方法及网络设备具有以下有益效果:所述报文接收方法的协议报文接收可靠性高,能够确保协议报文不会因为业务报文过多而无法被接收,从而改善现有技术中协议报文丢包状况,使对应网络设备的网络协议稳定运行,提高网络设备的竞争力。具体地,所述方法通过对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文,并根据判断结果将所述输入报文存储到对应的缓冲区池内:若判断结果显示所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;若判断结果显示所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内,从而使网络设备能够向输入的报文提供足够的用于缓存协议报文的缓冲区,降低协议报文丢包风险,确保所述网络设备的网络协议稳定运行。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳的实施例提供的报文接收方法的一种流程示意图。
图2为图1中所示的步骤S220包括的子步骤的一种流程示意图。
图3为图1中所示的步骤S230包括的子步骤的一种流程示意图。
图4为本发明较佳的实施例提供的报文接收方法的另一种流程示意图。
图5为本发明较佳的实施例提供的网络设备的一种方框示意图。
图6为图5中所示的第一存储模块的一种方框示意图。
图7为图5中所示的第二存储模块的一种方框示意图。
图8为本发明较佳的实施例提供的网络设备的另一种方框示意图。
图标:100-网络设备;110-报文识别模块;120-第一存储模块;130-第二存储模块;121-第一接收子模块;122-第一取出子模块;123-第一存储子模块;131-第二接收子模块;132-第二取出子模块;133-第二存储子模块;140-缓冲区池配置模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明较佳的实施例提供的报文接收方法的一种流程示意图。在本发明实施例中,所述报文接收方法应用于网络设备100,以在所述网络设备100接收报文时,向报文中的协议报文提供一个能够单独地对协议报文进行存储的缓冲区池,从而改善现有技术中常见的协议报文丢包状况,降低协议报文丢包风险,确保所述网络设备100的网络协议稳定运行。下面对图1所示的报文接收方法的具体流程和步骤进行详细阐述。
在本发明实施例中,所述报文接收方法包括以下步骤:
步骤S210,对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文。
在本实施例中,所述网络设备100包括网络接口,所述网络设备100可通过所述网络接口接收从所述网络设备100外输入的输入报文。其中所述网络接口包括接口芯片,所述接口芯片具有报文识别功能,所述网络设备100可通过所述接口芯片对输入的报文进行识别,以判断出所述输入报文是协议报文还是业务报文,其中所述协议报文为承载网络协议的报文,所述业务报文为承载各种业务功能数据的报文。
具体地,在本实施例中,所述对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文的步骤包括:
根据预设报文识别策略读取所述输入报文的优先级信息或头部字段信息,并根据所述优先级信息或头部字段信息对所述输入报文进行识别,判断所述输入报文是协议报文还是业务报文。
其中,所述预设报文识别策略可以是根据报文的优先级信息对输入报文进行识别的策略,也可以是根据报文头部信息(比如,协议字段、端口号等字段)对输入报文进行识别的策略。所述网络设备100可通过所述接口芯片根据所述预设报文识别策略,对所述输入报文的优先级信息或头部字段信息进行读取,并根据读取到的优先级信息或头部字段信息判断所述输入报文是协议报文还是业务报文。
当所述预设报文识别策略采用优先级识别的策略时,所述网络设备100通过将读取到的所述输入报文的优先级与预设优先级阈值进行比较的方式,判断所述输入报文是协议报文还是业务报文。具体地,当所述输入报文的优先级大于所述预设优先级阈值,则判定所述输入报文为协议报文,反之则判定所述输入报文为业务报文;或当所述输入报文的优先级小于所述预设优先级阈值,则判定所述输入报文为协议报文,反之则判定所述输入报文为业务报文。
当所述预设报文识别策略采用头部字段识别的策略时,所述网络设备100通过将提取到的输入报文的头部字段值与预设字段值进行比较的方式,判断所述输入报文是协议报文还是业务报文。具体地,所述预设字段值为协议报文中用于表征报文类别的协议字段值,若所述输入报文的头部字段值与所述预设字段值相同,则判定所述输入报文为协议报文,反之则判定所述输入报文为业务报文。
步骤S220,若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内。
在本实施例中,所述网络设备100可专门从所述存储器中划分出一个缓冲区池,用于对协议报文进行存储,以改善现有技术中常见的协议报文丢包状况,降低协议报文丢包风险,其中所述第一缓冲区池即为用于存储协议报文的缓冲区池。当所述网络设备100判定所述输入报文为协议报文时,所述网络设备100将所述输入报文存储到与所述协议报文对应的第一缓冲区池内。其中,所述网络设备100可将所述输入报文直接进行读取后存入到所述第一缓冲区池内,以完成对所述输入报文的接收;所述网络设备100也可将所述输入报文直接存储入所述第一缓冲区池后,对所述输入报文进行读取,以完成对所述输入报文的接收;所述网络设备100还可通过将所述输入报文存入到一专门存储协议报文的队列后,取出所述队列中存储的所有协议报文,并将取出的报文存储到所述第一缓冲区池内的方式,对所述输入报文进行接收。在本实施例的一种实施方式中,优选地采用最后一种方式对所述输入报文进行接收。
具体地,请参照图2,是图1中所示的步骤S220包括的子步骤的一种流程示意图。在本实施例中,所述步骤S220可以包括子步骤S221、子步骤S222及子步骤S223。其中,所述子步骤S221、子步骤S222及子步骤S223如下所示:
子步骤S221,若输入报文为协议报文,将所述输入报文存入到所述第一接收队列中。
在本实施例中,所述网络设备100还包括内存及处理器,所述内存中设置有用于对协议报文进行存储的第一接收队列,及用于对业务报文进行存储的第二接收队列,所述处理器包括IO控制器,所述处理器与所述内存之间通过内部总线连接,所述处理器通过所述IO控制器及所述内部总线组成处理器IO通道,所述网络接口的接口芯片上设置有DMA(Direct Memory Access,直接内存访问)控制器,所述DMA控制器可将输入的报文以DMA的方式传输到所述处理器的处理器IO通道,并经由所述处理器IO通道将所述报文传输到所述内存中的第一接收队列或第二接收队列中。
在本实施例的一种实施方式中,所述IO控制器采用PCIE控制器,所述PCIE控制器与所述接口芯片的DMA控制器之间通过PCIE总线连接,从所述网络接口输入的报文通过所述DMA控制器以DMA的方式经所述PCIE总线及所述处理器IO通道直接存入到所述内存的第一接收队列或第二接收队列中。
在本实施例中,若所述输入报文为协议报文时,所述网络设备100将通过所述处理器IO通道将所述输入报文存入到所述第一接收队列中。
子步骤S222,从所述第一接收队列中取出包含所述输入报文在内的至少一个协议报文。
在本实施例中,所述内存中存储有用于实现网络设备100对接收到的报文进行读取的软件,所述软件可由所述处理器运行,以取出所述第一接收队列或第二接收队列中的报文。所述网络设备100可通过所述软件按照轮询的方式从所述第一接收队列中取出包含所述输入报文在内的至少一个协议报文,其中所述网络设备100每轮从所述第一接收队列中取出的协议报文数量与所述软件的处理性能有关,若所述软件的处理性能足够,所述网络设备100每轮取出的协议报文的数目将是所述第一接收队列能够最大存储的协议报文数目。
子步骤S223,将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内。
在本实施例中,当所述网络设备100通过所述软件取出所述第一接收队列中的至少一个协议报文时,所述网络设备100会将所述至少一个协议报文存储到与协议报文对应的第一缓冲区池内,以完成对所述至少一个协议报文的接收,其中所述输入报文包含于所述至少一个协议报文中。
具体地,在本实施例中,所述将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内的步骤包括:
基于所述至少一个协议报文的数目,从所述第一缓冲区池中确定出至少一个协议报文缓冲区;
将所述至少一个协议报文对应缓存到所述至少一个协议报文缓冲区中。
其中,所述第一缓冲区池包括多个用于对协议报文进行缓存的协议报文缓冲区,所述网络设备100会根据取出的所述至少一个协议报文的数目,从所述第一缓冲区池内确定出数目与所述至少一个协议报文的数目相同的至少一个协议报文缓冲区,并将所述至少一个协议报文对应的缓存到所述至少一个协议报文缓冲区中。其中每个协议报文对应一个协议报文缓冲区,从而将所述输入报文存储到所述第一缓冲区池内,完成所述网络设备100对所述输入报文的接收,确保协议报文不会因为业务报文过多而无法被接收,从而改善现有技术中协议报文丢包状况,使所述网络设备100的网络协议稳定运行,提高所述网络设备100的竞争力。
步骤S230,若所述输入报文为业务报文,则将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。
在本实施例中,与所述第一缓冲区池类似,所述网络设备100也可专门从所述存储器中划分出一个缓冲区池,用于对业务报文进行存储,则所述缓冲区池即为所述第二缓冲区池。当所述网络设备100判定所述输入报文为业务报文时,所述网络设备100将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。其中,所述网络设备100可将所述输入报文直接进行读取后存入到所述第二缓冲区池内,以完成对所述输入报文的接收;所述网络设备100也可将所述输入报文直接存储入所述第二缓冲区池后,对所述输入报文进行读取,以完成对所述输入报文的接收;所述网络设备100还可通过将所述输入报文存入到一专门存储业务报文的队列后,取出所述队列中存储的所有业务报文,并将取出的报文存储到所述第二缓冲区池内的方式,对所述输入报文进行接收。在本实施例的一种实施方式中,优选地采用最后一种方式对所述输入报文进行接收。
具体地,请参照图3,是图1中所示的步骤S230包括的子步骤的一种流程示意图。在本实施例中,所述步骤S230可以包括子步骤S231、子步骤S232及子步骤S233。其中,所述子步骤S231、子步骤S232及子步骤S233如下所示:
子步骤S231,若输入报文为业务报文,将所述输入报文存入到第二接收队列中。
在本实施例中,若所述输入报文为业务报文时,所述网络设备100将通过所述处理器IO通道将所述输入报文存入到所述第二接收队列中。
子步骤S232,当第一接收队列为空时,从所述第二接收队列中取出包含所述输入报文在内的至少一个业务报文。
在本实施例中,所述网络设备100会优先地对所述第一接收队列中的协议报文进行接收,当所述网络设备100检测到所述第一接收队列中的协议报文被全部存储到所述第一缓冲区池内即所述第一接收队列为空时,所述网络设备100才会通过所述内存中的软件按照轮询的方式从所述第二接收队列中取出包含所述输入报文在内的至少一个业务报文,其中若所述软件的处理性能足够,所述网络设备100每轮取出的业务报文的数目将是所述第二接收队列能够最大存储的业务报文数目。
子步骤S233,将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内。
在本实施例中,与所述第一缓冲区池类似,所述第二缓冲区池包括多个用于对业务报文进行缓存的业务报文缓冲区。当所述网络设备100通过所述软件取出所述第二接收队列中的至少一个业务报文时,所述网络设备100会将所述至少一个业务报文存储到与业务报文对应的第二缓冲区池内,以完成对所述至少一个业务报文的接收,其中所述输入报文包含于所述至少一个业务报文中。
具体地,在本实施例中,所述将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内的步骤包括:
基于所述至少一个业务报文的数目,从所述第二缓冲区池中确定出至少一个业务报文缓冲区;
将所述至少一个业务报文对应缓存到所述至少一个业务报文缓冲区中。
其中,所述网络设备100会根据取出的所述至少一个业务报文的数目,对应地从所述第二缓冲区池内确定出数目与所述至少一个业务报文的数目相同的至少一个业务报文缓冲区,并将所述至少一个业务报文缓冲区对应的分配给所述至少一个业务报文,以使每个业务报文对应一个业务报文缓冲区,从而将所述至少一个业务报文缓存到所述至少一个业务报文缓冲区中,完成所述网络设备100对所述输入报文的接收。
请参照图4,是本发明较佳的实施例提供的报文接收方法的另一种流程示意图。在本发明实施例中,所述报文接收方法还可以包括:
步骤S209,配置并构建第一缓冲区池及第二缓冲区池。
在本实施例中,所述网络设备100会预先地在所述存储器中划分出用于对协议报文进行存储的第一缓冲区池,用于对业务报文进行存储的第二缓冲区池,并对所述第一缓冲区池中包括的协议报文缓冲区数目和所述第二缓冲区池包括的业务报文缓冲区数目进行配置,以确保所述第一缓冲区池和所述第二缓冲区池能够分别具有足够数目的缓冲区对协议报文和业务报文进行缓存。其中所述第一缓冲区池中的协议报文缓冲区数目可以与所述第二缓冲区池中的业务报文缓冲区数目有所不同,具体的情况可由所述网络设备100的生产人员或设计人员根据不同的报文接收需求进行不同的设置。在本实施例的一种实施方式中,优选地将所述第一缓冲区池中的协议报文缓冲区数目配置为大于所述第二缓冲区池中的业务报文缓冲区数目的状态,以提高所述第一缓冲区池对协议报文的接收能力,降低协议报文丢包的风险。
请参照图5,是本发明较佳的实施例提供的网络设备100的一种方框示意图。在本发明实施例中,所述网络设备100可以包括:报文识别模块110、第一存储模块120及第二存储模块130。
所述报文识别模块110,用于对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文。
在本实施例中,所述报文识别模块110可以执行图1中的步骤S210,具体的描述可参照上文中对步骤S210的详细描述。
所述第一存储模块120,用于若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内。
在本实施例中,所述第一存储模块120可以执行图1中的步骤S220,具体的描述可参照上文中对步骤S220的详细描述。
请参照图6,是图5中所示的第一存储模块120的一种方框示意图。在本实施例中,所述第一存储模块120可以包括:第一接收子模块121、第一取出子模块122及第一存储子模块123。
所述第一接收子模块121,用于若输入报文为协议报文,将所述输入报文存入到所述第一接收队列中。
在本实施例中,所述第一接收子模块121可以执行图2中的子步骤S221,具体的描述可参照上文中对子步骤S221的详细描述。
所述第一取出子模块122,用于从所述第一接收队列中取出包含所述输入报文在内的至少一个协议报文。
在本实施例中,所述第一取出子模块122可以执行图2中的子步骤S222,具体的描述可参照上文中对子步骤S222的详细描述。
所述第一存储子模块123,用于将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内。
在本实施例中,所述第一存储子模块123可以执行图2中的子步骤S223,具体的描述可参照上文中对子步骤S223的详细描述。
所述第二存储模块130,用于若所述输入报文为业务报文,则将所述输入报文存储到与所述业务报文对应的第二缓冲区池内。
在本实施例中,所述第二存储模块130可以执行图1中的步骤S230,具体的描述可参照上文中对步骤S230的详细描述。
请参照图7,是图5中所示的第二存储模块130的一种方框示意图。在本实施例中,所述第二存储模块130可以包括:第二接收子模块131、第二取出子模块132及第二存储子模块133。
所述第二接收子模块131,用于若输入报文为业务报文,将所述输入报文存入到第二接收队列中。
在本实施例中,所述第二接收子模块131可以执行图3中的子步骤S231,具体的描述可参照上文中对子步骤S231的详细描述。
所述第二取出子模块132,用于当第一接收队列为空时,从所述第二接收队列中取出包含所述输入报文在内的至少一个业务报文。
在本实施例中,所述第二取出子模块132可以执行图3中的子步骤S232,具体的描述可参照上文中对子步骤S232的详细描述。
所述第二存储子模块133,用于将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内。
在本实施例中,所述第二存储子模块133可以执行图3中的子步骤S233,具体的描述可参照上文中对子步骤S233的详细描述。
请参照图8,是本发明较佳的实施例提供的网络设备100的另一种方框示意图。在本发明实施例中,所述网络设备100还可以包括缓冲区池配置模块140。
所述缓冲区池配置模块140,用于配置并构建第一缓冲区池及第二缓冲区池。
在本实施例中,所述缓冲区池配置模块140可以执行图4中的步骤S209,具体的描述可参照上文中对步骤S209的详细描述。
综上所述,在本发明较佳的实施例提供的报文接收方法及网络设备中,所述报文接收方法的协议报文接收可靠性高,能够确保协议报文不会因为业务报文过多而无法被接收,从而改善现有技术中协议报文丢包状况,使对应网络设备的网络协议稳定运行,提高网络设备的竞争力。具体地,所述方法通过对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文,并根据判断结果将所述输入报文存储到对应的缓冲区池内:若判断结果显示所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;若判断结果显示所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内,从而使网络设备能够向输入的报文提供足够的用于缓存协议报文的缓冲区,降低协议报文丢包风险,确保所述网络设备的网络协议稳定运行。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种报文接收方法,应用于网络设备,其特征在于,所述方法包括:
对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文;
若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;
若所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内,其中所述第一缓冲区池中的协议报文缓冲区数目大于所述第二缓冲区池中的业务报文缓冲区数目。
2.根据权利要求1所述的方法,其特征在于,若所述输入报文为协议报文,则将所述输入报文存储到与所述协议报文对应的第一缓冲区池内,包括:
若输入报文为协议报文,将所述输入报文存入到第一接收队列中;
从所述第一接收队列中取出包含所述输入报文在内的至少一个协议报文;
将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内。
3.根据权利要求2所述的方法,其特征在于,所述第一缓冲区池包括多个协议报文缓冲区,则将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内,包括:
基于所述至少一个协议报文的数目,从所述第一缓冲区池中确定出至少一个协议报文缓冲区;
将所述至少一个协议报文对应缓存到所述至少一个协议报文缓冲区中。
4.根据权利要求2所述的方法,其特征在于,若所述输入报文为业务报文,则将所述输入报文存储到与所述业务报文对应的第二缓冲区池内,包括:
若输入报文为业务报文,将所述输入报文存入到第二接收队列中;
当第一接收队列为空时,从所述第二接收队列中取出包含所述输入报文在内的至少一个业务报文;
将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内。
5.根据权利要求4所述的方法,其特征在于,所述第二缓冲区池包括多个业务报文缓冲区,则将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内,包括:
基于所述至少一个业务报文的数目,从所述第二缓冲区池中确定出至少一个业务报文缓冲区;
将所述至少一个业务报文对应缓存到所述至少一个业务报文缓冲区中。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文,包括:
根据预设报文识别策略读取所述输入报文的优先级信息或头部字段信息,并根据所述优先级信息或头部字段信息对所述输入报文进行识别,判断所述输入报文是协议报文还是业务报文。
7.一种网络设备,其特征在于,所述设备包括:
报文识别模块,用于对输入报文进行报文识别,判断所述输入报文是协议报文还是业务报文;
第一存储模块,用于若所述输入报文为协议报文,将所述输入报文存储到与所述协议报文对应的第一缓冲区池内;
第二存储模块,用于若所述输入报文为业务报文,将所述输入报文存储到与所述业务报文对应的第二缓冲区池内,其中所述第一缓冲区池中的协议报文缓冲区数目大于所述第二缓冲区池中的业务报文缓冲区数目。
8.根据权利要求7所述的设备,其特征在于,所述第一存储模块包括:
第一接收子模块,用于若输入报文为协议报文,将所述输入报文存入到第一接收队列中;
第一取出子模块,用于从所述第一接收队列中取出包含所述输入报文在内的至少一个协议报文;
第一存储子模块,用于将所述至少一个协议报文存储到与所述协议报文对应的第一缓冲区池内。
9.根据权利要求8所述的设备,其特征在于,所述第二存储模块包括:
第二接收子模块,用于若所述输入报文为业务报文,将所述输入报文存入到第二接收队列中;
第二取出子模块,用于当第一接收队列为空时,从所述第二接收队列中取出包含所述输入报文在内的至少一个业务报文;
第二存储子模块,用于将所述至少一个业务报文存储到与所述业务报文对应的第二缓冲区池内。
10.根据权利要求7-9中任意一项所述的设备,其特征在于,所述设备还包括:
缓冲区池配置模块,用于配置并构建第一缓冲区池及第二缓冲区池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710821741.XA CN107426113B (zh) | 2017-09-13 | 2017-09-13 | 报文接收方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710821741.XA CN107426113B (zh) | 2017-09-13 | 2017-09-13 | 报文接收方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107426113A CN107426113A (zh) | 2017-12-01 |
CN107426113B true CN107426113B (zh) | 2020-03-17 |
Family
ID=60432955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710821741.XA Active CN107426113B (zh) | 2017-09-13 | 2017-09-13 | 报文接收方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107426113B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286575B (zh) * | 2018-09-29 | 2021-12-17 | 迈普通信技术股份有限公司 | 报文优先级配置方法、装置及网络设备 |
CN113364705B (zh) * | 2020-03-06 | 2022-06-17 | 烽火通信科技股份有限公司 | 一种协议报文的处理方法及系统 |
CN114363113A (zh) * | 2020-09-27 | 2022-04-15 | 中兴通讯股份有限公司 | Vpn业务优先级的指定方法、系统、介质及设备 |
CN112187665B (zh) * | 2020-09-28 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种报文处理的方法及装置 |
CN112367261B (zh) * | 2020-11-30 | 2022-10-18 | 迈普通信技术股份有限公司 | 一种报文转发方法及装置、分布式设备 |
CN113991839B (zh) * | 2021-10-15 | 2023-11-14 | 许继集团有限公司 | 一种提升遥控开出可靠性的装置及方法 |
CN116055420A (zh) * | 2022-12-07 | 2023-05-02 | 蔚来汽车科技(安徽)有限公司 | 整合办公网络与工业网络后的信息传输方法及控制装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913486A (zh) * | 2005-08-10 | 2007-02-14 | 中兴通讯股份有限公司 | 一种增强协议报文安全的方法和装置 |
US7720802B2 (en) * | 2007-01-03 | 2010-05-18 | International Business Machines Corporation | Reclaiming resident buffers when a reclaim threshold has been exceeded by swapping the oldest in use buffer and a new buffer, and referencing the new buffer via an updated set of read and write pointers |
US8121117B1 (en) * | 2007-10-01 | 2012-02-21 | F5 Networks, Inc. | Application layer network traffic prioritization |
CN102143035B (zh) * | 2010-06-04 | 2013-06-12 | 华为技术有限公司 | 数据业务处理方法、网络设备和网络系统 |
US20140036680A1 (en) * | 2012-07-31 | 2014-02-06 | Futurewei Technologies, Inc. | Method to Allocate Packet Buffers in a Packet Transferring System |
US9398117B2 (en) * | 2013-09-26 | 2016-07-19 | Netapp, Inc. | Protocol data unit interface |
CN103618646B (zh) * | 2013-11-28 | 2016-09-21 | 瑞斯康达科技发展股份有限公司 | 网络性能、丢包率、时延测试方法及网络边缘节点设备 |
CN106330762A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 交换机加速处理数据的方法、cpu核和交换机 |
-
2017
- 2017-09-13 CN CN201710821741.XA patent/CN107426113B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107426113A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107426113B (zh) | 报文接收方法及网络设备 | |
US7307998B1 (en) | Computer system and network interface supporting dynamically optimized receive buffer queues | |
US9774651B2 (en) | Method and apparatus for rapid data distribution | |
US8631152B2 (en) | System and method for data packet transmission and reception | |
WO2023240998A1 (zh) | 数据包处理方法、通信芯片及计算机设备 | |
CN111641566B (zh) | 数据处理的方法、网卡和服务器 | |
CN111221759A (zh) | 一种基于dma的数据处理系统及方法 | |
EP3588879A1 (en) | Technologies for buffering received network packet data | |
CN114513472A (zh) | 网络拥塞控制方法及装置 | |
US7209489B1 (en) | Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
CN116204487A (zh) | 远程数据访问方法及装置 | |
CN116582387A (zh) | 报文发送方法、装置以及设备 | |
CN116208574A (zh) | 报文处理方法、装置、电子设备及计算机可读存储介质 | |
CN115495406A (zh) | 一种基于PCIe的报文传输方法、装置、设备及存储介质 | |
CN112422457B (zh) | 报文处理方法、装置和计算机存储介质 | |
CN113645156A (zh) | 交换机sai层消息队列调节方法、系统、终端及存储介质 | |
US20030223447A1 (en) | Method and system to synchronize a multi-level memory | |
CN113794585B (zh) | 一种报文处理方法及装置 | |
CN117675720B (zh) | 消息报文传输方法、装置、电子设备和存储介质 | |
JP7464144B2 (ja) | ネットワークカードおよびバッファ制御方法 | |
CN114785631B (zh) | 通信协议栈复用方法、通信方法、计算机设备及介质 | |
CN111124987B (zh) | 一种基于pcie的数据传输控制系统和方法 | |
CN116112456B (zh) | 一种基于bap协议的数据缓存方法、装置、设备及介质 | |
US20240045827A1 (en) | Management system, processing chip, apparatus, device, and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |