CN105376158B - 基于mpls报文中exp值的sdn流转方法及其装置 - Google Patents

基于mpls报文中exp值的sdn流转方法及其装置 Download PDF

Info

Publication number
CN105376158B
CN105376158B CN201510658520.6A CN201510658520A CN105376158B CN 105376158 B CN105376158 B CN 105376158B CN 201510658520 A CN201510658520 A CN 201510658520A CN 105376158 B CN105376158 B CN 105376158B
Authority
CN
China
Prior art keywords
mpls
information
flow table
switch
sdn controller
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
Application number
CN201510658520.6A
Other languages
English (en)
Other versions
CN105376158A (zh
Inventor
翟跃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huzhou Yinglie Intellectual Property Operation Co ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510658520.6A priority Critical patent/CN105376158B/zh
Publication of CN105376158A publication Critical patent/CN105376158A/zh
Application granted granted Critical
Publication of CN105376158B publication Critical patent/CN105376158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于MPLS报文中EXP值的SDN流转方法及其装置,在该SDN流转方法中包括:SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器;交换机接收MPLS报文,且将MPLS报文与本地流表进行匹配;若匹配,交换机根据本地流表对MPLS报文进行正常转发和转发路径队列调度;若不匹配,交换机将MPLS报文上报至SDN控制器;SDN控制器根据MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径并形成新的流表下发至交换机中;接收到新的流表的交换机根据新的流表对MPLS报文进行转发和转发路径队列调度。这样,大大提升了工作过程中的便利性,降低了出错率。

Description

基于MPLS报文中EXP值的SDN流转方法及其装置
技术领域
本发明涉及SDN网络技术领域,尤其涉及一种基于MPLS报文中EXP值的SDN流转方法及其装置。
背景技术
MPLS(Multi-Protocol Label Switching,多协议标签交换)是新一代的IP高速骨干网络交换标准,其由因特网工程任务组(Internet Engineering Task Force,IETF)提出。MPLS是利用标签(Label)进行数据转发的,当分组进入网络时,为其分配固定长度的标签,并将该标签与分组封装在一起,在整个转发过程中,交换节点仅根据标签进行转发,它是现有路由和交换协议的接口。MPLS主要用于解决网路问题,如网路速度、可扩展性、QoS(Quality of Service,服务质量)管理以及流量工程等。
MPLS报文中的EXP值用来表明MPLS报文的服务等级。目前,基于MPLS的EXP值的数据流转发方法中一般包括以下步骤:1)在入口行为中:根据数据包携带的分类信息将数据包流分类,并转换成内部优先级和丢弃优先级值,随后根据监管策略设置数据包流量的颜色,最后对于不同颜色的数据包进行降级、丢包操作,并根据情况对DSCP、TOS、COS字段进行重写;2)在出口行为中:根据内部优先级将数据包放入优先级队列中,并且根据配置的队列权重值和报文的丢弃优先级进行服务。
但是,目前来说,上述基于MPLS的EXP值的数据流转策略是分布式的,在转发过程中配置任务需要根据每个交换机进行设定,这样,在实际应用中,如果网络拓扑过于复杂,配置任务将会非常复杂并且非常容易出错。
发明内容
针对上述问题,本发明旨在提供基于MPLS报文中EXP值的SDN(Software DefinedNetwork,软件定义网络)流转方法及其流转装置,在MPLS报文数据流转发的过程中所有的配置任务都集中在SDN控制器中,这样,大大提升了工作过程中的便利性,降低了出错率。
本发明提供的技术方案如下:
一种基于MPLS报文中EXP值的SDN流转方法,所述SDN流转方法具体包括以下步骤:
S1 SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器;
S2交换机接收MPLS报文;
S3交换机将所述MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若两者均相同,则匹配成功并跳转至步骤S4;若二者中任意一个不相同,则匹配失败并跳转至步骤S5;
S4所述交换机根据所述本地流表对所述MPLS报文进行正常转发和转发路径队列调度,跳转至步骤S9;
S5所述交换机将所述MPLS报文上报至所述SDN控制器;
S6所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径(LSP,Label Switched Path);
S7所述SDN控制器根据所述标记交换路径形成新的流表,并将所述新的流表下发至所述标记交换路径上所有的交换机;
S8接收到所述新的流表的交换机根据所述新的流表对所述MPLS报文进行转发和转发路径队列调度;
S9流转结束。
在本技术方案中,为了实现以上SDN流转方法,交换机和SDN控制器都支持流表的扩充;且在SDN控制器和交换机中都支持该基于MPLS报文中EXP值的SDN流转策略。
优选地,所述SDN控制器中包括:配置分类表、配置策略表以及转发路径队列调度算法;其中,
在步骤S6中,所述SDN控制器根据所述配置分类表对所述MPLS报文数据流进行重新分类;
所述SDN控制器根据所述配置策略表判断是否修改所述MPLS报文中的EXP值;
所述SDN控制器根据所述转发路径队列调度算法控制交换机实现MPLS报文的转发路径队列调度。
在本技术方案中,为了使SDN控制器能够实现配置任务的集中管理,在进行SDN流转发之前,首先定义其内部的配置分类表、配置策略表以及转发路径队列调度算法,这样,当SDN控制器接收到了未与本地流表匹配的MPLS报文,即可以根据配置分类表和配置策略表对该数据流进行操作。
优选地,在步骤S1,SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器,具体包括以下步骤:
S11初始化每个交换机与SDN控制器之间进行通信的OpenFlow通道;
S12 SDN网络中的所有交换机分别通过私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器;
S13所述SDN控制器将每个交换机的MAC信息和端口信息进行关联并进行存储。
在本技术方案中,交换机采用私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器,这样,保障了信息的安全。
优选地,在步骤S5,所述交换机将所述MPLS报文上报至所述SDN控制器中,具体包括以下步骤:
所述交换机将其自身的MAC信息和端口信息插入所述MPLS报文,并封装成Packet_IN报文上报至所述SDN控制器。
在本技术方案中,将交换机的MAC信息和端口信息一起封装成数据包(Packet_IN报文)上报至SDN控制器,这样SDN控制器就能根据接收到的MAC信息和端口信息对该交换机的身份进行认证。
优选地,在步骤S6,所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径中,具体包括以下步骤:
S61所述SDN控制器接收所述Packet_IN报文,从中提取所述MPLS报文的标签和第一EXP值;
S62所述SDN控制器根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行重新分类;
S63所述SDN控制器根据所述配置策略表判断是否需要将重新分类之后的MPLS报文中的所述第一EXP值修改为第二EXP值;若不需要,跳转至步骤S64;若需要,跳转至步骤S65;
S64所述SDN控制器根据所述MPLS报文的标签、第一EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7;
S65所述SDN控制器根据所述MPLS报文的标签、第二EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7。
在本技术方案中,SDN控制器根据配置策略表来决定是否修改MPLS报文的EXP值(即是否修改EXP字段),关于上述EXP值、第一EXP值以及第二EXP值的关系,从以上步骤描述中可以看出,当不需要将MPLS报文中的第一EXP值修改为第二EXP值,则步骤S64中描述到的第一EXP值即为步骤S6中使用到的EXP值;当需要将MPLS报文中的第一EXP值修改为第二EXP值,则步骤S65中描述到的第二EXP值即为步骤S6中使用到的EXP值。这样,能够更加灵活的控制该MPLS报文数据流的转发和队列调度。
一种基于MPLS报文中EXP值的SDN流转装置,应用于上述SDN流转方法,所述SDN流转装置中包括:SDN控制器和多个交换机,其中,
所述SDN控制器,用于接收SDN网络中所有的交换机发送的MAC信息和端口信息,同时接收所述交换机发送的未与本地流表匹配的MPLS报文;另外,根据全网流量状况、接收的所述MPLS报文的标签和EXP值、以及交换机上报的MAC信息以及端口信息建立标记交换路径,再根据标记交换路径下发新的流表至所述标记交换路径上所有的交换机;
所述交换机,用于发送自身的MAC信息和端口信息至SDN控制器,且将未与本地流表匹配的MPLS报文发送至SDN控制器;另外,根据所述本地流表对与该本地流表匹配的MPLS报文进行正常转发和转发路径队列调度;再有,根据接收的所述新的流表对未与本地流表匹配的MPLS报文进行转发和转发路径队列调度。
优选地,所述交换机中包括:
第一信息发送单元,与报文封装单元连接,用于将自身的MAC信息和端口信息发送至SDN控制器,且用于将Packet_IN报文发送至SDN控制器;
流表匹配单元,用于将MPLS报文与本地流表进行匹配;
信息插入单元,与所述流表匹配单元连接,用于将交换机自身的MAC信息和端口信息插入未与本地流表匹配的MPLS报文中;
报文封装单元,与所述信息插入单元连接,用于将插入了MAC信息和端口信息的MPLS报文进行封装生成Packet_IN报文;
第一信息接收单元,用于接收SDN控制器发送的新的流表;
报文转发单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行正常转发,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发;
转发路径队列调度单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行转发路径队列调度,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发路径队列调度。
优选地,所述SDN控制器中包括:
第二信息接收单元,用于接收所述交换机发送的MAC信息和端口信息;且用于接收所述交换机发送的Packet_IN报文;
信息读取单元,与所述第二信息接收单元连接,所述信息读取单元用于读取Packet_IN报文中的标签和第一EXP值;用于读取Packet_IN报文中的MAC信息和端口信息;用于读取自身的配置分类表和配置策略表;
数据流分类单元,与所述信息读取单元连接,所述数据流分类单元根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行分类;
EXP值修改单元,与所述数据流分类单元连接,所述EXP值修改单元根据所述配置策略表判断将所述第一EXP值修改为第二EXP值;
标记交换路径建立单元,分别与所述信息读取单元、数据流分类单元以及EXP值修改单元连接,所述标记交换路径建立单元根据全网流量状况、所述MPLS报文的标签、所述第一EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径或根据全网流量状况、所述MPLS报文的标签、所述第二EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径;
流表形成单元,与所述LSP建立单元连接,所述流表形成单元根据所述LSP形成新的流表;
第二信息发送单元,与所述流表形成单元连接,所述第二信息发送单元将所述新的流表下发至与LSP关联的所有的交换机。
通过本发明提供的基于MPLS报文中EXP值的SDN流转方法及其装置,能够带来以下至少一种有益效果:
在本发明中,交换机中首先将进入的MPLS报文与本地流表进行匹配,且对于能够正常匹配的MPLS流表进行正常的转发,对于不能够进行匹配的MPLS流表封装发送至SDN控制器中;SDN控制器对接收的这些MPLS报文进行进一步的分类处理,形成新的流表再控制交换机进行转发,可以看出,在本发明中将所有的配置任务序列都集中在SDN控制器,实现集中统一的管理,不易出错且方便修改;
另外,在本发明中,在SDN控制器中根据配置策略表判断是否需要修改MPLS报文中的EXP值,实现对PMLS报文流表转发过程中队列调度的灵活控制;且在SDN控制器中,对于相同优先级别的数据包(包含MPLS报文)提供相同服务(用同等优先级的硬件队列进行转发),对于不同优先级别的数据包提供不同的操作,这样,交换机可以根据数据包的分类信息,为其提供不同的调度策略,包括利用队列的优先级来调度,大大提高了转发的效率和精确度。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明中基于MPLS报文中EXP值的SDN流转方法的流程示意图;
图2为本发明中Experimenter报文的报文格式示意图;
图3为本发明中Packet_IN报文的报文格式示意图;
图4为本发明中交换机结构示意图;
图5为本发明中SDN控制器结构示意图;
图6为本发明中基于MPLS报文中EXP值的SDN流转装置一种具体实施方式结构示意图。
附图标号说明:
10-交换机,11-第一信息发送单元,12-流表匹配单元,13-信息插入单元,14-报文封装单元,15-第一信息接收单元,16-报文转发单元,17-转发路径列队调度单元,20-SDN控制器,21-第二信息接收单元,22-信息读取单元,23-数据流分类单元,24-EXP值修改单元,25-LSP建立单元,26-流表形成单元,27-第二信息发送单元。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示为本发明中提供的基于MPLS报文中EXP值的SDN流转方法的流程示意图,从图中可以看出,该SDN流转方法具体包括以下步骤:
S1 SDN网络中所有的交换机10都将自身的MAC信息和端口信息上报至SDN控制器20;
S2交换机10接收MPLS报文;
S3交换机将MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若两者均相同,则匹配成功并跳转至步骤S4;若二者中任意一个不相同,则匹配失败并跳转至步骤S5;
S4交换机10根据本地流表对MPLS报文进行正常转发和转发路径队列调度,跳转至步骤S9;
S5交换机10将MPLS报文上报至SDN控制器20;
S6 SDN控制器20根据MPLS报文的标签、EXP值、全网流量状况、交换机10上报的MAC信息以及端口信息建立标记交换路径;
S7 SDN控制器20根据标记交换路径形成新的流表,并将新的流表下发至标记交换路径上所有的交换机10;
S8接收到新的流表的交换机10根据新的流表对MPLS报文进行转发和转发路径队列调度;
S9流转结束。
首先,我们对上述的SDN控制器20进行描述:为了能够实现以上描述的SDN流转方法,在SDN控制器20中包括流转过程中所有的配置任务序列,具体该配置任务序列包括:配置分类表、配置策略表以及转发路径队列调度算法。其中,配置分类表用于设置分类表中的匹配标准,且可以通过命令“no”删除该配置分类表中指定的匹配标准,在具体实施例中,SDN控制器20在接收到交换机10发送的未与本地流表匹配的MPLS报文之后,随即根据该配置分类表、MPLS报文的标签和EXP值等对MPLS报文数据流进行重新分类。配置策略表用于为经过分类后的MPLS报文数据流分配一个新EXP值,且可以通过命令“no”取消重新分配的新EXP值,在具体实施例中,SDN控制器20在对接收到的MPLS报文进行了重新分类之后,随即根据该配置策略表判断是否修改MPLS报文中的EXP值,具体这里是否对该EXP值与用户配置有关,这样能够较为灵活的实现MPLS报文数据流的转发。转发路径队列调度算法只支持严格优先级,其一共有八个队列(EXP字段中一共包括3bit数据,范围为0~7,即为这里的八个队列),其中,EXP值=0的队列优先级最高,EXP值=7的队列优先级最低。在具体实施例中,SDN控制器20根据转发路径队列调度算法控制交换机10实现MPLS报文的转发路径队列调度,且在该过程中,EXP值与转发路径队列的ID是一致的,即当EXP值=0时,其对应的转发路径队列的ID也为0,优先级最高,优先被转发;且对于EXP值相同的MPLS报文数据流,转发路径上的交换机10端口(支持八个转发队列)应采用相同的队列进行调度。
再有,为了能够实现以上描述的SDN流转方法,上述的交换机10和SDN控制器20中都支持流表扩充。具体该流表扩充我们做出如表1中定义:“Match字段”为“MPLS标签和EXP值”、“动作字段”为“根据流表转发报文”、“描述”为“匹配MPLS标签和EXP值,EXP值决定转发队列”,以此实现交换机10和SDN控制器20中的流表扩充。
表1:
基于以上对SDN控制器的描述,以下我们对基于MPLS报文中EXP值的SDN流转方法进行详细描述,在步骤S1中,SDN网络中所有的交换机10都将自身的MAC信息和端口信息上报至SDN控制器20,具体包括以下步骤:
S11交换机10初始化OpenFlow通道,以此建立交换机10和SDN控制器20之间的安全通道。
S12 SDN网络中所有的交换机10都通过私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器20。具体来说,这里的Experimenter报文格式如图2所示,从图中可以看出,在该Experimenter报文中,包括:Version(版本号)、Type(数据类型)、Length(数据长度)、Transaction ID(事务ID号)、Experimenter值、Experimenter类型、OwnMAC address(自身的MAC信息)以及Port ID(端口号)信息,且在该Experimenter报文中,上报的端口号支持128个。更进一步来说,交换机10在上报自身MAC信息和端口信息的过程中,该Experimenter值为255,Experimenter类型为1(表示数据方向为从交换机10到SDN控制器20)。
S13 SDN控制器20将每个交换机的MAC信息和端口信息进行关联并进行存储,并将交换机10的MAC信息作为该交换机10的标识符。
在步骤S5,交换机10将MPLS报文上报至SDN控制器20中,具体包括以下步骤:
交换机10将其自身的MAC信息和端口信息插入MPLS报文,并封装成Packet_IN报文上报至SDN控制器20。当然,在该步骤中,这里所说的MPLS报文为未与本地流表匹配的MPLS报文,封装后生成的Packet_IN报文格式如图3所示,从图中可以看出,该Packet_IN报文的报文格式为:目的MAC信息、源MAC信息、S-Tag(包括交换机10MAC信息和端口信息)、MPLSHeader(MPLS头部)以及Payload(有效载荷)。
在步骤S6,SDN控制器20根据MPLS报文的标签、EXP值、全网流量状况、交换机10上报的MAC信息以及端口信息建立标记交换路径中,具体包括以下步骤:
S61 SDN控制器20接收Packet_IN报文,从中提取MPLS报文的标签和第一EXP值;且从中提取交换机10的MAC信息和端口信息,并将提取的MAC信息和端口信息与存储的MAC信息和端口信息进行比对,以此实现对交换机10的认证。
S62 SDN控制器20根据配置分类表、标签以及第一EXP值对MPLS报文数据流进行重新分类。
S63 SDN控制器20根据配置策略表判断是否需要将重新分类之后的MPLS报文中的第一EXP值修改为第二EXP值;若不需要,跳转至步骤S64;若需要,跳转至步骤S65。
S64 SDN控制器20根据MPLS报文的标签、第一EXP值、全网流量状况、交换机10上报的MAC信息以及端口信息建立LSP,跳转至步骤S7。
S65 SDN控制器20根据MPLS报文的标签、第二EXP值、全网流量状况、交换机10上报的MAC信息以及端口信息建立LSP,跳转至步骤S7。
根据步骤S61~S65中的描述,可以看出,在该步骤中,SDN控制器根据预设好的配置策略表判断是否需要修改MPLS报文中的EXP值,若需要修改,则根据修改后的EXP值(上述第二EXP值)建立标记交换路径;若不需要修改,则根据从MPLS报文提取的EXP值(上述第一EXP值)建立标记交换路径,这样,在SDN控制器中,对于相同优先级别的数据包(包含MPLS报文)提供相同服务(用同等优先级的硬件队列进行转发),对于不同优先级别的数据包提供不同的操作,这样,交换机可以根据数据包的分类信息,为其提供不同的调度策略,包括利用队列的优先级来调度,大大提高了转发的效率和精确度。
另外,本发明中还提供了一种基于MPLS报文中EXP值的SDN流转装置,该SDN流转装置应用于上述的SDN流转方法,具体来说,在该SDN流转装置中包括:SDN控制器20和多个交换机10,在工作过程中,交换机10首先将接收到的MPLS报文与本地流表进行匹配,若匹配了,则对其进行正常的转发和队列调度;若不匹配,则在该MPLS报文中插入该交换机10的MAC信息和端口信息并封装为Packet_IN报文上报至SDN控制器20中。上述的匹配具体为:交换机10将MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若两者均相同(MPLS报文中的源MAC信息与本地流表中的目的MAC信息相同,MPLS报文中的端口信息与本地流表中的端口信息相同),则匹配成功;若二者中任意一个不相同(MPLS报文中的源MAC信息与本地流表中的目的MAC信息不同,和/或MPLS报文中的端口信息与本地流表中的端口信息不同),则匹配失败。SDN控制器20接收到该未与本地流表匹配的MPLS,随即根据配置分类表对其进行重新分来,再根据配置策略表判断是否需要修改其EXP值。随后,SDN控制器20根据全网流量状况、接收的MPLS报文的标签和EXP值(原EXP值或修改后的EXP值)、交换机10上报的MAC信息以及端口信息建立LSP生成新的流表并下发至交换机10中。最后,交换机10根据新的流表实现MPLS报文的转发和队列调度。
进一步来说,如图4所示,在该交换机10中包括:第一信息发送单元11、流表匹配单元12、信息插入单元13、报文封装单元14、第一信息接收单元15、报文转发单元16以及转发路径队列调度单元17,其中,第一信息发送单元11与报文封装单元14连接,信息插入单元13与流表匹配单元12连接,报文封装单元14与信息插入单元13连接,报文转发单元16分别与流表匹配单元12和第一信息接收单元15连接,转发路径队列调度单元17分别与流表匹配单元12和第一信息接收单元15连接。在工作过程中,首先,流表匹配单元12将MPLS报文与本地流表进行匹配,若匹配了,则报文转发单元16对该与本地流表匹配的MPLS报文进行正常转发,同时转发路径队列调度单元17根据本地流表对该MPLS报文进行转发路径队列调度;若不匹配,则信息插入单元13将交换机10自身的MAC信息和端口信息插入未与本地流表匹配的MPLS报文中,具体来说,在这里,交换机将MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息均相同,则为匹配成功;若二者中任意一个不相同,则为匹配不成功。随后,报文封装单元14将插入了MAC信息和端口信息的MPLS报文进行封装生成Packet_IN报文;最后,第一信息发送单元11将该Packet_IN报文发送至SDN控制器20。当然,在交换机10在对MPLS报文进行本地流表匹配之前,交换机10需要初始化OpenFlow通道以建立与SDN控制器20之间的安全通道,并将自身的MAC信息和端口信息通过私密的Experimenter报文发送至SDN控制器20中。另外,交换机10中的第一信息接收单元15接收SDN控制器20下发的新的流表,进而根据新的流表实现之前未与本地流表匹配的MPLS报文的转发和队列调度。这里要说明的是,接收新的流表的交换机10由建立的标记交换路径确定,有可能包含发送该MPLS报文的交换机10,也可能不包括该交换机10,且接收新的流表的交换机10的数量也标记交换路径确定。
如图5所示,在SDN控制器20中包括:第二信息接收单元21、信息读取单元22、数据流分类单元23、EXP值修改单元24、标记交换路径建立单元25、流表形成单元26以及第二信息发送单元27,其中,信息读取单元22与第二信息接收单元21连接,数据流分类单元23与信息读取单元22连接,EXP值修改单元24与数据流分类单元23连接,标记交换路径建立单元25分别与信息读取单元22、数据流分类单元23以及EXP值修改单元24连接,第二信息发送单元27与流表形成单元26连接。在工作过程之前,第二信息接收单元21接收交换机10发送的MAC信息和端口信息。在工作过程中,首先,第二信息接收单元21接收交换机10发送的Packet_IN报文;之后,信息读取单元22读取Packet_IN报文中的标签和第一EXP值;紧接着,数据流分类单元23根据配置分类表、标签以及第一EXP值对MPLS报文数据流进行分类;进而,EXP值修改单元24根据配置策略表判断将第一EXP值修改为第二EXP值;接着,标记交换路径建立单元25根据全网流量状况、MPLS报文的标签、第一EXP值(未修改EXP值时)、交换机10上报的MAC信息以及端口信息建立标记交换路径或根据全网流量状况、MPLS报文的标签、第二EXP值(修改了EXP值)、交换机10上报的MAC信息以及端口信息建立标记交换路径,以此流表形成单元26形成新的流表;最后通过第二信息发送单元27将该新的流表下发至与标记交换路径关联的所有的交换机10。
作为一个完整的实施例中,如图6所示(图示中箭头方向表示信号流动方向),在该实施例中,包括交换机S0、S1、S2以及S3,SDN控制器20、PC机Host A和Host B。另外,在该实施例中,我们假定从PC机Host A中发送了EXP值=0的第一MPLS报文和EXP值=7的第二MPLS报文到PC机Host B中。在使用该装置对上述第一MPLS报文和第二MPLS报文进行转发和队列调度的过程中:
首先交换机S1接收该第一MPLS报文和第二MPLS报文并分别对两个MPLS报文进行匹配。假若此时两个MPLS报文都未匹配,则交换机S1中将两个MPLS报文中分别插入该交换机S1的MAC信息和端口信息并分别封装为Packet_IN报文发送至SDN控制器20中。
SDN控制器20接收到两个MPLS报文之后随即根据配置分类表、标签和EXP值对其进行重新分类,并根据配置策略表决定不重新分配EXP值。随后SDN控制器20根据全网流量状况、MPLS报文的标签、EXP值分别对两个MPLS报文建立标记交换路径。
假若此时网络拥堵,则SDN控制器20丢弃EXP值=7的第二MPLS报文,只对EXP值=0的第一MPLS报文进行转发,此时,根据第一MPLS报文的标记交换路径形成新的流表发送分别发送至如图所示的交换机S0、S1和S3。这样交换机S0首先从SDN控制器20中接收到该第一MPLS报文并根据新的流表将该MPLS报文经由交换机S1和交换机S3发送至PC机Host B,完成第一MPLS报文的转发。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于MPLS报文中EXP值的SDN流转方法,其特征在于,所述SDN流转方法具体包括以下步骤:
S1SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器;所述SDN控制器中包括:配置分类表、配置策略表以及转发路径队列调度算法;
S2交换机接收MPLS报文;
S3交换机将所述MPLS报文中的源MAC信息和端口信息分别与本地流表中的目的MAC信息和端口信息进行匹配;若两者均相同,则匹配成功并跳转至步骤S4;若二者中任意一个不相同,则匹配失败并跳转至步骤S5;
S4所述交换机根据所述本地流表对所述MPLS报文进行正常转发和转发路径队列调度,跳转至步骤S9;
S5所述交换机将所述MPLS报文上报至所述SDN控制器;
S6所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径;所述SDN控制器根据所述配置分类表对所述MPLS报文数据流进行重新分类;所述SDN控制器根据所述配置策略表判断是否修改所述MPLS报文中的EXP值;所述SDN控制器根据所述转发路径队列调度算法控制交换机实现MPLS报文的转发路径队列调度;
S7所述SDN控制器根据所述标记交换路径形成新的流表,并将所述新的流表下发至所述标记交换路径上所有的交换机;
S8接收到所述新的流表的交换机根据所述新的流表对所述MPLS报文进行转发和转发路径队列调度;
S9流转结束。
2.如权利要求1所述的基于MPLS报文中EXP值的SDN流转方法,其特征在于,在步骤S1,SDN网络中所有的交换机都将自身的MAC信息和端口信息上报至SDN控制器,具体包括以下步骤:
S11初始化每个交换机与SDN控制器之间进行通信的OpenFlow通道;
S12SDN网络中的所有交换机分别通过私有的Experimenter报文将自身的MAC信息和端口信息上报至SDN控制器;
S13所述SDN控制器将每个交换机的MAC信息和端口信息进行关联并进行存储。
3.如权利要求1或2所述的基于MPLS报文中EXP值的SDN流转方法,其特征在于,在步骤S5,所述交换机将所述MPLS报文上报至所述SDN控制器中,具体包括以下步骤:
所述交换机将其自身的MAC信息和端口信息插入所述MPLS报文,并封装成Packet_IN报文上报至所述SDN控制器。
4.如权利要求3所述的基于MPLS报文中EXP值的SDN流转方法,其特征在于,在步骤S6,所述SDN控制器根据所述MPLS报文的标签、EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径中,具体包括以下步骤:
S61所述SDN控制器接收所述Packet_IN报文,从中提取所述MPLS报文的标签和第一EXP值;
S62所述SDN控制器根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行重新分类;
S63所述SDN控制器根据所述配置策略表判断是否需要将重新分类之后的MPLS报文中的所述第一EXP值修改为第二EXP值;若不需要,跳转至步骤S64;若需要,跳转至步骤S65;
S64所述SDN控制器根据所述MPLS报文的标签、第一EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7;
S65所述SDN控制器根据所述MPLS报文的标签、第二EXP值、全网流量状况、交换机上报的MAC信息以及端口信息建立标记交换路径,跳转至步骤S7。
5.一种基于MPLS报文中EXP值的SDN流转装置,其特征在于,所述SDN流转装置应用于如权利要求1-4任意一项所述的SDN流转方法,所述SDN流转装置中包括:SDN控制器和多个交换机,其中,
所述SDN控制器,用于接收SDN网络中所有的交换机发送的MAC信息和端口信息,同时接收所述交换机发送的未与本地流表匹配的MPLS报文;另外,根据全网流量状况、接收的所述MPLS报文的标签和EXP值、以及交换机上报的MAC信息以及端口信息建立标记交换路径,再根据标记交换路径下发新的流表至所述标记交换路径上所有的交换机;
所述交换机,用于发送自身的MAC信息和端口信息至SDN控制器,且将未与本地流表匹配的MPLS报文发送至SDN控制器;另外,根据所述本地流表对与该本地流表匹配的MPLS报文进行正常转发和转发路径队列调度;再有,根据接收的所述新的流表对未与本地流表匹配的MPLS报文进行转发和转发路径队列调度。
6.如权利要求5所述的基于MPLS报文中EXP值的SDN流转装置,其特征在于,所述交换机中包括:
第一信息发送单元,与报文封装单元连接,用于将自身的MAC信息和端口信息发送至SDN控制器,且用于将Packet_IN报文发送至SDN控制器;
流表匹配单元,用于将MPLS报文与本地流表进行匹配;
信息插入单元,与所述流表匹配单元连接,用于将交换机自身的MAC信息和端口信息插入未与本地流表匹配的MPLS报文中;
报文封装单元,与所述信息插入单元连接,用于将插入了MAC信息和端口信息的MPLS报文进行封装生成Packet_IN报文;
第一信息接收单元,用于接收SDN控制器发送的新的流表;
报文转发单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行正常转发,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发;
转发路径队列调度单元,分别与所述流表匹配单元和第一信息接收单元连接,用于根据本地流表对与本地流表匹配的MPLS报文进行转发路径队列调度,且用于根据所述新的流表对未与本地流表匹配的MPLS报文进行转发路径队列调度。
7.如权利要求6所述的基于MPLS报文中EXP值的SDN流转装置,其特征在于,所述SDN控制器中包括:
第二信息接收单元,用于接收所述交换机发送的MAC信息和端口信息;且用于接收所述交换机发送的Packet_IN报文;
信息读取单元,与所述第二信息接收单元连接,所述信息读取单元用于读取Packet_IN报文中的标签和第一EXP值;用于读取自身的配置分类表和配置策略表;
数据流分类单元,与所述信息读取单元连接,所述数据流分类单元根据所述配置分类表、所述标签以及所述第一EXP值对MPLS报文数据流进行分类;
EXP值修改单元,与所述数据流分类单元连接,所述EXP值修改单元根据所述配置策略表判断将所述第一EXP值修改为第二EXP值;
标记交换路径建立单元,分别与所述信息读取单元、数据流分类单元以及EXP值修改单元连接,所述标记交换路径建立单元根据全网流量状况、所述MPLS报文的标签、所述第一EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径或根据全网流量状况、所述MPLS报文的标签、所述第二EXP值、交换机上报的MAC信息以及端口信息建立标记交换路径;
流表形成单元,与所述标记交换路径建立单元连接,所述流表形成单元根据所述标记交换路径形成新的流表;
第二信息发送单元,与所述流表形成单元连接,所述第二信息发送单元将所述新的流表下发至与标记交换路径关联的所有的交换机。
CN201510658520.6A 2015-10-12 2015-10-12 基于mpls报文中exp值的sdn流转方法及其装置 Active CN105376158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510658520.6A CN105376158B (zh) 2015-10-12 2015-10-12 基于mpls报文中exp值的sdn流转方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510658520.6A CN105376158B (zh) 2015-10-12 2015-10-12 基于mpls报文中exp值的sdn流转方法及其装置

