CN108777662B - 表项管理方法及装置 - Google Patents

表项管理方法及装置 Download PDF

Info

Publication number
CN108777662B
CN108777662B CN201810640583.2A CN201810640583A CN108777662B CN 108777662 B CN108777662 B CN 108777662B CN 201810640583 A CN201810640583 A CN 201810640583A CN 108777662 B CN108777662 B CN 108777662B
Authority
CN
China
Prior art keywords
forwarding
data stream
core
entry
characteristic information
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
Application number
CN201810640583.2A
Other languages
English (en)
Other versions
CN108777662A (zh
Inventor
汪佐
魏援
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201810640583.2A priority Critical patent/CN108777662B/zh
Publication of CN108777662A publication Critical patent/CN108777662A/zh
Application granted granted Critical
Publication of CN108777662B publication Critical patent/CN108777662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种表项管理方法及装置,涉及通信领域。转发核通过查找不存在数据流中源MAC地址对应的转发表项后,且在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中,然后通知控制核的方式,以便控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。过滤掉重复学习MAC地址的数据流,提高表项学习效率,减轻转发核的运算逻辑,从而提高表项管理装置的转发性能。

Description

表项管理方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种表项管理方法及装置。
背景技术
在数据通信领域中,多核分布式架构已经非常成熟,多核架构相对于单核架构很大程度上提高了设备的整机转发性能。但是在二层转发网络中,当网络中有大量突发流量时,大量突发流程进入设备内洪泛,导致设备性能较差。因此,如何快速学习MAC转发表项,提高整机转发性能,提高整网的稳定性的方案,
发明内容
本发明的目的在于提供一种表项管理方法及装置。本发明采取的技术方案如下:
第一方面,本发明实施例提供了一种表项管理方法,所述方法包括:任一转发核获取接收到的数据流中的源MAC地址;所述任一转发核基于所述源MAC地址,查找是否存在对应的转发表项;所述任一转发核在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录;所述任一转发核未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;所述任一转发核同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;所述任一转发核通知控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
在本申请实施例中,转发核通过查找不存在数据流中源MAC地址对应的转发表项后,且在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中,然后通知控制核的方式,以便控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。过滤掉重复学习MAC地址的数据流,提高表项学习效率,减轻转发核的运算逻辑,从而提高表项管理装置的转发性能。
可选地,在所述任一转发核获取接收到的数据流中的源MAC地址之前,所述方法还包括:为每个转发核分别分配一块对应的本地缓存,所述本地缓存每个存储单元用于保存所述每个转发核获取的用于创建表项的数据流的特征信息。
在本申请实施例中,预先为每个转发核分配对应的本地缓存,以便于后续的学习。
可选地,所述将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,包括:所述任一转发核根据所述本地缓存每个存储单元的使用标识查找空闲存储单元,将所述用于创建表项的所述数据流的特征信息存入所述空闲存储单元后,设置所述空闲存储单元对应的使用标识。
可选地,所述任一转发核通知控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建,包括:所述任一转发核通过核间通信机制通知控制核唤醒表项创建任务,所述表项创建任务对所述预设消息队列中的每个数据流特征信息依次出队,并创建对应的转发表项。
在本申请实施例中,转发核唤醒控制核,以使控制核进行创建转发表项任务,提高表项学习效率。
可选地,所述方法还包括:所述控制核在所述表项创建任务每次对所述预设消息队列中的每个数据流特征信息出队并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息。
在本申请实施例中,控制核在所述表项创建任务进行出对并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息,减少存储空间。
第二方面,本发明实施例提供了一种表项管理装置,所述装置包括多个转发核和一个控制核。所述转发核,用于获取接收到的数据流中的源MAC地址;基于所述源MAC地址,查找是否存在对应的转发表项;在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录;在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;通知所述控制核。所述控制核,用于依据所述转发核的通知,依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
本发明实施例提供了一种表项管理方法及装置,转发核通过查找不存在数据流中源MAC地址对应的转发表项后,且在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中,然后通知控制核的方式,以便控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。过滤掉重复学习MAC地址的数据流,提高表项学习效率,减轻转发核的运算逻辑,从而提高表项管理装置的转发性能。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的表项管理装置的结构框图;
图2为本发明实施例提供的一种表项管理方法的流程图;
图3为本发明实施例提供的表项管理方法的数据流向示意图;
图4为本发明实施例的应用实例的网络环境。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本发明实施例提供了一种表项管理装置100,包括多个转发核200和控制核300。所述转发核200与所述控制核300可以利用现有的核间通信机制进行核间通信。所述转发核400,用于获取接收到的数据流中的源MAC地址;基于所述源MAC地址,查找是否存在对应的转发表项;在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录;在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;通知所述控制核300。
所述控制核300,用于依据所述转发核的通知,依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
在本实施例中,表项管理装置100可以为用于桥接层二转发的设备,也可以为路由器。
请参阅图2,本发明实施例提供了一种表项管理方法,所述方法包括:步骤S200、步骤S210、步骤S220、步骤S230、步骤S240和步骤S250。
步骤S200:任一转发核获取接收到的数据流中的源MAC地址。
步骤S200可以包括:任一转发核解析接收到的数据流,获得所述数据流中的源MAC地址和其他特征信息。
其他特征信息可以包括,但不限于端口ID和VLAN ID等。如图3,当网络中瞬时有大量的突发数据流量进入表项管理装置时,多条数据流首先被表项管理装置的驱动模块收上来根据五元组进行哈希,将这些数据流哈希到表项管理装置的各个转发核上,如图3中的core1、core2、core3、core4。
在本步骤中,为了提高查找效率,根据数据流中的源MAC地址(48位)和其他数据流特征信息计算该数据流对应的key值(16位),基于数据流的源MAC地址与key值一起查找转发表,查找宽度为64位,查找效率更高。
步骤S210:所述任一转发核基于所述源MAC地址,查找是否存在对应的转发表项。
在本步骤中,可以根据数据流中的源MAC地址查找对应的转发表项;也可以为了提高查找效率,根据数据流中的源MAC地址(48位)和其他数据流特征信息计算该数据流对应的key值(16位),基于数据流的源MAC地址与key值一起查找转发表,查找宽度为64位,查找效率更高。
步骤S220:所述任一转发核在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录。
在本实施例中,转发核在未查找到对应的转发表项时时,将所述源MAC地址和其他征信息(如端口ID和VLAN ID等)以及key值与转发核对应的本地缓存中信息内容对应进行对比,若对比结果一致,表明存在数据流对应的表项记录,若对比结果不一致,表明不存在数据流对应的表项记录。
在本实施例中,每个转发核分配的对应本地缓存可以采用数组结构,如图3所示,MSG记为一个转发核对应的本地缓存数组,本地缓存数组的大小为128个字节,本地缓存数组中信息内容包括atomic_t isUSE表征本地缓存数组中的节点是否被使用的标识、intgroupld即VLAN ID、int devld即数据流的源端口、int flag、UNIT8 macAddress[6]即源MAC地址、UNIT16key即key值。
步骤S230:所述任一转发核未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中。
具体地,步骤S230,包括:所述任一转发核根据所述本地缓存每个存储单元的使用标识查找空闲存储单元,将所述用于创建表项的所述数据流的特征信息存入所述空闲存储单元后,设置所述空闲存储单元对应的使用标识。
在本实例中,所述数据流的特征信息包括源MAC地址、key值、端口ID和VLAN ID。
步骤S240:所述任一转发核同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;
步骤S250:所述任一转发核通知控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
在本申请实施例中,转发核通过查找不存在数据流中源MAC地址对应的转发表项后,且在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中,然后通知控制核的方式,以便控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。过滤掉重复学习MAC地址的数据流,提高表项学习效率,减轻转发核的运算逻辑,从而提高表项管理装置的转发性能。
可选地,在步骤S200之前,所述方法还包括:
为每个转发核分别分配一块对应的本地缓存(可以采用数组结构),所述本地缓存每个存储单元用于保存所述每个转发核获取的用于创建表项的数据流的特征信息。
在本申请实施例中,预先为每个转发核分配对应的本地缓存,以便于后续的学习。
具体地,步骤S250,包括:所述任一转发核通过核间通信机制通知控制核唤醒表项创建任务,所述表项创建任务对所述预设消息队列中的每个数据流特征信息依次出队,并创建对应的转发表项。
在本申请实施例中,转发核唤醒控制核,以使控制核进行创建转发表项任务,提高表项学习效率。
在本实施例中,表项管理装置可以为分布式网络设备中的线卡,线卡包括多个转发核和控制核,每个转发核执行步骤S200-步骤S250,当控制核的表项创建任务被多个转发核中的一个转发核唤醒后,控制核的表项创建任务在对预设消息队列中的消息执行出队创建表项时,所有转发核由于互斥不能再通过核间通信机制唤醒控制核表项创建任务,直到控制核批量将当前预设消息队列的消息批量处理创建完对应的转发表项后,其它转发核才能再次唤醒控制核表项创建任务进行遍历出队。控制核表项创建任务在出队创建表项的这段时间,所有需要学习MAC地址的数据流存在相应转发核的本地缓存中,并存入预设消息队列中。每个转发核对应的本地缓存可以采用数组的结构形式组织,如图3所示,MSG记为一个转发核对应的本地缓存数组,本地缓存数组的大小为128个字节,本地缓存数组中信息内容包括atomic_t isUSE表征本地缓存数组中的节点是否被使用的标识、int groupld即VLANID、int devld即数据流的源端口、int flag、UNIT8 macAddress[6]即源MAC地址、UNIT16key即key值。
在本实施例中,多个转发核各自对应的本地缓存的总数可以与预设消息队列的长度相等。以实现可以将多个转发核各自对应的本地缓存中的消息一次全部加入到预设消息队列中。
可选地,预设消息队列的长度可以不大于2K。从而节省控制核表项创建任务一次调度遍历出队时间,确保表项管理装置中的其他任务调度的正常运行。
可选地,所述方法还包括:
所述控制核在所述表项创建任务每次对所述预设消息队列中的每个数据流特征信息出队并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息。
在本申请实施例中,控制核在所述表项创建任务进行出对并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息,减少存储空间。
在本实施例中,为了避免转发核与控制核频繁进行核间通信,影响学习效率,对转发核和控制核的相关处理进行互斥。当控制核的表项创建任务被某个转发核唤醒后,控制核的表项创建任务在出队创建表项时,所有转发核不会再通过核间通信唤醒表项创建任务,直到控制核的表项创建任务批量将上次消息队列的消息批量处理完成后,其它转发核才能再次唤醒控制核的表项创建任务。在控制核表项创建任务在出队创建表项的这段时间,所有转发核接收到的需要学习MAC地址的数据流只能存在相应转发核的本地缓存中,并存入消息队列中,减轻转发核的运算逻辑,转发核只是进行简单的解析和过滤重复学习MAC的数据流以及批量入队,没有其它复杂的逻辑,控制核表项创建任务可以一次批量创建多条表项,有效的提高了表项学习的效率。
为了更进一步地说明本发明实施例提供的表项管理方法的有效效果,以表项管理装置为路由器为例进行阐述,如图4所示的网络环境中,用户群A与用户群B进行通信,模拟用户群A和用户群B的突发流量各为20K,分别通过G0/0/0端口和G0/0/1端口进入路由器中进行层二转发表学习。路由器设备线卡包括15个转发核和1个控制核。每个消息长度是80字节,其中所有转发核对应的本地缓存数组的总数与预设消息队列的长度是相等的,这样可以将所有转发核对应的本地缓存数组中消息一次全部入队。预设消息队列的长度不能超过2K,不然控制核表项创建任务一次调度出队时间过长,影响系统其它任务调度。本实施例中,预设消息队列的长度为1920字节,则每个转发核对应的本地缓存大小是1920/转发核数=1920/15=128字节,即为每个转发核预分配128个本地缓存。上述参数环境下,实际测试路由器学习用户A和用户B突发40K流量转发表,收敛时间为毫秒级别,且从各个转发核中本地过滤去重的统计来看,每个转发核可以过滤掉重复学习MAC的数据流量。从实际测试效果来看,40K的数据突发流量,其学习表项的收敛时间是毫秒级的,学习速度非常快。根据单个转发核过滤去重的统计来看,每个转发核可以过滤掉重复学习MAC地址的数据流量,过滤去重效果明显。
本发明实施例提供了一种表项管理方法,转发核通过查找不存在数据流中源MAC地址对应的转发表项后,且在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中,然后通知控制核的方式,以便控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。过滤掉重复学习MAC地址的数据流,提高表项学习效率,减轻转发核的运算逻辑,从而提高表项管理装置的转发性能。
请参阅图1,本发明实施例提供了一种表项管理装置100,包括多个转发核200和控制核300。所述转发核200与所述控制核300核间通信。所述转发核200,用于获取接收到的数据流中的源MAC地址;基于所述源MAC地址,查找是否存在对应的转发表项;在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录;在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;通知所述控制核300。
所述控制核300,用于依据所述转发核的通知,依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
可选地,所述转发核200,用于为每个转发核分别分配一块对应的本地缓存,所述本地缓存每个存储单元用于保存所述每个转发核获取的用于创建表项的数据流的特征信息。
可选地,所述转发核200,用于根据所述本地缓存每个存储单元的使用标识查找空闲存储单元,将所述用于创建表项的所述数据流的特征信息存入所述空闲存储单元后,设置所述空闲存储单元对应的使用标识。
可选地,所述转发核200,用于通过核间通信机制通知控制核唤醒表项创建任务,所述表项创建任务对所述预设消息队列中的每个数据流特征信息依次出队,并创建对应的转发表项。
可选地,所述控制核300,用于在所述表项创建任务每次对所述预设消息队列中的每个数据流特征信息出队并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的表项管理装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种表项管理方法,其特征在于,所述方法包括:
任一转发核获取接收到的数据流中的源MAC地址和其他特征信息,根据所述源MAC地址和所述其他特征信息计算该数据流的对应的key值;所述任一转发核基于所述源MAC地址与所述key值,查找是否存在对应的转发表项;
所述任一转发核在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录,其中,在对应的本地缓存中查找是否存在所述数据流对应的表项记录,包括:将所述源MAC地址、所述其他特征信息以及所述key值与对应的本地缓存中信息内容对应进行比对,若比对结果一致,则表明存在所述数据流对应的表项记录;
所述任一转发核未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;
所述任一转发核同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;
所述任一转发核通知控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建。
2.根据权利要求1所述的方法,其特征在于,在所述任一转发核获取接收到的数据流中的源MAC地址之前,所述方法还包括:
为每个转发核分别分配一块对应的本地缓存,所述本地缓存的每个存储单元用于保存所述每个转发核获取的用于创建表项的数据流的特征信息。
3.根据权利要求1所述的方法,其特征在于,所述将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中,包括:
所述任一转发核根据所述本地缓存每个存储单元的使用标识查找空闲存储单元,将所述用于创建表项的所述数据流的特征信息存入所述空闲存储单元后,设置所述空闲存储单元对应的使用标识。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述任一转发核通知控制核依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建,包括:
所述任一转发核通过核间通信机制通知控制核唤醒表项创建任务,所述表项创建任务对所述预设消息队列中的每个数据流特征信息依次出队,并创建对应的转发表项。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述控制核在所述表项创建任务每次对所述预设消息队列中的每个数据流特征信息出队并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息。
6.一种表项管理装置,其特征在于,所述装置包括多个转发核和一个控制核:
所述转发核,用于获取接收到的数据流中的源MAC地址和其他特征信息,根据所述源MAC地址和所述其他特征信息计算该数据流的对应的key值;基于所述源MAC地址与所述key值,查找是否存在对应的转发表项;在未查找到对应的转发表项时,在对应的本地缓存中查找是否存在所述数据流对应的表项记录;在未查找到所述数据流对应的表项记录时,将用于创建表项的所述数据流的特征信息存入所述本地缓存的空闲存储单元中;同时将所述用于创建表项的所述数据流的特征信息加入到预设消息队列中;通知所述控制核;
所述控制核,用于依据所述转发核的通知,依据所述预设消息队列中的所述数据流的特征信息进行对应的转发表项创建,
所述转发核,具体用于将所述源MAC地址、所述其他特征信息以及所述key值与对应的本地缓存中信息内容对应进行比对,若比对结果一致,则表明存在所述数据流对应的表项记录。
7.根据权利要求6所述的装置,其特征在于,所述转发核,用于为每个转发核分别分配一块对应的本地缓存,所述本地缓存每个存储单元用于保存所述每个转发核获取的用于创建表项的数据流的特征信息。
8.根据权利要求6所述的装置,其特征在于,所述转发核,用于根据所述本地缓存每个存储单元的使用标识查找空闲存储单元,将所述用于创建表项的所述数据流的特征信息存入所述空闲存储单元后,设置所述空闲存储单元对应的使用标识。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述转发核,用于通过核间通信机制通知控制核唤醒表项创建任务,所述表项创建任务对所述预设消息队列中的每个数据流特征信息依次出队,并创建对应的转发表项。
10.根据权利要求6所述的装置,其特征在于,所述控制核,用于在所述表项创建任务每次对所述预设消息队列中的每个数据流特征信息出队并创建对应的转发表项后,删除对应的本地缓存的存储单元中保存的对应数据流特征信息。
CN201810640583.2A 2018-06-20 2018-06-20 表项管理方法及装置 Active CN108777662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810640583.2A CN108777662B (zh) 2018-06-20 2018-06-20 表项管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810640583.2A CN108777662B (zh) 2018-06-20 2018-06-20 表项管理方法及装置

Publications (2)

Publication Number Publication Date
CN108777662A CN108777662A (zh) 2018-11-09
CN108777662B true CN108777662B (zh) 2021-05-18

Family

ID=64025270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810640583.2A Active CN108777662B (zh) 2018-06-20 2018-06-20 表项管理方法及装置

Country Status (1)

Country Link
CN (1) CN108777662B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450816B (zh) * 2018-11-19 2022-08-12 迈普通信技术股份有限公司 一种队列调度方法、装置、网络设备及存储介质
CN110138662B (zh) * 2019-05-08 2021-09-14 东软集团股份有限公司 多核系统中的会话表项处理方法、装置及多核系统
CN112087388B (zh) * 2020-08-17 2022-03-08 深圳市风云实业有限公司 一种l2数据报文的转发方法
CN113626221B (zh) * 2021-08-10 2024-03-15 迈普通信技术股份有限公司 一种消息入队方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102347889A (zh) * 2010-08-04 2012-02-08 杭州华三通信技术有限公司 一种分层虚拟专用局域网中的报文转发方法、系统和装置
CN103067281A (zh) * 2012-12-28 2013-04-24 深圳市磊科实业有限公司 一种路由器快速转发方法及实施该方法的系统
CN103607351A (zh) * 2013-10-31 2014-02-26 杭州华三通信技术有限公司 一种芯片转发表项生成方法及设备
CN103944826A (zh) * 2013-01-22 2014-07-23 杭州华三通信技术有限公司 Spbm网络中的表项聚合方法及设备
CN104092612A (zh) * 2014-06-05 2014-10-08 汉柏科技有限公司 更新快速转发表匹配顺序的方法及装置
CN105099921A (zh) * 2015-05-29 2015-11-25 杭州华三通信技术有限公司 一种基于用户的快速业务处理方法以及装置
CN105357128A (zh) * 2015-10-30 2016-02-24 迈普通信技术股份有限公司 流表创建及查询方法
CN106330715A (zh) * 2015-06-30 2017-01-11 杭州华三通信技术有限公司 报文处理方法及装置
CN107171952A (zh) * 2017-04-06 2017-09-15 烽火通信科技股份有限公司 一种在vpls中实现防环的方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218524B2 (en) * 2013-09-17 2019-02-26 Cisco Technology, Inc. Bit indexed explicit replication for layer 2 networking

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102347889A (zh) * 2010-08-04 2012-02-08 杭州华三通信技术有限公司 一种分层虚拟专用局域网中的报文转发方法、系统和装置
CN103067281A (zh) * 2012-12-28 2013-04-24 深圳市磊科实业有限公司 一种路由器快速转发方法及实施该方法的系统
CN103944826A (zh) * 2013-01-22 2014-07-23 杭州华三通信技术有限公司 Spbm网络中的表项聚合方法及设备
CN103607351A (zh) * 2013-10-31 2014-02-26 杭州华三通信技术有限公司 一种芯片转发表项生成方法及设备
CN104092612A (zh) * 2014-06-05 2014-10-08 汉柏科技有限公司 更新快速转发表匹配顺序的方法及装置
CN105099921A (zh) * 2015-05-29 2015-11-25 杭州华三通信技术有限公司 一种基于用户的快速业务处理方法以及装置
CN106330715A (zh) * 2015-06-30 2017-01-11 杭州华三通信技术有限公司 报文处理方法及装置
CN105357128A (zh) * 2015-10-30 2016-02-24 迈普通信技术股份有限公司 流表创建及查询方法
CN107171952A (zh) * 2017-04-06 2017-09-15 烽火通信科技股份有限公司 一种在vpls中实现防环的方法及设备

Also Published As

Publication number Publication date
CN108777662A (zh) 2018-11-09

Similar Documents

Publication Publication Date Title
CN108777662B (zh) 表项管理方法及装置
CN109684181B (zh) 告警根因分析方法、装置、设备及存储介质
US10516612B2 (en) System and method for identification of large-data flows
US9832122B2 (en) System and method for identification of large-data flows
CN107104824B (zh) 一种网络拓扑确定方法和装置
CN108848034B (zh) 一种网络设备及表项学习方法
CN104298687B (zh) 一种哈希分区管理方法及装置
CN111628941A (zh) 一种网络流量的分类处理方法、装置、设备及介质
CN106407224A (zh) 一种键值存储系统中文件压实的方法和装置
CN110673928A (zh) 线程绑定方法、装置、存储介质及服务器
CN112667860A (zh) 一种子图匹配方法、装置、设备及存储介质
CN111143158A (zh) 一种监控数据实时存储方法、系统、电子设备及存储介质
CN112468365A (zh) 用于网络镜像流量的数据质量检测方法、系统及介质
US20160248724A1 (en) Social Message Monitoring Method and Apparatus
CN109688126B (zh) 一种数据处理方法、网络设备及计算机可读存储介质
CN112866139A (zh) 一种多规则流分类的实现方法、设备和存储介质
CN109067744B (zh) Acl规则处理方法、装置及通信设备
CN107526690B (zh) 清除缓存的方法及装置
CN115118615B (zh) 一种网络监控数据处理方法及装置
CN115309907B (zh) 告警日志关联方法及装置
CN109150819B (zh) 一种攻击识别方法及其识别系统
CN111008071A (zh) 任务调度系统、方法和服务器
Hassan et al. SBG-sketch: A self-balanced sketch for labeled-graph stream summarization
CN113934361B (zh) 用于管理存储系统的方法、设备和计算机程序产品
EP3793171B1 (en) Message processing method, apparatus, and system

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