CN105227465A - 一种cpu代理方法以及网络设备 - Google Patents

一种cpu代理方法以及网络设备 Download PDF

Info

Publication number
CN105227465A
CN105227465A CN201410284855.1A CN201410284855A CN105227465A CN 105227465 A CN105227465 A CN 105227465A CN 201410284855 A CN201410284855 A CN 201410284855A CN 105227465 A CN105227465 A CN 105227465A
Authority
CN
China
Prior art keywords
message
cpu
forwarding chip
forwarding
port
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.)
Granted
Application number
CN201410284855.1A
Other languages
English (en)
Other versions
CN105227465B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201410284855.1A priority Critical patent/CN105227465B/zh
Publication of CN105227465A publication Critical patent/CN105227465A/zh
Application granted granted Critical
Publication of CN105227465B publication Critical patent/CN105227465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种CPU代理方法以及网络设备,该网络设备包括转发芯片以及中央处理器CPU,其中,CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。本发明将原本经由任务繁多的CPU泛洪的工作交由转发芯片执行,可有效减少CPU资源的占用,提高设备整体的处理效率。

Description

一种CPU代理方法以及网络设备
技术领域
本发明涉及通讯技术领域,尤其涉及一种CPU代理方法以及网络设备。
背景技术
当前基于IP网络的新业务、新应用日益增多,为了解决业务层面的安全问题,不得不依靠CPU处理数据。CPU的处理性能影响着网络状况及用户体验,在现有技术中,业务板的交换芯片在接收到外部设备发送的报文时,通常转发给CPU,并由CPU进行业务、转发等处理。CPU在接收到报文后判断该报文为广播、组播或者未知单播等需进行泛洪的报文时,则会直接由CPU将该需泛洪的报文复制多份并转发出去,然而这样会占用大量的CPU资源,从而影响设备整体的处理效率,严重时会造成业务中断等致命问题。
发明内容
有鉴于此,本发明提供了一种CPU代理方法以及网络设备来解决上述问题。
本发明提供一种网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其中包括:
所述CPU,用于对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;
所述转发芯片,用于对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
本发明还提供一种CPU代理方法,应用于网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其中包括:
步骤A、对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;
步骤B、对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
本发明提供的CPU代理方法以及网络设备通过CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口,由转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。由此可见,本发明将原本经由任务繁多的CPU泛洪的工作交由转发芯片执行,可有效减少CPU资源的占用,提高设备整体的处理效率。
附图说明
图1是本发明实施例中网络设备逻辑结构示意图;
图2是本发明实施例中CPU代理方法流程框图;
图3是本发明实施例中CPU代理方法工作流程图。
具体实施方式
针对现有技术中由CPU对接收的广播、组播以及未知单播报文进行泛洪,从而占用大量的CPU资源,影响设备整体处理效率的问题,本发明提供了一种CPU代理方法以及网络设备,该网络设备的CPU对接收的经由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口,由转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
图1为本发明提供的网络设备逻辑结构示意图,本发明提供的CPU代理的方案中的网络设备包括转发芯片以及中央处理器CPU。请参考图2,根据本发明的思想,在一个示例性的实施方案中,该网络设备在运行过程中执行如下处理流程:
步骤201,CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;
步骤202,转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
请参考图3,本发明实施例中所述的CPU代理方法可由交换机或者路由器等网络设备执行。在网络设备的转发芯片接收到外部设备发送的报文后,首先判断接收的报文是控制报文还是数据报文,若该报文为数据报文,则进一步检查该数据报文是否命中由CPU为转发芯片下发的指定控制策略,即判断该数据报文是否与指定的控制策略相匹配,该控制策略可以为ACL(访问控制列表AccessControlList)。例如,该指定控制策略为对报文进行NAT处理或进行安全处理,那么若该数据报文为需要进行安全处理的报文,即命中了其中一项指定的ACL(命中指定控制策略),则将该命中指定ACL的数据报文发送至CPU进行相应地应用处理;若该数据报文未命中任意一项指定的ACL,则在转发芯片自身预存的转发表项中查找与该数据报文的目的MAC地址所对应的端口信息,并在查找到与其对应的端口信息时,将该数据报文发送至对应的端口。然而,若未在转发芯片自身预存的转发表项中查找到与该数据报文的目的MAC地址对应的端口信息,则判断所述未命中指定ACL的数据报文为未知单播报文或者是多播数据报文,并由转发芯片对该未知单播报文或多播数据报文进行泛洪。
另外,由于协议层面的控制报文均要上送至CPU的协议栈进行相应处理,因此在转发芯片接收到外部设备发送的报文为控制报文时,直接将所述控制报文转发至CPU处理。
CPU在接收到转发芯片上送的报文后,若接收的报文为命中指定ACL的数据报文,则对所述命中指定ACL的数据报文进行应用处理,例如上述的NAT处理或安全处理。并进一步判断所述命中指定控制策略的数据报文为多播报文还是单播报文。本发明实施方式中所述的多播报文包括广播报文以及组播报文,具体地,可根据报文的目的MAC地址判断所述报文为单播报文、广播报文或是组播报文:若接收的数据报文的目的MAC地址为FF-FF-FF-FF-FF-FF(全F),那么判断所述数据报文为广播报文;若所述数据报文的目的MAC地址的第40比特位的值为“1”,判断所述数据报文为组播报文;若所述数据报文的目的MAC地址的第40比特位的值为“0”,判断所述数据报文为单播报文。
同样的,CPU在接收到转发芯片上送的报文后,若该报文为控制报文,首先要对该控制报文进行相应处理,再根据上述判断方法进一步判断所述控制报文为多播报文还是单播报文。
进一步地,若判断所述报文为单播报文,查找CPU预存的转发表项中是否有与所述单播报文对应的端口信息,若查找到,说明该单播报文为已知单播报文,并将该已知单播报文经由对应的端口发送出去,若未查找到,判断所述单播报文为未知单播报文。
现有技术中,在CPU判断接收的报文是多播报文或未知单播报文时,通常的做法是由CPU将该多播或未知单播报文进行泛洪。然而,由于CPU是整个业务板的核心,其还负责执行除对未知单播报文泛洪以外的很多重要工作,因此使用CPU对多播或未知单播报文进行泛洪往往会占用CPU较多的资源,从而影响设备整体的效率。正由于此,本发明实施例提供的CPU代理方案将原本经由任务繁多的CPU泛洪的工作交由转发芯片执行,以减轻CPU的负担。在具体实现中,预先为转发芯片设置一个指定端口,该预设的指定端口用于指定接收多播报文以及未知单播报文的端口,本发明实施例中所述CPU在根据命中指定ACL的数据报文或控制报文的目的MAC地址判断报文为多播报文或是未知单播报文时,均不经CPU泛洪,而是将该多播报文或未知单播报文发送至转发芯片预设的指定端口,通知转发芯片对所述多播报文或未知单播报文进行泛洪。对于不需要泛洪的已知单播报文则根据在CPU预存的转发表项中查找到的转发芯片的对应端口发送出去,该对应端口为转发芯片的非指定端口。
转发芯片在接收到经由指定端口接入的数据报文时,即可以确定该报文为需要泛洪的报文,转发芯片将所述数据报文复制为多份,发送至除接收所述数据报文端口以外的端口进行泛洪。转发芯片在接收到经由非指定端口发送的报文时,说明该报文为已知单播报文,例如,对命中指定ACL进行应用处理的数据报文,此时无需再次查找转发芯片预存的转发表项中对应的端口信息,可直接将该已知单播报文转发至目的地址。
需要说明的是,在本发明实施方式中,转发芯片在接收到经由预设的指定端口接入的报文后,仍要再次查找转发芯片预存的转发表项中是否有与该报文对应的端口信息,若在该转发表项中查找到与该报文对应的端口信息,那么将该报文发送至与其对应的端口即可;然而通常情况下,由于转发芯片与CPU是同一网络设备上的组件,转发芯片学习到的转发表项和CPU的转发表项大多是一致的,因此在再次查找端口信息时大多不能查找到与其对应的端口信息,此时则由转发芯片对该指定端口接入的报文进行泛洪。
综上所述,本发明提供的CPU代理方法以及网络设备通过CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口,最后由转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。由此可见,本发明将原本经由任务繁多的CPU泛洪的工作交由转发芯片执行,可有效减少CPU资源的占用,提高设备整体的处理效率,特别是在网络并发量较大的应用场景下,本发明的对整体代理效率提升的效果将越为明显。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其特征在于,包括:
所述CPU,用于对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;
所述转发芯片,用于对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
2.如权利要求1所述的网络设备,其特征在于,所述转发芯片,还用于接收外部设备发送的报文,若所述报文为控制报文或为命中指定控制策略的数据报文,将所述控制报文或所述命中指定控制策略的数据报文发送至所述CPU。
3.如权利要求2所述的网络设备,其特征在于,所述转发芯片,还用于在接收外部设备发送的报文为数据报文,且所述数据报文未命中所述指定控制策略时,在转发芯片预存的转发表项中查找是否有与所述数据报文对应的端口信息,
若查找到,将所述数据报文发送至与其对应的端口,否则将所述数据报文泛洪。
4.如权利要求1所述的网络设备,其特征在于,所述CPU判断报文为多播报文或者未知单播报文具体为:
根据所述报文的目的MAC地址判断所述报文为单播报文或多播报文;
若判断所述报文为单播报文,则进一步查找CPU预存的转发表项中是否有与所述单播报文对应的端口信息,若未查找到,判断所述单播报文为未知单播报文。
5.如权利要求4所述的网络设备,其特征在于,所述CPU还用于,若在CPU预存的转发表项中查找到与所述单播报文对应的端口信息,将所述单播报文发送至与所述单播报文对应的转发芯片的端口,所述对应的转发芯片的端口为转发芯片的非预设指定端口。
6.一种CPU代理方法,应用于网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其特征在于,包括:
步骤A、对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口;
步骤B、对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
7.如权利要求6所述的方法,其特征在于,所述步骤B,还包括接收外部设备发送的报文,若所述报文为控制报文或为命中指定控制策略的数据报文,将所述控制报文或所述命中指定控制策略的数据报文发送至所述CPU。
8.如权利要求7所述的方法,其特征在于,所述步骤B,还包括在接收外部设备发送的报文为数据报文,且所述数据报文未命中所述指定控制策略时,在转发芯片预存的转发表项中查找是否有与所述数据报文对应的端口信息,
若查找到,将所述数据报文发送至与其对应的端口,否则将所述数据报文泛洪。
9.如权利要求6所述的方法,其特征在于,所述步骤A判断报文为多播报文或者未知单播报文具体为:
根据所述报文的目的MAC地址判断所述报文为单播报文或多播报文;
若判断所述报文为单播报文,则进一步查找CPU预存的转发表项中是否有与所述单播报文对应的端口信息,若未查找到,判断所述单播报文为未知单播报文。
10.如权利要求9所述的方法,其特征在于,所述步骤A还包括,若在CPU预存的转发表项中查找到与所述单播报文对应的端口信息,将所述单播报文发送至与所述单播报文对应的转发芯片的端口,所述对应的转发芯片的端口为转发芯片的非预设指定端口。
CN201410284855.1A 2014-06-23 2014-06-23 一种cpu代理方法以及网络设备 Active CN105227465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410284855.1A CN105227465B (zh) 2014-06-23 2014-06-23 一种cpu代理方法以及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410284855.1A CN105227465B (zh) 2014-06-23 2014-06-23 一种cpu代理方法以及网络设备

