一种基于应用层协议选择链路的设备及其方法

文档序号:7871216阅读:182来源:国知局
专利名称:一种基于应用层协议选择链路的设备及其方法
技术领域
本发明涉及通信领域,特别是涉及一种基于应用层协议选择链路的设备及其方法。
背景技术
当前,运营商部署的链路具有不同的质量属性,有些链路的质量较好,有些链路的质量较差。如图1所示,现有技术中通信系统10包括深度包检测(Deep PacketInspection,简称DPI)设备101、第一路由器102、第二路由器103以及第三路由器104。其中,链路I包括DPI设备101、第一路由器102以及第二路由器103,链路2包括DPI设备101、第一路由器102以及第三路由器104,链路I的质量比链路2的质量好。报文流在报文中IP头中设置有差分服务码点(Differentiated Services Code Point,简称DSCP)标记,DPI设备101通过DSCP标记的数值设置报文流的优先级,当报文流的优先级较高时,第一路由器102选择质量较高的链路I进行传输报文流;当报文流的优先级较低时,第一路由器102选择质量较低的链路2进行传输报文流。但是反向的报文流(下行报文流)无法选择链路,这样就可能会出现上行的报文流通过链路I进行传输,而下行的报文流通过链路2进行传输,导致上行的报文流和下行的报文流选择不同质量的链路进行传输
发明内容
有鉴于此,本发明实施例提供了一种基于应用层协议选择链路的系统及其方法,以解决上行的报文和下行的报文选择不同质量的链路进行传输的问题。第一方面提供一种基于应用层协议选择链路的方法,其包括以下步骤接收报文,解析报文的三元组信息;根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则将关系表中与三元组信息对应的优先级添加到报文的报文头中;根据报文头中的优先级将报文发送给对应的路由器。结合第一方面的实现方式,在第一种可能的实现方式中,方法还包括若报文的三元组信息与关系表中的三元组信息不一致时,则按预先确定的规则在报文的报文头中添加相应的优先级,并根据报文头中的优先级将报文发送给对应的路由器。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,若报文的三元组信息与关系表中的三元组信息不一致时还包括判断报文是否为首包;若报文不是首包,则解析出报文的应用层协议,若应用层协议对应的优先级为高,则将报文的三元组信息以及对应的优先级增加到关系表中。结合第一方面或第一种可能或第二种可能的实现方式,在第三种可能的实现方式中,根据报文头中的优先级将报文发送给对应的路由器还包括根据报文头中的优先级对报文地址进行转换;根据转换出的地址将报文发送给对应的路由器。结合第一方面或第一种可能或第二种可能或第三种可能的实现方式,在第四种可能的实现方式中,优先级为DSCP值,DSCP值添加在报文头的8比特字段中。结合第一方面或第一种可能或第二种可能或第三种可能或第四种可能的实现方式,在第五种可能的实现方式中,方法还包括预先确定的规则为报文的DSCP值为低优先级。第二方面提供一种基于应用层协议选择链路的设备,其接收报文,并解析报文的三元组信息,设备根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则设备将关系表中与三元组信息对应的优先级添加到报文的报文头中,并根据报文头中的优先级将报文发送给对应的路由器。结合第二方面的实现方式,在第一种可能的实现方式中,若报文的三元组信息与关系表中的三元组信息不一致时,则设备按预先确定的规则在报文的报文头中添加相应的优先级,并根据报文头中的优先级将报文发送给对应的路由器。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,若报文的三元组信息与关系表中的三元组信息不一致时,设备还判断报文是否为首包;若报文不是首包,则设备解析出报文的应用层协议,若应用层协议对应的优先级为高,则设备将报文的三元组信息以及对应的优选级增加到关系表中。结合第二方面或第一种可能或第二种可能的实现方式,在第三种可能的实现方式中,设备根据报文头中的优先级对报文地址进行转换,并根据转换出的地址将报文发送给对应的路由器。结合第二方面或第一种可 能或第二种可能或第三种可能的实现方式,在第四种可能的实现方式中,优先级为DSCP值,DSCP值添加在报文头的8比特字段中。结合第二方面或第一种可能或第二种可能或第三种可能或第四种可能的实现方式,在第五种可能的实现方式中,预先确定的规则为报文的DSCP值为低优先级。结合第二方面的实现方式,在第六种可能的实现方式中,设备包括DPI单元和NAT单元,DPI单元接收报文,并解析报文的三元组信息,DPI单元根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则DPI单元将关系表中与报文的三元组信息对应的优先级添加到报文的报文头中,NAT单元根据报文头中的优先级将报文发送给对应的路由器。通过上述方案,本发明的有益效果是本发明通过根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则将关系表中与三元组信息对应的优先级添加到报文的报文头中,并根据报文头中的优先级将报文发送给对应的路由器,以实现上行的报文和下行的报文选择相同链路进行传输。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中图1是现有技术中通信系统的示意框图;图2是本发明第一实施例的基于应用层协议选择链路的系统的示意框图;图3是本发明第三实施例的基于应用层协议选择链路的系统的示意框图;图4是本发明第一实施例的基于应用层协议选择链路的方法的流程图;图5是本发明第二实施例的基于应用层协议选择链路的方法的流程图;图6是本发明第三实施例的基于应用层协议选择链路的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参阅图2,图2是本发明第一实施例的基于应用层协议选择链路的系统的示意框图。本实施例所揭示的系统20包括基于应用层协议选择链路的设备201、第一路由器202以及第二路由器203。其中,设备201和第一路由器202组成链路1,设备201和第二路由器203组成链路2,链路I的质量较链路2的质量好。在本实施例中,设备201接收报文,并且解析报文的三元组信息,设备201根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致。若报文的三兀组信息与关系表中的三兀组信息一致时,贝1J设备201将关系表中与三元组信息对应的优先级添加到报文的报文头中。设备201根据报文头中的优先级将报文发送给对应的路由器。三元组信息包括所述报文的源地址、源端口号以及协议类型。若三元组信息对应的优先级为高优先级,则设备201将高优先级设置在报文的报文头中,并根据报文头的高优先级将报文发送给第一路由器202,由第一路由器202将该报文发送给目标设备;该报文对应的下行报文则通过第一路由器202发送到设备201。若三元组信息对应的优先级为低优先级,则设备201将低优先级设置在报文的报文头中,并根据报文头的低优先级将报文发送给第二路由器203,由第二路由器203将该发送给目标设备;该报文对应的下行报文会通过第二路由器203发送到设备201。因此,上行报文和下行报文选择相同的链路进行传输。本实施例通过设备201根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致,若报文的三元组信息与关系表中的三元组信息一致时,则设备201将关系表中与三元组信息对应的优先级添加到报文的报文头中,并根据报文头中的优先级将报文发送给对应的路由器。本发明还提供第二实施例的基于应用层协议选择链路的系统,其在第一实施例所揭示的系统20的基础上进行详细描述。在本实施例中,若报文的三元组信息与关系表中的三元组信息不一致时,则设备201按预先确定的规则在报文头中添加相应的优先级,并根据报文头中的优先级将报文发送给对应的路由器。其中,优先级为DSCP值,通过DSCP值区分报文的优先级,设备201将DSCP值添加在报文的报文头的8个比特字段中,以实现设备201将优先级添加到报文的报文头中。预先确定的规则可以为,报文的DSCP值为低优先级,即设备201在报文的报文头中添加低优先级的DSCP值。DSCP值用户可根据需要进行设定,如将DSCP值设为I和0,其中I表示高优先级,0表示低优先级。用户也可以将DSCP值设为具体的数值,并定义某些数值为高优先级,其他数值为低优先级;如DSCP值可以为1,2,3和4,其中I为高优先级,2-4为低优先级。具体如何设定DSCP值,如何设定各个DSCP值对应的优先级级别,由用户根据自己的需求来设定。具体地,若报文的三元组信息与关系表中的三元组信息不一致时,则设备201还判断报文是否为首包,若设备201判断报文为首包,则设备201将报文的DSCP值设为低优先级;若设备201判断报文不是首包,则设备201解析报文的应用层协议,若应用层协议对应的优先级为高,则设备201将报文的三元组信息以及对应的优先级增加到关系表中。在本实施例中,设备201通过分析报文携带的特征或通过报文的行为特征来解析报文的应用层协议。例如,“http”报文的数据内容携带有“http”字符串,或者连续几个报文都是一定数量的字节,设备201根据解析报文是否有如上特征,以解析报文的应用层协议。在本实施例中,报文的应用层协议包括超文本传输协议(Hypertext TransferProtocol,HTTP),网络文件系统协议(Net File System,NFS),域名系统协议(Domain NameSystem, DNS),文件传输协议(File Transfer Protocol, FTP),简单邮件传输协议(SimpleMail Transfer Protocol, SMTP)等,用户根据需要自行设置报文的应用层协议的优先级。例如用户将HTTP协议设置为高优先级,其他协议为低优先级;或者用户将HTTP协议和SMTP设置为高优先级,其他协议为低优先级。在本实施例中,若报文的三元组信息与关系表中的三元组信息不一致,且报文不是首包时,若解析出来的应用层协议对应的优先级为高,则设备201将报文的三元组信息以及对应的优先级增 加到关系表中,但是该报文头中仍然添加低优先级的DSCP值,通过普通链路发送出去。当后面再有相同三元组信息的报文发送过来的时候,即可在所述三元组信息与优先级的关系表中查找到对应的三元组信息,并可在报文中把该三元组信息对应的高优先级加到报文头中,通过高质量的链路发送出去。在本实施例中,设备201还根据报文头中的优先级对报文进行网络地址(NetworkAddress Translation, NAT)转换,即设备201根据报文的DSCP值对报文地址进行转换,设备201根据转换出来的地址将报文发送给对应的路由器。这样,具有相同DSCP值的报文会被发送到同一个路由器。例如,当报文I的三元组信息对应的优先级为高优先级、DSCP值为I时,设备201对所述报文做地址转换后发给高质量链路中的路由器202再发送出去,而回复的下行报文也会通过路由器202发送给设备201,设备201再对报文进行地址转换,发送给报文发起方。这样,上行报文和下行报文就通过相同的链路进行传输。若报文2的三元组信息对应的优先级也为高优先级、DSCP值也为I时,设备201对所述报文2做地址转换后也发给高质量链路中的路由器202再发送出去,同样回复的下行报文也会通过路由器202再发给送设备201。这样上行报文和下午报文通过相同的链路进行传输。本发明还提供第三实施例的基于应用层协议选择链路的系统,其与第二实施例所揭示的系统不同之处在于如图3所示,本实施例所揭示的设备301包括DPI单元304和NAT 单元 305。在本实施例中,DPI单元304接收报文,并解析报文的三元组信息。DPI单元304根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致。若报文的三元组信息与关系表中的三元组信息一致时,则DPI单元304将关系表中与报文的三元组信息对应的优先级添加到报文的报文头中,NAT单元305根据报文头中的优先级将报文发送给对应的路由器。本发明还提供第一实施例的基于应用层协议选择链路的方法,其在第一实施例所揭示的系统20的基础上进行详细描述。如图4所示,本实施例所揭示的方法包括以下步骤步骤401 :设备201接收报文,并且解析报文的三元组信息;步骤402 :设备201根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;步骤403 :若报文的三元组信息与关系表中的三元组信息一致时,则设备201将关系表中与三元组信息对应的优先级添加到报文的报文头中;步骤404 :设备201根据报文头中的优先级将报文发送给对应的路由器。在本实施例中,若三元组信息对应的优先级为高优先级,则设备201将高优先级设置在报文的报文头中,并根据报文头的高优先级将报文发送给第一路由器202,由第一路由器202将报文发送出去;该报文对应的下行报文通过第一路由器202发送给设备201。若三元组信息对应的优先级为低优先级,则设备201将低优先级设置在报文的报文头中,并根据报文头的低优先级将报文发送给第二路由器203,由第二路由器203将报文发送出去;该报文对应的下行报文通过第二路由器203发送给设备201。因此,上行报文和下行报文选择相同的链路进行传输。本发明还提供第二实施例的基于应用层协议选择链路的方法,其在第一实施例所揭示的方法的基础上进行详细描述。如图5所示,步骤501-504与步骤401-404相似,请参照步骤401-404中的描述,在此不再赘述;步骤505 :若报文的三元组信息与关系表中的三元组信息不一致时,则设备201还判断报文是否为首包;步骤506 :若设备201判断报文为首包,则设备201将报文的DSCP值设为低优先级;步骤507 :若设备201判断报文不是首包,则设备201解析报文的应用层协议;步骤508 :若应用层协议对应的优先级为高,则设备201将报文的三元组信息以及对应的优先级增加到关系表中。在步骤507中,设备201通过分析报文携带的特征或通过报文的行为特征来解析报文的应用层协议。例如,“http”报文的数据内容携带有“http”字符串,或者连续几个报文都是一定数量的字节,设备201根据解析报文是否有如上特征,以解析报文的应用层协议。在步骤508中,若应用层协议对应的优先级为高,则设备201将报文的三元组信息以及对应的优先级增加到关系表中;并将低优先级对应的DSCP值添加到报文的报文头中,根据该DSCP值进行地址转换,并发送出去。

