基于Linux软件实现上行QoS调度的方法及装置的制作方法

文档序号:7862812阅读:266来源:国知局

专利名称::基于Linux软件实现上行QoS调度的方法及装置的制作方法
技术领域
:本发明涉及IP(InternetProtocol,网际协议)网络数据传输领域,特别是涉及一种基于Linux(—种嵌入式操作系统)软件实现上行QoS(QualityofService,服务质量)调度的方法及装置。
背景技术
:QoS是网络设备所实现的一种保障数据流量的安全机制,通常情况下用来改善网络数据包延迟和阻塞问题。目前网络中诸如VoIP(VoiceoverInternetProtocol,基于IP协议的语音电话)、IPTV(InternetProtocolTelevision,交互式网络电视)等实时性业务应用越来越广泛,这些实时性的业务对数据包的收发时延要求高,在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不特别需要QoS,例如Web(网页)应用或者E-mail(电子邮件)设置等。但是,对于关键应用或多媒体应用,QoS就显得十分重要,当网络过载或拥塞时,QoS能确保重要业务的数据流量不受延迟或丢弃,同时保证网络的高效运行。家庭网关设备要实现上行QoS调度,必须实现分类、调度、标记这3个功能,其中,分类是指具有QoS的网络设备能够识别哪种类型的应用、产生哪种类型的数据包。如果没有实现分类功能,网络就不能确定对特殊数据包要进行哪种类型的的处理。所有应用都会在数据包上留下可以用来识别源应用的标识,实现分类功能就是检查这些标识,识别数据包是由哪种类型的应用产生的。目前有6种方式实现分类功能(I)根据数据包协议类型进行分类可以通过数据包的EtherType(以太网数据包的一个字段)进行识别,例如,AppleTalk协议(苹果公司制定的一种通信协议)采用0x809B(字段数值),IPX(InternetworkPacketExchangeprotocol,互联网分组协议)使用0x8137(字段数值),网络设备通过检查数据包的网络类型,对数据包进行QoS分类。(2)根据数据包TCP(TransmissionControlProtocol,传输控制协议)端口和UDP(UserDatagramProtocol,用户数据报协议)端口进行分类,例如,HTTP(HyperTextTransferProtocol,超文本传送协议)采用TCP协议80端口,网络设备通过检查数据包的端口号,对数据包进行QoS分类。(3)根据数据包源IP地址进行分类,例如,有的服务器是专门针对单一应用而配置的,这种情况下可以针对数据包的源IP地址对数据包进行Q0S分类。(4)根据数据包流入网络设备的物理端口进行分类,例如,服务器直连在网络设备的某个物理端口上时,可以通过这个物理端口号对数据包进行分类。(5)根据DSCP(DifferentiatedServicesCodePoint,差分服务代码点)标签进行分类,例如,对于某些VoIP应用,数据流会有特定的DSCP值,可以根据收到的数据包的DSCP值对数据包进行QoS分类。(6)根据IEEE(InstituteofElectricalandElectronicsEngineers,美国电气和电子工程师协会)802.IP(LANLayer2QoS/CoSProtocolforTrafficPrioritization,有关流量优先级的LAN第二层QoS/CoS协议)标签进行分类,例如,对于某些应用,数据流会有特定的802.IP值,可以根据收到的数据包中的802.IP值对数据包进行QoS分类。调度的作用是在设备带宽有限的情况下,通过调度让需要更高服务质量的数据包优先通过。调度需要优先级队列作为保证,所有数据包依据分类,可以划分进不同的优先级队列中,由优先级队列实现调度的效果,优先级队列一般有2种排队方式(I)严格优先,是一种最简单的排队方式,首先为最高优先级的队列进行服务,直到该队列为空,然后为下一个次高优先级队列服务。这种方法的优势是高优先级业务总是在低优先级业务之前处理,但是,低优先级业务有可能被高优先级业务完全阻塞。(2)加权循环,这种方法为所有业务队列服务,并且将优先权分配给较高优先级队列。在大多数情况下,相对低优先级,加权循环将首先处理高优先级,加权循环优先级调度是加权平均,不会出现低优先级永远无法调度的情况,当高优先级业务很多时,较低优先级的业务并没有被完全阻塞。在识别数据包之后,可以对需要标记的数据包进行标记,这样其他网络设备才能方便地识别这种类型的数据包,确保网络上的交换机或路由器可以对该应用进行优先级处理,可以通过标记802.Ip值或DSCP值来达到标记数据包的目的。由于家庭网关设备的数据流量比其他网关设备的数据流量小,且家庭网关设备的生命周期较短,因此运营商要求尽可能提高家庭网关设备内功能模块的通用性,降低硬件成本,以提高市场竞争力。但是,目前网关设备一般通过额外增加交换芯片,采用硬件方式,实现对上行业务流量QoS保障的功能,对硬件要求较高,导致成本较高。
发明内容本发明的目的是为了克服上述
背景技术
的不足,提供一种基于Linux软件实现上行QoS调度的方法及装置,基于Linux软件方式,实现对数据包的分类、调度、标记功能,在含有Linux内核的家庭网关设备中实现上行Qos调度功能,能够降低硬件成本,提高市场竞争力。本发明提供的基于Linux软件实现上行QoS调度的方法,包括以下步骤A、在家庭网关设备中采用MQ虚拟接口设备,若判定已经开启QoS,则采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备,并在IMQ虚拟接口设备中对数据流量进行限速、调度,且数据流量保持原先的转发关系;B、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;若判定QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在MQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记,再转到步骤C;否则直接转到步骤C;C、若判定QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在MQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记,再转到步骤D;否则直接转到步骤D;D、若判定QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从其他桥WAN连接网络接口流出的特征,在MQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记,再转到步骤E;否则直接转到步骤E;E、若判定QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在MQ虚拟接口设备中对符合这些特征的数据包进行调度、标记,至此结束;否则直接结束。在上述技术方案中,步骤A中所述MQ虚拟接口设备采用Linux工具TC对数据流量进行限速、调度。在上述技术方案中,步骤B中所述在MQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度的过程为IMQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。在上述技术方案中,所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。在上述技术方案中,步骤C中所述在MQ虚拟接口设备中设备对符合TR069业务特征的数据包进行调度的过程为MQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。在上述技术方案中,所述TR069业务特征是上行数据包目的端口为确定数值。在上述技术方案中,步骤D中所述在MQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度的过程为IMQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。在上述技术方案中,所述IPTV业务特征是上行数据均在其他桥WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。在上述技术方案中,步骤E中所述在MQ虚拟接口设备中对符合这些特征的数据包进行调度的过程为MQ虚拟接口设备将符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。在上述技术方案中,所述MQ虚拟接口设备采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。本发明还提供一种基于Linux软件实现上行QoS调度的装置,包括QoS开启触发模块、汇聚模块和MQ虚拟接口设备,其中所述QoS开启触发模块,用于若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚1吴块;所述汇聚模块,用于收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备;所述IMQ虚拟接口设备,用于根据业务种类对数据包进行分类;采用Linux工具TC,实现数据包的流量控制和调度,且数据流量仍然保持原先的转发关系;采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。在上述技术方案中,所述MQ虚拟接口设备包括分类模块、VoIP业务判断模块、VoIP业务调度模块、TR069业务判断模块、TR069业务调度模块、IPTV业务判断模块、IPTV业务调度模块、其它业务判断模块、其它业务调度模块和业务设置模块,其中所述分类模块,用于检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;所述VoIP业务判断模块,用于判断QoS保障目标中是否存在VoIP业务,如果QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则产生VoIP业务调度触发信号,发送到VoIP业务调度模块;否则产生TR069业务判断触发信号,发送到TR069业务判断模块;所述VoIP业务调度模块,用于收到VoIP业务调度触发信号后,将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生VoIP业务设置触发信号,发送到业务设置模块;并产生TR069业务判断触发信号,发送到TR069业务判断模块;所述TR069业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则产生TR069业务调度触发信号,发送到TR069业务调度模块;否则,产生IPTV业务判断触发信号,发送到IPTV业务判断模块;所述TR069业务调度模块,用于收到TR069业务调度触发信号后,将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生TR069业务设置触发信号,发送到业务设置模块;并产生IPTV业务判断触发信号,发送到IPTV业务判断模块;所述IPTV业务判断模块,用于收到IPTV业务判断触发信号后,判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则产生IPTV业务调度触发信号,发送到IPTV业务调度模块;否则,产生其它业务判断触发信号,发送到其它业务判断模块;所述IPTV业务调度模块,用于收到IPTV业务调度触发信号后,根据IPTV数据从OtherBridgeWAN连接网络接口流出的特征,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;所述其它业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;所述其它业务调度模块,用于收到其它业务调度触发信号后,对符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;所述业务设置模块,用于采用Linuxiptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记将符合设定条件的数据包的DSCP值或者802.Ip值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。在上述技术方案中,所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。在上述技术方案中,所述TR069业务特征是上行数据包目的端口为确定数值。在上述技术方案中,所述IPTV业务特征是上行数据均在其它桥这条WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。·与现有技术相比,本发明的优点如下本发明将家庭网关设备的上行数据汇聚到一个MQ虚拟接口设备上进行限速,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向;在家庭网关设备上行数据出口MQ虚拟接口设备处,识别出数据包的特征,通过数据包特征和优先级队列之间的对应关系,将数据包放置到不同的优先级队列中,优先级队列按照绝对优先级策略来处理各自队列中的数据包,实现了对数据包转发的优先级保证。本发明基于Linux软件方式,实现对数据包的分类、调度、标记功能,在含有Linux内核的家庭网关设备中实现上行Qos调度功能,避免了通过硬件方式实现分类、调度、标记功能,降低对硬件功能性的要求,能够降低硬件成本,提高市场竞争力。图I是本发明实施例中家庭网关设备内部流量的转向示意图。图2是本发明实施例中基于Linux软件实现上行QoS调度的方法的流程图。具体实施例方式下面结合附图及具体实施例对本发明作进一步的详细描述。本发明实施例中的数据流向参见图I所示,其中Internet数据流量和IPTV数据流量由家庭网关下挂设备产生和使用,家庭网关下挂设备包括但不限于机顶盒、PC(PersonalComputer,个人计算机)、智能终端等。先由家庭网关从LAN(LocalAreaNetwork,局域网)侧将Internet数据和IPTV数据转发到WAN(WideAreaNetwork,广域网M则,再由家庭网关设备从家庭网关WAN侧发出Internet数据和IPTV数据;TR069(由数字用户线路论坛开发的技术规范之一,用于实现平台对终端设备的业务下发)数据流量和VoIP数据流量由家庭网关设备内部产生和使用,不需要家庭网关进行转发,家庭网关设备直接从家庭网关WAN侧发出TR069数据和VoIP数据。参见图2所示,本发明实施例提供一种基于Linux软件实现上行QoS调度的方法,包括以下步骤SI、判断是否已经开启QoS,如果已经开启QoS,则转到步骤S2;否则结束;S2、家庭网关设备由于同时可以提供多种服务,例如VoIP、TR069、IPTV、Internet,所以在家庭网关设备中,通常存在多条WAN(WideAreaNetwork,广域网)链接,各条WAN链接使用各自的网络接口在网络中进行双向通信,但是对于家庭网关设备实现上行QoS调度,就需要设备在上行的一个统一接口中实现限速。在家庭网关设备中采用IMQ(IntermediateQueueingdevice,中介队列设备)虚拟接口设备,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备,并在MQ虚拟接口设备中,采用Linux工具TC(基于Linux内核的流量控制、流量整形工具软件)对数据流量进行限速、调度,经过IMQ虚拟接口设备后,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向,即数据流量仍然保持原先的转发关系,转到步骤S3;S3、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;判断QoS保障目标中是否存在VoIP业务,如果QoS保障规则中包括VoIP业务,则转到步骤S4;否则转到步骤S5;S4、如果QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在MQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记=VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP(SessionInitiationProtocol,会话初始化协议)协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP(Real-timeTransportProtocol,实时传送协议)报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值;MQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linuxiptables(Linux内核集成的IP信息包过滤系统)工具,对实现调度的VoIP业务数据流量进行标记,转到步骤S5;S5、判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,则转到步骤S6;否则转到步骤S7;S6、如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在MQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记TR069业务特征是上行数据包目的端口为确定数值,MQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linuxiptables工具,对实现调度的TR069业务数据流量进行标记,转到步骤S7;S7、判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,则转到步骤S8;否则转到步骤S9;S8、如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从OtherBridge(其他桥,用于家庭网关中IPTV数据流量的WAN链接通道)WAN连接网络接口流出的特征,在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记IPTV业务特征是上行数据均在OtherBridgeWAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包;MQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linuxiptables工具,对实现调度的IPTV业务数据流量进行标记,转到步骤S9;S9、判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括其它特征,则转到步骤S10;否则结束;S10、如果QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在MQ虚拟接口设备中对符合这些特征的数据包进行调度、标记MQ虚拟接口设备将符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linuxiptables工具,对实现调度的其它业务数据流量进行标记,至此全部结束。本发明实施例还提供一种基于Linux软件实现上行QoS调度的装置,包括QoS开启触发模块、汇聚模块和IMQ虚拟接口设备,其中QoS开启触发模块,用于若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚丰吴块;汇聚模块,用于收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备;MQ虚拟接口设备,用于根据业务种类对数据包进行分类;采用Linux工具TC,实现数据包的流量控制和调度,且数据流量仍然保持原先的转发关系;采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。进一步,IMQ虚拟接口设备包括分类模块、VoIP业务判断模块、VoIP业务调度模块、TR069业务判断模块、TR069业务调度模块、IPTV业务判断模块、IPTV业务调度模块、其它业务判断模块、其它业务调度模块和业务设置模块,其中分类模块,用于检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;VoIP业务判断模块,用于判断QoS保障目标中是否存在VoIP业务,如果QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则产生VoIP业务调度触发信号,发送到VoIP业务调度模块;否则产生TR069业务判断触发信号,发送到TR069业务判断模块;VoIP业务调度模块,用于收到VoIP业务调度触发信号后,对符合VoIP业务特征的数据包进行调度=VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值;在MQ虚拟接口设备中,将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生VoIP业务设置触发信号,发送到业务设置模块;并产生TR069业务判断触发信号,发送到TR069业务判断模块;TR069业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则产生TR069业务调度触发信号,发送到TR069业务调度模块;否则,产生IPTV业务判断触发信号,发送到IPTV业务判断模块;TR069业务调度模块,用于收到TR069业务调度触发信号后,对符合TR069业务特征的数据包进行调度TR069业务特征是上行数据包目的端口为确定数值,在MQ虚拟接口设备中,将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生TR069业务设置触发信号,发送到业务设置模块;并产生IPTV业务判断触发信号,发送到IPTV业务判断模块;IPTV业务判断模块,用于收到IPTV业务判断触发信号后,判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则产生IPTV业务调度触发信号,发送到IPTV业务调度模块;否则,产生其它业务判断触发信号,发送到其它业务判断模块;IPTV业务调度模块,用于收到IPTV业务调度触发信号后,根据IPTV数据从OtherBridgeWAN连接网络接口流出的特征,对符合IPTV业务特征的数据包进行调度IPTV业务特征是上行数据均在OtherBridgeWAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包;在MQ虚拟接口设备中,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;其它业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;其它业务调度模块,用于收到其它业务调度触发信号后,对符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口等其它特征的数据包进行调度在MQ虚拟接口设备中,将符合上述特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;业务设置模块,用于采用Linuxiptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置,将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记将符合设定条件的数据包的DSCP值或者802.Ip值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。权利要求1.一种基于Linux软件实现上行QoS调度的方法,其特征在于,包括以下步骤A、在家庭网关设备中采用MQ虚拟接口设备,若判定已经开启QoS,则采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备,并在MQ虚拟接口设备中对数据流量进行限速、调度,且数据流量保持原先的转发关系;B、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;若判定QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在MQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记,再转到步骤C;否则直接转到步骤C;C、若判定QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在MQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记,再转到步骤D;否则直接转到步骤D;D、若判定QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从其他桥WAN连接网络接口流出的特征,在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记,再转到步骤E;否则直接转到步骤E;E、若判定QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在IMQ虚拟接口设备中对符合这些特征的数据包进行调度、标记,至此结束;否则直接结束。2.如权利要求I所述的基于Linux软件实现上行QoS调度的方法,其特征在于步骤A中所述IMQ虚拟接口设备采用Linux工具TC对数据流量进行限速、调度。3.如权利要求I所述的基于Linux软件实现上行QoS调度的方法,其特征在于步骤B中所述在MQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度的过程为IMQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。4.如权利要求3所述的基于Linux软件实现上行QoS调度的方法,其特征在于所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。5.如权利要求I所述的基于Linux软件实现上行QoS调度的方法,其特征在于步骤C中所述在MQ虚拟接口设备中设备对符合TR069业务特征的数据包进行调度的过程为IMQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。6.如权利要求5所述的基于Linux软件实现上行QoS调度的方法,其特征在于所述TR069业务特征是上行数据包目的端口为确定数值。7.如权利要求I所述的基于Linux软件实现上行QoS调度的方法,其特征在于步骤D中所述在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度的过程为IMQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。8.如权利要求7所述的基于Linux软件实现上行QoS调度的方法,其特征在于所述IPTV业务特征是上行数据均在其他桥WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。9.如权利要求I所述的基于Linux软件实现上行QoS调度的方法,其特征在于步骤E中所述在MQ虚拟接口设备中对符合这些特征的数据包进行调度的过程为IMQ虚拟接口设备将符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。10.如权利要求I至9中任一项所述的基于Linux软件实现上行QoS调度的方法,其特征在于所述IMQ虚拟接口设备采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。11.一种基于Linux软件实现上行QoS调度的装置,其特征在于,包括QoS开启触发模块、汇聚模块和MQ虚拟接口设备,其中所述QoS开启触发模块,用于若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚丰吴块;所述汇聚模块,用于收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到MQ虚拟接口设备;所述MQ虚拟接口设备,用于根据业务种类对数据包进行分类;采用Linux工具TC,实现数据包的流量控制和调度,且数据流量仍然保持原先的转发关系;采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。12.如权利要求11所述的基于Linux软件实现上行QoS调度的装置,其特征在于所述MQ虚拟接口设备包括分类模块、VoIP业务判断模块、VoIP业务调度模块、TR069业务判断模块、TR069业务调度模块、IPTV业务判断模块、IPTV业务调度模块、其它业务判断模块、其它业务调度模块和业务设置模块,其中所述分类模块,用于检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;所述VoIP业务判断模块,用于判断QoS保障目标中是否存在VoIP业务,如果QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则产生VoIP业务调度触发信号,发送到VoIP业务调度模块;否则产生TR069业务判断触发信号,发送到TR069业务判断模块;所述VoIP业务调度模块,用于收到VoIP业务调度触发信号后,将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生VoIP业务设置触发信号,发送到业务设置模块;并产生TR069业务判断触发信号,发送到TR069业务判断模块;所述TR069业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则产生TR069业务调度触发信号,发送到TR069业务调度模块;否则,产生IPTV业务判断触发信号,发送到IPTV业务判断模块;所述TR069业务调度模块,用于收到TR069业务调度触发信号后,将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生TR069业务设置触发信号,发送到业务设置模块;并产生IPTV业务判断触发信号,发送到IPTV业务判断模块;所述IPTV业务判断模块,用于收到IPTV业务判断触发信号后,判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则产生IPTV业务调度触发信号,发送到IPTV业务调度模块;否则,产生其它业务判断触发信号,发送到其它业务判断模块;所述IPTV业务调度模块,用于收到IPTV业务调度触发信号后,根据IPTV数据从OtherBridgeWAN连接网络接口流出的特征,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;所述其它业务判断模块,用于收到TR069业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;所述其它业务调度模块,用于收到其它业务调度触发信号后,对符合DSCP、802.Ip标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;所述业务设置模块,用于采用Linuxiptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记将符合设定条件的数据包的DSCP值或者802.Ip值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。13.如权利要求12所述的基于Linux软件实现上行QoS调度的装置,其特征在于所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。14.如权利要求12所述的基于Linux软件实现上行QoS调度的装置,其特征在于所述TR069业务特征是上行数据包目的端口为确定数值。15.如权利要求12所述的基于Linux软件实现上行QoS调度的装置,其特征在于所述IPTV业务特征是上行数据均在其它桥这条WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。全文摘要本发明公开了一种基于Linux软件实现上行QoS调度的方法及装置,涉及IP网络数据传输领域,该方法为将家庭网关设备的上行数据汇聚到一个IMQ虚拟接口设备上进行限速,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向;在家庭网关设备上行数据出口IMQ虚拟接口设备处,识别数据包的特征,通过数据包特征和优先级队列之间的对应关系,将数据包放到不同的优先级队列中,优先级队列按照绝对优先级策略来处理各自队列中的数据包,实现了对数据包转发的优先级保证。本发明基于Linux软件方式,实现对数据包的分类、调度、标记功能,在基于Linux内核的家庭网关设备中实现上行Qos调度,能降低硬件成本,提高市场竞争力。文档编号H04L29/06GK102916901SQ201210388838公开日2013年2月6日申请日期2012年10月12日优先权日2012年10月12日发明者李华敏,田智炜,颜靓,屈兰申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1