CN102916901B - 基于Linux软件实现上行QoS调度的方法及装置 - Google Patents
基于Linux软件实现上行QoS调度的方法及装置 Download PDFInfo
- Publication number
- CN102916901B CN102916901B CN201210388838.3A CN201210388838A CN102916901B CN 102916901 B CN102916901 B CN 102916901B CN 201210388838 A CN201210388838 A CN 201210388838A CN 102916901 B CN102916901 B CN 102916901B
- Authority
- CN
- China
- Prior art keywords
- packet
- business
- scheduling
- module
- qos
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Linux软件实现上行QoS调度的方法及装置,涉及IP网络数据传输领域,该方法为:将家庭网关设备的上行数据汇聚到一个IMQ虚拟接口设备上进行限速,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向;在家庭网关设备上行数据出口IMQ虚拟接口设备处,识别数据包的特征,通过数据包特征和优先级队列之间的对应关系,将数据包放到不同的优先级队列中,优先级队列按照绝对优先级策略来处理各自队列中的数据包,实现了对数据包转发的优先级保证。本发明基于Linux软件方式,实现对数据包的分类、调度、标记功能,在基于Linux内核的家庭网关设备中实现上行Qos调度,能降低硬件成本,提高市场竞争力。
Description
技术领域
本发明涉及IP(Internet Protocol,网际协议)网络数据传输领域,特别是涉及一种基于Linux(一种嵌入式操作系统)软件实现上行QoS(Quality of Service,服务质量)调度的方法及装置。
背景技术
QoS是网络设备所实现的一种保障数据流量的安全机制,通常情况下用来改善网络数据包延迟和阻塞问题。
目前网络中诸如VoIP(Voice over Internet Protocol,基于IP协议的语音电话)、IPTV(Internet Protocol Television,交互式网络电视)等实时性业务应用越来越广泛,这些实时性的业务对数据包的收发时延要求高,在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不特别需要QoS,例如Web(网页)应用或者E-mail(电子邮件)设置等。但是,对于关键应用或多媒体应用,QoS就显得十分重要,当网络过载或拥塞时,QoS能确保重要业务的数据流量不受延迟或丢弃,同时保证网络的高效运行。
家庭网关设备要实现上行QoS调度,必须实现分类、调度、标记这3个功能,其中,分类是指具有QoS的网络设备能够识别哪种类型的应用、产生哪种类型的数据包。如果没有实现分类功能,网络就不能确定对特殊数据包要进行哪种类型的的处理。所有应用都会在数据包上留下可以用来识别源应用的标识,实现分类功能就是检查这些标识,识别数据包是由哪种类型的应用产生的。
目前有6种方式实现分类功能:
(1)根据数据包协议类型进行分类:可以通过数据包的EtherType(以太网数据包的一个字段)进行识别,例如,AppleTalk协议(苹果公司制定的一种通信协议)采用0x809B(字段数值),IPX(Internetwork Packet Exchange protocol,互联网分组协议)使用0x8137(字段数值),网络设备通过检查数据包的网络类型,对数据包进行QoS分类。
(2)根据数据包TCP(Transmission Control Protocol,传输控制协议)端口和UDP(User Datagram Protocol,用户数据报协议)端口进行分类,例如,HTTP(HyperText Transfer Protocol,超文本传送协议)采用TCP协议80端口,网络设备通过检查数据包的端口号,对数据包进行QoS分类。
(3)根据数据包源IP地址进行分类,例如,有的服务器是专门针对单一应用而配置的,这种情况下可以针对数据包的源IP地址对数据包进行QoS分类。
(4)根据数据包流入网络设备的物理端口进行分类,例如,服务器直连在网络设备的某个物理端口上时,可以通过这个物理端口号对数据包进行分类。
(5)根据DSCP(Differentiated Services Code Point,差分服务代码点)标签进行分类,例如,对于某些VoIP应用,数据流会有特定的DSCP值,可以根据收到的数据包的DSCP值对数据包进行QoS分类。
(6)根据IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)802.1P(LAN Layer 2 QoS/CoS Protocolfor Traffic Prioritization,有关流量优先级的LAN第二层QoS/CoS协议)标签进行分类,例如,对于某些应用,数据流会有特定的802.1P值,可以根据收到的数据包中的802.1P值对数据包进行QoS分类。
调度的作用是:在设备带宽有限的情况下,通过调度让需要更高服务质量的数据包优先通过。调度需要优先级队列作为保证,所有数据包依据分类,可以划分进不同的优先级队列中,由优先级队列实现调度的效果,优先级队列一般有2种排队方式:
(1)严格优先,是一种最简单的排队方式,首先为最高优先级的队列进行服务,直到该队列为空,然后为下一个次高优先级队列服务。这种方法的优势是高优先级业务总是在低优先级业务之前处理,但是,低优先级业务有可能被高优先级业务完全阻塞。
(2)加权循环,这种方法为所有业务队列服务,并且将优先权分配给较高优先级队列。在大多数情况下,相对低优先级,加权循环将首先处理高优先级,加权循环优先级调度是加权平均,不会出现低优先级永远无法调度的情况,当高优先级业务很多时,较低优先级的业务并没有被完全阻塞。
在识别数据包之后,可以对需要标记的数据包进行标记,这样其他网络设备才能方便地识别这种类型的数据包,确保网络上的交换机或路由器可以对该应用进行优先级处理,可以通过标记802.1p值或DSCP值来达到标记数据包的目的。
由于家庭网关设备的数据流量比其他网关设备的数据流量小,且家庭网关设备的生命周期较短,因此运营商要求尽可能提高家庭网关设备内功能模块的通用性,降低硬件成本,以提高市场竞争力。但是,目前网关设备一般通过额外增加交换芯片,采用硬件方式,实现对上行业务流量QoS保障的功能,对硬件要求较高,导致成本较高。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于Linux软件实现上行QoS调度的方法及装置,基于Linux软件方式,实现对数据包的分类、调度、标记功能,在含有Linux内核的家庭网关设备中实现上行Qos调度功能,能够降低硬件成本,提高市场竞争力。
本发明提供的基于Linux软件实现上行QoS调度的方法,包括以下步骤:
A、在家庭网关设备中采用IMQ虚拟接口设备,若判定已经开启QoS,则采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备,并在IMQ虚拟接口设备中对数据流量进行限速、调度,且数据流量保持原先的转发关系;
B、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;若判定QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在IMQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记,再转到步骤C;否则直接转到步骤C;
C、若判定QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在IMQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记,再转到步骤D;否则直接转到步骤D;
D、若判定QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从其他桥WAN连接网络接口流出的特征,在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记,再转到步骤E;否则直接转到步骤E;
E、若判定QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在IMQ虚拟接口设备中对符合这些特征的数据包进行调度、标记,至此结束;否则直接结束。
在上述技术方案中,步骤A中所述IMQ虚拟接口设备采用Linux工具TC对数据流量进行限速、调度。
在上述技术方案中,步骤B中所述在IMQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
在上述技术方案中,所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。
在上述技术方案中,步骤C中所述在IMQ虚拟接口设备中设备对符合TR069业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
在上述技术方案中,所述TR069业务特征是上行数据包目的端口为确定数值。
在上述技术方案中,步骤D中所述在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
在上述技术方案中,所述IPTV业务特征是:上行数据均在其他桥WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。
在上述技术方案中,步骤E中所述在IMQ虚拟接口设备中对符合这些特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
在上述技术方案中,所述IMQ虚拟接口设备采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。
本发明还提供一种基于Linux软件实现上行QoS调度的装置,包括QoS开启触发模块、汇聚模块和IMQ虚拟接口设备,其中:
所述QoS开启触发模块,用于:若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚模块;
所述汇聚模块,用于:收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备;
所述IMQ虚拟接口设备,用于:根据业务种类对数据包进行分类;采用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业务设置触发信号,发送到业务设置模块;并产生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数据从Other Bridge WAN连接网络接口流出的特征,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;
所述其它业务判断模块,用于:收到其它业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;
所述其它业务调度模块,用于:收到其它业务调度触发信号后,对符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;
所述业务设置模块,用于:采用Linux iptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置:将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记:将符合设定条件的数据包的DSCP值或者802.1p值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。
在上述技术方案中,所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。
在上述技术方案中,所述TR069业务特征是:上行数据包目的端口为确定数值。
在上述技术方案中,所述IPTV业务特征是:上行数据均在其它桥这条WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。
与现有技术相比,本发明的优点如下:
本发明将家庭网关设备的上行数据汇聚到一个IMQ虚拟接口设备上进行限速,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向;在家庭网关设备上行数据出口IMQ虚拟接口设备处,识别出数据包的特征,通过数据包特征和优先级队列之间的对应关系,将数据包放置到不同的优先级队列中,优先级队列按照绝对优先级策略来处理各自队列中的数据包,实现了对数据包转发的优先级保证。
本发明基于Linux软件方式,实现对数据包的分类、调度、标记功能,在含有Linux内核的家庭网关设备中实现上行Qos调度功能,避免了通过硬件方式实现分类、调度、标记功能,降低对硬件功能性的要求,能够降低硬件成本,提高市场竞争力。
附图说明
图1是本发明实施例中家庭网关设备内部流量的转向示意图。
图2是本发明实施例中基于Linux软件实现上行QoS调度的方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例中的数据流向参见图1所示,其中Internet数据流量和IPTV数据流量由家庭网关下挂设备产生和使用,家庭网关下挂设备包括但不限于机顶盒、PC(Personal Computer,个人计算机)、智能终端等。先由家庭网关从LAN(Local Area Network,局域网)侧将Internet数据和IPTV数据转发到WAN(Wide Area Network,广域网)侧,再由家庭网关设备从家庭网关WAN侧发出Internet数据和IPTV数据;TR069(由数字用户线路论坛开发的技术规范之一,用于实现平台对终端设备的业务下发)数据流量和VoIP数据流量由家庭网关设备内部产生和使用,不需要家庭网关进行转发,家庭网关设备直接从家庭网关WAN侧发出TR069数据和VoIP数据。
参见图2所示,本发明实施例提供一种基于Linux软件实现上行QoS调度的方法,包括以下步骤:
S1、判断是否已经开启QoS,如果已经开启QoS,则转到步骤S2;否则结束;
S2、家庭网关设备由于同时可以提供多种服务,例如VoIP、TR069、IPTV、Internet,所以在家庭网关设备中,通常存在多条WAN(Wide Area Network,广域网)链接,各条WAN链接使用各自的网络接口在网络中进行双向通信,但是对于家庭网关设备实现上行QoS调度,就需要设备在上行的一个统一接口中实现限速。
在家庭网关设备中采用IMQ(Intermediate Queueing device,中介队列设备)虚拟接口设备,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备,并在IMQ虚拟接口设备中,采用Linux工具TC(基于Linux内核的流量控制、流量整形工具软件)对数据流量进行限速、调度,经过IMQ虚拟接口设备后,实现了数据包的流量控制和调度,同时没改变家庭网关内部数据的流向,即数据流量仍然保持原先的转发关系,转到步骤S3;
S3、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;判断QoS保障目标中是否存在VoIP业务,如果QoS保障规则中包括VoIP业务,则转到步骤S4;否则转到步骤S5;
S4、如果QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在IMQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记:VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP(Session InitiationProtocol,会话初始化协议)协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP(Real-time TransportProtocol,实时传送协议)报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值;IMQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linux iptables(Linux内核集成的IP信息包过滤系统)工具,对实现调度的VoIP业务数据流量进行标记,转到步骤S5;
S5、判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,则转到步骤S6;否则转到步骤S7;
S6、如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在IMQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记:TR069业务特征是上行数据包目的端口为确定数值,IMQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linux iptables工具,对实现调度的TR069业务数据流量进行标记,转到步骤S7;
S7、判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,则转到步骤S8;否则转到步骤S9;
S8、如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从Other Bridge(其他桥,用于家庭网关中IPTV数据流量的WAN链接通道)WAN连接网络接口流出的特征,在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记:IPTV业务特征是:上行数据均在Other Bridge WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包;IMQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linux iptables工具,对实现调度的IPTV业务数据流量进行标记,转到步骤S9;
S9、判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括其它特征,则转到步骤S10;否则结束;
S10、如果QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在IMQ虚拟接口设备中对符合这些特征的数据包进行调度、标记:IMQ虚拟接口设备将符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;IMQ虚拟接口设备采用Linux iptables工具,对实现调度的其它业务数据流量进行标记,至此全部结束。
本发明实施例还提供一种基于Linux软件实现上行QoS调度的装置,包括QoS开启触发模块、汇聚模块和IMQ虚拟接口设备,其中:
QoS开启触发模块,用于:若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚模块;
汇聚模块,用于:收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备;
IMQ虚拟接口设备,用于:根据业务种类对数据包进行分类;采用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值为确定数值;在IMQ虚拟接口设备中,将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生VoIP业务设置触发信号,发送到业务设置模块;并产生TR069业务判断触发信号,发送到TR069业务判断模块;
TR069业务判断模块,用于:收到TR069业务判断触发信号后,判断QoS保障目标中是否存在TR069业务,如果QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则产生TR069业务调度触发信号,发送到TR069业务调度模块;否则,产生IPTV业务判断触发信号,发送到IPTV业务判断模块;
TR069业务调度模块,用于:收到TR069业务调度触发信号后,对符合TR069业务特征的数据包进行调度:TR069业务特征是:上行数据包目的端口为确定数值,在IMQ虚拟接口设备中,将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生TR069业务设置触发信号,发送到业务设置模块;并产生IPTV业务判断触发信号,发送到IPTV业务判断模块;
IPTV业务判断模块,用于:收到IPTV业务判断触发信号后,判断QoS保障目标中是否存在IPTV业务,如果QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则产生IPTV业务调度触发信号,发送到IPTV业务调度模块;否则,产生其它业务判断触发信号,发送到其它业务判断模块;
IPTV业务调度模块,用于:收到IPTV业务调度触发信号后,根据IPTV数据从Other Bridge WAN连接网络接口流出的特征,对符合IPTV业务特征的数据包进行调度:IPTV业务特征是:上行数据均在Other Bridge WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包;在IMQ虚拟接口设备中,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;
其它业务判断模块,用于:收到其它业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口等其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;
其它业务调度模块,用于:收到其它业务调度触发信号后,对符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口等其它特征的数据包进行调度:在IMQ虚拟接口设备中,将符合上述特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;
业务设置模块,用于:采用Linux iptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置,将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记:将符合设定条件的数据包的DSCP值或者802.1p值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (14)
1.一种基于Linux软件实现上行QoS调度的方法,其特征在于,包括以下步骤:
A、在家庭网关设备中采用IMQ虚拟接口设备,若判定已经开启QoS,则采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备,并在IMQ虚拟接口设备中对数据流量进行限速、调度,且数据流量保持原先的转发关系;
B、检查数据包中源应用的标识,识别该数据包由哪种类型的应用产生,根据业务种类对数据包进行分类;若判定QoS保障规则中包括VoIP业务,同时在家庭网关的上行数据流量中也存在符合VoIP业务特征的数据包,则在IMQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度、标记,再转到步骤C;否则直接转到步骤C;
C、若判定QoS保障规则中包括TR069业务,同时在家庭网关的上行数据流量中也存在符合TR069业务特征的数据包,则在IMQ虚拟接口设备中对符合TR069业务特征的数据包进行调度、标记,再转到步骤D;否则直接转到步骤D;
D、若判定QoS保障规则中包括IPTV业务,同时在家庭网关的上行数据流量中也存在符合IPTV业务特征的数据包,则根据IPTV数据从其他桥WAN连接网络接口流出的特征,在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度、标记,再转到步骤E;否则直接转到步骤E;
E、若判定QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征,同时在家庭网关的上行数据流量中也存在符合这些特征的数据包,则在IMQ虚拟接口设备中对符合这些特征的数据包进行调度、标记,至此结束;否则直接结束。
2.如权利要求1所述的基于Linux软件实现上行QoS调度的方法,其特征在于:步骤A中所述IMQ虚拟接口设备采用Linux工具TC对数据流量进行限速、调度。
3.如权利要求1所述的基于Linux软件实现上行QoS调度的方法,其特征在于:步骤B中所述在IMQ虚拟接口设备中对符合VoIP业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合VoIP业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
4.如权利要求3所述的基于Linux软件实现上行QoS调度的方法,其特征在于:所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。
5.如权利要求1所述的基于Linux软件实现上行QoS调度的方法,其特征在于:步骤C中所述在IMQ虚拟接口设备中设备对符合TR069业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合TR069业务特征的数据包匹配特定数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
6.如权利要求5所述的基于Linux软件实现上行QoS调度的方法,其特征在于:所述TR069业务特征是上行数据包目的端口为确定数值。
7.如权利要求1所述的基于Linux软件实现上行QoS调度的方法,其特征在于:步骤D中所述在IMQ虚拟接口设备中对符合IPTV业务特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
8.如权利要求7所述的基于Linux软件实现上行QoS调度的方法,其特征在于:所述IPTV业务特征是:上行数据均在其他桥WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。
9.如权利要求1所述的基于Linux软件实现上行QoS调度的方法,其特征在于:步骤E中所述在IMQ虚拟接口设备中对符合这些特征的数据包进行调度的过程为:IMQ虚拟接口设备将符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征的数据包匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障。
10.如权利要求1至9中任一项所述的基于Linux软件实现上行QoS调度的方法,其特征在于:所述IMQ虚拟接口设备采用Linux内核集成的IP信息包过滤系统iptables工具,对实现调度的各种业务数据流量进行标记。
11.一种基于Linux软件实现上行QoS调度的装置,其特征在于,包括QoS开启触发模块、汇聚模块和IMQ虚拟接口设备,其中:
所述QoS开启触发模块,用于:若判定已经开启QoS,则产生汇聚触发信号,并发送到汇聚模块;
所述汇聚模块,用于:收到汇聚触发信号后,针对家庭网关设备数据流向,采用软件方式将所有的Linux网络接口WAN侧流出的上行数据流量统一汇聚到IMQ虚拟接口设备;
所述IMQ虚拟接口设备,用于:根据业务种类对数据包进行分类;采用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业务设置触发信号,发送到业务设置模块;并产生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数据从Other Bridge WAN连接网络接口流出的特征,将符合IPTV业务特征的数据包匹配特定的数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生IPTV业务设置触发信号,发送到业务设置模块;并产生其它业务判断触发信号,发送到其它业务判断模块;
所述其它业务判断模块,用于:收到其它业务判断触发信号后,判断QoS保障目标中是否存在其它特征,如果QoS保障规则中包括DSCP、802.1p标签、源IP、目的IP、源端口、目的端口其它特征,同时在家庭网关的上行数据流量中也存在符合上述特征的数据包,则产生其它业务调度触发信号,发送到其它业务调度模块;否则不做处理,结束;
所述其它业务调度模块,用于:收到其它业务调度触发信号后,对符合DSCP、802.1p标签、源IP、目的IP、源端口、目的端口这些特征的数据包,匹配特定的条件数值,完成数据包的识别,并放置到优先级队列中,进行优先级保障;然后产生其它业务设置触发信号,发送到业务设置模块;
所述业务设置模块,用于:采用Linux iptables工具,根据收到的各种业务设置触发信号,对实现优先级保障后的各种业务数据流量进行设置:将符合设定特征的IP数据包报文中的特定字段修改为设定值,以便家庭网关对数据包特征进行判断,然后将判断后的符合设定特征的数据包进行标记:将符合设定条件的数据包的DSCP值或者802.1p值标记为设定值,以便组网中家庭网关设备上的其他设备按照此值进行数据包特征识别和使用它,而不用再做额外的业务判断。
12.如权利要求11所述的基于Linux软件实现上行QoS调度的装置,其特征在于:所述VoIP业务特征分为协议信令部分和语音媒体流部分,对于SIP协议信令流量,特征为发出的数据包目的端口号为确定数值;对于H.248协议信令流量,特征为上行数据包目的端口号为确定数值;对于语音的RTP报文,设备的交换芯片设置的DSCP值作为特征,发出的数据包中的DSCP值为确定数值。
13.如权利要求11所述的基于Linux软件实现上行QoS调度的装置,其特征在于:所述TR069业务特征是:上行数据包目的端口为确定数值。
14.如权利要求11所述的基于Linux软件实现上行QoS调度的装置,其特征在于:所述IPTV业务特征是:上行数据均在其它桥这条WAN连接中,从此WAN连接中所对应的网络接口发出的数据包就是符合IPTV业务特征的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210388838.3A CN102916901B (zh) | 2012-10-12 | 2012-10-12 | 基于Linux软件实现上行QoS调度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210388838.3A CN102916901B (zh) | 2012-10-12 | 2012-10-12 | 基于Linux软件实现上行QoS调度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916901A CN102916901A (zh) | 2013-02-06 |
CN102916901B true CN102916901B (zh) | 2015-03-18 |
Family
ID=47615137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210388838.3A Active CN102916901B (zh) | 2012-10-12 | 2012-10-12 | 基于Linux软件实现上行QoS调度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916901B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401803A (zh) * | 2013-08-09 | 2013-11-20 | 迈普通信技术股份有限公司 | 一种流控管理系统及方法 |
CN103560970A (zh) * | 2013-09-25 | 2014-02-05 | 深圳市共进电子股份有限公司 | 一种对具有多lan口的网络设备下行限速的实现方法 |
CN104661259A (zh) * | 2013-11-20 | 2015-05-27 | 华为技术有限公司 | 无线回传链路中的传输处理方法、装置及系统 |
CN103841281A (zh) * | 2013-12-18 | 2014-06-04 | 深圳市共进电子股份有限公司 | 一种路由网关保障上行语音服务质量的实现方法 |
CN103973598B (zh) * | 2014-04-16 | 2017-08-01 | 烽火通信科技股份有限公司 | 实现网关QoS保障的动态带宽调整系统及方法 |
CN104092626A (zh) * | 2014-07-22 | 2014-10-08 | 太仓市同维电子有限公司 | 保障ip融合通信系统服务质量的方法 |
CN104125167A (zh) * | 2014-07-24 | 2014-10-29 | 海信集团有限公司 | 一种流量控制方法和装置 |
EP3175580B1 (en) * | 2014-07-29 | 2022-03-16 | Koninklijke KPN N.V. | System, gateway and method for an improved quality of service, qos, in a data stream delivery |
CN104468393B (zh) * | 2014-11-28 | 2018-02-16 | 深圳市共进电子股份有限公司 | 一种业务数据的QoS流量控制方法及装置 |
CN104539555B (zh) * | 2014-11-28 | 2018-10-09 | 深圳市共进电子股份有限公司 | 一种上行业务数据的处理方法及装置 |
CN104394094B (zh) * | 2014-11-28 | 2018-06-22 | 深圳市共进电子股份有限公司 | 一种上下行业务数据的QoS流量控制方法及装置 |
CN104734926B (zh) * | 2015-03-20 | 2018-07-06 | 武汉兴火源科技有限责任公司 | 一纤通式家庭网关的数据传输方法 |
CN107659449A (zh) * | 2017-09-27 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种保证管理系统服务质量的方法和装置 |
CN109981488B (zh) | 2017-12-27 | 2021-06-22 | 华为技术有限公司 | 一种调度方法及装置 |
FR3081277B1 (fr) * | 2018-09-07 | 2021-05-28 | Continental Automotive France | Procede de gestion des priorites de traitement de paquets de donnees, dans un environnement linux |
CN109862435A (zh) * | 2018-11-16 | 2019-06-07 | 京信通信系统(中国)有限公司 | 直播视频的监控方法、装置、计算机存储介质及设备 |
CN113630339B (zh) * | 2021-08-04 | 2024-09-10 | 安超云软件有限公司 | 流量转发方法及装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174979A (zh) * | 2006-11-01 | 2008-05-07 | 中兴通讯股份有限公司 | 一种家庭网关QoS策略配置管理的系统和方法 |
CN102368741A (zh) * | 2011-12-05 | 2012-03-07 | 盛科网络(苏州)有限公司 | 支持层次化队列调度和流量整形的方法及装置 |
CN102664833A (zh) * | 2012-05-03 | 2012-09-12 | 烽火通信科技股份有限公司 | 家庭网关及分析用户上网行为和监控网络质量的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101072111B1 (ko) * | 2008-10-07 | 2011-10-10 | 에스케이 텔레콤주식회사 | 홈 노드에서의 트래픽 스케줄링 방법 및 이에 적용되는 장치 |
-
2012
- 2012-10-12 CN CN201210388838.3A patent/CN102916901B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174979A (zh) * | 2006-11-01 | 2008-05-07 | 中兴通讯股份有限公司 | 一种家庭网关QoS策略配置管理的系统和方法 |
CN102368741A (zh) * | 2011-12-05 | 2012-03-07 | 盛科网络(苏州)有限公司 | 支持层次化队列调度和流量整形的方法及装置 |
CN102664833A (zh) * | 2012-05-03 | 2012-09-12 | 烽火通信科技股份有限公司 | 家庭网关及分析用户上网行为和监控网络质量的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102916901A (zh) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102916901B (zh) | 基于Linux软件实现上行QoS调度的方法及装置 | |
Szigeti et al. | End-To-End QoS Network Design: Quality of Service for Rich-Media and Cloud Networks | |
KR100823785B1 (ko) | 시스템 패브릭에서의 개방 루프 정체 제어를 위한 방법,장치, 제품 및 시스템 | |
KR100800881B1 (ko) | 동기식 이더넷 시스템에서 서비스 품질 보장 방법 및 장치 | |
EP1551136B1 (en) | Hierarchical flow-characterizing multiplexor | |
US6473434B1 (en) | Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system | |
US20120027024A1 (en) | Zero-Setting Network Quality Service System | |
US20100195492A1 (en) | Controlling Traffic in a Packet Switched Communications Network | |
CN106161275A (zh) | 针对服务质量的预测出口分组分类 | |
CN101924781B (zh) | 终端设备及其QoS实施方法以及流分类器 | |
CN101815032A (zh) | 基于一体化网络安全服务架构的信息分类隔离方法 | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
CN101325538A (zh) | 一种边缘网关全系统QoS的实现装置及方法 | |
WO2014173466A1 (en) | Method for operating a wireless network and a wireless network | |
Jia et al. | Performance evaluation of IEEE 802.1 Qbu: Experimental and simulation results | |
JP2001197110A (ja) | トラヒック制御方法 | |
Irazabal et al. | TC-RAN: A programmable Traffic Control Service Model for 5G/6G SD-RAN | |
CN103416037A (zh) | 用于建立通信连接的方法 | |
Cisco | QC: Quality of Service Overview | |
CN103973590B (zh) | 一种QoS调度方法和装置 | |
Kulhari et al. | Traffic shaping at differentiated services enabled edge router using adaptive packet allocation to router input queue | |
Breabăn et al. | Contribution for limiting and testing network policies | |
Räisänen | Service quality support—an overview | |
Demir et al. | A priority-based queuing model approach using destination parameters forreal-time applications on IPv6 networks | |
Bilich | TCP over WiMAX networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |