RSTP协议应用中基于SDH光信号的链路判断方法与流程

专利查询2023-2-21  148

rstp协议应用中基于sdh光信号的链路判断方法
技术领域
1.本发明涉及光传输通道的链路状态检测技术,尤其是sdh设备采用光口进行二层组网时的快速生成树协议rstp(rapid spanning tree protocol,简称rstp)协议应用,具体是一种rstp协议应用中基于sdh光信号的链路判断方法。


背景技术:

2.sdh同步数字体系作为一种成熟的技术,支持大容量数据高速远程传输,可以接入以太网、话音、图像等各种类型各种速率业务,而且采用标准的国际统一技术标准,使得不同厂家设备均可以入网,对组网十分有利,故sdh在骨干网及接入网中有着大量的应用,在整个传输网络仍然十分重要。
3.sdh设备网管网络二层组网需要使用交换芯片提供二层数据交换功能。而多台设备进行多链路的冗余组网,则会产生环路,造成二层广播风暴,网络瘫痪,为了解决这一问题,则需要rstp进行自动网络拓扑收敛及破环。rstp的原理是通过cpu软件(rstp应用软件)主动发送基于ieee802.3逻辑链路层标准协议的bpud包即网桥管理单元数据包到交换芯片,交换芯片根据包bpdu包内标签,分发bpdu包到对应端口,从而传输给其它sdh设备,其它sdh设备交换芯片收到bpdu包后自动发送到cpu进行rstp协议计算及处理。设备与设备之间采用bpdu包进行基于ieee802.1d的rstp标准协议网桥信息交互,从而计算形成正确的网络拓扑,再根据网络拓扑配置交换芯片各个端口的状态,将冗余的链路阻塞,从而完成破环,解决环路问题。rstp协议只是在交换芯片层进行rstp的阻塞,实际物理层链路依然有业务包传输,但是到交换芯片后会依据端口状态进行丢弃或转发,各端口的bpdu包依然能传输给cpu处理计算。
4.ieee802.1d rstp标准协议是基于ieee802.3逻辑链路层协议实现的,符合二层链路层的帧格式,具有统一的目的mac地址,规定了传输的报文中的bpdu内容以及格式,由于该协议广泛应用于二层网络中,所以二层交换芯片都会支持rstp协议要求的交换芯片端口状态配置以及bpdu报文识别并转发给cpu管理软件。
5.现有技术中,sdh设备网管组网采用rstp协议时检测光口链路依赖fpga芯片,导致光口链路up/down状态检测处理慢、收敛不及时、硬件变换后软件改动大不灵活、以及与标准rstp协议链路处理机制存在不兼容的问题。


技术实现要素:

6.本发明的目的是针对现有技术的不足,而提供一种rstp协议应用中基于sdh光信号的链路判断方法。这种方法操作简单、对硬件连接方式无局限性、软件代码占用资源少且可移植、能方便嵌入到sdh类型设备的二层组网rstp协议应用处理环节中。
7.实现本发明目的的技术方案是:一种rstp协议应用中基于sdh光信号的链路判断方法,包括rstp协议应用中基于sdh光信号的链路的硬件连接方式和rstp协议应用中基于sdh光信号的链路软件处理方式,
所述rstp协议应用中基于sdh光信号的链路的硬件连接方式为基于可编程器件fpga传输sdh光信号至交换芯片、交换芯片与cpu相连接收网管通道数据包;所述rstp协议应用中基于sdh光信号的链路的软件处理方式为 :基于fpga实现的sdh网管通道传输以太网数据、通过私有协议传输双向检测链路数据包、配合私有链路检测机制实现rstp协议的链路状态变化及拓扑处理。
8.所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中fpga打通到交换芯片的sdh光信号采用dcc网管通道传输以太网网管数据。
9.所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中的交换芯片为支持stp端口控制的交换芯片。
10.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中采用64字节的rstp协议格式的数据包来定制私有链路协议数据包、采用操作系统接收包处理任务来区分rstp协议包及私有光口链路处理包、采用双向收发探测机制,实现光口链路监测。
11.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议链路状态初始化,定时器初始化的处理过程包括:1)初始化光口链路状态表,默认收发状态为bad状态,链路状态为down;2)初始化光口链路状态到期定时器;3)发送定时器到期后,在二层协议层发送包含链路状态信息的私有数据包。
12.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议发包方向的处理过程包括:1)cpu发包处理函数中在光口链路发包定时器到期时,各端口将包封装为目的mac地址为rstp专用mac地址(01:82:c0:00:00:00)、源mac地址为全0,将link_tx_flag标志位放到表1规定的协议位处;2)再将包发送到cpu发包函数,完成光口链路协议包从指定交换芯片接口发包上sdh光路。
13.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议收包方向的处理过程包括:1)采用cpu收包任务、采用源mac地址及目的mac地址识别出光口链路协议包,将端口号及包中光口链路状态字段传给光口链路收包处理程序;2)光口收包程序决定处理后决定是否改变收发状态以及链路状态;3)将链路状态回传给rstp协议处理程序。
14.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路定时器的处理过程具体为:1)定时器处理函数每秒进行光口链路协议定时器递减;2)到期处理函数每秒检测光口定时器值,若光口定时器timer_active为使能,且timer_val为0,则表示定时器到期,执行光口定时器到期处理函数;3)光口定时器到期处理函数将timer_actice使能关闭,timer_val值置为0,link_tx_flag与link_rx_flag变为bad,link_state_change变为change,link_state变为down;4)rstp协议处理程序通过步骤3中的link_state以及link_state_change进行相应的rstp协议层的处理。
15.本技术方案针对现有技术中sdh设备网管组网采用rstp协议时检测光口链路依赖fpga芯片,导致光口链路up/down状态检测处理慢、收敛不及时、硬件变换后软件改动大不灵活、以及与标准rstp协议链路处理机制不兼容的问题。
16.本技术方案采用sdh光传输通道的网管通道,开发独立于rstp协议之外的光口链路检测协议包,提供了一种不依赖fpga提供光口检测接口,利用网管通道收发私有光口链路协议报文进行光链路检测的解决方案,本技术方案具有以下特点:1)采用cpu设置的定时器来对链路状态进行控制,可灵活调整链路变化的阈值,详见光口定时器处理过程;2)采用收发包的机制处理链路up/down,即收到包才能判断链路的好坏,可以屏蔽掉光信号质量差的问题(fpga或交换检测链路up,但实际收发不了以太网包),详见光口收包处理流程;3)光口链路协议包采用与rstp协议中的bpdu包相同的格式以及相同的收发包优先级,保证了链路检测程序与rstp协议收发包处理程序的时间基本同步,无大的时间差,详见光口定时器处理流程;4)光口链路状态包定义统一的源mac地址,用于软件对链路包的识别,不会引起rstp应用程序歧义;5)光口链路状态包定义固定字段(ieee802.3标准的额外字节部分)的固定值来标识链路状态好坏且其他rstp标准用字段为空,与标准协议隔离开来,参见下表1,即使商用交换机收到此包也不会对其rstp协议程序造成影响。
17.这种方法操作简单、对硬件连接方式无局限性、软件代码占用资源少且可移植、能方便嵌入到sdh类型设备的二层组网rstp协议应用处理环节中。
具体实施方式
18.下面结合实施例对本发明的内容做作进一步的阐述,但不是对本发明的限定。
19.实施例:一种rstp协议应用中基于sdh光信号的链路判断方法, 包括rstp协议应用中基于sdh光信号的链路的硬件连接方式和rstp协议应用中基于sdh光信号的链路软件处理方式,所述rstp协议应用中基于sdh光信号的链路的硬件连接方式为基于可编程器件fpga传输sdh光信号至交换芯片、交换芯片与cpu相连接收网管通道数据包;所述rstp协议应用中基于sdh光信号的链路的软件处理方式为 :基于fpga实现的sdh网管通道传输以太网数据、通过私有协议传输双向检测链路数据包、配合私有链路检测机制实现rstp协议的链路状态变化及拓扑处理。
20.所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中fpga打通到交换芯片的sdh光信号采用dcc网管通道传输以太网网管数据。
21.所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中的交换芯片为支持stp端口控制的交换芯片。
22.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中采用64字节的rstp协议格式的数据包来定制私有链路协议数据包、采用操作系统接收包处理任务来区分rstp协议包及私有光口链路处理包、采用双向收发探测机制,实现光口链路监测。
23.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议链路状态初始化、定时器初始化的处理过程包括:1)初始化光口链路状态表,默认收发状态为bad状态,链路状态为down;2)初始化光口链路状态到期定时器;3)发送定时器到期后,在二层协议层发送包含链路状态信息的私有数据包;具体为:1)首先初始化各个端口的光口链路协议状态表,link_state(链路状态)为down,link_state_change(链路状态变化)为not_change,link_rx_flag(光口接收端标志)为bad,link_tx_flag(光口发送端标志)为bad,timer_active(定时器使能)为关闭,timer_val(定时器值)为0,error_count(容错统计)为0;2)系统每秒定时器到期后,自动发送光口链路协议包,协议包格式如下表1所示;表1:;3)发送定时器到期后,在二层协议层发送包含链路状态信息的私有数据包。
24.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议发包方向的处理过程具体为:1)cpu发包处理函数中在光口链路发包定时器到期时,各端口将包封装为目的mac地址为rstp专用mac地址(01:82:c0:00:00:00)、源mac地址为全0,将link_tx_flag标志位放到表1规定的协议位处;2)再将包发送到cpu发包函数,完成光口链路协议包从指定交换芯片接口发包上sdh光路。
25.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议收包方向的处理过程包括:1)采用cpu收包任务、采用源mac地址及目的mac地址识别出光口链路协议包,将端口号及包中光口链路状态字段传给光口链路收包处理程序;2)光口收包程序决定处理后决定是否改变收发状态以及链路状态;3)将链路状态回传给rstp协议处理程序。
26.具体为:本例中光口链路收包处理过程为:1)cpu收包处理函数中辨别出目的mac地址为rstp专用mac地址(01:82:c0:00:00:00)、源mac地址为全0,则为光口链路私有协议处理包,将包内容中状态位字段取出,与收包
端口号一同传给光口链路接收处理程序;2)进入光口链路接收处理程序,将link_tx_flag置为good,link_rx_flag的值为步骤1)中传入的状态位字段,进一步进行逻辑判断:2-1)若链路状态为down,且接收的对端标志位为bad,则为单通,不继续处理包;2-2)若对端标志位为good且当前链路down,则将链路置为up;2-3)若链路状态为up时,接收到对端标志位bad,则表示发生单通,需将link down掉;2-4)若上述条件都不符合,则将容错统计清零;3)经过步骤3)的处理后,若端口链路为up,则刷新端口到期定时器,将timer_val值刷新为默认值。
27.所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路定时器的处理过程具体为:1)定时器处理函数每秒进行光口链路协议定时器递减;2)到期处理函数每秒检测光口定时器值,若光口定时器timer_active为使能,且timer_val为0,则表示定时器到期,执行光口定时器到期处理函数;3)光口定时器到期处理函数将timer_actice使能关闭,timer_val值置为0,link_tx_flag与link_rx_flag变为bad,link_state_change变为change,link_state变为down;4)rstp协议处理程序通过步骤3中的link_state以及link_state_change进行相应的rstp协议层的处理。
28.本例利用网管通道本身的传输能力,在传输rstp报文的64字节之外,再多传输64字节的私有光口链路协议报文(参见表1),由于利用网管通道传输,并不占用业务通道带宽,不会受到突发流量冲击影响,保证了rstp协议的独立以及稳定性,并且使用私有链路协议检测光口状态,不会影响rstp协议程序工作,也不依赖于fpga芯片的状态,增强了模块的解耦合度及通用性。

