CN108234301B - 一种数据链路切换方法和装置 - Google Patents
一种数据链路切换方法和装置 Download PDFInfo
- Publication number
- CN108234301B CN108234301B CN201611160771.2A CN201611160771A CN108234301B CN 108234301 B CN108234301 B CN 108234301B CN 201611160771 A CN201611160771 A CN 201611160771A CN 108234301 B CN108234301 B CN 108234301B
- Authority
- CN
- China
- Prior art keywords
- link
- port
- switching
- information
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000003287 optical effect Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 9
- 230000002457 bidirectional effect Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 7
- 238000013461 design Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000009471 action Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000032683 aging Effects 0.000 description 2
- 238000002789 length control Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种能适用于多种故障场景的、快速稳定的报文数据链路切换方法,以解决现有技术中OLT设备在切换链路过程中设备带宽利用率不高,设计复杂,通用性低,无法针对多种故障情况差异化处理的技术问题,包括:中央处理器收集故障状态信息和链路端口信息;中央处理器将所述故障状态信息和链路端口信息封装成链路切换报文后发送到网络处理单元;其中,所述链路切换报文用于指示所述网络单元进行链路切换。
Description
技术领域
本发明涉及光通信和计算机领域,特别涉及一种数据链路切换方法和装置。
背景技术
光线路终端(optical line terminal,OLT)设备通常需要具有切换保护功能,当设备中某个端口由于硬件故障等原因出现链路异常时,将本应发往故障端口的报文转而发往故障端口的某个替代性端口,保护OLT设备的使用正常。由于报文数据链路切换过程中存在端口转发表的跟新,在更新过程中无法转发数据,因此会造成部分数据丢失,在分布式交换系统中,由于OLT设备的各外围交换芯片之间均需要同步更新端口转发表,导致端口转发表更新时间长,需要在更新时使用另外的机制来降低丢包率,现有技术中多采用复制多份报文、往每个数据链路发往一份报文的方式来实现,但会造成设备带宽浪费,另一方面这种方式会导致技术处理上的复杂化,给设备的维护和可能的调试分析带来困扰。或者使用特殊设计的硬件来实现但会增加芯片设计成本,软件的通用性差,无法针对多种故障情况针对性设计处理方式。针对如何现有技术中在切换链路过程中设备带宽利用率不高,设计复杂,通用性低,无法针对多种故障情况差异化处理的技术问题,目前没有技术方案。
发明内容
本发明提供了一种数据链路切换方法和装置,以至少解决现有技术中OLT设备在切换链路过程中设备带宽利用率不高,设计复杂,通用性低,无法针对多种故障情况差异化处理的技术问题。
本发明一方面提供过一种数据链路切换方法,中央处理器收集故障状态信息和链路端口信息;所述中央处理器将所述故障状态信息和所述链路端口信息封装成链路切换报文后发送到网络处理单元;其中,所述链路切换报文用于指示所述网络处理单元进行链路切换。
进一步地,故障状态信息包括以下四种链路故障状态的一种:光网络单元信号丢失,端口不建立链路,连续性检查异常,双向转发检测失败。
进一步地,该链路端口信息包括,端口类型信息和端口身份信息。
进一步地,所述链路切换报文包含同一种链路故障状态下的所有故障端口的所述链路端口信息;或者,所述链路切换报文包含单个端口的所述链路端口信息和所述故障状态信息。
进一步地,该方法用于在设备各线卡MAC地址更新完毕之前。
本发明另一方面还提供一种数据链路切换方法,包括:网络处理单元接收报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息;若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,所述网络处理单元在预先设定的切换端口数据库中根据优先级选取目标切换端口;所述网路处理单元将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口。
进一步地,所述中央处理器将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口,包括:通过转发表将需要通过所述链路切换报文中携带的链路端口信息所指向端口转发的数据转发到所述目标切换端口,其中所述转发表包含有所述报文中携带的所述链路端口信息与所述目标切换端口信息;所述目标切换端口转发所述数据。
进一步地,所述中央处理器将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口之前包括:将所述链路切换报文中携带的链路端口信息所指向端口录入所述转发表中的源端口字段,将所述目标切换端口录入所述转发表中的目的切换端口字段。
进一步地,所述在预先设定的切换端口的数据库中根据优先级选取目标切换端口,包括,预先设定固定的数值作为所述切换端口的优先级标示,选择数值大的标识所对应的所述切换端口为目标切换端口。
进一步地,所述在预先设定的切换端口的数据库中根据优先级选取目标切换端口,包括,设定数值作为所述切换端口的优先级标示,所述数值根据所述切换端口处理能力定期变化,其中所述切换端口处理能力与数值成正比,选择数值大的标识所对应的所述切换端口为所述目标切换端口.
进一步地,所述在预先设定的切换端口的数据库中根据优先级选取目标切换端口包括,所述优先级为包含两个因素的函数的运算结果值,所述因素分别为所述切换端口的默认优先级和所述切换端口在一个特定时间间隔里被选为所述目标切换端口的次数,所述默认优先级与所述结果值成正比,所述次数与所述结果值成反比。
本发明另一方面还提供一种数据链路切换装置,收集模块,用于收集故障状态信息和链路端口信息;发送模块,用于将所述故障状态信息和链路端口信息封装成链路切换报文后发送到网络处理单元。
本发明另一方面还提供一种数据链路切换装置包括:接收模块,用于接收报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息;选择模块,用于若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,在预先设定的切换端口的数据库中根据优先级选取目标切换端口,切换模块,将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口。
发明另一方面一种数据链路切换设备,其特征在于包括网络处理器和中央处理器,所述中央处理器,接收故障端口的故障状态信息和链路端口信息,将包含所述故障状态信息和所述链路端口信息的链路切换报文发送给网络处理单元;所述网络处理器,接收中央处理器发送的报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息,若所述链路切换报文中携带的故障状态信息所指示的故障状态为允许切换状态的情况下,在预先设定的切换端口的数据库中根据优先级选取切换端口,将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口。
本发明通过使用在OLT(optical line terminal)设备中得到广泛应用的网络处理器,利用网络处理器的OAM(Operation Administration and Maintenance)模块的构包及发包功能,将各类数据链路切换所需的状态信息以报文的形式通知微码模块,微码模块依据状态信息查找特定微码表格,获取所应采取的链路切换动作信息并据此对报文做转发处理,提供一种能适用于多种故障场景的、快速稳定的报文数据链路切换方法,以解决现有技术中OLT设备在切换链路过程中设备带宽利用率不高,设计复杂,通用性低,无法针对多种故障情况差异化处理的技术问题。
附图说明
图1是本发明实施例的一种数据链路切换方法流程图;
图2是本发明实施例的一种数据链路切换方法的流程图;
图3是本发明实施例的一种数据链路切换装置逻辑结构图;
图4是本发明实施例的一种数据链路切换装置逻辑结构图二;
图5是本发明实施例的一钟基于网络处理器所实现的线卡逻辑结构图;
图6是本发明实施例的链路切换端口转换表示意图;
图7是本发明实施例的链路切换功能开关表示意图;
图8是本发明实施例微码链路切换信息表示意图;
图9是本发明实施例链路切换报文示意图;
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语″第一″、″第二″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明一方面提供过一种数据链路切换方法,图1是本发明实施例的一种数据链路切换方法流程图,如图1所示,包括:
S101:中央处理器收集故障状态信息和链路端口信息;
S102:中央处理器将该故障状态信息和链路端口信息封装成链路切换报文后发送到网络处理单元;
其中,该链路切换报文用于指示该网络单元进行链路切换。
现有技术分布式系统OLT设备中同步更新所有板卡数据状态导致链路切换所需时间过长丢包过多、不同场景下需通过不同方式实现数据链路切换导致逻辑复杂混乱的问题,本发明使用的方法用于在链路切换时,板卡数据状态同步过程中的数据转发丢包率高,不能针对具体的故障场景采用差异化解决方法。
本发明利用CPU(Central Processing Unit,中央处理器)作为端口故障信息搜集单元,以及NP(Network Processor,网络处理器)作为转发单元完成技术方案的功能,CPU将各类数据链路切换所需的状态信息以报文的形式通知NP,NP依据状态信息查找特定微码表格,获取所应采取的链路切换动作信息并据此对报文做转发处理。
CPU对需做链路切换处理的各种故障场景下的各类状态信息进行检测,并根据状态信息构建NP所需要解析的报文,报文头部携带所有可能影响到链路切换处理方式的状态信息;
链路故障状态信息即由各种故障场景抽象而成,具体包括以下四种链路故障状态的一种:光网络单元信号丢失,端口不建立链路,连续性检查异常,双向转发检测失败等。
链路端口信息和端口身份相联系具体包括,包含端口类型信息和端口身份信息。
进一步地,由于链路故障状态信息可划分为若干种类。如果同时存在多个种类的、需要处理的链路故障状态信息,则CPU可选择相应构建一个或多个报文发送到NP进行处理,每个报文触发一次链路切换信息表的查表操作,从而实现多个数据链路的切换处理。链路故障状态信息按种类划分串行和并行两个集合,该种类包括光网络单元信号丢失,端口不建立链路,连续性检查异常,双向转发检测失败等。串行集合中如果两个或多个种类的链路故障状态信息并存,必须相应地构建多个报文,NP收到CPU发来的报文之后,仅查找一次链路切换信息表。并行集合中如果两个种类的链路切换状态信息同时并存,可仅构建一个报文并在报文头部中同时携带链路故障状态信息,NP收到CPU发来的报文之后,将查找两次链路切换信息表,并按链路切换信息表的查表结果执行相应的报文转发特殊处理,从而进一步提升链路切换的响应速度。
进一步地,链路故障状态信息可使用一个变长头部来进行封装,这样以来只需构建一个报文就可携带多个种类的链路切换状态信息。NP收到报文之后,如果检测到报文携带的是变长头部,则取出报文头部所有种类的链路切换状态信息(假定共有N类),复制N份做环回处理,每份报文根据报文序号分别取用头部不同偏移位置的链路切换状态信息,来进行一次链路切换信息表的查表操作,然后分别依据查表结果执行相应的链路切换操作。
本发明还提供一种数据链路切换方法,图2是本发明实施例的一种数据链路切换方法的流程图,如图2所示,包括
S201:网络处理单元接收报文,在该报文为链路切换报文的情况下,提取该报文中携带的链路故障状态信息和链路端口信息;
S202:若该链路切换报文中携带的该链路故障状态信息所指示的故障状态为允许切换状态的情况下,网络处理器在预先设定的切换端口数据库中根据优先级选取目标切换端口;
本发明利用网络处理器的OAM(Operation Administration and Maintenance)模块的构包及发包功能,将NP接收到的各类数据链路切换所需的链路故障状态信息和链路端口信息以报文的形式通知微码模块,微码模块依据状态信息查找特定微码表格,获取所应采取的链路切换动作信息并据此对报文做转发处理。
OAM模块将接受到的报文转发给网络处理器的微码模块,微码模块对报文进行解析,得到各种用于实现链路切换处理的链路故障状态信息和链路端口信息;微码程序依据链路故障状态信息和链路端口信息查找特定的微码表格,即链路切换信息表,得到用于实现链路切换功能的具体操作信息;微码根据查找链路切换信息表得到的操作动作信息,对需改变转发路径的报文做相应的特殊处理,不再将报文转发给查找FIB(ForwardingInfomation Base)表所确定的目的端口,而是转发给查找链路切换信息表所得到的目的端口。
微码模块对OAM模块发来的报文进行解析,微码模块可对OAM发来的多种类型的报文进行处理,比如MAC老化或快速老化报文、1588报文等等。报文的类型通过自定义的报文头部中的特定字段来加以区分,不同类型的报文对应不同的微码解析及处理代码。当微码模块接收到链路切换报文将触发用于实现链路切换功能的微码代码的执行。
微码模块依据自定义头部中特定字段信息判定是链路切换处理报文后进一步判断该报文携带的是定长头部还是变长头部。如果是定长头部,则根据头部内含的链路切换状态信息种类数量,确定需执行一次或两次查找链路切换信息表的操作;如果是变长头部(假定内含N种链路切换状态信息),则将报文复制N份做环回处理。
微码模块得到链路故障状态信息和链路端口信息查找链路切换信息表之前,需先查找链路切换操作开关表来确定当前链路切换状态信息所对应的链路切换操作是否允许执行。如果对应的链路切换操作被禁止执行,则微码直接退出相关功能处理流程,不执行任何实际的链路切换操作。如果对应的链路切换操作被允许执行,则继续执行链路切换处理相关微码。
进一步地,微码模块中得到的状态信息查找链路切换信息表时,可能同时得到多个链路切换操作方式选项,比如当目的端口A由于被动或主动原因而无法正常转发报文时,既可选择将相关报文的目的端口B,也可切换至目的端口C;此时,需根据链路切换操作方式选项的优先级来确定实际将要执行的链路切换操作,优先级最高的操作选项即为下一步将要实际执行的链路切换操作。这里的优先级可以是两个因素的函数,一是该链路切换操作方式选项的默认优先级,默认优先级越高,最终的优先级也越高,二是该链路切换操作方式选项在一个特定时间单位里被执行的次数,执行次数越多,则最终的优先级越低。通过这里的优先级控制,可保证链路切换操作以最优的方式得到执行,同时在一定程度上避免可能存在的链路切换动作的来回震荡,从而实现稳定、可靠的链路切换处理,也可以设定数值作为该切换端口的优先级标示,该数值根据切换端口处理能力定期变化,其中该切换端口处理能力与数值成正比,选择数值大的该切换端口为目标切换端口,。
本发明中NP根据得到链路故障状态信息和链路端口信息进行切换转发。切换转发所依据的转换表格是以报文中携带的链路故障状态信息和链路端口信息查找FIB表所得到的目的端口作为查表索引,以链路切换之后报文实际将要转发到的端口作为查表结果,是链路切换操作结果的最终体现。通过引入该微码表格,无需等待分布式系统中各板卡大量MAC地址同步操作最终完成,受影响报文的转发目的端口就可先行快速切换至新的目的端口,实现了在不对二层报文一般处理流程做大幅改变的前提下对报文转发目的端口的快速切换,在保证可靠性的同时,有效提升了分布式系统时数据链路切换的性能。
本发明还提供了一种数据链路切换装置,图3是本发明实施例的一种数据链路切换装置逻辑结构图,如图3所示,包括:收集模块31,用于收集故障状态信息和链路端口信息;发送模块32,用于将该故障状态信息和链路端口信息封装成链路切换报文后发送到网络处理单元
本发明还提供了一种数据链路切换装置,图4是本发明实施例的一种数据链路切换装置逻辑结构图二,如图4所示,包括:接收模块41,用于接收报文,在该报文为链路切换报文的情况下,提取该报文中携带的链路故障状态信息和链路端口信息;选择模块42,用于若该链路切换报文中携带的该链路故障状态信息所指示的故障状态为允许切换状态的情况下,在预先设定的切换端口的数据库中根据优先级选取目标切换端口,切换模块43,用于将该故障链路端口的转发功能切换到该目标切换端口。
本发明还提供了一种数据链路切换装置,包括网络处理器和中央处理器,其特征在于:该中央处理器,接收故障端口的链路故障状态信息和链路端口信息,将包含该链路故障状态信息和该链路端口信息的链路切换报文发送给网络处理单元;该网络处理器,接收中央处理器发送的报文,在该报文为链路切换报文的情况下,提取该报文中携带的链路故障状态信息和链路端口信息,若该链路切换报文中携带的链路故障状态信息所指示的故障状态为允许切换状态的情况下,在预先设定的切换端口的数据库中根据优先级选取切换端口,将该故障链路端口的转发功能切换到该切换端口。
下面结合附图对本发明技术方案的优选实施例作进一步的详细描述:
在一个光网络接入系统中,一个分布式OLT设备同时包括多块主控板、上联卡、无源光网络卡和用户线卡。图5是本发明实施例的一钟基于网络处理器所实现的线卡逻辑结构图。如图5所示,包括CPU和NP,其中NP包括OAM模块和微码模块,微码模块包括微码链路切换信息解析模块和微码链路切换动作执行模块。
为实施该技术方案,首先需在初始化阶段根据具体的应用场景及功能要求,对线卡的微码链路切换信息表(swap_info_table)、链路切换功能开关表(swap_enable_table)及链路切换端口转换表(swap_port_convert_table)进行配置。图6是本发明实施例的链路切换端口转换表示意图,图7是本发明实施例的链路切换功能开关表示意图,图8是本发明实施例微码链路切换信息表示意图,其中,表格swap_info_table以各种可能的链路切换状态信息组合port_link_status(光网络单元信号丢失)、pon_onu_los_signal(端口不建立链路)、oam_ccm_status(连续性检查异常)、bfd_down_signal(双向转发检测失败)作为查表索引,通过适当设置表格各个条目的内容,来指定特定的链路切换状态环境下所需执行的链路切换动作(主要是切换之后报文应发往的目的端口信息swap_port_id)。表格swap_enable_table以表格swap_info_table的查表结果中swap_type字段作为查表索引,表格条目内容记录该类型链路切换操作的开关使能状态;对于功能支持最为全面的OLT设备(有些OLT设备可能仅支持部分功能),所有类型的链路切换功能均会开启。表格swap_port_convert_table则以port_type和port_id作为查表索引,表格条目内容记录链路切换之前的端口与链路切换之后的端口之间的对应关系;这里的端口可以是指一般用户线卡的物理端口,也可以是无源光网络线卡的vport(虚拟端口)端口;在系统上电之初,此表格的查表结果与查表索引应保持一致,以表示无数据链路的链路切换处理。
当分布式OLT系统硬件检测到端口不建链或者光网络单元出现丢失或者OAM连续性检查异常或双向转发检测失败信号时,硬件会将这些异常情况以中断信息上报给CPU。CPU收到中断信息之后,做出链路切换切换决策,一方面立即启动耗时较长的MAC地址同步操作,将问题端口上学习到的所有MAC地址转移至新的替代端口上并通知分布式系统内的所有板卡更新MAC地址信息,另一方面则将端口不建链或者光网络单元出现丢失或者OAM连续性检查异常或双向转发检测失败信号封装到一个链路切换信息头部(swap_info_header)之中,构建一个类型为包含链路切换信息头部的链路切换报文(FUNC_TYPE_SWAP),图9是本发明实施例链路切换报文示意图,通过调用NPU芯片的OAM模块发包接口,将此报文立即发送给微码进行处理。为提升性能和效率,在根据异常信息封装链路切换信息头部时,如果同时存在两种分属不同功能的链路切换状态信息(比如同时存在端口不建链及双向转发检测失败信号),则可将两者封装到同一个swap_info_header之中,通过OAM模块的一份固定长度的控制报文发送给微码。如果同时存在同一功能下的多个链路切换状态信息,则支持两种做法,一是对每个链路切换状态信息做遍历式的逐一处理,分别封装在多个swap_info_header之中,通过OAM模块的多份固定长度控制报文发送给微码进行解析和处理,此时swap_info_header中info_num字段的数值为0;二是将多个(不多于5个)链路切换状态信息封装到同一个swap_info_header之中,通过OAM模块的一份变长报文发送给微码处理,此时swap_info_header中的info_num字段的数值等于封装的链路切换状态信息的个数。
微码接收到OAM模块发来的控制报文之后,首先检查报文的func_type字段,看是否等于FUNC_TYPE_SWAP,如果等于则判定为链路切换信息报文,转入链路切换信息报文的解析程序。在链路切换信息解析程序中,先检查报文的info_num字段是否为0,如果为0则视为固定长度的链路切换信息控制报文,无需做任何报文复制及环回处理;反之,如果控制报文的info_num字段不为0且大于1(假定等于数值n),则按该字段的数值复制n份固定长度的链路切换信息报文(均只携带一个链路切换状态信息)做环回处理,每份报文都触发一次针对固定长度的链路切换信息报文的处理。无论对于OAM模块发出的固定长度的链路切换报文,还是对于经微码复制环回处理之后的固定长度的链路切换控制报文,后续的微码处理方式相同。
微码对OAM发来的链路切换控制报文的状态信息的解析完成之后,就进入到链路切换动作执行阶段。此时微码会先使用swap_info_1中的swap_type字段作为索引,查找表格swap_enable_table,确认该类型的链路切换操作在当前系统中是否开启,如果未开启,则直接退出微码链路切换处理程序。在确认当前类型的链路切换操作已开启之后,就以链路故障状态信号作为查表索引,查找链路切换信息表swap_info_table,获得根据设定的策略在当前情况下所应执行的链路切换操作信息swap_info,其中包含链路切换的目的端口port_type和port_id等信息。之后,微码根据所获得链路切换操作信息swap_info,以切换前的目的端口old_port_type和old_port_id作为索引,以切换后的目标切换端口new_port_type和new_port_id作为条目内容,对链路切换端口转换表格swap_port_convert_table进行设置,完成链路切换操作的具体执行。如果swap_info-2中的数据有效,则微码还需查找一次链路切换信息表并根据查表结果对链路切换端口转换表swap_port_convert_table做适当设置。
综上该,应用本发明实施例,可以在一般网络处理器上实现端口不建链、PON ONU出现LOS信号、OAM CCM状态异常、BFD DOWN等各种异常场景下的数据链路快速切换的功能。本发明方法利用一般网络处理器所共有的OAM模块和微码模块来实现数据链路的快速切换,相比针对每种异常情况分别设置一套链路切换机制、需等待分布式系统中所有板卡MAC地址同步操作全部完成再进行数据链路切换的常见处理方式,在切换的可靠性及效率上有较大优势。本发明方法的快速切换所需时间主要取决于NPU芯片对于需做切换处理的各种异常情况的检测上报速度,当分布式系统中数据链路切换时所需同步的MAC地址数量较多时,本发明实施例可显著减小数据连续切换所需时间,大幅降低切换过程中的丢包数量。综合各种异常情况下数据链路切换的各种情形,本发明实施例可对各种链路切换场景做统一处理以避免逻辑冲突、显著减小分布式OLT系统中数据链路切换所需的平均丢包时间及丢包数量。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上该仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种数据链路切换方法,其特征在于,所述方法用于在设备各线卡MAC地址更新完毕之前,包括:
中央处理器收集故障状态信息和链路端口信息;
所述中央处理器将所述故障状态信息和所述链路端口信息封装成链路切换报文后发送到网络处理单元;
所述网络处理单元对所述链路切换报文进行解析得到所述故障状态信息和所述链路端口信息,若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,根据所述链路故障状态信息和所述链路端口信息查找链路切换信息表,在预先设定的切换端口数据库中根据优先级选取目标切换端口,将所述链路端口信息所指向端口的转发功能切换到所述目标切换端口;所述链路切换信息表指的是特定的微码表格,用于得到链路切换功能的具体操作信息。
2.根据权利要求1所述的方法,其特征在于,所述故障状态信息包括以下四种链路故障状态的一种:光网络单元信号丢失,端口不建立链路,连续性检查异常,双向转发检测失败。
3.根据权利要求1所述的方法,其特征在于,所述链路端口信息包括:
端口类型信息和端口身份信息。
4.根据权利要求2所述的方法,其特征在于,
所述链路切换报文包含同一种链路故障状态下的所有故障端口的所述链路端口信息;
或者,
所述链路切换报文包含单个端口的所述链路端口信息和所述故障状态信息。
5.一种数据链路切换方法,其特征在于,所述方法用于在设备各线卡MAC地址更新完毕之前,包括:
网络处理单元接收报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息;
若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,根据所述链路故障状态信息和所述链路端口信息查找链路切换信息表,所述网络处理单元在预先设定的切换端口数据库中根据优先级选取目标切换端口;所述链路切换信息表指的是特定的微码表格,用于得到链路切换功能的具体操作信息;
所述网络处理单元将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口。
6.根据权利要求5所述的方法,其特征在于,所述网络处理单元将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口,包括:
通过转发表将需要通过所述链路切换报文中携带的链路端口信息所指向端口转发的数据转发到所述目标切换端口,其中所述转发表包含有所述报文中携带的所述链路端口信息与所述目标切换端口信息;
所述目标切换端口转发所述数据。
7.根据权利要求5所述的方法,其特征在于,所述网络处理单元将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口之前包括:
将所述链路切换报文中携带的链路端口信息所指向端口录入转发表中的源端口字段,将所述目标切换端口录入所述转发表中的目的切换端口字段。
8.根据权利要求5所述的方法,其特征在于,所述在预先设定的切换端口数据库中根据优先级选取目标切换端口,包括:
预先设定固定的数值作为所述切换端口的优先级标示,选择数值大的标识所对应的所述切换端口为目标切换端口。
9.根据权利要求5所述的方法,其特征在于,所述在预先设定的切换端口数据库中根据优先级选取目标切换端口,包括:
设定数值作为所述切换端口的优先级标示,所述数值根据所述切换端口处理能力定期变化,其中所述切换端口处理能力与数值成正比,选择数值大的标识所对应的所述切换端口为所述目标切换端口。
10.根据权利要求5所述的方法,其特征在于,所述在预先设定的切换端口数据库中根据优先级选取目标切换端口包括:
所述优先级为包含两个因素的函数的运算结果值,所述因素分别为所述切换端口的默认优先级和所述切换端口在一个特定时间间隔里被选为所述目标切换端口的次数,所述默认优先级与所述结果值成正比,所述次数与所述结果值成反比。
11.一种数据链路切换装置,其特征在于,所述装置用于在设备各线卡MAC地址更新完毕之前,包括:
收集模块,用于收集故障状态信息和链路端口信息;
发送模块,用于将所述故障状态信息和链路端口信息封装成链路切换报文后发送到网络处理单元;所述网络处理单元对所述链路切换报文进行解析得到所述故障状态信息和所述链路端口信息,若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,根据所述链路故障状态信息和所述链路端口信息查找链路切换信息表,在预先设定的切换端口数据库中根据优先级选取目标切换端口,将所述链路端口信息所指向端口的转发功能切换到所述目标切换端口;所述链路切换信息表指的是特定的微码表格,用于得到链路切换功能的具体操作信息。
12.一种数据链路切换装置,其特征在于,所述装置用于在设备各线卡MAC地址更新完毕之前,包括:
接收模块,用于接收报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息;
选择模块,用于若所述链路切换报文中携带的所述故障状态信息所指示的故障状态为允许切换状态的情况下,根据所述链路故障状态信息和所述链路端口信息查找链路切换信息表,在预先设定的切换端口数据库中根据优先级选取目标切换端口;所述链路切换信息表指的是特定的微码表格,用于得到链路切换功能的具体操作信息;
切换模块,将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到所述目标切换端口;
所述接收模块、选择模块和切换模块设置于网络处理单元中。
13.一种数据链路切换设备,其特征在于,所述设备用于在设备各线卡MAC地址更新完毕之前,包括:网络处理器和中央处理器,所述中央处理器,接收故障端口的故障状态信息和链路端口信息,将包含所述故障状态信息和所述链路端口信息的链路切换报文发送给网络处理单元;所述网络处理器,接收中央处理器发送的报文,在所述报文为链路切换报文的情况下,提取所述报文中携带的故障状态信息和链路端口信息,若所述链路切换报文中携带的故障状态信息所指示的故障状态为允许切换状态的情况下,根据所述链路故障状态信息和所述链路端口信息查找链路切换信息表,在预先设定的切换端口数据库中根据优先级选取切换端口,将所述链路切换报文中携带的链路端口信息所指向端口的转发功能切换到目标切换端口;所述链路切换信息表指的是特定的微码表格,用于得到链路切换功能的具体操作信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611160771.2A CN108234301B (zh) | 2016-12-15 | 2016-12-15 | 一种数据链路切换方法和装置 |
PCT/CN2017/116457 WO2018108149A1 (zh) | 2016-12-15 | 2017-12-15 | 数据链路切换方法和装置以及数据链路切换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611160771.2A CN108234301B (zh) | 2016-12-15 | 2016-12-15 | 一种数据链路切换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234301A CN108234301A (zh) | 2018-06-29 |
CN108234301B true CN108234301B (zh) | 2022-04-19 |
Family
ID=62558038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611160771.2A Active CN108234301B (zh) | 2016-12-15 | 2016-12-15 | 一种数据链路切换方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108234301B (zh) |
WO (1) | WO2018108149A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138657B (zh) * | 2019-05-13 | 2021-11-09 | 北京东土军悦科技有限公司 | 交换机间的聚合链路切换方法、装置、设备及存储介质 |
CN111277440B (zh) * | 2020-01-20 | 2022-04-08 | 新华三信息安全技术有限公司 | 网络设备 |
CN112383471A (zh) * | 2020-10-30 | 2021-02-19 | 新华三信息技术有限公司 | 一种刀箱链路管理方法、装置、设备及机器可读存储介质 |
CN115473840A (zh) * | 2021-06-11 | 2022-12-13 | 华为技术有限公司 | 一种报文发布方法、转发路径处理方法及装置 |
CN113852547B (zh) * | 2021-09-10 | 2023-07-25 | 锐捷网络股份有限公司 | 一种报文转发方法、装置、线卡及存储介质 |
CN114205263B (zh) * | 2021-12-08 | 2023-10-13 | 中国信息通信研究院 | 用于Ether CAT网络的通信方法、系统和存储介质 |
CN114938346B (zh) * | 2022-05-13 | 2023-06-06 | 苏州盛科通信股份有限公司 | 一种芯片和cpu协同实现业务快速切换的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281927A (zh) * | 2014-05-28 | 2016-01-27 | 中兴通讯股份有限公司 | 多链路保护倒换的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006180162A (ja) * | 2004-12-22 | 2006-07-06 | Nec Corp | パケット交換装置およびパケット交換方法 |
CN101126997B (zh) * | 2007-09-26 | 2010-06-16 | 中兴通讯股份有限公司 | 一种网络处理器微引擎活性检测的方法 |
CN101277269A (zh) * | 2008-05-06 | 2008-10-01 | 杭州华三通信技术有限公司 | 实现可靠通信的终端、终端切换方法及系统和适用该系统的方法 |
WO2010082290A1 (ja) * | 2009-01-13 | 2010-07-22 | 株式会社日立製作所 | 通信システム、加入者収容装置及び通信方法 |
US8654630B2 (en) * | 2010-03-19 | 2014-02-18 | Brocade Communications Systems, Inc. | Techniques for link redundancy in layer 2 networks |
CN101860492A (zh) * | 2010-06-28 | 2010-10-13 | 中兴通讯股份有限公司 | 快速切换的方法、装置和系统 |
CN102368722B (zh) * | 2011-12-01 | 2013-06-05 | 盛科网络(苏州)有限公司 | 以太网环网保护中快速切换的芯片实现方法及系统 |
CN102420768A (zh) * | 2011-12-15 | 2012-04-18 | 北京星网锐捷网络技术有限公司 | 链路切换方法及装置、数据传输方法及装置、网络设备 |
EP2839606A4 (en) * | 2012-04-18 | 2015-08-05 | Ericsson Telefon Ab L M | SYSTEM AND METHOD FOR SENDING OAM PACKAGES VIA REDUNDANT PATHS |
CN102857419B (zh) * | 2012-10-12 | 2015-07-22 | 华为技术有限公司 | 链路聚合端口故障的处理方法和装置 |
CN103036716B (zh) * | 2012-12-12 | 2018-06-22 | 中兴通讯股份有限公司 | 链路切换方法及系统 |
CN103200048B (zh) * | 2013-04-02 | 2018-07-13 | 中兴通讯股份有限公司 | 一种网络处理器异常检测方法、装置及网络处理设备 |
CN105871674B (zh) * | 2015-01-23 | 2019-10-22 | 华为技术有限公司 | 环保护链路故障保护方法、设备及系统 |
-
2016
- 2016-12-15 CN CN201611160771.2A patent/CN108234301B/zh active Active
-
2017
- 2017-12-15 WO PCT/CN2017/116457 patent/WO2018108149A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281927A (zh) * | 2014-05-28 | 2016-01-27 | 中兴通讯股份有限公司 | 多链路保护倒换的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018108149A1 (zh) | 2018-06-21 |
CN108234301A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234301B (zh) | 一种数据链路切换方法和装置 | |
US8213320B2 (en) | Method and switching device for stack port configuration | |
CN108462601B (zh) | 应用于光传输网络的多保护组倒换方法、装置及网元设备 | |
CN108306777B (zh) | 基于sdn控制器的虚拟网关主备切换方法及装置 | |
US20070183313A1 (en) | System and method for detecting and recovering from virtual switch link failures | |
US20130329547A1 (en) | Communication device and method of controlling the same | |
US8976681B2 (en) | Network system, network management server, and OAM test method | |
US20030137934A1 (en) | System and method for providing management of fabric links for a network element | |
US9331870B2 (en) | Switch, information processing apparatus, and information processing system | |
CN101534198B (zh) | 通信系统 | |
CN102571492B (zh) | 检测路由设备故障的方法和装置 | |
CN105656645A (zh) | 堆叠系统的故障处理的决策方法和装置 | |
US8737412B2 (en) | Network relay system and method of automatically setting a network relay system | |
US11258666B2 (en) | Method, device, and system for implementing MUX machine | |
CN112511326A (zh) | 一种切换方法、装置、设备和存储介质 | |
CN106850268B (zh) | 一种线性保护倒换的实现装置及方法 | |
CN108989204B (zh) | 一种链路状态确定方法及设备 | |
CN104104596B (zh) | 一种irf分裂处理方法和装置 | |
US20140010233A1 (en) | Communication device, method for controlling the communication device, and communication system | |
CN110971540B (zh) | 一种数据信息的传输方法、装置、交换机及控制器 | |
US20160205046A1 (en) | Transmission device and interface device | |
EP3691210A1 (en) | Flexible ethernet message forwarding method and apparatus | |
US9209928B2 (en) | Transmission device and transmission method | |
CN112491749A (zh) | 基于asic的聚合链路快速收敛方法、转发报文的方法及装置 | |
CN110868366A (zh) | 基于asic的通信设备板级保护方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |