[发明专利]一种linux内核定位CPE业务流类型的方法有效
申请号: | 201210182421.1 | 申请日: | 2012-06-05 |
公开(公告)号: | CN102739523A | 公开(公告)日: | 2012-10-17 |
发明(设计)人: | 周明明 | 申请(专利权)人: | 深圳市共进电子股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;G06F17/30 |
代理公司: | 深圳汇智容达专利商标事务所(普通合伙) 44238 | 代理人: | 王志强;赵蕊 |
地址: | 518067 广东省深圳市南山区南海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 内核 定位 cpe 业务 类型 方法 | ||
技术领域
本发明涉及通信领域,尤其涉及一种linux内核定位CPE(客户终端设备)业务流类型的方法。
背景技术
当前,随着市场和技术的变化使得固网运营商正在寻求新的 战略转型,传统的通信业务正向信息娱乐、数字化生活领域扩展,IPTV(交互式网络电视)、VOIP(Voice over Internet Protocol,网络电话)以及P2P(peer-to-peer,对等联网)应用等业务种类不断丰富。这使得宽带网络所承载的业务将从传统互联网业务为主逐步向多业务承载方向发展。
现有的在基于业务流的数据操作中,人们的认识越来越偏向上层认识。而且由于操作的专业性,今后的面向普通用户的处理方式也向基于业务流的策略和模板方式普及。
以对httpd业务流进行优先保障处理为例,在处理之前需判断出httpd业务流,而一般httpd服务通过业务接口即tcp80端口来实现,因而传统的对httpd业务流进行优先保障处理的方法如图1所示:首先判断当前的业务流的业务接口是否为tcp80端口,若是,则对其进行高优先级队列处理,否则对其进行默认优先级队列处理。在正常情况下,这种传统的以业务接口的类型为依据来判断业务流的类型的判断方式是没有问题的,但是如果用户临时开启了或者选用了其他业务接口(如8080端口)来实现相同的服务,那么由于最初设置业务接口仅为tcp80端口,会造成8080端口的httpd服务进入默认优先级别队列,当网络流量超过带宽限制时就会因为流量竞争而导致丢包,违背用户的初衷。为了解决此问题,最直接的办法是进行代码修改,增加一个8080端口的判断条件。这确实解决了当前的问题,但是如果用户在之后再次进行修改,或者多个用户均有特殊要求,那这样每次都要去改动代码来改动业务接口类型,不仅操作麻烦,而且容易使得代码混乱。
发明内容
本发明的目的在于提供一种linux内核定位CPE业务流类型的方法,避免每更改一次业务接口就要修改一次代码,简化操作。
本发明的目的是通过以下技术方案实现的。
一种linux内核定位CPE业务流类型的方法,包括:
预定义各种业务流类型的对应标识;
为套接字结构体struct sock扩展成员变量serviceType,通过setsocketopt设置套接字选项标识当前socket套接字对应的业务流类型;
为数据包结构体struct skb_buff扩展成员变量serviceType,通过套接字结构体成员serviceType标识当前skb数据包对应的服务类型。
其中,还包括:在当前skb数据包的服务类型有更改时,重新设置所述套接字结构体struct sock的扩展成员变量serviceType为新的对应的业务流类型标识。
其中,还包括:在对所述当前skb数据包标识后内核传输层发送该skb数据包。
其中,还包括:在应用层,扩展netfilter模块来为网络层和链路层匹配服务类型,对业务流进行后续操作。
其中, 所述套接字结构体struct sock的扩展成员变量serviceType以及数据包结构体struct skb_buff的扩展成员变量serviceType,均为32位,位定义为:1-12bit用于存储业务流类型标识,13-16bit用于存储建议的优先级别。
其中,预定义的各种业务流类型包括:ICMP、ICMPV6、DHCP、HTTP、FTP、TFIP、SIP、RTSP、IPTV、VOIP和/或TR069业务类型。
与现有技术相比,本发明实施例具有以下有益效果。
本发明实施例中,在初始时刻设置一个独立的变量,用以存储默认的业务流类型标识信息,在业务服务过程中为当前的业务流数据包添加默认的业务流类型标识。这样,不管通过哪个业务接口实现,只要明确当前业务流的类型,用户只需将独立变量的值更改为当前的业务流的类型标识即可,为之后的不同业务流处理提供可靠的判断依据,同时增强了代码的清晰性和可控性。
附图说明
图1是传统的对httpd业务流进行优先保障处理的方法流程图。
图2是本发明实施例中linux内核定位CPE业务流类型的思路图。
图3是本发明实施例中linux内核定位CPE业务流类型的方法流程图。
图4是本发明实施例中为struct sock结构体扩展的成员变量serviceType结构图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市共进电子股份有限公司,未经深圳市共进电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210182421.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种发泡材料的自动修整挤出装置
- 下一篇:一种模具保护装置