一种报文处理方法、相关设备及计算机可读存储介质与流程

文档序号:11263581阅读:208来源:国知局
一种报文处理方法、相关设备及计算机可读存储介质与流程

本发明涉及通信领域,尤其涉及一种报文处理方法、相关设备及计算机可读存储介质。



背景技术:

通用路由封装(gre,genericroutingencapsulation)技术是一种隧道技术,如图1所示,这种技术可以在两个隧道端点之间建立虚拟互联网协议(ip,internetprotocol)连接,并将原始数据报文封装新的隧道报文中,从而实现二层网络的扩展及二层overlay网络的创建。使用gre技术传输数据时,由于业务流封装在隧道中,因此在传输时无法识别不同业务流,所以也就不能为隧道中的不同业务提供端到端的服务质量(qos,qualityofservice)控制。对于此问题,相关技术尚无有效解决方案。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种报文处理方法、相关设备及计算机可读存储介质。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种报文处理方法,应用于第一交换机,包括:

在流表中查找数据报文对应的第一业务流的表项;所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息;

利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文;其中,所述gre报文中至少携带所述流标签信息。

上述方案中,将所述数据报文封装成gre报文时,在所述gre报文中增加第一标识;所述第一标识表征支持流标签。

上述方案中,所述将所述数据报文封装成gre报文,包括:

在所述gre报文的gre头中增加所述流标签信息及第一标识。

上述方案中,所述在所述gre报文的gre头中增加所述流标签信息及所述第一标识,包括:

在所述gre头的预留域设置所述流标签信息及所述第一标识。

上述方案中,所述在第一表中查找数据报文对应的第一业务流的表项之前,所述方法还包括:

判断接收的信息是否为数据报文,得到判断结果;

当判断结果表征接收的信息是数据报文时在第一表中查找数据报文对应的第一业务流的表项。

上述方案中,所述方法还包括:

当在所述流表中未查找到数据报文对应的第一业务流的表项时,将数据报文发送给软件定义网络sdn控制器;

接收所述sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

本发明实施例还提供了一种报文处理方法,应用于sdn控制器,包括:

接收第一交换机发送的数据报文;

在:流标签映射表查找接收的数据报文对应的第一业务流对应的表项;所述第一业务流对应的表项至少包含gre隧道信息及用于标识所述第一业务流的流标签信息;

将所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项;所述流表包含表征业务流的转发路径相关信息的表项。

上述方案中,所述方法还包括:

根据所述第一业务流的传输相关信息及qos信息,生成所述第一业务流的标签信息;

在所述流标签映射表中设置所述第一业务流对应的表项。

本发明实施例又提供了一种报文处理方法,应用于第二交换机,包括:

接收gre报文;

对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;

在流表中查找所述第一业务流的流标签信息对应的表项;所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;

根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文。

上述方案中,所述对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息时,所述方法包括:

对接收的gre报文进行解析,得到第一标识;当所述第一标识表征支持流标签时,进一步解析接收的gre报文,得到用于标识所述第一业务流的流标签信息。

上述方案中,对接收的gre报文进行解析,包括:

对接收的gre报文的gre头进行解析。

上述方案中,所述方法还包括:

接收sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

本发明实施例还提供了一种第一交换机,包括:第一处理器和用于存储能够在第一处理器上运行的计算机程序的第一存储器,

其中,所述第一处理器用于运行所述计算机程序时,执行上述第一交换机侧任一方法的步骤。

本发明实施例又提供了一种sdn控制器,包括:第二处理器和用于存储能够在第二处理器上运行的计算机程序的第二存储器,

其中,所述第二处理器用于运行所述计算机程序时,执行上述sdn侧任一方法的步骤。

本发明实施例还提供了一种第二交换机,包括:第三处理器和用于存储能够在第三处理器上运行的计算机程序的第三存储器,

其中,所述第三处理器用于运行所述计算机程序时,执行上述第二交换机侧任一方法的步骤。

本发明实施例又提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一交换机侧任一方法的步骤,或者实现上述sdn侧任一方法的步骤,或者实现上述第二交换机侧任一方法的步骤。

本发明实施例提供的报文处理方法、相关设备及计算机可读存储介质,采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为相关技术中gre隧道示意图;

图2为本发明实施例一报文处理的方法流程示意图;

图3为相关技术中gre报文的报文头格式示意图;

图4为本发明实施例支持流标签的gre报文格式示意图;

图5为本发明实施例二报文处理的方法流程示意图;

图6为本发明实施例三报文处理的方法流程示意图;

图7为本发明实施例四报文处理的方法流程示意图;