Publications (2)

Publication Number Publication Date
CN105227465A true CN105227465A (zh) 2016-01-06
CN105227465B CN105227465B (zh) 2018-09-04

Family

ID=54996166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410284855.1A Active CN105227465B (zh) 2014-06-23 2014-06-23 一种cpu代理方法以及网络设备

Country Status (1)

Country Link
CN (1) CN105227465B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656780A (zh) * 2016-03-17 2016-06-08 北京星网锐捷网络技术有限公司 一种数据报文转发方法和装置
CN105939324A (zh) * 2016-01-11 2016-09-14 杭州迪普科技有限公司 转发报文的方法及装置
CN105939274A (zh) * 2016-05-17 2016-09-14 杭州迪普科技有限公司 报文转发方法及装置
CN109818882A (zh) * 2019-02-22 2019-05-28 杭州迪普科技股份有限公司 一种执行QoS策略的方法及装置
CN110519120A (zh) * 2019-08-01 2019-11-29 新华三大数据技术有限公司 通道检测、报文发送方法、装置、线卡板、设备及介质
CN112866114A (zh) * 2020-12-31 2021-05-28 锐捷网络股份有限公司 组播报文的处理方法及装置
CN113872847A (zh) * 2021-11-18 2021-12-31 浪潮思科网络科技有限公司 一种基于vxlan网络的报文转发方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527544A (zh) * 2003-03-05 2004-09-08 华为技术有限公司 一种以太网交换机及其业务处理方法
CN1801781A (zh) * 2006-01-10 2006-07-12 杭州华为三康技术有限公司 交换设备及其防止流量冲击的报文处理方法
CN101159665A (zh) * 2007-08-28 2008-04-09 杭州华三通信技术有限公司 实现未知组播报文向路由器端口转发的方法和装置
CN101252535A (zh) * 2008-03-28 2008-08-27 杭州华三通信技术有限公司 集中式转发网络设备及方法
CN101626324A (zh) * 2009-08-19 2010-01-13 杭州华三通信技术有限公司 转发路径检测方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527544A (zh) * 2003-03-05 2004-09-08 华为技术有限公司 一种以太网交换机及其业务处理方法
CN1801781A (zh) * 2006-01-10 2006-07-12 杭州华为三康技术有限公司 交换设备及其防止流量冲击的报文处理方法
CN101159665A (zh) * 2007-08-28 2008-04-09 杭州华三通信技术有限公司 实现未知组播报文向路由器端口转发的方法和装置
CN101252535A (zh) * 2008-03-28 2008-08-27 杭州华三通信技术有限公司 集中式转发网络设备及方法
CN101626324A (zh) * 2009-08-19 2010-01-13 杭州华三通信技术有限公司 转发路径检测方法和设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939324A (zh) * 2016-01-11 2016-09-14 杭州迪普科技有限公司 转发报文的方法及装置
CN105656780A (zh) * 2016-03-17 2016-06-08 北京星网锐捷网络技术有限公司 一种数据报文转发方法和装置
CN105939274A (zh) * 2016-05-17 2016-09-14 杭州迪普科技有限公司 报文转发方法及装置
CN109818882A (zh) * 2019-02-22 2019-05-28 杭州迪普科技股份有限公司 一种执行QoS策略的方法及装置
CN110519120A (zh) * 2019-08-01 2019-11-29 新华三大数据技术有限公司 通道检测、报文发送方法、装置、线卡板、设备及介质
CN112866114A (zh) * 2020-12-31 2021-05-28 锐捷网络股份有限公司 组播报文的处理方法及装置
CN113872847A (zh) * 2021-11-18 2021-12-31 浪潮思科网络科技有限公司 一种基于vxlan网络的报文转发方法、设备及介质

