一种cpu代理方法以及网络设备的制造方法

文档序号:9474187阅读:474来源:国知局
一种cpu代理方法以及网络设备的制造方法
【技术领域】
[0001]本发明涉及通讯技术领域,尤其涉及一种CPU代理方法以及网络设备。
【背景技术】
[0002]当前基于IP网络的新业务、新应用日益增多,为了解决业务层面的安全问题,不得不依靠CPU处理数据。CPU的处理性能影响着网络状况及用户体验,在现有技术中,业务板的交换芯片在接收到外部设备发送的报文时,通常转发给CPU,并由CPU进行业务、转发等处理。CPU在接收到报文后判断该报文为广播、组播或者未知单播等需进行泛洪的报文时,则会直接由CPU将该需泛洪的报文复制多份并转发出去,然而这样会占用大量的CPU资源,从而影响设备整体的处理效率,严重时会造成业务中断等致命问题。

【发明内容】

[0003]有鉴于此,本发明提供了一种CPU代理方法以及网络设备来解决上述问题。
[0004]本发明提供一种网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其中包括:
[0005]所述CPU,用于对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口 ;
[0006]所述转发芯片,用于对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
[0007]本发明还提供一种CPU代理方法,应用于网络设备,所述网络设备包括转发芯片以及中央处理器CPU,其中包括:
[0008]步骤A、对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端P ;
[0009]步骤B、对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
[0010]本发明提供的CPU代理方法以及网络设备通过CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口,由转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。由此可见,本发明将原本经由任务繁多的CPU泛洪的工作交由转发芯片执行,可有效减少CPU资源的占用,提高设备整体的处理效率。
【附图说明】
[0011]图1是本发明实施例中网络设备逻辑结构示意图;
[0012]图2是本发明实施例中CPU代理方法流程框图;
[0013]图3是本发明实施例中CPU代理方法工作流程图。
【具体实施方式】
[0014]针对现有技术中由CPU对接收的广播、组播以及未知单播报文进行泛洪,从而占用大量的CPU资源,影响设备整体处理效率的问题,本发明提供了一种CPU代理方法以及网络设备,该网络设备的CPU对接收的经由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口,由转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
[0015]图1为本发明提供的网络设备逻辑结构示意图,本发明提供的CPU代理的方案中的网络设备包括转发芯片以及中央处理器CPU。请参考图2,根据本发明的思想,在一个示例性的实施方案中,该网络设备在运行过程中执行如下处理流程:
[0016]步骤201,CPU对接收的由转发芯片发送的报文进行处理,并在判断所述报文为多播报文或者未知单播报文时,将所述多播报文或未知单播报文发送至所述转发芯片的预设指定端口 ;
[0017]步骤202,转发芯片对经由所述预设指定端口接收的多播报文或未知单播报文进行泛洪。
[0018]请参考图3,本发明实施例中所述的CPU代理方法可由交换机或者路由器等网络设备执行。在网络设备的转发芯片接收到外部设备发送的报文后,首先判断接收的报文是控制报文还是数据报文,若该报文为数据报文,则进一步检查该数据报文是否命中由CPU为转发芯片下发的指定控制策略,即判断该数据报文是否与指定的控制策略相匹配,该控制策略可以为ACL(访问控制列表Access Control List)。例如,该指定控制策略为对报文进行NAT处理或进行安全处理,那么若该数据报文为需要进行安全处理的报文,即命中了其中一项指定的ACL (命中指定控制策略),则将该命中指定ACL的数据报文发送至CPU进行相应地应用处理;若该数据报文未命中任意一项指定的ACL,则在转发芯片自身预存的转发表项中查找与该数据报文的目的MAC地址所对应的端口信息,并在查找到与其对应的端口信息时,将该数据报文发送至对应的端口。然而,若未在转发芯片自身预存的转发表项中查找到与该数据报文的目的MAC地址对应的端口信息,则判断所述未命中指定ACL的数据报文为未知单播报文或者是多播数据报文,并由转发芯片对该未知单播报文或多播数据报文进行泛洪。
[0019]另外,由于协议层面的控制报文均要上送至CPU的协议栈进行相应处理,因此在转发芯片接收到外部设备发送的报文为控制报文时,直接将所述控制报文转发至CPU处理。
[0020]CPU在接收到转发芯片上送的报文后,若接收的报文为命中指定ACL的数据报文,则对所述命中指定ACL的数据报文进行应用处理,例如上述的NAT处理或安全处理。并进一步判断所述命中指定控制策略的数据报文为多播报文还是单播报文。本发明实施方式中所述的多播报文包括广播报文以及组播报文,具体地,可根据报文的目的MAC地址判断所述报文为单播报文、广播报文或是组播报文:若接收的数据报文的目的MAC地址为FF-FF-FF-FF-FF-FF(全F),那么判断所述数据报文为广播报文;若所述数据报文的目的MAC地址的第40比特位的值为“1”,判断所述数据报文为组播报文;若所述数据报文的目的MAC地址的第40比特位的值为“0”,判断所述数据报文为单播报文。
[0021]同样的,CPU在接收到转发芯片上送的报文后,若该报文为控制报文,首先要对该控制报文进行相应处理,再根据上述判断方法进一步判断所述控制报文为多播报文还是单播报文。
[0022]进一步地,若判断所述报文为单播报文,查找CPU预存的转发表项中是否有与所述单播报文对应的端口信息,若查找到,说明该单播报文为已知单播报文,并将该已知单播报文经由对应的端口发送出去,若未查找到,判断所述单播报文为未知单播报文。
[0023]现有技术中,在CPU判断接收的报文是多播报文或未知单播报文时,通常的做法是由CPU将该多播或未知单播报文进行泛洪。然而,由于CPU是整个业务板的核心,其还负责执行除对未知单播报文泛洪以外的很多重要工作,因此
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1