图8为本发明实施例五报文处理的方法流程示意图;

图9本发明实施例六云数据中心系统架构示意图;

图10为本发明实施例六sdn控制器结构示意图;

图11为本发明实施例六sdn交换机结构示意图;

图12为本发明实施例六sdn控制器与交换机交互示意图;

图13为本发明实施例六流标签映射表的表项格式示意图;

图14为本发明实施例六sdn隧道源交换机消息处理流程示意图;

图15为本发明实施例六sdn中间交换机消息处理流程示意图;

图16为本发明实施例六表项匹配域示意图;

图17为本发明实施例六流表配置示意图;

图18为本发明实施例七第一交换机结构示意图;

图19为本发明实施例七sdn控制器结构示意图;

图20为本发明实施例七第二交换机结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

当使用gre技术时,由于业务流被封装在隧道中,因此在传输时无法识别不同业务流,,所以也就不能为隧道中的不同业务提供端到端的qos控制。

基于上述技术问题,有人提出了一种解决方案:通过在gre的外部网络协议(ip)包头上设置ip优先级或者差分服务代码点(dscp)值,从而可以提供隧道的qos控制能力,控制不同隧道的优先级和带宽分配,为不同隧道的业务提供有差别的服务。

然而,一方面,上述方案仅能提供不同隧道的qos控制,仍然无法为隧道承载的不同业务流提供qos控制;另一方面,dscp的优先级设置级别非常有限,无法支持精细度要求更高的流的粒度。

基于此,在本发明的各种实施例中:为业务流生成流标签信息,用于区分隧道中的不同业务流;当业务流经过隧道源交换机时,隧道源交换机根据流表映射到对应的隧道id及流标签信息,封装gre报文,映射至不同端口的qos队列并转发至下一跳中间交换机节点;当业务流经过中间交换机节点时,中间交换机节点匹配相应隧道id及流标签,根据流标签不同将其映射至不同端口qos队列并转发至下一跳。

本发明实施例提供的方案,采用流标签信息来标识隧道中的不同业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,从而实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

实施例一

本发明实施例提供一种报文处理方法,应用于第一交换机,如图2所示,该方法包括:

步骤201:在流表中查找数据报文对应的第一业务流的表项;

这里,所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息。

实际应用时,由sdn控制器来为所述第一业务流分配流标签信息和gre隧道信息,将所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项。

在一实施例中,当在所述流表中未查找到数据报文对应的第一业务流的表项时,将数据报文发送给sdn控制器;

接收所述sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

然后,重新执行步骤201~202。

步骤202:利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文。

其中,所述gre报文中至少携带所述流标签信息。

这里,实际应用时,所述流标签信息可以携带在gre报文头中,只需要解析gre报文头即可获得流标签信息,如此能够大大加快处理速度。

实际应用时,为了节省开销,可以在报文中增加了一个标识,来表征是否支持流标签。

基于此,在一实施例中,将所述数据报文封装成gre报文时,在所述gre报文中增加第一标识;所述第一标识表征支持流标签。

与所述流标签信息类似的,所述第一标识也可以携带在gre报文头中,,只需要解析gre报文头即可获得第一标识,从而判断是否支持流标签,当支持流标签时,再进一步解析报文;当不支持流标签时不需要进一步解析报文,如此能够大大加快处理速度。

基于此,所述将所述数据报文封装成gre报文,包括:

在所述gre报文的gre头中增加所述流标签信息及第一标识。

这里,图3为通用gre报文的报文头格式示意图。如图3所示,通用gre头中包含预留域,包括reserved0和reserved1,所以可以利用预留域来设置流标签信息和第一标识,从而对gre头进行扩展。

基于此,所述在所述gre报文的gre头中增加所述流标签信息及所述第一标识,包括:

在所述gre头的预留域设置所述流标签信息及所述第一标识。

图4为支持流标签的gre报文格式,从图4可以看出,在gre头的reserved0域增加1比特来表示是否支持流标签,比如1表示支持流标签,0表示不支持流标签;当支持流标签时,在reserved1域有2字节来标识流标签信息。

需要说明的是:实际应用时,第一标识及流标签信息的具体长度可以根据需要来设置,本发明实施例并不对此进行限定。同时,本发明实施例并不对第一标识在reserved0域的具体位置进行限定。换句话说,上述实现方式只是示例性的描述如何在所述gre头的预留域设置流标签信息及所述第一标识。

不同的qos端口具有不同的优先级和带宽保障,而每个qos端口都对应有一个队列,根据数据报文的qos的要求,将gre报文放置到对应的端口队列里,以便从对应的qos端口发出。举个例子来说,队列1保障10m带宽(对应一个qos端口),队列2保障100m带宽(对应另一个qos端口),在网络拥塞时,进入队列2的数据包可以有更高的带宽保障。