Also Published As

Publication number Publication date
CN105227465B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN105227465A (zh) 一种cpu代理方法以及网络设备
US10616379B2 (en) Seamless mobility and session continuity with TCP mobility option
US10298538B2 (en) Address resolution
EP2944056B1 (en) Distributed traffic inspection in a telecommunications network
US8594070B1 (en) Acting on data packets in a mobile telecommunications network based on inner headers
CN102291320B (zh) Mac地址学习方法和边缘设备
US10270689B2 (en) Multi-nonce enabled interest packet design for named-data networking
US20190116114A1 (en) Packet forwarding method and apparatus
EP2512075B1 (en) Method, access equipment and communication system for message processing
US20140153577A1 (en) Session-based forwarding
US9712649B2 (en) CCN fragmentation gateway
CN104243269A (zh) 一种虚拟扩展局域网报文的处理方法及装置
CN109474507B (zh) 一种报文转发方法及装置
US20150229523A1 (en) Virtual extensible local area network (vxlan) system of automatically configuring multicasting tunnel for segment of virtual extensible local area network according to life cycle of end system and operating method thereof
US20120134313A1 (en) Access point, l2 switch and method of supporting multicast handover using the access point and l2 switch
WO2021008591A1 (zh) 数据传输方法、装置及系统
CN102916897A (zh) 一种实现vrrp负载分担的方法和设备
US20180262387A1 (en) Restoring control-plane connectivity with a network management entity
CN107896182B (zh) 报文转发方法及装置
CN102739462B (zh) 一种测试报文的发送方法以及装置
CN110708229B (zh) 一种收发消息的方法、装置和系统
CN104506437B (zh) 一种表项建立方法及装置
CN108234358B (zh) 一种组播报文传输方法、装置及机器可读存储介质
CN102185864B (zh) 安全认证策略配置方法、装置及系统
CN104780089B (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
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant