CN112188525B - 一种基于策略模板定制的ioam部署方法及系统 - Google Patents
一种基于策略模板定制的ioam部署方法及系统 Download PDFInfo
- Publication number
- CN112188525B CN112188525B CN202011043630.9A CN202011043630A CN112188525B CN 112188525 B CN112188525 B CN 112188525B CN 202011043630 A CN202011043630 A CN 202011043630A CN 112188525 B CN112188525 B CN 112188525B
- Authority
- CN
- China
- Prior art keywords
- ioam
- flow
- message
- counter
- source node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于策略模板定制的IOAM部署方法及系统,涉及通信技术领域,本发明基于当前激活业务流进行精确学习,触发IOAM配置生成,解决5G网络场景多路径需要全部部署IOAM的问题,节约了设备资源,减少了人工参与,降低了出错概率。同时,将需要依赖的NTP和1588时间两种时间源减少为只需要1588时间,用FPGA的1588时间作为交替标记周期块的时间源,通过D报文触发FPGA打戳的方式,解决了IOAM还需要依赖NTP、转发芯片需要1588时间同步的问题,提高了IOAM部署效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于策略模板定制的IOAM部署方法及系统。
背景技术
在5G飞速发展过程中,网络传输能力不断增强,对网络质量也达到了更高要求,对网络传输丢包、时延、乱序等高度敏感。网络传输过程中存在很多的突发现象,如果传输负荷超过设备的传输能力会有丢弃行为,而且会引起传输时延抖动过大,从而导致通信双方重传报文,进而影响通信质量。所以针对5G网络必须有一种技术能够准确定位网络故障、高精度的监控网络性能和实现网络的智能运维。
IOAM技术在丢包率、时延测量和乱序上能带来更好的运维服务,为智能运维提供很好的技术基础。IOAM的特点是将IOAM内容封装到业务数据报文中,作为业务数据报文的一部分在网络中传递,可以真实的检测业务转发路径的时延、丢包率情况。根据RFC8321标准,IOAM检测方式如图1所示,控制器在源节点下IOAM配置,这些配置包含交替标记周期、检测模式、流识别信息(SIP、DIP、DSCP)、FLOW ID和站点信息(源节点、中间节点、宿节点)等;控制器在中间节点和宿节点配置标记周期、FLOW ID和站点信息等。源节点收到IOAM配置后,根据标记周期启动定时器,按照IOAM配置的流识别信息识别业务报文并将对应的IOAM配置中的FLOW ID封装到业务报文中,并按照标记周期进行L、D的染色(周期修改L/D的值),并配置统计L等于0或1的计数器对L报文进行统计,标记后的指令头封装格式如图2所示。中间节点和宿节点按照IOAM配置启动定时器和配置统计L等于0或1的计数器,并对源节点发过来的L等于0或1标识的报文进行统计。控制器汇总各节点收报情况,便可以计算出链路丢包情况。其中,源节点、中间节点和宿节点间的定时器同步用的是NTP技术,D报文的时戳用的是1588技术。
以上人工静态配置IOAM方案是目前的主流方案,其缺陷是需要人工根据网络情况进行IOAM部署,当业务存在多路径时,需要对每个路径、逐个站点配置IOAM,尤其是当业务路径发生变化或更改业务信息时,需要对应的对IOAM配置进行逐个站点的修改,这种通过人工下发配置实现IOAM功能的方法增加了网络管理员的负担,且容易出错;现有技术不仅要依赖NTP技术还要依赖1588技术,部署起来非常繁琐。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于策略模板定制的IOAM部署方法及系统,提高IOAM部署效率。
为达到以上目的,本发明采取的技术方案是:一种基于策略模板定制的IOAM部署方法,包括以下步骤:
源节点获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;
控制器根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;IOAM配置生效后,源节点进行IOAM的交替标记及封装;
中间节点或宿节点收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的Flow ID、SLOT和PORT并上送到控制器;
控制器根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
在上述技术方案的基础上,所述流识别信息为SIP、DIP或DSCP。
在上述技术方案的基础上,IOAM配置生效后,源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
在上述技术方案的基础上,所述方法还包括以下步骤:
源节点的转发芯片根据Flow ID采集IOAM性能,并将采集到的IOAM性能上送到控制器,控制器计数丢包率和时延;
当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,控制器将Flow ID对应的流表老化,并删除源节点对应Flow ID的IOAM配置。
在上述技术方案的基础上,控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
本发明还提供一种基于策略模板定制的IOAM部署系统,包括控制器、转发芯片、源节点、中间节点和宿节点:
所述源节点用于:获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;IOAM配置生效后,源节点进行IOAM的交替标记及封装;
所述中间节点或宿节点用于:收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的Flow ID、SLOT和PORT并上送到控制器;
控制器用于:接收源节点上送的IOAM流信息,根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;接收中间节点或宿节点上送的Flow ID、SLOT和PORT,根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
在上述技术方案的基础上,所述流识别信息为SIP、DIP或DSCP。
在上述技术方案的基础上,IOAM配置生效后,所述源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
在上述技术方案的基础上,所述方法还包括以下步骤:
所述源节点的还用于:所述源节点的转发芯片根据Flow ID采集IOAM性能,并将采集到的IOAM性能上送到控制器;
所述控制器还用于:计数丢包率和时延;当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,将Flow ID对应的流表老化,并删除源节点对应Flow ID的IOAM配置。
在上述技术方案的基础上,所述控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
与现有技术相比,本发明的优点在于:
本发明基于当前激活业务流进行精确学习,触发IOAM配置生成,解决5G网络场景多路径需要全部部署IOAM的问题,节约了设备资源,减少了人工参与,降低了出错概率。同时,将需要依赖的NTP和1588时间两种时间源减少为只需要1588时间,用FPGA的1588时间作为交替标记周期块的时间源,通过D报文触发FPGA打戳的方式,解决了IOAM还需要依赖NTP、转发芯片需要1588时间同步的问题,提高了IOAM部署效率。
附图说明
图1为背景技术中的IOAM检测方式示意图;
图2为背景技术中的指令头封装格式示意图;
图3为本发明实施例的基于策略模板定制的IOAM部署方法的流程示意图;
图4为本发明实施例的IOAM策略模板示意图;
图5为本发明实施例的交替标记周期D标记示意图;
图6为本发明实施例的D标记流程示意图;
图7为传统IOAM交替标记定时器和D报文时间源示意图;
图8为本发明实施例的IOAM交替标记定时器和D报文时间源示意图;
图9为本发明实施例的IOAM转发路径示意图。
具体实施方式
术语说明:
DSCP:差分服务代码点(Differentiated Services Code Point)。
以下结合附图对本发明的实施例作进一步详细说明。
参见图3所示,本发明实施例提供一种基于策略模板定制的IOAM部署方法,包括以下步骤:
S1、源节点获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;
S2、控制器根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;
S3、IOAM配置生效后,源节点进行IOAM的交替标记及封装;
S4、中间节点或宿节点收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的Flow ID、SLOT和PORT并上送到控制器;
S5、控制器根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
优选的,所述流识别信息为SIP、DIP或DSCP。
作为优选的实施方式,IOAM配置生效后,源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
作为优选的实施方式,所述方法还包括以下步骤:
源节点的转发芯片根据Flow ID采集IOAM性能,并将采集到的IOAM性能上送到控制器,控制器计数丢包率和时延;
当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,控制器将Flow ID对应的流表老化,并删除源节点对应Flow ID的IOAM配置。
优选的,控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
本发明实施例的基于策略模板定制的IOAM部署方法,具体包括以下步骤:
步骤1、部署时间同步功能,将图7的用NTP启动交替标记定时器的时间源改为用图8的用1588作为时间源。
步骤2、如图4所示的IOAM策略模板,用户通过控制器在源节点配置学习策略,当学习策略为盲目学习时,转发芯片对收到的所有IP报文进行采样;当学习策略为有目的学习时(如指定只学习SIP、DIP和DSCP),转发芯片只采样满足条件的报文到FPGA。
步骤3、FPGA收到报文后,解析报文中的SIP、DIP、DSCP和SLOT信息,并用SIP、DIP和DSCP查找FPGA的流表是否已存在,如果不存在,将此条目加到流表中,同时FPGA设置转发芯片不再学习此条流,减少重复学习压力;否者丢掉此报文。
步骤4、FPGA将学习到的流条目组成报文,然后上送到控制器,控制器判断此条目是否已存在,如果已存在,不再新生成IOAM配置;如果不存在,则控制器为此条目分配一个网元唯一的Flow ID以及交替标记周期和检测模式。交替标记周期默认为30秒,用户可以通过控制器进行配置。检测模式默认是端到端检测,当控制器检测有丢包时,将端到端检测自动修改为逐站检测。通过这种方式实现了IOAM配置的自动生成。
步骤5、用户根据客户级别选择自动配置策略或人工许可配置策略,自动配置是指控制器学习到IOAM配置中的DSCP值大于4(用户可配置,默认为4)的流所产生的IOAM配置,自动下到转发芯片。人工许可配置是指控制器学习到的DSCP值小于等于4的流所产生的IOAM配置,需要人工确认是否下到指定的SLOT。
步骤6、源节点流触发的IOAM配置生效后,源节点转发芯片要完成IOAM的封装和交替标记。参见图5所示,利用L bit的计数功能,实现每个标记周期只标记一个D报文或一系列D报文的功能。具体步骤如图6所示:首先,源节点的CPU根据IOAM配置的交替标记周期启动定时器,主要用来完成L(L=1或0)和D(D=1或0)的交替标记和IOAM标签封装。转发芯片根据Flow id为L分配两个Counter id,分别用于进行L=1和0的计数。为了实现每个标记周期只标记一个D报文或一系列报文,在转发芯片的入口侧,用ACL匹配入口流的流特征(SIP、DIP和DSCP),ACL的动作是对匹配上的流进行计数。CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态,当工作在周期A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter放到内部转发头中(UDH),随报文携带到出口,出口ACL比较内部转发头中的Counter值和根据设计需求设定的值N,如果两者相等,将此报文的Dbit位置1,同时复制一份报文到FPGA,FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。当工作在周期B时,执行相同的动作,从而实现了D报文的按需标记和打戳功能。
如图7所示,现有技术中,使用NTP时间,实现设备间交替标记周期块的同步,用1588时间实现D的时间戳的统计。由于NTP精度只能做到毫秒级,无法用于D时间戳微妙级的误差需求。而软件层面无法直接使用1588时间作为交替标记周期块。而本发明实施例用FPGA的1588时间作为交替标记周期块的时间源,如图8所示,通过D报文触发FPGA打戳的方式,解决了IOAM还需要依赖NTP的问题和转发芯片需要1588同步的问题。
步骤7、中间节点和宿节点的转发芯片默认识别IOAM的特殊(默认标签值为12)标签,对于SR场景,报文的标签层数可能达到10层,转发芯片无法直接对IOAM报文进行处理,本发明实施例用转发芯片的ACL功能将报文中的栈底标签找到,并匹配D=1的报文,然后将此报文镜像到FPGA,FPGA用报文中的Flow ID和SLOT信息查找流表中是否存在此条目,如果已存在,将此报文丢掉,否者将此条目添加到流表中,并将此条目以报文的形式上送到控制器,控制器收到此条目后,用Flow ID查找中间节点IOAM配置是否存在,如果不存,继续查找源节点的IOAM配置,将交替标记周期和站点信息找到,然后将查找到的信息和Flow ID作为IOAM配置添加到IOAM配置表中,并将此条目下发到转发芯片。否者丢掉此条目。
步骤1-7之后,IOAM功能已正常运行,转发芯片基于Flow ID采集IOAM性能(包含收发包计数、时延),并将性能上送到控制器,控制器计数丢包率和时延。需要配置老化策略,控制器根据IOAM检测网络流量,当流量小于源点流量门限M,且持续达到设定的时间,执行老化动作,实现源节点IOAM配置的自动部署。例如,当没有业务流进入源节点时,连续T个周期内,Flow ID所对应的收发包计数等于0时,控制器将此Flow ID对应的流表进行老化,同时删除源节点对应Flow ID的IOAM配置;当源节点再次收到报文时,重复步骤2-7。通过这种方案实现了流触发IOAM配置的随路部署。同时也解决如图9所示的保护场景由主用倒换到备用时,IOAM配置在备用随IOAM流自动生成,主用路径IOAM自动删除,实现了IOAM随流的路径进行部署,节约了转发芯片资源及需要人工大量操作的问题。
本发明实施例还提供一种基于策略模板定制的IOAM部署系统,包括控制器、转发芯片、源节点、中间节点和宿节点:
所述源节点用于:获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;IOAM配置生效后,源节点进行IOAM的交替标记及封装;
所述中间节点或宿节点用于:收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的Flow ID、SLOT和PORT并上送到控制器;
控制器用于:接收源节点上送的IOAM流信息,根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;接收中间节点或宿节点上送的Flow ID、SLOT和PORT,根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
优选的,所述流识别信息为SIP、DIP或DSCP。
作为优选的实施方式,IOAM配置生效后,所述源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
作为优选的实施方式,所述方法还包括以下步骤:
所述源节点的还用于:所述源节点的转发芯片根据Flow ID采集IOAM性能,并将采集到的IOAM性能上送到控制器;
所述控制器还用于:计数丢包率和时延;当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,将Flow ID对应的流表老化,并删除源节点对应Flow ID的IOAM配置。
优选的,所述控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于策略模板定制的IOAM部署方法,其特征在于,包括以下步骤:
源节点获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;
控制器根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;IOAM配置生效后,源节点进行IOAM的交替标记及封装;
中间节点或宿节点收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的FlowID、SLOT和PORT并上送到控制器;
控制器根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
2.如权利要求1所述的方法,其特征在于:所述流识别信息为SIP、DIP或DSCP。
3.如权利要求1所述的方法,其特征在于:
IOAM配置生效后,源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
4.如权利要求1所述的方法,其特征在于:所述方法还包括以下步骤:
源节点的转发芯片根据Flow ID采集IOAM性能,并将采集到的IOAM性能上送到控制器,控制器计数丢包率和时延;
当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,控制器将Flow ID对应的流表老化,并删除源节点对应Flow ID的IOAM配置。
5.如权利要求1所述的方法,其特征在于:控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
6.一种基于策略模板定制的IOAM部署系统,其特征在于,包括控制器、转发芯片、源节点、中间节点和宿节点:
所述源节点用于:获取基于流识别信息的学习策略,根据学习策略进行IOAM流学习,将学习到的IOAM流信息组成报文上送到控制器;IOAM配置生效后,源节点进行IOAM的交替标记及封装;
所述中间节点或宿节点用于:收到报文时,识别出IOAM报文,将带有D标记的IOAM报文镜像到FPGA,FPGA解析IOAM报文中的Flow ID、SLOT和PORT并上送到控制器;
控制器用于:接收源节点上送的IOAM流信息,根据接收到的IOAM流信息和配置策略生成IOAM配置,将IOAM配置下发到源节点;接收中间节点或宿节点上送的Flow ID、SLOT和PORT,根据Flow ID查找源节点的IOAM配置,得到交替标记周期和站点信息,根据交替标记周期、站点信息和Flow ID生成新的IOAM配置,将新的IOAM配置下发到中间节点或宿节点。
7.如权利要求6所述的系统,其特征在于:所述流识别信息为SIP、DIP或DSCP。
8.如权利要求6所述的系统,其特征在于:
IOAM配置生效后,所述源节点进行IOAM的交替标记及封装,具体包括以下步骤:
源节点的CPU采用FPGA的1588时间作为交替标记周期的时间源,根据IOAM配置的交替标记周期启动定时器,所述定时器用于完成L和D的交替标记以及IOAM标签封装;
源节点的转发芯片根据Flow id为报文分配两个Counter:Counter-A和Counter-B,分别用于进行L=1和0的计数;
源节点的转发芯片在入口侧用ACL匹配入口流的流识别信息,对匹配的流进行计数;
源节点的CPU根据交替标记周期,周期性的切换Counter-A和Counter-B的工作状态;
工作状态在Counter-A时,进入转发芯片的报文触发读、写Counter-A的动作,并将读到的Counter-A放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-A值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取;
工作状态在Counter-B时,进入转发芯片的报文触发读、写Counter-B的动作,并将读到的Counter-B放到内部转发头中,随报文携带到出口,出口ACL比较内部转发头中的Counter-B值和根据设计需求设定的值,若两者相等,将此报文的D bit位置1,并复制报文到FPGA;FPGA收到报文时,将当前的1588时间戳记录下来,供CPU读取。
9.如权利要求6所述的系统,其特征在于:
所述源节点的还用于:所述源节点的转发芯片根据FlowID采集IOAM性能,并将采集到的IOAM性能上送到控制器;
所述控制器还用于:计数丢包率和时延;当没有业务流进入源节点、连续T个周期内Flow ID所对应的收发包计数等于0时,将FlowID对应的流表老化,并删除源节点对应FlowID的IOAM配置。
10.如权利要求6所述的系统,其特征在于:所述控制器将IOAM配置下发到中间节点或宿节点,具体包括以下步骤:
控制器判断IOAM配置中的DSCP值,当DSCP大于用户设定值时,直接将IOAM配置到指定槽位的转发芯片,当DSCP小于等于用户设定值时,根据用户确认结果决策是否将IOAM配置下发到指定槽位的转发芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043630.9A CN112188525B (zh) | 2020-09-28 | 2020-09-28 | 一种基于策略模板定制的ioam部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043630.9A CN112188525B (zh) | 2020-09-28 | 2020-09-28 | 一种基于策略模板定制的ioam部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112188525A CN112188525A (zh) | 2021-01-05 |
CN112188525B true CN112188525B (zh) | 2022-04-15 |
Family
ID=73945808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043630.9A Active CN112188525B (zh) | 2020-09-28 | 2020-09-28 | 一种基于策略模板定制的ioam部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112188525B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810229B (zh) * | 2021-09-16 | 2023-12-05 | 烽火通信科技股份有限公司 | 一种基于时序调度的ioam质量性能数据分析方法和装置 |
CN114567574B (zh) * | 2022-03-01 | 2023-11-10 | 烽火通信科技股份有限公司 | 一种基于时序控制实现lm免流量测试的方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897446A (zh) * | 2014-09-30 | 2016-08-24 | 浙江亿邦通信科技股份有限公司 | 一种基于fpga的efm oam处理方法以及硬件实现装置 |
CN109743340A (zh) * | 2019-04-04 | 2019-05-10 | 华为技术有限公司 | 报文处理的方法和网络装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965204B (zh) * | 2017-05-18 | 2022-01-25 | 中兴通讯股份有限公司 | 一种自动实现ioam封装的方法及装置 |
CN109347648B (zh) * | 2017-09-21 | 2020-10-16 | 中国移动通信有限公司研究院 | Oam消息传输方法、传输设备及存储介质 |
-
2020
- 2020-09-28 CN CN202011043630.9A patent/CN112188525B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897446A (zh) * | 2014-09-30 | 2016-08-24 | 浙江亿邦通信科技股份有限公司 | 一种基于fpga的efm oam处理方法以及硬件实现装置 |
CN109743340A (zh) * | 2019-04-04 | 2019-05-10 | 华为技术有限公司 | 报文处理的方法和网络装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112188525A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112188525B (zh) | 一种基于策略模板定制的ioam部署方法及系统 | |
US10673883B2 (en) | Time synchronization attack detection in a deterministic network | |
CN100463418C (zh) | 网络性能测试方法、系统及网络设备 | |
CN108400934B (zh) | 软件定义网络控制器、服务功能链系统及路径追踪方法 | |
US10749746B2 (en) | Full path diversity for virtual access point (VAP) enabled networks | |
US9979619B2 (en) | Identifying a source of packet drops in a network | |
CN104158753B (zh) | 基于软件定义网络的动态流调度方法及系统 | |
CN102904775B (zh) | 网络丢包测量方法、设备和系统 | |
US10097471B2 (en) | Time-based traffic engineering for seasonal flows in a network | |
US20070064611A1 (en) | Method for monitoring packet loss ratio | |
WO2014190603A1 (zh) | Sdn网络中结合流检测和包检测的业务流感知系统及方法 | |
CN103560923A (zh) | 分组传送网的网络故障快速定位方法 | |
CN113992497B (zh) | Ioam测量计算方法、装置、设备及存储介质 | |
CN104869028A (zh) | 网络装置与回路检测方法 | |
CN109120554A (zh) | 一种基于true镜像的流镜像方法和交换设备 | |
CN112448926B (zh) | 一种带内操作管理维护ioam的处理方法及系统 | |
CN115297493A (zh) | 一种SRv6网络切片配置管理方法及系统 | |
US9553828B1 (en) | System and method for collision detection and avoidance for network communications | |
WO2018233049A1 (zh) | 一种物联网数据通信方法及系统 | |
CN109525492B (zh) | 一种不依赖路由协议或算法的ip数据备份传输方法 | |
Wei et al. | A network scheduling method for convergence of industrial wireless network and TSN | |
CN114500163A (zh) | 一种通信调度方法、装置和存储介质 | |
Tan et al. | Performance evaluation of differentiated services mechanisms over wireless sensor networks | |
CN111917624A (zh) | 一种在vxlan传输中控制信息的传送方法及系统 | |
CN104468228A (zh) | 一种oam报文发送系统 |
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 |