Publications (2)

Publication Number Publication Date
CN105376158A CN105376158A (zh) 2016-03-02
CN105376158B true CN105376158B (zh) 2018-04-27

Family

ID=55377978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510658520.6A Active CN105376158B (zh) 2015-10-12 2015-10-12 基于mpls报文中exp值的sdn流转方法及其装置

Country Status (1)

Country Link
CN (1) CN105376158B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791129A (zh) * 2016-03-08 2016-07-20 浪潮集团有限公司 一种OpenFlow流表处理无效数据包的方法
CN107666442B (zh) * 2016-07-29 2019-09-17 北京金山云网络技术有限公司 一种基于软件定义网络sdn的虚拟网络控制方法和装置
CN106453138B (zh) * 2016-11-25 2020-03-06 新华三技术有限公司 一种报文处理方法和装置
CN106789658B (zh) * 2016-12-29 2019-09-27 南京邮电大学 基于sdn控制器的卫星mpls网络流量均衡方法
CN106789703B (zh) * 2017-01-12 2020-10-13 上海斐讯数据通信技术有限公司 一种基于sdn架构的流量监管方法
CN106789654A (zh) * 2017-02-07 2017-05-31 上海斐讯数据通信技术有限公司 基于sdn的sp+wrr的流量调度方法及系统
CN107770071B (zh) * 2017-10-19 2021-03-23 盛科网络(苏州)有限公司 一种基于OpenFlow的MPLS报文处理方法及装置
CN110166320B (zh) * 2019-05-27 2022-06-21 苏州盛科通信股份有限公司 基于OpenFlow交换机的MPLS-TP OAM实现方法及系统
CN112671713B (zh) * 2020-11-30 2023-01-20 山东电力工程咨询院有限公司 一种sdn网络数据转发方法、sdn交换机、控制器及系统
CN113835786B (zh) * 2021-09-30 2023-04-28 四川新网银行股份有限公司 一种数据对接系统、方法和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243340A (zh) * 2014-09-28 2014-12-24 杭州华三通信技术有限公司 一种软件定义网络中报文处理方法和装置
CN104734994A (zh) * 2015-04-13 2015-06-24 上海斐讯数据通信技术有限公司 一种基于sdn框架的流标签控制方法
CN104901890A (zh) * 2015-06-24 2015-09-09 上海斐讯数据通信技术有限公司 一种sdn的路由生成、匹配方法和系统
CN104954226A (zh) * 2015-07-28 2015-09-30 上海斐讯数据通信技术有限公司 一种基于SDN的支持QoS的通信隧道建立方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014195179A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd パケット通信装置、パケット通信方法及びパケット通信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243340A (zh) * 2014-09-28 2014-12-24 杭州华三通信技术有限公司 一种软件定义网络中报文处理方法和装置
CN104734994A (zh) * 2015-04-13 2015-06-24 上海斐讯数据通信技术有限公司 一种基于sdn框架的流标签控制方法
CN104901890A (zh) * 2015-06-24 2015-09-09 上海斐讯数据通信技术有限公司 一种sdn的路由生成、匹配方法和系统
CN104954226A (zh) * 2015-07-28 2015-09-30 上海斐讯数据通信技术有限公司 一种基于SDN的支持QoS的通信隧道建立方法及系统