技术特征:
1.一种rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,包括rstp协议应用中基于sdh光信号的链路的硬件连接方式和rstp协议应用中基于sdh光信号的链路软件处理方式,所述rstp协议应用中基于sdh光信号的链路的硬件连接方式为基于可编程器件fpga传输sdh光信号至交换芯片、交换芯片与cpu相连接收网管通道数据包;所述rstp协议应用中基于sdh光信号的链路的软件处理方式为 :基于fpga实现的sdh网管通道传输以太网数据、通过私有协议传输双向检测链路数据包、配合私有链路检测机制实现rstp协议的链路状态变化及拓扑处理。2.根据权利要求1所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中fpga打通到交换芯片的sdh光信号采用dcc网管通道传输以太网网管数据。3.根据权利要求1所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的硬件连接方式中的交换芯片为支持stp端口控制的交换芯片。4.根据权利要求1所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的软件处理方式中采用64字节的rstp协议格式的数据包来定制私有链路协议数据包、采用操作系统接收包处理任务来区分rstp协议包及私有光口链路处理包、采用双向收发探测机制,实现光口链路监测。5.根据权利要求1或权利要求4所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议链路状态初始化、定时器初始化的处理过程包括:1)初始化光口链路状态表,默认收发状态为bad状态,链路状态为down;2)初始化光口链路状态到期定时器;3)发送定时器到期后,在二层协议层发送包含链路状态信息的私有数据包。6.根据权利要求1或权利要求4所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议发包方向的处理过程包括:1)cpu发包处理函数中在光口链路发包定时器到期时,各端口将包封装为目的mac地址为rstp专用mac地址(01:82:c0:00:00:00)、源mac地址为全0,将link_tx_flag标志位放到表1规定的协议位处;2)再将包发送到cpu发包函数,完成光口链路协议包从指定交换芯片接口发包上sdh光路。7.根据权利要求1或权利要求4所述的rstp协议应用中基于sdh光信号的链路判断方法,其特征在于,所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路协议收包方向的处理过程包括:1)采用cpu收包任务、采用源mac地址及目的mac地址识别出光口链路协议包,将端口号及包中光口链路状态字段传给光口链路收包处理程序;2)光口收包程序决定处理后决定是否改变收发状态以及链路状态;3)将链路状态回传给rstp协议处理程序。8.根据权利要求1或权利要求4所述的rstp协议应用中基于sdh光信号的链路判断方
法,其特征在于, 所述rstp协议应用中基于sdh光信号的链路的软件处理方式中光口链路定时器的处理过程具体为:1)定时器处理函数每秒进行光口链路协议定时器递减;2)到期处理函数每秒检测光口定时器值,若光口定时器timer_active为使能,且timer_val为0,则表示定时器到期,执行光口定时器到期处理函数;3)光口定时器到期处理函数将timer_actice使能关闭,timer_val值置为0,link_tx_flag与link_rx_flag变为bad,link_state_change变为change,link_state变为down;4)rstp协议处理程序通过步骤3中的link_state以及link_state_change进行相应的rstp协议层的处理。

技术总结
本发明公开了一种RSTP协议应用中基于SDH光信号的链路判断方法。本发明利用SDH光信号中的DCC网管通道传输容量适宜,传输稳定以及IEEE802.3以太网链路层协议构造简洁,便于实现的特点,增加独立于RSTP协议之外的私有光链路判断协议,解决了RSTP协议在交换芯片通过FPGA接入SDH光信号时交换芯片无法获取光口链路状态的缺点。具体处理步骤包括光口链路状态初始化,光口链路定时器初始化,光口链路状态发包处理,光口链路收包处理,光口链路定时器处理动作。本发明对硬件连接方式无局限性、软件代码占用资源少且可移植,故可以很方便地嵌入到SDH类型设备的二层组网RSTP协议应用处理环节中。环节中。


技术研发人员:李明键 郑志伟 陈建华
受保护的技术使用者:中国电子科技集团公司第三十四研究所
技术研发日:2021.12.27
技术公布日:2022/3/8

最新回复(0)