首页 / 专利库 / 电脑零配件 / 微码 / 聚合组端口切换方法、装置及光线路终端OLT设备

聚合组端口切换方法、装置及光线路终端OLT设备

阅读:259发布:2020-05-15

专利汇可以提供聚合组端口切换方法、装置及光线路终端OLT设备专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种聚合组端口切换方法、装置及光线路终端OLT设备,其中,该方法包括:网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理,利用网络处理器的一般 硬件 资源方式,解决了相关技术中CPU间 进程 通信导致端口切换时间较长的问题,提升了聚合组成员端口的切换速率。,下面是聚合组端口切换方法、装置及光线路终端OLT设备专利的具体信息内容。

1.一种聚合组端口切换方法,其特征在于,包括:
网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
2.根据权利要求1所述的方法,其特征在于,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理包括:
所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除。
3.根据权利要求2所述的方法,其特征在于,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除包括:
所述网络处理器通过对应的微码程序根据所述聚合组成员端口信息查找硬件表;
在所述硬件表中添加或删除对应的聚合组成员端口。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述硬件表中添加或删除对应的聚合组成员端口的同时,所述网络处理器的协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述网络处理器接收所述CPU发送的控制报文包括:
所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述网络处理器接收所述CPU发送的单播插包报文;
当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述网络处理器接收所述CPU发送的广播插包报文,通过微码程序将所述广播插包报文广播出去,其中,所述广播插包报文用于对应端口的网络处理器通过微码程序进行处理。
6.一种聚合组端口切换方法,其特征在于,包括:
中央处理器CPU轮询聚合组成员端口状态是否发生变化;
当所述聚合组成员端口状态发生变化时,所述CPU向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
7.根据权利要求6所述的方法,其特征在于,所述CPU向所述网络处理器发送控制报文包括:
所述CPU采用中断上报机制向所述网络处理器发送控制报文。
8.根据权利要求7或8所述的方法,其特征在于,所述CPU向网络处理器发送控制报文包括:
所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述CPU向所述网络处理器发送单播插包报文;
当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述CPU向所述网络处理器发送广播插包报文,所述广播插包报文用于是网络处理器通过微码程序广播出去,对应端口的网络处理器通过微码程序进行处理。
9.一种聚合组端口切换装置,应用于网络处理器,其特征在于,包括:
接收模,用于接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
切换处理模块,用于根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
10.一种聚合组端口切换装置,应用于CPU,其特征在于,包括:
轮询模块,用于轮询聚合组成员端口状态是否发生变化;
发送模块,用于当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
11.一种光线路终端OLT设备,包括上联卡,其特征在于,所述上联卡包括中央处理器CPU和网络处理器,其中,
所述CPU,用于轮询聚合组成员端口状态是否发生变化;当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
网络处理器,用于接收所述控制报文,根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
12.根据权利要求11所述的设备,其特征在于,所述网络处理器还包括:
微码模块,用于根据所述聚合组成员端口信息查找硬件表,在所述硬件表中添加或删除对应的聚合组成员端口。
13.根据权利要求12所述的设备,其特征在于,
所述网络处理器,还用于在所述硬件表中添加或删除对应的聚合组成员端口的同时,通过协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至5,6至8中任一项所述的方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5,6至8中任一项所述的方法。

说明书全文

聚合组端口切换方法、装置及光线路终端OLT设备

技术领域

[0001] 本发明涉及通信领域,具体而言,涉及一种聚合组端口切换方法、装置及光线路终端OLT设备。

背景技术

