1.一种在SDN框架下基于STP消除冗余链路的方法,其特征在于:包括以下步骤:步骤S1、SDN控制器定时通过LLDP协议获取链路状态信息和网络拓扑结构;
步骤S2、SDN控制器确定根桥;
步骤S3、SDN控制器确定SDN交换机的端口角色;
步骤S4、SDN控制器确定SDN交换机的端口状态;
步骤S5、SDN控制器根据端口状态将流表下发到SDN交换机。
2.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S1中,所述链路状态信息包括链路速率、端口状态和网桥的MAC地址信息。
3.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S1中,SDN控制器获取网络拓扑结构时,包括以下步骤:
1)SDN控制器定时地触发带LLDP的Packet_out消息,发送至所有与之相连接的SDN交换机;
2)SDN交换机发送带数据包的Packet_in消息至SDN控制器;
3)SDN控制器在接收到Packet_in消息后,对数据包进行分析并其中的链路发现表中创建两台交换机之间的链接记录,从而构建全网拓扑视图。
4.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S1中,通过扩展LLDP协议去获取链路状态信息,所述LLDP报文扩展了接口状态TLV和链路速率TLV;其中,接口状态TLV用于指定此接口是打开还是关闭;链路速率TLV用于指定链路的速率。
5.根据权利要求4所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:控制器根据链路速率,计算路径开销,其中:在全双工链路中,Path Cost=200Gbps/当前速率;
在汇聚链路中,Path Cost=200Gbps/当前速率-1;
在半双工链路中,Path Cost=200Gbps/当前速率+1;
其中,Path Cost表示路径开销。
6.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S2包括以下步骤:
步骤S21、SDN控制器获取所有的网桥ID;所述网桥ID由网桥的优先级和网桥MAC地址组成;
步骤S22、SDN控制器找出优先级最小的网桥ID;
步骤S23、SDN控制器查找是否存在优先级与最小优先级相同的网桥ID;若是,转入步骤S24;若否,则确定该具有最小优先级的网桥为根桥;
步骤S24、SDN控制器比较具有最小优先级的网桥ID的MAC地址,找出MAC地址最小的网桥ID;
步骤S25、确定该MAC地址最小的网桥为根桥。
7.根据权利要求6所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述网桥的优先级为可配置的;在网桥的优先级缺省情况下,根桥为MAC地址最小的网桥。
8.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S3中,所述端口角色包括根端口、指定端口和可选端口;
确定端口角色的规则如下:
若一个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径,则该端口为根端口;
每一个网段选择到根桥最近的网桥作为指定网桥,该指定网桥到这一网段的端口为指定端口;
既不是指定端口,也不是根端口的端口为可选端口。
9.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S4中,所述SDN控制器确定根端口和指定端口的端口状态为转发,可选端口的端口状态为丢弃。
10.根据权利要求1所述的在SDN框架下基于STP消除冗余链路的方法,其特征在于:所述步骤S5包括以下步骤:
步骤S51、SDN控制器判断端口状态是否为转发;若是,转入步骤S52;若否,转入步骤S53;
步骤S52、设置流表的Match字段为入端口,转发报文;
步骤S53、设置流表的Match字段为入端口,丢弃报文。