本发明还提供第三实施例的基于应用层协议选择链路的方法,其在第三实施例的基于应用层协议选择链路的系统的基础上进行详细描述。如图6所示,本实施例所揭示的方法包括以下步骤步骤601 DPI单元304接收报文,并解析报文的三元组信息;步骤602 =DPI单元304根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;步骤603 :若报文的三元组信息与关系表中的三元组信息一致时,则DPI单元304将关系表中与报文的三元组信息对应的优先级添加到报文的报文头中;步骤604 =NAT单元305根据报文头中的优先级将报文发送给对应的路由器。综上所述,本发明通过DPI单元304根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则DPI单元304将关系表中与三元组信息对应的优先级添加到报文的报文头中,NAT单元305根据报文头中的优先级将报文发送给对应的路由器,通过对应的路由器发送出去;而下行的报文会先到该对应的路由器,再由该对应的路由器将报文发送给NAT单元305和DPI单元304,以实现上行的报文和下行的报文选择相同链路进行传输。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的`专利保护范围内。
权利要求
1.一种基于应用层协议选择链路的方法,其特征在于,所述方法包括以下步骤 接收报文,解析所述报文的三元组信息; 根据解析出来的所述报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三兀组信息一致; 若所述报文的三元组信息与所述关系表中的三元组信息一致时,则将所述关系表中与所述三元组信息对应的优先级添加到所述报文的报文头中; 根据所述报文头中的所述优先级将所述报文发送给对应的路由器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括 若所述报文的三元组信息与所述关系表中的三元组信息不一致时,则按预先确定的规则在所述报文的报文头中添加相应的优先级,并根据报文头中的所述优先级将所述报文发送给对应的路由器。
3.根据权利要求2所述的方法,其特征在于,若所述报文的三元组信息与所述关系表中的三元组信息不一致时还包括 判断所述报文是否为首包;若所述报文不是首包,则解析出所述报文的应用层协议,若所述应用层协议对应的优先级为高,则将所述报文的三元组信息以及对应的优先级增加到所述关系表中。
4.根据权利要求1-3所述的方法,其特征在于,所述根据所述报文头中的所述优先级将所述报文发送给对应的路由器还包括 根据所述报文头中的所述优先级对所述报文地址进行转换; 根据所述转换出的地址将所述报文发送给对应的路由器。
5.根据权利要求1-4所述的方法,其特征在于,所述优先级为DSCP值,所述DSCP值添加在报文头的8比特字段中。
6.根据权利要求1-5所述的方法,其特征在于,所述方法还包括所述预先确定的规则为所述报文的DSCP值为低优先级。
7.一种基于应用层协议选择链路的设备,其特征在于,所述设备接收报文,并解析所述报文的三元组信息,所述设备根据解析出来的所述报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若所述报文的三元组信息与所述关系表中的三元组信息一致时,则所述设备将所述关系表中与所述三元组信息对应的优先级添加到所述报文的报文头中,并根据所述报文头中的所述优先级将所述报文发送给对应的路由器。
8.根据权利要求7所述的设备,其特征在于,若所述报文的三元组信息与所述关系表中的三元组信息不一致时,则所述设备按预先确定的规则在所述报文的报文头中添加相应的优先级,并根据报文头中的所述优先级将所述报文发送给对应的路由器。
9.根据权利要求8所述的设备,其特征在于,若所述报文的三元组信息与所述关系表中的三元组信息不一致时,所述设备还判断所述报文是否为首包;若所述报文不是首包,则所述设备解析出所述报文的应用层协议,若所述应用层协议对应的优先级为高,则所述设备将所述报文的三元组信息以及对应的优选级增加到所述关系表中。
10.根据权利要求7-9所述的设备,其特征在于,所述设备根据所述报文头中的所述优先级对所述报文地址进行转换,并根据所述转换出的地址将所述报文发送给对应的路由器。
11.根据权利要求7-10所述的设备,其特征在于,所述优先级为DSCP值,所述DSCP值添加在报文头的8比特字段中。
12.根据权利要求7-11所述的设备,其特征在于,所述预先确定的规则为所述报文的DSCP值为低优先级。
13.根据权利要求7所述的设备,其特征在于,所述设备包括DPI单元和NAT单元,所述DPI单元接收报文,并解析所述报文的三元组信息,所述DPI单元根据解析出来的所述报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若所述报文的三元组信息与所述关系表中的三元组信息一致时,则所述DPI单元将所述关系表中与所述报文的三元组信息对应的优先级添加到所述报文的报文头中,所述NAT单元根据所述报文头中的所述优先级将所述报文发送给对应的路由器。
全文摘要
本发明公开了一种基于应用层协议选择链路的设备及其方法。该方法包括以下步骤接收报文,解析报文的三元组信息;根据解析出来的报文的三元组信息,查找是否与存储在三元组信息与优先级的关系表中的三元组信息一致;若报文的三元组信息与关系表中的三元组信息一致时,则将关系表中与三元组信息对应的优先级添加到报文的报文头中;根据报文头中的优先级将报文发送给对应的路由器。通过上述方式,本发明能够实现上行的报文和下行的报文选择相同链路进行传输。
文档编号H04L12/833GK103067276SQ20121059178
公开日2013年4月24日 申请日期2012年12月31日 优先权日2012年12月31日
发明者陈浩, 都林 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1