[0002] 网络处理器是一种可编程器件,特定应用于通信网络的各种任务,比如报文处理、协议分析、路由查找、QoS等。采用多内核并行处理器结构,片内处理器按任务大致分为核心处理器和转发引擎。有专用硬件协处理器,对要求高速处理的通用功能模采用专用硬件实现以提高系统性能。多个网络处理器之间还可以互连,构成网络处理器簇,以支持更为大型高速的网络处理。
[0003] 端口汇聚是将多个端口聚合在一起形成一个汇聚组,以实现负荷在各成员端口中的分担,同时也提供了更高的连接可靠性。端口聚合可以在组内的端口上配置,使流量可以在这些端口上自动进行负载均衡。为了减少在添加或删除聚合组成员端口期间网络包的丢失数量,我们需要尽可能的缩短端口切换时间。
[0004] 传统聚合组端口切换采用集中式处理方式,利用板间通讯,由线卡发送消息给主控板,主控板再将处理结果下发给线卡进行处理。
[0005] 传统聚合组端口切换步骤为:端口状态变化通知给主控板,主控板下发处理消息给线卡,线卡中央处理器CPU再发送指令给网络处理器协议层,协议层配置端口信息下发给网络处理器底层,底层调用微码进行硬件端口信息表的读写,到此才算完成了端口状态的切换。如何简化上述过程,减少各步骤通信时间,将切换时间控制在ms以内成为开发网络处理器的技术难题之一。
[0006] 针对相关技术中CPU间进程通信导致端口切换时间较长的问题,尚未提出解决方案。

发明内容

[0007] 本发明实施例提供了一种聚合组端口切换方法、装置及光线路终端OLT设备,以至少解决相关技术中CPU间进程通信导致端口切换时间较长的问题。
[0008] 根据本发明的一个实施例,提供了一种聚合组端口切换方法,包括:
[0009] 网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0010] 所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0011] 可选地,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理包括:
[0012] 所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除。
[0013] 可选地,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除包括:
[0014] 所述网络处理器通过对应的微码程序根据所述聚合组成员端口信息查找硬件表;
[0015] 在所述硬件表中添加或删除对应的聚合组成员端口。
[0016] 可选地,所述方法还包括:
[0017] 在所述硬件表中添加或删除对应的聚合组成员端口的同时,所述网络处理器的协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0018] 可选地,所述网络处理器接收所述CPU发送的控制报文包括:
[0019] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述网络处理器接收所述CPU发送的单播插包报文;
[0020] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述网络处理器接收所述CPU发送的广播插包报文,通过微码程序将所述广播插包报文广播出去,其中,所述广播插包报文用于对应端口的网络处理器通过微码程序进行处理。
[0021] 根据本发明的另一个实施例,还提供了一种聚合组端口切换方法,包括:
[0022] CPU轮询聚合组成员端口状态是否发生变化;
[0023] 当所述聚合组成员端口状态发生变化时,所述CPU向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0024] 可选地,所述CPU向所述网络处理器发送控制报文包括:
[0025] 所述CPU采用中断上报机制向所述网络处理器发送控制报文。
[0026] 可选地,所述CPU向网络处理器发送控制报文包括:
[0027] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述CPU向所述网络处理器发送单播插包报文;
[0028] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述CPU向所述网络处理器发送广播插包报文,所述广播插包报文用于是网络处理器通过微码程序广播出去,对应端口的网络处理器通过微码程序进行处理。
[0029] 根据本发明的又一个实施例,还提供了一种聚合组端口切换装置,应用于网络处理器,包括:
[0030] 接收模块,用于接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0031] 切换处理模块,用于根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0032] 可选地,所述切换处理模块,还用于
[0033] 所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除。
[0034] 可选地,所述切换处理模块,还用于
[0035] 通过对应的微码程序根据所述聚合组成员端口信息查找硬件表;
[0036] 在所述硬件表中添加或删除对应的聚合组成员端口。
[0037] 可选地,所述装置还包括:
[0038] 添加或删除模块,用于在所述硬件表中添加或删除对应的聚合组成员端口的同时,通过协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0039] 可选地,所述接收模块,还用于
[0040] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,接收所述CPU发送的单播插包报文;
[0041] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,接收所述CPU发送的广播插包报文,通过微码程序将所述广播插包报文广播出去,其中,所述广播插包报文用于对应端口的网络处理器通过微码程序进行处理。
[0042] 根据本发明的又一个实施例,还提供了一种聚合组端口切换装置,应用于CPU,包括:
[0043] 轮询模块,用于轮询聚合组成员端口状态是否发生变化;
[0044] 发送模块,用于当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0045] 可选地,所述发送模块,还用于采用中断上报机制向所述网络处理器发送控制报文。
[0046] 可选地,所述发送模块,还用于
[0047] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,向所述网络处理器发送单播插包报文;
[0048] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,向所述网络处理器发送广播插包报文,所述广播插包报文用于是网络处理器通过微码程序广播出去,对应端口的网络处理器通过微码程序进行处理。
[0049] 根据本发明的又一个实施例,还提供了一种光线路终端OLT设备,包括上联卡,所述上联卡包括CPU和网络处理器,其中,
[0050] 所述CPU,用于轮询聚合组成员端口状态是否发生变化;当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0051] 网络处理器,用于接收所述控制报文,根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0052] 可选地,所述网络处理器还包括:
[0053] 微码模块,用于根据所述聚合组成员端口信息查找硬件表,在所述硬件表中添加或删除对应的聚合组成员端口。
[0054] 可选地,所述网络处理器,还用于在所述硬件表中添加或删除对应的聚合组成员端口的同时,通过协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0055] 根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
[0056] 根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
[0057] 通过本发明,网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理,利用网络处理器的一般硬件资源方式,解决了相关技术中CPU间进程通信导致端口切换时间较长的问题,提升了聚合组成员端口的切换速率。附图说明
[0058] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0059] 图1是根据本发明实施例的聚合组端口切换方法的流程图一;
[0060] 图2是根据本发明实施例的聚合组端口切换方法的流程图二;
[0061] 图3是根据本发明实施例的CPU下发控制报文的流程图一;
[0062] 图4是根据本发明实施例的CPU下发控制报文的流程图二;
[0063] 图5是根据本发明实施例的线卡主控卡逻辑连接的网络拓扑图;
[0064] 图6是根据本发明实施例的控制报文格式的示意图;
[0065] 图7是根据本发明实施例的SG硬件表格式的示意图;
[0066] 图8是根据本发明实施例的聚合组端口切换装置的结构框图一;
[0067] 图9是根据本发明实施例的聚合组端口切换装置的结构框图二。

具体实施方式

[0068] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0069] 需要说明的是,本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0070] 实施例1
[0071] 在本实施例中提供了一种聚合组端口切换方法,图1是根据本发明实施例的聚合组端口切换方法的流程图一,如图1所示,该流程包括如下步骤:
[0072] 步骤S102,网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0073] 步骤S104,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0074] 通过上述步骤,网络处理器接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理,利用网络处理器的一般硬件资源方式,解决了相关技术中CPU间进程通信导致端口切换时间较长的问题,提升了聚合组成员端口的切换速率。
[0075] 可选地,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理可以包括:所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除。
[0076] 可选地,所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除可以包括:所述网络处理器通过对应的微码程序根据所述聚合组成员端口信息查找硬件表;在所述硬件表中添加或删除对应的聚合组成员端口。
[0077] 可选地,所述方法还包括:在所述硬件表中添加或删除对应的聚合组成员端口的同时,所述网络处理器的协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0078] 可选地,所述网络处理器接收所述CPU发送的控制报文可以包括:所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述网络处理器接收所述CPU发送的单播插包报文;
[0079] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述网络处理器接收所述CPU发送的广播插包报文,通过微码程序将所述广播插包报文广播出去,其中,所述广播插包报文用于对应端口的网络处理器通过微码程序进行处理。
[0080] 实施例2
[0081] 根据本发明的另一个实施例,还提供了一种聚合组端口切换方法,图2是根据本发明实施例的聚合组端口切换方法的流程图二,如图2所示,该流程包括如下步骤:
[0082] 步骤S202,CPU轮询聚合组成员端口状态是否发生变化;
[0083] 步骤S204,当所述聚合组成员端口状态发生变化时,所述CPU向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0084] 通过上述步骤,当聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行切换处理,利用网络处理器的一般硬件资源方式,解决了相关技术中CPU间进程通信导致端口切换时间较长的问题,提升了聚合组成员端口的切换速率。
[0085] 可选地,所述CPU向所述网络处理器发送控制报文可以包括:所述CPU采用中断上报机制向所述网络处理器发送控制报文。
[0086] 可选地,所述CPU向网络处理器发送控制报文可以包括:所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,所述CPU向所述网络处理器发送单播插包报文;
[0087] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,所述CPU向所述网络处理器发送广播插包报文,所述广播插包报文用于是网络处理器通过微码程序广播出去,对应端口的网络处理器通过微码程序进行处理。
[0088] 利用网络处理器的一般硬件资源方式,提供一种提升聚合组成员端口切换速率的方法,改善传统的CPU间进程通信导致端口切换时间较长的问题。本发明实施例采用分布式带内传输通信方式,利用本板CPU的中断上报机制,本板CPU向网络处理器发送控制报文,控制报文中包含待删除或待添加聚合组成员端口信息,网络处理器根据控制报文端口信息实现聚合组成员端口的添加或删除。图3是根据本发明实施例的CPU下发控制报文的流程图一,如图3所示,具体步骤如下:
[0089] 步骤S302,当CPU检测到聚合组成员端口状态由up变为down或由down变为up时,CPU向网络处理器NP发送控制报文,报文头部携带待添加或待删除聚合组成员端口信息;
[0090] 步骤S304,控制报文进入网络处理器的微码模块;
[0091] 步骤S306,对应的微码程序根据端口信息等查硬件表,查表命中的在硬件表中添加或删除相应的聚合组成员端口,未命中的微码不作操作;
[0092] 步骤S308,同时网络处理器协议层收到控制报文后,根据报文头信息进行配置,添加或删除相应的软件表表项。
[0093] 聚合组在接收网络流时,被删除的端口不再收到流,实现了聚合组的快速收敛;刚添加的端口会收到流,实现聚合组的快速负荷分担。聚合组端口快速切换的触发因素有两个:中断和端口轮询。但是中断只响应光纤的插拔动作,所以快速切换的最差性能取决于端口轮询的周期和线程优先级。
[0094] 图4是根据本发明实施例的CPU下发控制报文的流程图二,如图4所示,具体步骤如下:
[0095] 控制报文分为单播控制报文和广播控制报文。当报文头部携带的端口信息为本网络处理器端口时,本板CPU发送单播插包报文供微码处理;当报文头部携带的端口信息为非本网络处理器端口时,本板CPU发送广播插包报文,微码将此报文广播出去,对应端口的网络处理器微码进行处理,并将处理信息返回。
[0096] 轮询方式是不管端口信息有没有更新,CPU都定时的发送请求进行查询,有可能查询到更新信息,但绝大多数时间是返回空的信息。不管查询结果如何,CPU将会在下一个时间点继续下一轮的查询。可以看出,端口轮询CPU响应时间长,效率低,在将轮询端口线程优先级最大限度的调高,轮询周期尽量设短后,切换性能才可能达到ms级别。
[0097] 步骤S402,CPU中断开始,发送控制报文;
[0098] 步骤S404,判断报文类型是否聚合组端口切换,在判断结果为是的情况下,执行步骤S406,否则执行步骤S408;
[0099] 步骤S406,判断微码是否查中硬件表端口信息,执行步骤S410,否则执行步骤S412;
[0100] 步骤S408,其它微码处理流程;
[0101] 步骤S410,微码添加/删除聚合组端口;
[0102] 步骤S412,微码丢弃报文。
[0103] 中断方式采用本板CPU中断插包,微码直接处理,省略中间步骤如下:网络处理器协议层下发配置到底层,底层收到配置信息进入微码处理。此种方式可将切换时间控制在ms以内。
[0104] 传统端口切换采用集中式分布方案,利用板间通讯机制,将端口状态变化通知给主控板,主控板交处理消息下发给线卡,线卡CPU再根据消息类型进行相应的处理,效率比较低下;而中断方式进行端口切换不需要由主控板下发消息,采用带内传输方式,直接由线卡CPU根据端口状态变化中断发包进行处理,极大的提升了端口切换效率。
[0105] 很重要的一点是,中断上报实现端口快速切换还加入了防抖(防止抖动)操作。所谓link抖动,可理解为重复快速插拔端口光纤导致端口状态持续在up->down,down->up变化过程中。因为端口link抖动会触发快速切换,将网络处理器已经加回或删除的聚合组成员端口又错误删掉或者添加,而网络处理器不响应抖动,不会重新删除或添加该成员端口,这样本应添加的端口被删除掉,而本应删除的端口还存在,导致成员端口配置信息错误。
[0106] 端口快速切换的防抖方法是在端口抖动第一次发生的时候,网络处理器就将对应的聚合组成员端口添加或删除,并记录下时间,如果在规定时间内CPU再次侦测到端口状态变化则忽略此变化,若大于规定时间则再次触发中断操作,这样可有效避免端口短时间内重复配置错误。
[0107] 另外,本板CPU中断实现端口快速切换的方法优越性还体现在:CPU只需要向网络处理器发送特定控制消息,网络处理器微码根据控制消息类型进行硬件表项资源读写操作,直接完成端口快切。与传统切换相比,省略了板间通信步骤。
[0108] 本发明实施例的响应时间由两部分构成:CPU到微码处理时间,网络处理器读写软件表时间。前者为硬件流程,微码模块对报文的处理很高效。不需要经过微码直接进行读写,所以速度也很快。因此本发明方法的响应时间比一般端口快切流程的响应时间要小得多。
[0109] 由上可知,本发明方法采用分布式带内传输方式,可以有效减少聚合组端口切换的平均响应时间,并且不需要专的硬件搜索硬件,依靠一般网络处理器所共有的硬件资源即可实现。
[0110] 下面结合具体实施例对本发明实施例作进一步的详细描述。
[0111] 在一个EPON网络中,一个OLT包括主控卡,上联卡,pon卡和onu。上联卡和pon卡统称为线卡,这里仅考虑一块网络处理器的线卡。图5是根据本发明实施例的线卡主控卡逻辑连接的网络拓扑图,如图5所示,上下行流向相反。
[0112] 聚合组功能仅在上联卡上实现,pon卡无此功能。上联卡CPU检测到成员端口状态发生变化即产生中断上报,调用端口中断处理函数进行单播或广播插包。图6是根据本发明实施例的控制报文格式的示意图,如图6所示,包格式分为两部分:控制报文类型和端口信息。控制报文类型指定为聚合组成员更新,端口信息包括有效标志位valid,聚合组ID,端口值portId,端口操作:添加/删除,MAC地址mac_addr,vlan值vlanId等。微码部分收到插包,查找SG硬件表,图7是根据本发明实施例的SG硬件表格式的示意图,如图7所示,SG表格式,以聚合组ID号为查表关键值,表项内容为此ID号对应的成员端口信息。查中SG表的将对应端口从聚合组中添加/删除,没有查中SG表的则将此报文丢弃。另外,为了保持硬件表和软件缓存表内容的一致性,CPU下发控制报文到网络处理器的协议层,协议层进行端口缓存信息的更新。
[0113] 不失一般性,考虑线卡CPU获取到的是非本板聚合端口的信息。处理过程如下:本线卡CPU中断上报,调用端口中断处理函数进行广播插包。网络处理器的微码收到插包,判断不是本线卡的端口,将此包广播出去,远端对应上联卡收到此广播包后完成聚合端口更新操作,并发送通知消息。网络处理器的微码根据通知消息更新SG硬件表。
[0114] 本发明实施例,采用分布式带内传输方式,线卡发送端口变化信息给主控板,主控板处理完毕后再将消息下发给线卡,线卡CPU下发聚合端口更新信息到协议层,再由协议层配置聚合端口信息到网络处理器这些步骤,极大的缩短了聚合端口快速切换的响应时间,尽可能的减少丢包数量。
[0115] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0116] 实施例3
[0117] 在本实施例中还提供了一种聚合组端口切换装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0118] 图8是根据本发明实施例的聚合组端口切换装置的结构框图一,如图8所示,该装置包括:
[0119] 接收模块82,用于接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0120] 切换处理模块84,用于根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0121] 可选地,所述切换处理模块84,还用于
[0122] 所述网络处理器根据所述聚合组成员端口信息对聚合组成员端口进行添加或删除。
[0123] 可选地,所述切换处理模块84,还用于
[0124] 通过对应的微码程序根据所述聚合组成员端口信息查找硬件表;
[0125] 在所述硬件表中添加或删除对应的聚合组成员端口。
[0126] 可选地,所述装置还包括:
[0127] 添加或删除模块,用于在所述硬件表中添加或删除对应的聚合组成员端口的同时,通过协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0128] 可选地,所述接收模块82,还用于
[0129] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,接收所述CPU发送的单播插包报文;
[0130] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,接收所述CPU发送的广播插包报文,通过微码程序将所述广播插包报文广播出去,其中,所述广播插包报文用于对应端口的网络处理器通过微码程序进行处理。
[0131] 实施例4
[0132] 根据本发明的又一个实施例,还提供了一种聚合组端口切换装置,应用于CPU,图9是根据本发明实施例的聚合组端口切换装置的结构框图二,如图9所示,该装置包括:
[0133] 轮询模块92,用于轮询聚合组成员端口状态是否发生变化;
[0134] 发送模块94,用于当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0135] 可选地,所述发送模块94,还用于采用中断上报机制向所述网络处理器发送控制报文。
[0136] 可选地,所述发送模块94,还用于
[0137] 所述控制报文包括单播插包报文和广播插包报文,当所述控制报文的报文头携带的聚合组成员端口信息为所述网络处理器端口时,向所述网络处理器发送单播插包报文;
[0138] 当所述控制报文的报文头携带的聚合组成员端口信息为非所述网络处理器端口时,向所述网络处理器发送广播插包报文,所述广播插包报文用于是网络处理器通过微码程序广播出去,对应端口的网络处理器通过微码程序进行处理。
[0139] 需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0140] 实施例5
[0141] 根据本发明的又一个实施例,还提供了一种光线路终端OLT设备,包括上联卡,所述上联卡包括CPU和网络处理器,其中,
[0142] 所述CPU,用于轮询聚合组成员端口状态是否发生变化;当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0143] 网络处理器,用于接收所述控制报文,根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0144] 可选地,所述网络处理器还包括:
[0145] 微码模块,用于根据所述聚合组成员端口信息查找硬件表,在所述硬件表中添加或删除对应的聚合组成员端口。
[0146] 可选地,所述网络处理器,还用于在所述硬件表中添加或删除对应的聚合组成员端口的同时,通过协议层根据所述控制报文的报文头信息进行配置,添加或删除所述聚合组成员端口信息对应的软件表表项。
[0147] 实施例6
[0148] 本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
[0149] 可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
[0150] S11,接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0151] S12,根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0152] 可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
[0153] S21,轮询聚合组成员端口状态是否发生变化;
[0154] S21,当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0155] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0156] 本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
[0157] 可选地,在本实施例中,上述程序用于执行以下步骤:
[0158] S31,接收CPU发送的控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息;
[0159] S32,根据所述聚合组成员端口信息对聚合组成员端口进行切换处理。
[0160] 可选地,上述程序还用于执行以下步骤:
[0161] S41,轮询聚合组成员端口状态是否发生变化;
[0162] S41,当所述聚合组成员端口状态发生变化时,向网络处理器发送控制报文,其中,所述控制报文的报文头中携带有待切换的聚合组成员端口信息,所述聚合组成员端口信息用于所述网络处理器对聚合组成员端口进行切换处理。
[0163] 可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0164] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在两个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的两个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0165] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