从上面的描述可以看出,所述第一交换机需要将数据报文封装成gre报文,所以所述第一交换机是源交换机。

本发明实施例提供的方案,在流表中查找数据报文对应的第一业务流的表项;所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息;利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文;其中,所述gre报文中至少携带所述流标签信息,采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

另外,在所述gre报文的gre头中增加所述流标签信息及第一标识,这样接收gre报文时,只需要解析gre头即可获得所述流标签信息及第一标识,而不需要解析所有gre报文,如此,大大加快了处理速度。

实施例二

本发明实施例提供一种报文处理方法,应用于第一交换机,如图5所示,该方法包括:

步骤501:判断接收的信息是否为数据报文,得到判断结果;

步骤502:当判断结果表征接收的信息是数据报文时在第一表中查找数据报文对应的第一业务流的表项;

也就是说,当接收的信息是数据报文是才在流表中查找数据报文对应的第一业务流的表项。当接收的信息是控制消息时,根据消息的类型执行相应的操作,举个例子来说,当消息类型是流表配置消息时,根据流表配置消息指示的信息配置流表的表项,当消息类型是端口配置消息时,根据端口配置消息指示的信息配置qos端口等。

这里,所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息。

实际应用时,由sdn控制器来为所述第一业务流分配流标签信息和gre隧道信息,将所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项。

在一实施例中,当在所述流表中未查找到数据报文对应的第一业务流的表项时,将数据报文发送给sdn控制器;

接收所述sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

然后,重新去流表中查找对应的表项,并执行步骤503。

步骤503:利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文。

其中,所述gre报文中至少携带所述流标签信息。

这里,实际应用时,所述流标签信息可以携带在gre报文头中,只需要解析gre报文头即可获得流标签信息,如此能够大大加快处理速度。

实际应用时,为了节省开销,可以在报文中增加了一个标识,来表征是否支持流标签。

基于此,在一实施例中,将所述数据报文封装成gre报文时,在所述gre报文中增加第一标识;所述第一标识表征支持流标签。

与所述流标签信息类似的,所述第一标识也可以携带在gre报文头中,,只需要解析gre报文头即可获得第一标识,从而判断是否支持流标签,当支持流标签时,再进一步解析报文;当不支持流标签时不需要进一步解析报文,如此能够大大加快处理速度。

基于此,所述将所述数据报文封装成gre报文,包括:

在所述gre报文的gre头中增加所述流标签信息及第一标识。

这里,图3为通用gre报文的报文头格式示意图。如图2所示,通用gre头中包含预留域,包括reserved0和reserved1,所以可以利用预留域来设置流标签信息和第一标识,从而对gre头进行扩展。

基于此,所述在所述gre报文的gre头中增加所述流标签信息及所述第一标识,包括:

在所述gre头的预留域设置所述流标签信息及所述第一标识。

图4为支持流标签的gre报文格式,从图4可以看出,在gre头的reserved0域增加1比特来表示是否支持流标签,比如1表示支持流标签,0表示不支持流标签;当支持流标签时,在reserved1域有2字节来标识流标签信息。

需要说明的是:实际应用时,第一标识及流标签信息的具体长度可以根据需要来设置,本发明实施例并不对此进行限定。同时,本发明实施例并不对第一标识在reserved0域的具体位置进行限定。换句话说,上述实现方式只是示例性的描述如何在所述gre头的预留域设置流标签信息及所述第一标识。

不同的qos端口具有不同的优先级和带宽保障,而每个qos端口都对应有一个队列,根据数据报文的qos的要求,将gre报文放置到对应的端口队列里,以便从对应的qos端口发出。举个例子来说,队列1保障10m带宽(对应一个qos端口),队列2保障100m带宽(对应另一个qos端口),在网络拥塞时,进入队列2的数据包可以有更高的带宽保障。

从上面的描述可以看出,所述第一交换机需要将数据报文封装成gre报文,所以所述第一交换机是源交换机。

本发明实施例提供的方案,在流表中查找数据报文对应的第一业务流的表项;所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息;利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文;其中,所述gre报文中至少携带所述流标签信息,采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

另外,在所述gre报文的gre头中增加所述流标签信息及第一标识,这样接收gre报文时,只需要解析gre头即可获得所述流标签信息及第一标识,而不需要解析所有gre报文,如此,大大加快了处理速度。

实施例三

本发明实施例提供了一种报文处理方法,应用于sdn控制器,如图6所示,该方法包括:

步骤601:接收第一交换机发送的数据报文;

步骤602:在流标签映射表查找接收的数据报文对应的第一业务流对应的表项;

其中,所述第一业务流对应的表项至少包含gre隧道信息及用于标识所述第一业务流的流标签信息。

实际应用时,网络管理员会向sdn控制器配置所述第一业务流的服务等级协议(sla,service-levelagreement)需求,sdn控制器根据所述第一业务流的sla需求,设置流标签映射表的表项。

具体地,sdn控制器根据所述第一业务流的传输相关信息及qos信息,生成所述第一业务流的标签信息;

在所述流标签映射表中设置所述第一业务流对应的表项。

这里,生成所述第一业务流的标签信息时,sdn控制器可以利用所述第一业务流的源、目的ip.mac、端口等传输相关信息以及qos信息生成一个哈希(hash)值,将该hash值作为所述第一业务流的流标签信息。当然,实际应用时,还可以使用其他方式来生成所述第一业务流的标签信息,只要生成的所述第一业务流的标签信息能够保证该流标签可以区分不同业务流的qos信息。

步骤603:将所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项。

其中,所述流表包含表征业务流的转发路径相关信息的表项。

本发明实施例中,sdn控制器所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项,这样,使得源交换机及中间交换机能够采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

实施例四

本发明实施例提供了一种报文处理方法,应用于第二交换机,如图7所示,该方法包括:

步骤701:接收gre报文;

步骤702:对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;

这里,在对接收的gre报文进行解析时,对接收的gre报文进行解析,得到第一标识;当所述第一标识表征支持流标签时,进一步解析接收的gre报文,得到用于标识所述第一业务流的流标签信息。

其中,当支持流标签时,再进一步解析报文;当不支持流标签时不需要进一步解析报文,如此能够大大加快处理速度。

当所述第一标识和流标签信息增加在所述gre报文的包头中时,第二交换机对接收的gre报文的gre头进行解析,只需要解析包头即可获得这些信息,如此,能够大大加快处理速度。

步骤703:在流表中查找所述第一业务流的流标签信息对应的表项;

这里,所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;

步骤704:根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文。

不同的qos端口具有不同的优先级和带宽保障,而每个qos端口都对应有一个队列,根据数据报文的qos的要求,将gre报文放置到对应的端口队列里,以便从对应的qos端口发出。举个例子来说,队列1保障10m带宽(对应一个qos端口),队列2保障100m带宽(对应另一个qos端口),在网络拥塞时,进入队列2的数据包可以有更高的带宽保障。

其中,当接收的信息不是gre报文而是控制消息时,第二交换机根据消息的类型执行相应的操作,举个例子来说,当消息类型是流表配置消息时,根据流表配置消息指示的信息配置流表的表项,当消息类型是端口配置消息时,根据端口配置消息指示的信息配置qos端口等。

从上面的描述可以看出,所述第二交换机需要对接收的gre报文进行转发处理,所以所述第二交换机是中间交换机。

本发明实施例提供的方案,对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;在流表中查找所述第一业务流的流标签信息对应的表项;所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文,采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

另外,接收gre报文时,只需要解析gre头即可获得所述流标签信息及第一标识,而不需要解析所有gre报文,如此,大大加快了处理速度

第二交换机对接收的gre报文的gre头进行解析,得到流标签信息及第一标识,只需要解析包头即可获得这些信息,如此,能够大大加快处理速度。

实施例五

本发明实施例提供了一种报文处理方法,应用于第二交换机,如图8所示,该方法包括:

步骤801:接收sdn控制器为第一业务流配置对应的转发路径相关信息;

这里,所述转发路径相关信息至少包括:流标签信息及gre隧道信息。

步骤802:根据接收的转发路径相关信息,在流表中设置所述第一业务流对应的表项;

其中,sdn控制器收到第一交换机发送的第一业务流的数据报文时,会为所述第一业务流配置对应的转发路径相关信息,并发送给第一交换机和第二交换,即发送给源交换机和中间交换机,以使这些交换机能够采用流标签信息来标识所述第一业务流,并根据流标签信息来将所述第一业务流转发至对应的qos端口队列,使所述第一业务流从对应的qos端口发出。

步骤803:接收gre报文;

步骤804:对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;

这里,在对接收的gre报文进行解析时,对接收的gre报文进行解析,得到第一标识;当所述第一标识表征支持流标签时,进一步解析接收的gre报文,得到用于标识所述第一业务流的流标签信息。

其中,当支持流标签时,再进一步解析报文;当不支持流标签时不需要进一步解析报文,如此能够大大加快处理速度。

当所述第一标识和流标签信息增加在所述gre报文的包头中时,第二交换机对接收的gre报文的gre头进行解析,只需要解析包头即可获得这些信息,如此,能够大大加快处理速度。

步骤805:在流表中查找所述第一业务流的流标签信息对应的表项;

这里,所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;

步骤806:根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文。

不同的qos端口具有不同的优先级和带宽保障,而每个qos端口都对应有一个队列,根据数据报文的qos的要求,将gre报文放置到对应的端口队列里,以便从对应的qos端口发出。举个例子来说,队列1保障10m带宽(对应一个qos端口),队列2保障100m带宽(对应另一个qos端口),在网络拥塞时,进入队列2的数据包可以有更高的带宽保障。

其中,当接收的信息不是gre报文而是控制消息时,第二交换机根据消息的类型执行相应的操作,举个例子来说,当消息类型是流表配置消息时,根据流表配置消息指示的信息配置流表的表项,当消息类型是端口配置消息时,根据端口配置消息指示的信息配置qos端口等。

从上面的描述可以看出,所述第二交换机需要对接收的gre报文进行转发处理,所以所述第二交换机是中间交换机。

本发明实施例提供的方案,对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;在流表中查找所述第一业务流的流标签信息对应的表项;所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文,采用流标签信息来标识业务流,并根据流标签信息来将业务流转发至对应的qos端口队列,使业务流从对应的qos端口发出,从而保证实现了隧道中的不同业务提供端到端的qos控制,也就是说,对gre隧道承载的业务流能够提供端到端的qos性能保障。

另外,接收gre报文时,只需要解析gre头即可获得所述流标签信息及第一标识,而不需要解析所有gre报文,如此,大大加快了处理速度

第二交换机对接收的gre报文的gre头进行解析,得到流标签信息及第一标识,只需要解析包头即可获得这些信息,如此,能够大大加快处理速度。

实施例六

本实施例是一个应用实施例。

图9为云数据中心系统架构示意图。本发明实施例的应用场景可以是图9所示的系统架构。如图9所示,该系统包括运行多个虚拟机的物理主机1和主机2,每个主机上运行多个虚拟交换机br-int和br-tun。其中,虚拟交换机br-int用于连接多个虚拟机端口和虚拟交换机br-tun;虚拟交换机br-tun用于与对端gre隧道交换机,并提供gre封装/解封装功能。主机之间通过多个物理sdn交换机sdn-switch1、sdn-switch2,和虚拟sdn交换机br-int、br-tun相互连接,sdn控制器负责物理和虚拟sdn交换机的统一管理和控制。

其中,采用本发明实施例的方案时,需要对sdn控制器和sdn交换机(包括物理交换机和虚拟交换机)的功能进行新增或改进。

如图10所示,sdn控制器包括:管理接口、交换机管理模块、拓扑管理模块、路径计算模块、流表管理模块、流标签管理模块和流标签映射表。其中,管理接口用于向交换机收发消息;交换机管理模块用于管理交换机及端口qos配置信息;拓扑管理模块用于管理交换机拓扑信息;路径计算模块用于根据qos要求为业务流计算一条合适网络路径;流表管理模块用于根据计算出的网络路径及流标签信息生成流表并通知相关交换机配置流表;流标签管理模块用于根据业务流信息和qos信息生成流标签并将映射信息保存到流标签映射表中。

这里,sdn控制器新增的模块包括:流表管理模块、流标签管理模块和流标签映射表。

如图11所示,sdn交换机包括:管理接口、数据接口、流表配置模块、端口管理模块、数据包处理模块、流表匹配模块。其中,管理接口用于向sdn控制器收发消息;数据接口用于向其他网络节点收发数据报文;流表配置模块用于根据sdn控制器发来的配置信息在交换机上配置相应的流表;端口管理模块用于管理交换机端口信息以及配置端口qos等;数据包处理模块用于根据流表匹配决策的下一步处理动作对数据报文作相应处理并转发至相应端口;流表匹配模块用于为数据包匹配合适的流表并决定下一步的处理方式。

这里,sdn交换机新增的模块包括:流表匹配模块及数据包处理模块。

本发明实施例提供的方案是:

sdn控制器收到源交换机发来的业务流后,根据业务流的网络四层信息(sla需求)以及qos需求生成流标签信息,用于区分隧道中的不同业务流。之后将该业务流映射的流标签信息和gre隧道信息通知gre隧道源交换机及中间交换机节点配置相应的流表。

gre隧道源交换机配置流表,当业务流经过隧道源交换机时,根据流表映射到对应的隧道id及流标签信息,封装gre报文,并映射至不同端口qos队列,以转发至下一跳中间交换机节点。