Also Published As

Publication number Publication date
CN105376158A (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN105376158B (zh) 基于mpls报文中exp值的sdn流转方法及其装置
EP1650908B1 (en) Internal load balancing in a data switch using distributed network process
US7486674B2 (en) Data mirroring in a service
EP1739914B1 (en) Method, apparatus, edge router and system for providing a guarantee of the quality of service (qos)
CN111953604B (zh) 一种为业务流提供业务服务的方法和装置
CN105376154B (zh) 渐进式mac地址学习
US7417950B2 (en) Method and apparatus for performing data flow ingress/egress admission control in a provider network
US6718379B1 (en) System and method for network management of local area networks having non-blocking network switches configured for switching data packets between subnetworks based on management policies
US7417995B2 (en) Method and system for frame relay and ethernet service interworking
US7020150B2 (en) System, device, and method for traffic and subscriber service differentiation using multiprotocol label switching
CA2570745C (en) Technique for transferring data over a packet switched network
CN105051688A (zh) 经扩展的标记联网
CN101877677B (zh) 一种多协议标签交换业务隧道切换的方法及系统
WO2007044584A2 (en) Application wire
CN106130901B (zh) 一种数据传输的方法、装置以及系统
US8718057B1 (en) Ethernet LAN service enhancements
CN102119551B (zh) 一种判断路径拥塞的方法、装置和系统
WO2009046869A1 (en) Method and systems for qos-aware flow control in communication networks, corresponding network and computer program product
CN111327445B (zh) 报文采样方法及解封装方法、节点、系统及存储介质
CN112910774B (zh) 通信方法、系统以及网络转发设备
CN110166320B (zh) 基于OpenFlow交换机的MPLS-TP OAM实现方法及系统
US7061919B1 (en) System and method for providing multiple classes of service in a packet switched network
Wadekar Enhanced ethernet for data center: Reliable, channelized and robust
CN110830373B (zh) 一种实现sdn网络中业务的qos服务质量区分的方法和装置
CN110166360B (zh) 基于OpenFlow交换机的MPLS-TP APS实现方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201125

Address after: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Jiji Intellectual Property Operation Co., Ltd

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201215

Address after: 313105 Jincun Village, Lushan Township, Changxing County, Huzhou City, Zhejiang Province

Patentee after: Changxing Lushan golden Heron Incubator Co., Ltd

Address before: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Jiji Intellectual Property Operation Co., Ltd

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211207

Address after: 313000 room 1019, Xintiandi commercial office, Yishan street, Wuxing District, Huzhou, Zhejiang, China

Patentee after: Huzhou YingLie Intellectual Property Operation Co.,Ltd.

Address before: 313105 Jincun Village, Lushan Township, Changxing County, Huzhou City, Zhejiang Province

Patentee before: Changxing Lushan golden Heron Incubator Co., Ltd

TR01 Transfer of patent right