一种基于SDN的Goose报文流表过滤方法
【专利摘要】本发明涉及一种基于SDN的Goose报文流表过滤方法,所述方法包括(1)控制器中配置流表的第一条流表项;(2)判断是否配置第一条流表项;(3)控制器中配置流表的第二条流表项;(4)判断是否配置第二条流表项。本发明通过基于SDN的流表,动态的对G00SE报文的过滤进行配置。该方法可以提高G00SE报文过滤的实时性,并有效提高更新配置信息的运维效率。
【专利说明】一种基于SDN的Goose报文流表过滤方法
【技术领域】
[0001] 本发明涉及一种报文流表过滤方法,具体讲涉及一种基于SDN的Goose报文流表 过滤方法。
【背景技术】
[0002] 面向通用对象的变电站事件(GOOSE)是IEC61850标准用于解决智能电子设备 (IED)之间实时信号通信的多播通信机制。智能变电站采用IEC61850统一通信协议,通常 分为过程层、间隔层和站控层,间隔层和站控层设备、过程层和间隔层设备通过通信网络互 联,用于控制开关跳闸和合闸的G00SE报文通过此通信网络传输,因此其实时性非常关键。
[0003] 目前常用的G00SE报文过滤方法均是基于交换设备的静态配置,即每种过滤配置 都嵌入在设备/节点内部。当网络流量较大或出现其他特殊情况时,个别设备处理能力的 不足会增加处理时延,降低G00SE报文过滤的效率,甚至导致系统崩溃。同时,当过滤的相 关配置需要修改或更新时,需要逐台设备进行更新维护,将耗费大量的人力与时间资源。
【发明内容】
[0004] 针对现有技术的不足,本发明提供一种基于SDN的Goose报文流表过滤方法,通 过在控制器中依据OpenFlow协议设置流表(Flow Table)的流表项(Flow Entry)与行动 (Action),从而控制特定报文的转发行为,实现基于集中控制的Goose报文过滤。本发明在 基于SDN的流表中设置包头域的特定阈值,通过报文解析,从而提取并过滤Goose报文,实 现集中控制式的快速有效Goose报文过滤,保证变电站Goose报文的实时通信。
[0005] 通过将交换设备的控制上移至控制器,通过基于SDN的流表,动态的对G00SE报文 的过滤进行配置。该方法可以提高G00SE报文过滤的实时性,并有效提高更新配置信息的 运维效率。
[0006] 本发明的目的是采用下述技术方案实现的:
[0007] 一种基于SDN的Goose报文流表过滤方法,其改进之处在于,所述方法包括 [0008] (1)控制器中配置流表的第一条流表项;
[0009] (2)判断是否配置第一条流表项;
[0010] (3)控制器中配置流表的第二条流表项;
[0011] (4)判断是否配置第二条流表项。
[0012]优选的,所述方法包括在控制器中配置两条流表项,进入指定端口的报文依次匹 配这两条流表项中的内容,报文同时匹配两条流表项时,则为G00SE报文,报文不能匹配其 中任何一条流表项时,为非G00SE报文。
[0013]优选的,所述步骤⑴包括设置输入端口,设置介于0x010CCD010000到 0x010CCD0101FF之间的目的MAC地址,设置〇x81〇〇的以太网类型。
[0014]优选的,所述步骤(2)包括通过端口的报文满足步骤(D时,设置Vlan id,设置 vlan优先级,设置action类型为入队操作,并设置enqUeue p〇rt =1,设备queue id = l; 当通过端口 1的报文不满足步骤(1)时,则转向步骤(3),匹配第二条流表项。
[0015] 进一步地,所述步骤(2)包括报文匹配介于0X010CCD010000到0X010CCD0101FF 之间的目的mac地址的第一条流表项时,Ether type为0X8100时,为报文设置vlan id和 vlan优先级,为匹配第一条流表项的报文进行标记;匹配第一条流表项的报文将执行入队 操作,返回原输入端口,不匹配第一条流表项的报文将匹配第二条流表项。
[0016] 优选的,所述步骤(3)包括设置输入端口 ingress port = 1,设置以太网类型为 0x88B8,设置 vlan id = 2,设置 vlan priority = 1。
[0017] 优选的,所述步骤(4)包括通过端口的报文满足步骤(3)时,设置action类型为 转发操作,并设置output port = 2 ;当通过端口的报文不满足步骤(1)且不满足步骤(3) 时,执行默认转发操作,该报文将从端口转发出去。
[0018] 进一步地,所述步骤(4)包括匹配第一条流表项并返回原输入端口的报文将匹配 第二条流表项,即当报文的vlan id与vlan优先级相同,且Ether type为0x88B8时,该报 文将被判定为G00SE报文,执行过滤端口的转发操作,否则,执行输入端口的转发操作;不 匹配第一条流表项的报文将与第二条流表项进行匹配,该报文将被判定为非G00SE报文, 并执行输入端口的转发操作。
[0019] 与现有技术比,本发明的有益效果为:
[0020] 本发明采用了基于SDN的集中式控制,通过对流表进行配置,快速、实时的实现 G00SE报文的过滤。同时,通过动态的对G00SE报文进行过滤,有效提高了更新配置信息的 运维效率。
[0021] 本发明SDN的流表中设置包头域的特定阈值,通过报文解析,从而提取并过滤 Goose报文,实现集中控制式的快速有效Goose报文过滤,保证变电站Goose报文的实时通 ?目。
【专利附图】
【附图说明】
[0022] 图1为本发明提供的一种基于SDN的Goose报文流表过滤方法流程图。
【具体实施方式】
[0023] 下面结合附图对本发明的【具体实施方式】作进一步的详细说明。
[0024] 如图1所示,本发明一种基于SDN的Goose报文流表过滤方法具体如下:
[0025]在控制器中配置两条流表项,所有进入指定端口的报文将依次匹配这两条流表项 中的内容,当报文同时匹配两条流表项时,则为G00SE报文,当报文不能匹配其中任何一条 流表项时,为非G00SE报文。
[0026] (1)在控制器中配置流表的第一条流表项。设置输入端口 1(如ingress port = 1),设置目的MAC地址介于0x010CCD010000到0x010CCD0101FF之间,设置以太网类型为 0x8100。
[0027] (2)配置第一条流表项的行动Action。当通过端口 1的报文满足步骤(1)时,设 置 vlan id (如 vlan id = 2),设置 vlan 优先级(如 vlan priority =1),设置 action 类 型为入队操作,并设直enqueue port = 1,设备queue id = 1。当通过端口 1的报文不满 足步骤(1)时,则转向步骤(3),匹配第二条流表项。
[0028] 当报文匹配第一条流表项时,即目的mac地址介于OxOlOCCDOlOOOO到 OxOlOCCDOlOlFF之间,Ether type为0XS100时,为报文设置vlan id和vlan优先级,为匹 配第一条流表项的报文进行标记。匹配第一条流表项的报文将执行入队操作,返回原输入 端口(如:ingress port = 1,则返回的enqueue port = 1),不匹配第一条流表项的报文 将匹配第二条流表项。
[0029] (3)在控制器中配置流表的第二条流表项。设置输入端口 ingress port = 1,设 置以太网类型为0x88B8,设置vlan id = 2,设置vlan priority = 1。
[0030] (4)配置第二条流表项的行动Action。当通过端口 1的报文满足步骤(3)时,设 置action类型为转发操作,并设置output port = 2,当通过端口 1的报文不满足步骤(D 且不满足步骤(3)时,执行默认转发操作,该报文将从端口 1转发出去。
[0031] 不匹配第一条流表项的报文将与第二条流表项进行匹配,由于没有设置指定的 vlan id与vlan优先级,该报文将被判定为非G00SE报文,并执行输入端口的转发操作(如 output port = 1) 〇
[0032] 匹配第一条流表项并返回原输入端口的报文将匹配第二条流表项,即当报文的 vlan id与vlan优先级与保护点2中所述的相同,且Ether type为0x88B8时,执行过滤 端口的转发操作(如output port = 2),否则,执行输入端口的转发操作(如output port =1)。(此时,非GOOSE报文将从端口 1转发出去,GOOSE报文将从端口 2转发出去,实现 了 G00SE报文的过滤。)
[0033] 最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所 属领域的普通技术人员参照上述实施例依然可以对本发明的【具体实施方式】进行修改或者 等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发 明的权利要求保护范围之内。
【权利要求】
1. 一种基于SDN的Goose报文流表过滤方法,其特征在于,所述方法包括 (1) 控制器中配置流表的第一条流表项; (2) 判断是否配置第一条流表项; (3) 控制器中配置流表的第二条流表项; (4) 判断是否配置第二条流表项。
2. 如权利要求1所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述 方法包括在控制器中配置两条流表项,进入指定端口的报文依次匹配这两条流表项中的内 容,报文同时匹配两条流表项时,则为goose报文,报文不能匹配其中任何一条流表项时, 为非GOOSE报文。
3. 如权利要求1所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述 步骤⑴包括设置输入端口,设置介于〇x〇l〇CCD010000到OxOlOCCDOlOlFF之间的目的MAC 地址,设置0x8100的以太网类型。
4·如权利要求1所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述步 骤(2)包括通过端口的报文满足步骤(丨)时,设置vlan id,设置vlan优先级,设置acti〇n 类型为入队操作,并设置enqueue port = 1,设备queue id = 1 ;当通过端口 1的报文不满 足步骤(1)时,则转向步骤(3),匹配第二条流表项。
5.如权利要求4所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述步 骤(2)包括报文匹配介于〇x〇l〇CCD010000到OxOlOCCDOlOlFF之间的目的mac地址的第一 条流表项时,Ether type为0X8100时,为报文设置vlan id和vlan优先级,为匹配第一条 流表项的报文进行标记;匹配第一条流表项的报文将执行入队操作,返回原输入端口,不匹 配第一条流表项的报文将匹配第二条流表项。
6·如权利要求1所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述步 骤(3)包括设置输入端口 ingress port = 1,设置以太网类型为0x88B8,设置vlan id = 2,设置 vlan priority = 1。
7.如权利要求1所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述步 骤(4)包括通过端口的报文满足步骤(3)时,设置action类型为转发操作,并设置output port = 2 ;当通过端口的报文不满足步骤(1)且不满足步骤(3)时,执行默认转发操作,该 报文将从端口转发出去。
8·如权利要求7所述的一种基于SDN的Goose报文流表过滤方法,其特征在于,所述步 骤(4)包括匹配第一条流表项并返回原输入端口的报文将匹配第二条流表项,即当报文的 vlan id与vlan优先级相同,且Ether type为0x88B8时,该报文将被判定为GOOSE报文, 执行过滤端口的转发操作,否则,执行输入端口的转发操作;不匹配第一条流表项的报文将 与第二条流表项进行匹配,该报文将被判定为非G00SE报文,并执行输入端口的转发操作。
【文档编号】H04L12/741GK104219151SQ201410484545
【公开日】2014年12月17日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】刘川, 吴鹏, 陈磊, 陶静, 吴军民, 张刚, 黄在朝, 黄辉, 葛剑飞, 邓辉, 王玮, 沈文, 喻强, 姚启桂, 于海, 虞跃, 张增华, 王向群, 李春龙, 孙晓艳, 于鹏飞, 陈伟, 任杰, 黄治 申请人:国家电网公司, 中国电力科学研究院, 国网上海市电力公司