1.一种环路检测方法,应用于基于软件定义网络的系统中,其特征在于,所述环路检测方法包括:控制器发送消息以控制与所述控制器连接的ONU建立组播流表,所述组播流表的动作包括向接入端口下行方向进行广播转发;
所述控制器发送执行环路检测的消息,以控制所述ONU生成并转发检测报文,所述检测报文的包头包括与所述组播流表的包头域匹配的目的MAC地址;
当所述ONU收到转发的所述检测报文时,将检测结果反馈给所述控制器,所述检测结果包括接收到所述检测报文的ONU的MAC地址以及端口号信息;
所述控制器根据所述检测结果发送消息以控制阻断所述ONU的环路。
2.根据权利要求1所述的环路检测方法,其特征在于:所述环路检测方法还包括:所述控制器定时发送执行环路检测的消息。
3.根据权利要求1所述的环路检测方法,其特征在于:所述环路检测方法还包括:所述控制器接收到所连接的ONU的端口发生变化时,发送执行环路检测的消息。
4.根据权利要求1所述的环路检测方法,其特征在于:所述执行环路检测的消息包括Packet-Out Message消息,所述ONU根据所述Packet-Out Message消息的Data字段的内容生成所述检测报文并根据组播流表对所述检测报文进行转发。
5.根据权利要求1所述的环路检测方法,其特征在于:所述控制器发送Port Modification Message消息控制与所述MAC地址匹配的ONU的所述端口号关闭,从而阻断所述ONU的环路。
6.一种环路检测系统,其特征在于:所述环路检测系统包括控制器与所述控制器连接的ONU,所述控制器包括:组播流表设置单元,用于向所述ONU发送消息以控制所述ONU建立组播流表,所述组播流表的动作包括向接入端口下行方向进行广播转发;
环路检测执行单元,用于向所述ONU发送执行环路检测的消息,以控制所述ONU生成并转发检测报文,所述检测报文的包头包括与所述组播流表的包头域匹配的目的MAC地址;
检测结果处理单元,用于接收所述ONU反馈的检测结果,所述检测结果包括接收到所述检测报文的ONU的MAC地址以及端口号信息,根据所述检测结果控制关闭所述ONU的所述端口号。
7.根据权利要求6所述的环路检测系统,其特征在于:所述执行环路检测的消息包括Packet-Out Message消息,所述ONU根据所述Packet-Out Message消息的Data字段的内容生成所述检测报文并根据组播流表对所述检测报文进行转发。
8.根据权利要求6所述的环路检测系统,其特征在于:所述控制器还包括环路检测启动单元,用于定时控制所述环路检测执行单元发送启动环路检测的消息。
9.根据权利要求6所述的环路检测系统,其特征在于:所述控制器还包括环路检测启动单元,用于当所述控制器接收到所连接的ONU的端口发生变化时,控制所述环路检测执行单元发送启动环路检测的消息。
10.根据权利要求6所述的环路检测系统,其特征在于:所述ONU包括:
消息解析执行单元,用于接收所述控制器发送的消息,对根据openflow协议对所述消息进行解析并执行,所述消息包括Modify Group Entry Message消息、Packet-Out Message消息以及Modify Group Entry Message消息;
检测结果反馈单元,用于当接收到转发的所述检测报文时,将检测结果反馈给所述控制器,所述检测结果包括接收到所述检测报文的ONU的MAC地址以及端口号信息。