这里,在封装带有流标签的gre报文时,需要扩展greheader的预留域,增加流标签支持,用于区分隧道承载的不同业务流。gre头中1-12bit是预留域,在预留域中增加1bit作为流标签标志位,如果流标签标志位设置为1,在greheader中增加2字节作为流标签域,如果流标签标志位设置为0,表示未映射流标签,具体格式可如图4所示。

中间交换机配置流表,匹配流标签和隧道信息,当业务流经过中间交换机节点时,匹配相应隧道id及流标签,将封装后的业务流即gre报文转发至相应qos端口队列,以转发至下一跳。

图12为本发明应用实施例sdn控制器与交换机交互示意图。如图12所示,交互过程包括:

步骤1201:网络管理员向sdn控制器配置业务流sla需求;

步骤1202:sdn控制器根据业务流sla需求,映射到端口qos配置,并更新流标签映射表的表项;

这里,流标签映射表的表项格式如图13所示。

步骤1203:源虚拟机向sdn隧道源交换机发送数据请求;

步骤1204:sdn隧道源交换机收到请求的数据报文后,当在流表中未查找到对应的表项时,向sdn控制器发送packet-in消息,请求为该业务流计算网络路径,映射流标签信息,并配置流表;

步骤1205:sdn控制器收到请求后,查找流标签映射表,为该业务流计算一条满足qos需求的端到端网络途径,并配置网络节点端口qos;

步骤1206:sdn控制器向sdn隧道源交换机和sdn中间交换机发送交换机配置请求,配置对应端口qos;

步骤1207:sdn隧道源交换机和sdn中间交换机配置完成后,向sdn控制器发送配置完成消息;

步骤1208:所有相关网络节点qos配置完毕之后,sdn控制器根据传输相关信息和qos信息生成流标签信息;

步骤1209:sdn控制器向sdn隧道源交换机和sdn中间交换机发送流表配置消息,以将业务流映射到流标签信息;

步骤1210:sdn隧道源交换机和sdn中间交换机根据发送的消息,更新流表的表项;

步骤1211:sdn隧道源交换机根据数据报文对应的业务流,在查找流表,并在数据报文中添加流标签、隧道id等信息,以封装gre报文,并转发至相应端口qos队列;

步骤1212:sdn中间交换机收到gre报文后,查找流表,匹配流标签、隧道id等信息,转发至相应端口qos队列,以向目标虚拟机转发数据请求,结束当前处理过程。

下面分别描述sdn隧道源交换机和sdn中间交换机的具体处理过程。

图14为sdn隧道源交换机消息处理流程示意图。如图14所示,该过程包括:

步骤1400:接收到一个消息;

步骤1401:判断消息是数据报文还是控制消息,如果是数据报文则执行步骤1402,如果是是控制消息,则执行步骤1407;

步骤1402:检测数据报文对应的业务流在流表中是否有匹配的表项,如果有,则执行步骤1403,否则执行步骤1406;

步骤1403:根据表项的具体内容判断下一步处理动作是否需要设置流标签,如果是,则执行步骤1404,否则,执行步骤1405;

这里,如果表项中有业务流的流标签信息,则表明下一步动作需要设置流标签,如果表项中没有业务流的流标签信息,则表明下一步动作不需要设置流标签。

步骤1404:封装gre报文,在gre头中设置流标签标志位为1,并设置流标签域,并转发至相应端口的qos队列,以发出gre报文,之后执行步骤1410;

步骤1405:封装gre报文,设置流标签标志位为0,并转发至相应端口qos队列,以发出gre报文,之后执行步骤1410;

步骤1406:向sdn控制器发送packet-in消息,请求为该业务流计算网络路径,映射流标签,并配置流表,分配完成后继续执行步骤1402,此时就一定能在流表中查找到对应的表项;

步骤1407:检测控制消息类型是否是流表配置消息,如果是,则执行步骤1408,否则,执行步骤1409;

步骤1408:配置流表,以便将业务流映射到相关流标签和隧道及端口qos队列,之后执行步骤1410;

步骤1409:配置端口qos队列,之后执行步骤1410;

步骤1410:结束当前处理流程。

图15为sdn中间交换机消息处理流程示意图。如图15所示,该过程包括:

步骤1500:接收到一个消息;

步骤1501:判断消息是数据报文还是控制消息,如果是数据报文则执行步骤1502,如果是控制消息,则执行步骤1506;

步骤1502:检测数据报文对应的业务流在流表中是否有匹配的表项,如果有,则执行步骤1503,否则执行步骤1505;

