【技术实现步骤摘要】
一种数据转发方法及路由器
[0001]本申请涉及通信
,尤其涉及一种数据转发方法及路由器。
技术介绍
[0002]路由器主要用于网络数据的转发。为了提升数据的转发性能,路由器中设置有网络加速通道(也可以称为IP加速通道)。路由器通过网络加速通道转发网络数据时,会绕过路由器中的Linux内核协议栈,直接由路由器中的网络驱动层将数据从一端的驱动转发至另一端的驱动(如从一端的网口驱动转发至另一端的网口驱动,或者从一端的网口驱动转发至另一端的WIFI驱动)。如此一来,路由器在数据转发时绕过了TCP/IP协议栈的处理,使得减少了CPU的处理负荷,从而达到网络数据加速的目的。
[0003]然而,在某些场景中,例如儿童上网保护,游戏加速等业务需要通过智能识别业务处理模块进行业务识别。智能识别业务处理模块工作在TCP/IP协议栈中,当网络数据通过路由器的网络加速通道转发时,无法通过业务识别模块进行业务识别,从而不能解决儿童上网保护以及游戏加速等问题,降低用户体验。
技术实现思路
[0004]本申请实施例提供了一 ...
【技术保护点】
【技术特征摘要】
1.一种数据转发方法,其特征在于,应用于路由器,所述路由器包括第一数据转发通道;所述第一数据转发通道为网络协议栈转发通道;所述方法包括:所述路由器接收第一数据包;所述第一数据包为第一数据流的数据包,且所述第一数据包未被指示加速转发;所述路由器通过所述第一数据转发通道转发所述第一数据包;所述路由器根据所述第一数据包识别所述第一数据流的业务类型,并输出业务识别结果标记;所述业务识别结果标记用于指示所述第一数据流的业务类型是否识别成功;在所述业务识别结果标记指示所述第一数据流的业务类型识别成功的情况下,所述路由器存储所述第一数据流的加速表项;所述第一数据流的加速表项用于指示第二数据包被加速转发;所述第二数据包为:所述第一数据流中,在所述第一数据包之后转发的数据包。2.根据权利要求1所述的方法,其特征在于,所述路由器还包括第二数据转发通道,所述第二数据转发通道为加速转发通道;所述方法还包括:所述路由器接收所述第二数据包;所述路由器通过所述第二数据转发通道转发所述第二数据包。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述路由器记录所述第一数据包的数量;在所述业务识别结果标记指示所述第一数据流的业务类型识别未成功,且所述第一数据包的数量超过预设阈值的情况下,所述路由器存储所述第一数据流的加速表项。4.根据权利要求2或3所述的方法,其特征在于,所述第一数据转发通道包括网络协议栈和业务识别模块;所述业务识别模块与所述网络协议栈通信连接;所述路由器通过所述第一数据转发通道转发所述第一数据包,包括:所述网络协议栈接收所述第一数据包;所述网络协议栈转发所述第一数据包;所述路由器根据所述第一数据包识别所述第一数据流的业务类型,并输出业务识别结果标记,包括:所述业务识别模块从所述网络协议栈获取所述第一数据包;所述业务识别模块根据所述第一数据包识别所述第一数据流的业务类型,并输出业务识别结果标记。5.根据权利要求4所述的方法,其特征在于,当所述业务识别模块识别出所述第一数据流的业务类型时,所述业务识别结果标记用于指示所述第一数据流的业务类型识别成功;当所述业务识别模块未识别出所述第一数据流的业务类型时,所述业务识别结果标记用于指示所述第一数据流的业务类型识别未成功。6.根据权利要求4或5所述的方法,其特征在于,所述第一数据转发通道还包括加速控制ECM模块;所述ECM模块分别与所述网络协议栈和所述业务识别模块通信连接;在所述业务识别结果标记指示所述第一数据流的业务类型识别成功的情况下,所述路由器存储所述第一数据流的加速表项,包括:所述ECM模块从所述业务识别模块获取所述业务识别结果标记;
在所述业务识别结果标记指示所述第一数据流的业务类型识别成功的情况下,所述ECM模块向所述第二数据转发通道发送加速指示信息;所述加速指示信息用于指示所述第二数据包通过所述第二数据转发通道转发;当所述第二数据转发通道接收到所述加速指示信息,所述第二数据转发通道存储所述第一数据流的加速表项。7.根据权利要求6所述的方法,其特征在于,所述第二数据转发通道包括网络子系统NSS加速模块;所述第一数据流的加速表项存储于所述NSS加速模块中;所述第二数据转发通道存储所述第一数据流的加速表项,包括:所述NSS加速模块存储所述第一数据流的加速表项。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。