[0005] 针对上述问题,本发明旨在提供基于MPLS报文中EXP值的SDN(Software Defined Network,软件定义网络)流转方法及其流转装置,在MPLS报文数据流转发的过程中所有的配置任务都集中在SDN控制器中,这样,大大提升了工作过程中的便利性,降低了出错率。
[0006] 本发明提供的技术方案如下:
[0007] 一种基于MPLS报文中EXP值的SDN流转方法,所述SDN流转方法具体包括以下步骤:
[0008] S1 SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器;
[0009] S2交换机接收MPLS报文;
[0010] S3交换机将所述MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若两者均相同,则匹配成功并跳转至步骤S4;若二者中任意一个不相同,则匹配失败并跳转至步骤S5;
[0011] S4所述交换机根据所述本地流表对所述MPLS报文进行正常转发和转发路径队列调度,跳转至步骤S9;
[0012] S5所述交换机将所述MPLS报文上报至所述SDN控制器;
[0013] S6所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径(LSP,Label Switched Path);
[0014] S7所述SDN控制器根据所述标记交换路径形成新的流表,并将所述新的流表下发至所述标记交换路径上所有的交换机;
[0015] S8接收到所述新的流表的交换机根据所述新的流表对所述MPLS报文进行转发和转发路径队列调度;
[0016] S9流转结束。
[0017] 在本技术方案中,为了实现以上SDN流转方法,交换机和SDN控制器都支持流表的扩充;且在SDN控制器和交换机中都支持该基于MPLS报文中EXP值的SDN流转策略。
[0018] 优选地,所述SDN控制器中包括:配置分类表、配置策略表以及转发路径队列调度算法;其中,
[0019] 在步骤S6中,所述SDN控制器根据所述配置分类表对所述MPLS报文数据流进行重新分类;
[0020] 所述SDN控制器根据所述配置策略表判断是否修改所述MPLS报文中的EXP值;
[0021] 所述SDN控制器根据所述转发路径队列调度算法控制交换机实现MPLS报文的转发路径队列调度。
[0022] 在本技术方案中,为了使SDN控制器能够实现配置任务的集中管理,在进行SDN流转发之前,首先定义其内部的配置分类表、配置策略表以及转发路径队列调度算法,这样,当SDN控制器接收到了未与本地流表匹配的MPLS报文,即可以根据配置分类表和配置策略表对该数据流进行操作。
[0023] 优选地,在步骤S1,SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器,具体包括以下步骤:
[0024] S11初始化每个交换机与SDN控制器之间进行通信的OpenFlow通道;
[0025] S12 SDN网络中的所有交换机分别通过私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器;
[0026] S13所述SDN控制器将每个交换机的MAC信息和端口信息进行关联并进行存储。
[0027] 在本技术方案中,交换机采用私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器,这样,保障了信息的安全。
[0028] 优选地,在步骤S5,所述交换机将所述MPLS报文上报至所述SDN控制器中,具体包括以下步骤:
[0029] 所述交换机将其自身的MAC信息和端口信息插入所述MPLS报文,并封装成Packet_IN报文上报至所述SDN控制器。
[0030] 在本技术方案中,将交换机的MAC信息和端口信息一起封装成数据包(Packet_IN报文)上报至SDN控制器,这样SDN控制器就能根据接收到的MAC信息和端口信息对该交换机的身份进行认证。
[0031] 优选地,在步骤S6,所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径中,具体包括以下步骤:
[0032] S61所述SDN控制器接收所述Packet_IN报文,从中提取所述MPLS报文的标签和第一EXP值;
[0033] S62所述SDN控制器根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行重新分类;
[0034] S63所述SDN控制器根据所述配置策略表判断是否需要将重新分类之后的MPLS报文中的所述第一EXP值修改为第二EXP值;若不需要,跳转至步骤S64;若需要,跳转至步骤S65;
[0035] S64所述SDN控制器根据所述MPLS报文的标签、第一EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7;
[0036] S65所述SDN控制器根据所述MPLS报文的标签、第二EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7。
[0037] 在本技术方案中,SDN控制器根据配置策略表来决定是否修改MPLS报文的EXP值(即是否修改EXP字段),关于上述EXP值、第一EXP值以及第二EXP值的关系,从以上步骤描述中可以看出,当不需要将MPLS报文中的第一EXP值修改为第二EXP值,则步骤S64中描述到的第一EXP值即为步骤S6中使用到的EXP值;当需要将MPLS报文中的第一EXP值修改为第二EXP值,则步骤S65中描述到的第二EXP值即为步骤S6中使用到的EXP值。这样,能够更加灵活的控制该MPLS报文数据流的转发和队列调度。
[0038] 一种基于MPLS报文中EXP值的SDN流转装置,应用于上述SDN流转方法,所述SDN流转装置中包括:SDN控制器和多个交换机,其中,
[0039] 所述SDN控制器,用于接收SDN网络中所有的交换机发送的MAC信息和端口信息,同时接收所述交换机发送的未与本地流表匹配的MPLS报文;另外,根据全网流量状况、接收的所述MPLS报文的标签和EXP值、以及交换机上报的MAC信息以及端口信息建立标记交换路径,再根据标记交换路径下发新的流表至所述标记交换路径上所有的交换机;
[0040] 所述交换机,用于发送自身的MAC信息和端口信息至SDN控制器,且将未与本地流表匹配的MPLS报文发送至SDN控制器;另外,根据所述本地流表对与该本地流表匹配的MPLS报文进行正常转发和转发路径队列调度;再有,根据接收的所述新的流表对未与本地流表匹配的MPLS报文进行转发和转发路径队列调度。
[0041] 优选地,所述交换机中包括:
[0042] 第一信息发送单元,与报文封装单元连接,用于将自身的MAC信息和端口信息发送至SDN控制器,且用于将Packet_IN报文发送至SDN控制器;
[0043] 流表匹配单元,用于将MPLS报文与本地流表进行匹配;
[0044] 信息插入单元,与所述流表匹配单元连接,用于将交换机自身的MAC信息和端口信息插入未与本地流表匹配的MPLS报文中;
[0045] 报文封装单元,与所述信息插入单元连接,用于将插入了MAC信息和端口信息的MPLS报文进行封装生成Packet_IN报文;
[0046] 第一信息接收单元,用于接收SDN控制器发送的新的流表;
[0047] 报文转发单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行正常转发,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发;
[0048] 转发路径队列调度单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行转发路径队列调度,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发路径队列调度。
[0049] 优选地,所述SDN控制器中包括:
[0050] 第二信息接收单元,用于接收所述交换机发送的MAC信息和端口信息;且用于接收所述交换机发送的Packet_IN报文;
[0051] 信息读取单元,与所述第二信息接收单元连接,所述信息读取单元用于读取Packet_IN报文中的标签和第一EXP值;用于读取Packet_IN报文中的MAC信息和端口信息;用于读取自身的配置分类表和配置策略表;
[0052] 数据流分类单元,与所述信息读取单元连接,所述数据流分类单元根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行分类;
[0053] EXP值修改单元,与所述数据流分类单元连接,所述EXP值修改单元根据所述配置策略表判断将所述第一EXP值修改为第二EXP值;
[0054] 标记交换路径建立单元,分别与所述信息读取单元、数据流分类单元以及EXP值修改单元连接,所述标记交换路径建立单元根据全网流量状况、所述MPLS报文的标签、所述第一EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径或根据全网流量状况、所述MPLS报文的标签、所述第二EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径;
[0055] 流表形成单元,与所述LSP建立单元连接,所述流表形成单元根据所述LSP形成新的流表;
[0056] 第二信息发送单元,与所述流表形成单元连接,所述第二信息发送单元将所述新的流表下发至与LSP关联的所有的交换机。
[0057] 通过本发明提供的基于MPLS报文中EXP值的SDN流转方法及其装置,能够带来以下至少一种有益效果:
[0058] 在本发明中,交换机中首先将进入的MPLS报文与本地流表进行匹配,且对于能够正常匹配的MPLS流表进行正常的转发,对于不能够进行匹配的MPLS流表封装发送至SDN控制器中;SDN控制器对接收的这些MPLS报文进行进一步的分类处理,形成新的流表再控制交换机进行转发,可以看出,在本发明中将所有的配置任务序列都集中在SDN控制器,实现集中统一的管理,不易出错且方便修改;
[0059] 另外,在本发明中,在SDN控制器中根据配置策略表判断是否需要修改MPLS报文中的EXP值,实现对PMLS报文流表转发过程中队列调度的灵活控制;且在SDN控制器中,对于相同优先级别的数据包(包含MPLS报文)提供相同服务(用同等优先级的硬件队列进行转发),对于不同优先级别的数据包提供不同的操作,这样,交换机可以根据数据包的分类信息,为其提供不同的调度策略,包括利用队列的优先级来调度,大大提高了转发的效率和精确度。