步骤1503:匹配隧道id和流标签,之后执行步骤1504;

步骤1504:根据匹配流表转发数据报文至相应端口qos队列,以发出gre报文,之后执行步骤1509;

步骤1505:丢弃该数据报文,之后执行步骤1509;

步骤1506:检测控制消息类型是否是流表配置消息,如果是,则执行步骤1507,否则,执行步骤1508;

步骤1507:配置流表,以便将业务流映射到相关流标签和隧道及端口qos队列,之后执行步骤1509;

步骤1508:配置端口qos队列,之后执行步骤1509;

步骤1509:结束当前处理流程。

其中,sdn隧道源交换机和sdn中间交换机在匹配业务流的表项时,表项匹配域可以如图16所示。其中,在图16中,wildcards表示通配符,in_port表示入端口,dl_src表示源mac地址,dl_dst表示目标mac地址,dl_vlan表示虚拟局域网vlan标识(id),dl_vlan_pcp表示802.1q优先级,dl_typ表示以太帧类型,nw_tos表示iptos值,nw_proto表示ip协议,nw_src表示源ip地址,nw_dst表示目的ip地址,tp_src表示tcp/ip源端口,tp_dst表示tcp/ip目的端口,flowid表示流标签。

需要说明的是:图16所示的匹配域仅仅是一种实例,实际应用时还可以根据需要可以是其它匹配域,本发明实施例不对此进行限定。

另外,sdn隧道源交换机和sdn中间交换机的流表配置如图17所示。其中,在图17中,srcip表示源ip地址,destip表示目标ip地址,inport表示入端口,dl_vlan表示vlanid,action1=strip_vlan,set_tunnel=5,set_flowid=1102,outputport=5015表示,去掉vlan,设置隧道id为5,设置流标签为1102,出端口为5015,action=enqueue:5114:1表示进入队列5114:1。5114:1表示端口号为5114,队列号为1。

需要说明的是:图17所示的流表配置仅仅是一种实例,实际应用时还可以根据需要可以是其它配置,本发明实施例不对此进行限定。

实施例七

为实现本发明实施例的方法,本实施例提供一种第一交换机,如图18所示,所述第一交换机180包括:第一处理器181和用于存储能够在第一处理器上运行的计算机程序的第一存储器182,

其中,所述第一处理器181用于运行所述计算机程序时,执行:

在流表中查找数据报文对应的第一业务流的表项;所述第一业务流对应的表项至少包含所述第一业务流的gre隧道信息及用于标识所述第一业务流的流标签信息;

利用查找到的表项,将所述数据报文封装成gre报文;并将所述gre报文转发至所述第一业务流对应的qos端口队列,以发出所述gre报文;其中,所述gre报文中至少携带所述流标签信息。

在一实施例中,所述第一处理器181用于运行所述计算机程序时,执行:

将所述数据报文封装成gre报文时,在所述gre报文中增加第一标识;所述第一标识表征支持流标签。

在一实施例中,所述第一处理器181用于运行所述计算机程序时,执行:

在所述gre报文的gre头中增加所述流标签信息及第一标识。

在一实施例中,所述第一处理器181用于运行所述计算机程序时,执行:

在所述gre头的预留域设置所述流标签信息及所述第一标识。

在一实施例中,所述第一处理器181还用于运行所述计算机程序时,执行:

所述在第一表中查找数据报文对应的第一业务流的表项之前,判断接收的信息是否为数据报文,得到判断结果;

当判断结果表征接收的信息是数据报文时在第一表中查找数据报文对应的第一业务流的表项。

在一实施例中,所述第一处理器181还用于运行所述计算机程序时,执行:

当在所述流表中未查找到数据报文对应的第一业务流的表项时,将数据报文发送给软件定义网络sdn控制器;

接收所述sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

需要说明的是:上述实施例提供的第一交换机与第一交换机侧的报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

当然,实际应用时,如图18所示,第一交换机180中的各个组件通过总线系统183耦合在一起。可理解,总线系统183用于实现这些组件之间的连接通信。总线系统183除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图18中将各种总线都标为总线系统183。

其中,所述第一处理器181的个数可以为至少一个。

本发明实施例中的第一存储器182用于存储各种类型的数据以支持交换机180的操作。

上述本发明实施例揭示的方法可以应用于第一处理器181中,或者由第一处理器181实现。第一处理器181可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器181中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器181可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。第一处理器181可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一存储器182,第一处理器181读取第一存储器182中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,第一交换机180可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

为实现本发明实施例的方法,本实施例还提供了一种sdn控制器,如图19所示,该sdn控制器190包括:第二处理器191和用于存储能够在第二处理器上运行的计算机程序的第二存储器192,

