一种环路检测方法及系统的制作方法_2

文档序号:9290024阅读:来源:国知局
由3部分组成:用于数据包匹配的包头域(HeaderFields), 用于统计匹配数据包个数的计数器(Counters),用于展示匹配的数据包如何处理的动作 (Actions)。OpenFlow流表的包头域(OpenFlowvl. 1之后被称作匹配域),用于对0NU接 收到的数据包的包头内容进行匹配。OpenFlow流表的动作用于指示0NU在收到匹配的数 据包后应该如何对其进行处理。OpenFlow交换机的每个流表项可以对应有零至多个动作, 如果没有定义转发动作,那么与流表项包头域匹配的数据包将被默认丢弃。P0N是共享媒 质和点到多点网络的结合,0LT发出的以太网数据报经过一个0DN(0pticalDistribution Network,无源光分路器)或几级无源光分路器传送到每一个0NU。0DN具有N个下行端口, 可以与N个0NU相连,N的典型取值在4、8、16、32、64等(由可用的光功率预算所限制),这 种行为特征与共享媒质网络相同;在下行方向0LT发送的广播/组播数据包,0NU可以进行 有选择的提取。本技术方案采用此技术原理以完成对光网络单元的环路检测。在一个实施 例中,如图1所示,所述环路检测方法包括:
[0034] 步骤S1,控制器发送消息以控制与所述控制器连接的0NU建立组播流表,所述组 播流表的动作包括向接入端口下行方向进行广播转发。在一个实施例中,所述控制器部署 在0LT上,也可称为0LT控制器。所述控制器还可以部署在DSLAM、交换机或路由器设备 上。DSLAM是DigitalSubscriberLineAccessMultiplexer的简称,中文称呼数字用 户线路接入复用器。DSLAM是各种DSL系统的局端设备,属于最后一公里接入设备(the lastmile),其功能是接纳所有的DSL线路,汇聚流量,相当于一个二层交换机。在一个实 施例中,所述控制器发送ModifyGroupEntryMessage消息给与所述控制器连接的0NU,所 述0NU根据所述ModifyGroupEntryMessage消息的内容建立组播流表。ModifyGroup EntryMessage用于添加、删除、修改group组播组。该报文的结构如下表所示:
[0035]
[0036] 假设各协议字段按下面赋值:Command=add;Type=all;Group_id= 239. 0? 0? 100 ;0fp_bucket= 0FPAT_GR0UP〇
[0037] 这样,0LTController控制单元在光网络单元中建立一个组播流表,如下所示:
[0038]
[0039] 该组播流表表明当光网络单元接收到239. 0. 0. 100组播地址数据后,将向接入端 口下行方向进行广播动作转发数据。
[0040] 步骤S2,所述控制器发送执行环路检测的消息,以控制所述0NU生成并转发检测 报文,所述检测报文的包头包括与所述组播流表的包头域匹配的目的MAC地址。在一个实 施例中,0LT控制器(0LTController)发送Packet-〇utMessage消息到0NU(光网络单 元),在Packet-OutMessage消息的Data字段中封装了目的MAC地址为239. 0?0? 100的组 播环路检测报文,光网络单元提取Packet-OutMessage消息中生成检测报文,也可称为环 路检测报文或组播环路检测报文。0NU根据匹配的组播流表,执行向接入侧端口广播发送所 述检测报文的动作。
[0041] 步骤S3,当所述0NU收到转发的所述检测报文时,将检测结果反馈给所述控制器, 所述检测结果包括接收到所述检测报文的0NU的MAC地址以及端口号信息。在一个实施 例中,当光网络单元端口出现环路时,检测报文会环回到光网络单元的端口上,光网络单元 将向0LTController的环路检测控制器单元发送Packet-InMessage消息,在Packet-In Message消息的Data字段中封装了检测报文,并在报文字段尾部添加0NUMAC地址和接收 到检测报文的端口号信息。
[0042] 步骤S4,所述控制器根据所述检测结果发送消息以控制阻断所述0NU的环路。在 一个实施例中,OLT Controller的环路检测控制器单元接收来自光网络单元的检测结果, 根据Packet-In Message消息中ONUMAC地址和端口号匹配来决定阻断环路。在一个实施 例中,OLT Controller的环路检测控制器单元发送Port Modification Message消息到光 网络单元,在Port Modification Message消息结构如下表所示:
[0043]
[0044] 在发送的PortModificationMessage消息报文中,Port_no填写 0NU的端口,Hw_ add填写0NU的MAC地址,Config填写为Port_down,表示将匹配MAC地址的光网络单元的 P〇rt_n〇端口进行关闭,从而阻断环路问题的产生。
[0045] 在一个实施例中,所述环路检测方法还包括:所述控制器定时发送执行环路检测 的消息,即控制器以固定的周期执行上述环路检测。在一个实施例中,所述环路检测方法 还包括:所述控制器接收到所连接的0NU的端口发生变化时,发送执行环路检测的消息,即 采用事件上报触发检测环路办法,当所连接的0NU的端口发生变化时,触发执行上述环路 检测。因为光网络单元接入侧端口连接状态会发生改变,例如在光网络单元接入侧端口连 接交换机设备,当类似事件发生时,需通知到〇LTController进行环路检测。在一个实施 例中,当光网络单元上的端口添加、删除或者状态改变时,通过Port-status消息通知0LT Contro11er发生0NU端口状态或设置的改变,进入触发控制器发送Packet-OutMessage消 息到光网络单元以进行环路检测。Ports-Status报文结构如表:
[0046]
[0047] 其中,Reason支持 0FPPR_ADD/0FPPR_DELETE/0FPPR_M0DIFY,在环路检测事情采 用0FPPR_ADD/0FPPR_DELETE表示端口连接增加,或连接删除;0fp_portdesc中定义0NU MAC地址和端口索引,以表明状态发生变化光网络单元的端口。
[0048] 本发明还包括一种环路检测系统,所述环路检测系统应用了软件定义网络技术, 所述环路检测系统包括控制器与所述控制器连接的0NU,一个控制器可以与多个0NU相连 接。所述控制器部署在0LT上,也可称为0LT控制器。所述控制器还可以部署在DSLAM、交 换机或路由器设备上。在一个实施例中,如图2所示,所述环路检测系统1包括控制器11 与所述控制器连接的0NU12。所述控制器11包括组播流表设置单元111、环路检测执行单 元112以及检测结果处理单元113。其中:
[0049] 组播流表设置单元111用于向所述0NU发送消息以控制所述0NU建立组播流表, 所述组播流表的动作包括向接入端口下行方向进行广播转发。在一个实施例中,所述控制 器发送ModifyGroupEntryMessage消息给与所述控制器连接的0NU,所述0NU根据所述 ModifyGroupEntryMessage消息的内容建立组播流表。ModifyGroupEntryMessage 用于添加、删除、修改group组播组。该报文的结构如下表所示:
[00501
[0051] 假设各协议字段按下面赋值:Command=add;Type=all;Group_id= 239. 0? 0? 100 ;0fp_bucket= 0FPAT_GR0UP〇
[0052] 环路检测执行单元112用于向所述0NU发送执行环路检测的消息,以控制所述 0NU生成并转发检测报文,所述检测报文的包头包括与所述组播流表的包头域匹配的目的 MAC地址。在一个实施例中,0LT控制器(0LTController)发送Packet-〇utMessage消息 到0NU(光网络单元),在Packet-〇utMessage消息的Data字段中封装了目的MAC地址为 239. 0. 0. 100的组播环路检测报文。
[0053] 检测结果处理单元113用于接收所述0NU反馈的检测结果,所述检测结果包括接 收到所述检测报文的0NU的MAC地址以及端口号信息,根据所述检测结果控制关闭所述 0NU的所述端口号。在一个实施例中,0LT Controller的环路检测控制器单元发送Port Modification Message消息到光网络单元,在Port Modification Message消息结构如下 表所示:
[0054]
[0055] 在发送的PortModificationMessage消息报文中,Port_no填写 0NU的端口,Hw_ add填写0NU的MAC地址,Config填写为Port_down,表示将匹配MAC地址的光网络单元的 P〇rt_n〇端口进行关闭,从而阻断环路问题的产生。
[0056
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1