其中,所述第二处理器191用于运行所述计算机程序时,执行:

接收第一交换机发送的数据报文;

在:流标签映射表查找接收的数据报文对应的第一业务流对应的表项;所述第一业务流对应的表项至少包含gre隧道信息及用于标识所述第一业务流的流标签信息;

将所述第一业务流的标签信息及gre隧道信息发送至传输第一业务流的gre隧道的源交换机及中间交换机,以使源交换机及中间交换机设置流表的表项;所述流表包含表征业务流的转发路径相关信息的表项。

在一实施例中,所述第二处理器191还用于运行所述计算机程序时,执行:

根据所述第一业务流的传输相关信息及qos信息,生成所述第一业务流的标签信息;

在所述流标签映射表中设置所述第一业务流对应的表项。

需要说明的是:上述实施例提供的sdn控制器与sdn控制器侧的报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

当然,实际应用时,如图19所示,该sdn控制器190还可以包括:至少一个网络接口193。sdn控制器190中的各个组件通过总线系统194耦合在一起。可理解,总线系统194用于实现这些组件之间的连接通信。总线系统194除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图19中将各种总线都标为总线系统194。

其中,所述第二处理器191的个数可以为至少一个。

网络接口193用于sdn控制器190与其他设备之间有线或无线方式的通信。

本发明实施例中的第二存储器192用于存储各种类型的数据以sdn控制器190的操作。

上述本发明实施例揭示的方法可以应用于第二处理器191中,或者由第二处理器191实现。第二处理器191可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第二处理器191中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第二处理器191可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。第二处理器191可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器192,第二处理器191读取第二存储器192中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,sdn控制器190可以被一个或多个asic、dsp、pld、cpld、fpga、通用处理器、控制器、mcu、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

为实现本发明实施例的方法,本实施例还提供了一种第二交换机,如图20所示,该第二交换机200包括:

第三处理器201和用于存储能够在第三处理器上运行的计算机程序的第三存储器202,

其中,所述第三处理器201用于运行所述计算机程序时,执行:

接收gre报文;

对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息;

在流表中查找所述第一业务流的流标签信息对应的表项;所述第一业务流的流标签信息对应的表项至少包含所述第一业务流的gre隧道信息;

根据所述第一业务流的gre隧道信息,将接收的gre报文转发至所述第一业务流对应的qos端口队列,以发出所述接收的gre报文。

在一实施例中,所述第三处理器201用于运行所述计算机程序时,执行:

对接收的gre报文进行解析,得到用于标识所述第一业务流的流标签信息时,对接收的gre报文进行解析,得到第一标识;当所述第一标识表征支持流标签时,进一步解析接收的gre报文,得到用于标识所述第一业务流的流标签信息。

在一实施例中,所述第三处理器201用于运行所述计算机程序时,执行:

对接收的gre报文的gre头进行解析。

在一实施例中,所述第三处理器201还用于运行所述计算机程序时,执行:

接收sdn控制器为所述第一业务流配置对应的转发路径相关信息;所述转发路径相关信息至少包括:流标签信息及gre隧道信息;

根据接收的转发路径相关信息,在所述流表中设置所述第一业务流对应的表项。

需要说明的是:上述实施例提供的第二交换机与第二交换机侧的报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

当然,实际应用时,如图20所示,第二交换机200中的各个组件通过总线系统203耦合在一起。可理解,总线系统203用于实现这些组件之间的连接通信。总线系统203除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图20中将各种总线都标为总线系统203。

其中,所述第三处理器201的个数可以为至少一个。

本发明实施例中的第三存储器202用于存储各种类型的数据以支持第二交换机200的操作。

上述本发明实施例揭示的方法可以应用于第三处理器201中,或者由第三处理器201实现。第三处理器201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第三处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第三处理器201可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。第三处理器201可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第三存储器202,第三处理器201读取第三存储器202中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,第二交换机20可以被一个或多个asic、dsp、pld、cpld、fpga、通用处理器、控制器、mcu、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

可以理解,本发明实施例中的存储器(比如第一存储器182、第二存储器192及第三存储器202),可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的第一存储器182,上述计算机程序可由第一交换机180的第一处理器181执行,以完成前述第一交换机侧方法所述步骤。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的第二存储器192,上述计算机程序可由sdn控制器190的第二处理器191执行,以完成前述sdn控制侧方法所述步骤。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的第三存储器202,上述计算机程序可由第二交换机200的第三处理器201执行,以完成前述第三交换机侧方法所述步骤。

实际应用时,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1