8021ag和y1731的学习文档.docx
《8021ag和y1731的学习文档.docx》由会员分享,可在线阅读,更多相关《8021ag和y1731的学习文档.docx(29页珍藏版)》请在冰豆网上搜索。
![8021ag和y1731的学习文档.docx](https://file1.bdocx.com/fileroot1/2023-5/20/8cdd3f29-1044-4e17-bf3c-423ac20ac368/8cdd3f29-1044-4e17-bf3c-423ac20ac3681.gif)
8021ag和y1731的学习文档
IEEE802.1ag和Y.1731学习总结
1、IEEE802.1ag简介
1、IEEE802.1ag的由来
在传统的电信网络里面,传统电信网络(在一个局域网中同时有且只有一个客户端发送数据,其他客户端必须等待一段时间发送数据)有着专用的管理通道,可以快速发现网络连接的问题,实现快速保护切换,同时提供了丰富的信息供管理员方便地定位故障所在,所以网络稳定性高,可管理行强,定位问题的手段丰富。
但是由于Ethernet的简单性,低成本,高扩展性,对突发流量很好的支持等极具吸引力的优势,传统电信网络逐步向Ethernet发展。
Ethernet网络相比于传统电信网络有着很多的不足,其中一个就是可管理性差,因此IEEE提出了802.1ag等标准来解决这个问题。
2、什么是802.1ag
802.1ag是IEEE提出的一个用于Ethernet网络中进行错误管理的一个标准,即ConnectivityFaultManagement(CFM).
它提供了如下五中功能:
I、.路径发现
II、故障检测
III、故障确认和定位
IV、故障通知
V、故障恢复
3、跟802.1ag相关的协议
Y.1731:
这是ITU基于802.1ag提出的一个标准,是802.1ag的超集,另外加了一些功能,更加全面地考虑了电信网络的需求。
G.8031和G.8032:
这时两个APS(自动保护切换协议),前者提供Linear保护,后者提供ring保护。
理论上CFM和APS结合起来应用才能完整的提供对一个网络的管理和保护。
前者发现,定位报告故障,后者快速反应,对故障通道进行保护切换。
4、802.1ag的设计理念
802.1ag把整个网络划分成很多的维护域MD(MaintenanceDomain),MD分为8个层次,层级越高管理的范围越大。
在每个MD里面,针对该MD所提供的每一个服务(service)进行维护管理,这些service会跨越网络中很多个节点,802.1ag的核心思想是在这个service所涉及到的部分或者全部节点上进行维护监控,从而发现故障以及定位出故障的网络段。
参与维护的节点称为维护点(MaintenancePoint)MP,不是配置在brige上,而是配置在brige的某个具体的port上,从而将维护粒度进一步细化。
MP分为MIP(维护中间点,MaintenanceassociationEndPoint)和MEP(维护端点,MaintenancedomainIntermediatePoint,MIP)
每一个service都有两个或者两个以上MEP,这些MEP的组合称为维护关联MA(MaintenanceAssociation,MA)。
每个MA都对应一个服务实例(ServiceInstance),802.1ag就是对一个个MA进行管理维护,检测MA中的故障。
MA中每个MEP之间都会有fullmesh的连接,每个MEP-MEP之间点到点的连接称为维护实体ME(MaintenanceEntity)。
这时CFM作用的最小单位。
5、维护域(MD)
网络中可以有很多个MD,每个MD都有特定的Level,Level共分为8级。
Level越高管理的范围越大。
同时,每个MD都有一个全局唯一的MDNAME,用于标识该MD。
相同Level的维护域可以不止一个,彼此之间独立,用MD区别。
维护域之间只能相切或嵌套,不能交叠。
6、维护域工作原理
每个维护域的维护者只看到他自己的维护域,底层的维护域为与它直接相邻的上层提供服务。
如下图所示:
CustomerDomain检出出问题之后,管理员只知道MD出了问题,他可以定位出customer设备到provider之间出了问题,还是provider网络出了问题,但是如果是后者,它无法进一步定位具体哪里出了问题。
于是定位工作就交给了ProviderDomain,ProviderDomain跨越了多个OperatorDomain或者结合处出了问题,但是无法进一步定位OperatorDomain里面哪里出了问题,于是定位工作继续交给了OperatorDomain,在OperatorDomain,管理员就可以定位是哪一段网络出了问题,如果OperatorDomain比较大,它仍然可以在里面继续划分低层次的Domain,从而可以有效地缩小故障范围。
7、DomainServiceAccessPoint(DoSAP)
DomainServiceAccessPoint(DoSAP)即维护与服务接入点是一组特殊的服务接入点,它们为外界提供了访问MD的接口,所以都是位于MD的边缘,在802.1ag中会被配置成MEP。
一个MD为外界提供的每个service,都会在该MD中找到至少两个DoSAP。
DoSAP只存在于802.1ag的理论模型中,实际配置中相当于MEP,因为一个MEP就是一个维护域服务接入点。
8、维护关联(MA)
MaintenanceAssociation(MA),即维护关联。
一个MD通常对外提供多个服务实例,802.1ag最终想维护的并不是domain,而是service,一个MA就唯一地跟一个serviceinstance相关联。
在当前的Ethernet实际部署中,providerdomain里面的MA通常是跟一个EVC(以太虚连接)关联,因为EVC就代表了一个serviceinstance,因为EVC就代表了一个serviceinstance,EVC可以是点对点或点对多点的,相应的MA也就是点对点或点对多点的。
每个EVC的UNI就配置一个MEP,而且是UPMEP。
MA具有以下特性:
I、每个MD可以包含多个MA,而一个MA只能属于一个MD,所以一个MA也继承了该MD的Level属性,只能属于一个特定的Level。
II、每个MA有一个MAname,这个name在它所属的domain里面是唯一的。
III、每个MA有一个MAID,它由两部分组成,分别是MDname和MAname。
这样MAID就是全局唯一的。
为了跟y.1731兼容,MDname可以为空,这样就要求MAname必须全局唯一。
IV、在Ethernet里面,serviceinstance通常由vlanId来标识,而MA又跟serviceinstance一一对应,所以MA跟vlanId之间也是有着某种关联。
通常MA唯一对应着一个VlanId,但是802.1ag允许多个VlanId受一个MA来管理维护,这些vlanId中,有一个vlan是primaryvlan,所有在该MA中传递的报文中,都只会出现vlan。
V、通常,在实践中,MDLevel+vlanId可以唯一的标志一个MA(不同MD中的vlan标志不同的MA)。
但是802.1ag允许同一个MD中,同一个vlan对应多个MA。
9、维护端点(MEP)
MaintenanceassociationEndPoint(MEP),即维护端点,它是CFM中的核心部件,每个MEP都跟一个特定的DoSAP相关联,配置在DoSAP所在的port上。
MEP负责发起所有的CFM报文,包括CCM,LTM,LBM,从而主动负责pathdiscovery,faultnotification,faultverificationandisolation,faultnotification。
它是一个MA的终结点。
CFM主要的协议行为,状态机都发生在MEP上。
MEP分为两种,分别是UPMEP和DOWNMEP。
根据802.1ag的定义,在一个brige里面,如果一个MEP从LAN侧发送和接收它对应的MA的CFM报文,那么这个MEP就是DOWNMEP;如果一个MEP从BridgeRelay侧发送和接收它对应的MA的CFM报文,那么这个MEP就是UPMEP。
10、维护中间点(MIP)
MaintenancedomainIntermediatePoint(MIP),即维护中间点,它不能配置在DoSAP上,而只能是ISAP(internalServiceAccessPoint),它不是一个MA终结点,而是一个中间点,它可以接收中转CCM和LBM、LBR和LTM报文,并能够发送LTR报文。
逻辑上它包含两个MHF(MIPHalfFunction),一个是downMHF,另外一个是UPMHF。
MIP不能主动发送CFM报文,只能相应受到的CFM报文的时候,发送Relay以及转发。
也不负责检测和上报故障。
11、MD\MA\ME\MEP之间的关系
I、一个网络可以有多个MD,每个MD都有一个MDLevel属性,可以有多个相同level的MD。
II、一个MD里面,可以配置多个MA,它们都具有相同的MDLevel,MAname是在MD内唯一的,而MAID则是全局唯一的。
III、每个MA可以对应多个VLAN,但是只能有一个primaryvlan。
IV、实践中,Vlan+mdLevel通常可以唯一决定一个MA,但是有时1ag也允许对应多个MA。
V、每个MA包含多个MEP,而每个MEP只能属于唯一的MA,具有唯一MDLevel,对应唯一的primary。
每个MEP有一个MEPID,这个MEPID在MA内是唯一的,全局不需要唯一。
11、MEP主要功能
I、定期主动发送CCM报文
II、验证收到的CCM报文的正确性
III、丢弃收到的来自lowerlevel的CFM报文
IV、发送LBM报文,接收处理收到的LBR报文
V、发送LTM报文,接收处理收到的LTR报文
VI、维护MEPCCM数据库
VII、可选择性的维护MIPCCM数据库
12、MIP主要功能
I、验证收到的LTM的正确性
II、可选择性地验证收到CCM的正确性并且维护MIPCCM数据库
III、发送回一个LBR来响应收到的LBM
IV、转发收到的LTM并且发送回一个LTR来响应LTM
13、MEP/MIPCCMDatabase
I、每个MEP都必须维护着一个MEPCCMDatabase,这个database是手动配置的,每条记录对应一个remoteMEP。
II、每个MEP和MIP都可选地维护着一个MIPCCMDatabase,这个Database实际上是一个FDB表,每条记录都是一个{Mac,Fid,Port}三元组。
这个记录的都是通过Mac学习动态学到的MEP的信息。
14、CFM通用报文格式
CFM报文由Ethernetheader、Commonheader以及具体报文类型自己的header组成。
Ethernetheader:
MacDa:
具体见CCM\LBM\LBR\LTM\LTR
MacSa:
是发送报文的MP的Mac,在实现的时候通常是bridgeportmac。
IPID:
8902
VLAN:
可以是tagged或者untagged。
CommonHeader
CommonHeader:
CommonHeader紧接在Ethernetheader之后,每个CFM报文都有这个header。
MDLevel
第一个字节高三位比特
Version
第一个字节第五位比特
OpCode
第二个字节
Flags
第三个字节
FirstTLVOffeset
第四个字节
MDlevel:
标志该packet的level
Version:
目前都是0,后面的作为以后的扩展用
OpCode:
表示发的是什么消息
Flags:
它的解释取决于各个OpCode
FirstTLVoffset:
指从这个field往后,知道PDU中第一个TLV之间,有多少个字节。
VarieswithvalueofOpCode:
是指具体的OpCode所对应的header。
EndTLV:
是最后一个TLV,type=0,没有length和value
OpCode的取值对应消息类型:
CFMPDUororganization
OpCoderange
ReservedforIEEE802.1
0
ContinuityCheckMessage(CCM)
1
LookbackReply(LBR)
2
LookbackMessage(LBM)
3
LinktraceReply(LTR)
4
LinktraceMessage(LTM)
5
ReservedforIEEE802.1
6-31
DefinedbyITU-TY.1731
32-63
ReservedforIEEE802.1
64-255
TLV格式:
Type
第一个字节
Length
第二到第三个字节
(Value)
第四个字节
TLV中Type格式:
TLVororganization
Typefield
EndTLV
0
SenderIDTLV
1
PortStatusTLV
2
DataTLV
3
InterfaceStatusTLV
4
ReplyIngressTLV
5
ReplyEgressTLV
6
LTMEgressIdentifierTLV
7
LTREgressIdentifierTLV
8
ReservedforIEEE802.1
9---30
Organization-SpecificTLV
31
DefinedbyITU-TY.1731
32---63
ReservedforIEEE802.1
63---255
15、CCM
CCM(ConnectivityCheckMessage),专门用来进行故障检测。
CCM报文的MacDa可以是单播地址(仅仅用于兼容Y.1731以及用于PBT),也可以是多播地址。
多播地址是01-80-C2-00-00-3y,其中y=MDLevel。
CCM报文中携带的vlan是它所属的MA的primaryvlan。
CCM报文格式如下:
CommonCFMHeader
1-4字节
SequenceNumber
5-8字节
MaintenanceassociationEndPointIdentifier(MEPID)
9-10字节
MaintenanceassocaitionIdentifier(MAID)
11-58字节
DefinedbyITU-TY.1731
59-74字节
Reservedfordefinitioninfutureversionoftheprotocol
在当前版本中,这个field不存在,用于扩展
OptionalCCMTLVs
在版本0的CCM中,值为70
EndTLV(0)
对于CCM中的CommonHeader中的flags字段,最高bit代表RDI,最低3个bits代表interval,其它4个bits保留。
RDI作为一个bit携带在CCM的flags中,被remoteMEP用来告诉localMEP,该localMEP或者localMEP到这个remoteMEP的单向连接出现了问题。
由于CCM不需要reply,所以一个MEP并不知道它发送到remoteMEP的CCM报文是否被收到了,并且是否正确。
因此,才需要在CCM中携带RDI这个bit。
如果一个MEP从一个remoteMEP收到一个CCM,RDI被置为0,那这就意味着这个remoteMEP正在正常地从localMEP接受CCM。
否则,如果RDI被置为1,则意味着remoteMEP已经检测到了该localMEP的defect。
对于CCM序列号,每个传输的CCM报文里面需要包含序列号(sequencenumber),这个sequencenumber可以帮助管理员来检测并且计算保丢失情况。
偶尔的包丢失意味着网络可能负担太重,或者某些link不稳定等,这可以帮助管理员尽早发现问题,在转发路径最终出问题之前,就预先认识到问题并且及时采取措施。
对于检测出的defect,有如下类型:
defect
priority
variable
highestdefect
highestdefectpri
importance
xconCCMdefect(20.23.3)
defxconCCM
5
most
errorCCMdefect(20.21.3)
deferrorCCM
4
someRMEPCCMdefect(20.33.5)
defremoteCCM
3
someMACstatusdefect(20.33.6)
defMACstatus
2
someRDIdefect(20.33.7)
defRDICCM
1
least
xconCCMdefect:
表示收到了一个或者多个crossconnect的CCM报文,所谓Crossconnect是指MD有交叉,导致MEP收到了lowerlevel的CCM报文。
errorCCMdefect:
表示收到了一个或者多个错误的CCM报文。
someRMEPCCMdefect:
表示至少从一个RemoteMEP那里收到了错误的CCM报文。
someMACstatusdefect:
表示至少有一个remoteMEP正在报告它的InterfaceTLV不是isUp。
someRDIdefect:
表示至少有一个remoteMEP发过来的CCM中,RDIflag被置为1。
CCM的每个defect优先级不同,具体见上表格。
优先级的一个重要作用是进行defect报告抑制。
当MEP检测到一个defect之后,马上上报,然后起一个timer,在timer没有过期之前,如果又检测到了高优先级的defect,会立即上报,但是如果检测到低优先级或者同优先级的defect则不再上报,从而达到抑制的目的。
CCM的传输是一种主动的OAM功能:
当MEP将按照已配置的传输周期那样周期性的发送CCM帧,它的传输周期如下所示:
周期
Interval值
注释
3.3ms
1
保护转换应用默认的传输周期
10ms
2
每秒100帧的传输速率
100ms
3
性能检测应用默认的传输周期
1s
4
差错管理应用默认的传输周期
10s
5
每分钟6帧的传输速率
1min
6
每分钟1帧的传输速率
10min
7
每小时6帧的传输速率
invalid
0
无效的值
MEP接收到一个CCM帧时,将对它进行检查,以确保它的MAID与接收MEP中配置的MAID相匹配,并且CCM帧中的MEPID是配置的对等MEPID清单之中的一个。
CCM帧中的信息在接收MEP中将按目录分类。
CCM帧能检测出不同的故障情况,它们包括:
a.如果在相当于接收MEPCCM传输周期3.5倍的时间间隔内未从一个对等的MEP接收到任何的CCM帧,与对等MEP连续性的丢失就检测出来了。
b.如果接收到一个CCM帧,其MA等级低于接收MEP的MA等级,非期望的MA等级就检测出来了。
c.如果接收到一个CCM帧,它具有同样的MA等级,但MA不同于该接收的MA自身的MAID,错误混入就检测出来了。
d.如果接收到一个CCM帧,它具有同样的MA等级且正确的MAID,但带有不正确的MEPID,包括接收到MEP自身的MEPID,那么非期望MEP就检测出来了。
e.如果接收到一个CCM帧,它具有同样的MA等级、正确的MAID和正确的MEPID,但是周期字段值不同于接收MEP自身的CCM传输周期,那么非期望的周期就检测出来了。
16、LBM和LBR
以太网环回功能(ETH-LB)用于检验一个MEP与一个MIP或对等的MEP的连通性。
MEP通过LBM帧和LBR帧进行以太网环回功能。
其中LBM的报文格式如下:
CommonHeader
1-4字节
Sequencenumber
5-8字节
Reservedfordefinitioninfutureversionoftheprotocol
在当前版本中,这个field不存在,用于扩展
TLV
任选的TLV,如果没有则是终了TLV
EndTLV
终了TLV
LBM帧的CommonHeader的信息如下表所示:
MDLevel
第一个字节前三个bit
Version
第一个字节的后5个bit,目前数值总为0
OpCode
第二个字节,值为3
Flag
第三个字节,全置为0
FirstTLVOffset
第四个字节,置为4
LBR的报文格式与LBM的一样,只有OpCode值置为2,源地址和目的地址交换,剩下的信息都是从LBM上复制下来的。
LBM的其他信息如下:
TLV
如果存在,可以是数据TLV或测试TLV
EndTLV
全0字节
LBM的TLV的信息如下:
type
length
value
DataTLV
值为3
Value长度,单位字节
任意的bit码型
TestTLV
置为32
同上
同上,多一个码型种类
以太网环回功能分为两种:
a、单播的ETH-LB
单播的ETH-LB有如下应用应用:
I、验证一个MEP与一个MIP或一个对等MEP间的双向连通性。
II、在一对对等的MEP之间,执行双向的服务期间或服务中断时的诊断测试,包括带宽通量的验证、检测比特误码率等。
带有单播ETH-LB信息的帧可以用多种方式发送,用于不同的按需控制类型,例如单次传输、重复性传输等。
当用于双向诊断测试时,MEP向一个对等的MEP发送带有ETH-LB请求信息的单播帧。
ETH-LB请求信息包含测试码型。
当执行服务中断的诊断测试时,数据业务流将不传递给被诊断ME的任何一侧。
单播的LBM帧由MEP在按需的基础上发送。
当用于双向炎症性时,MEP发送一个单播的LBM帧,地址指向远端的MIP或远端对等的MEP,并带有指定的插在交易ID/序列号的交易ID。
在传输了单播LBM帧之后,MEP将其往在5s的时间内接收到一个单播LBR帧。
因此,发送的交易ID应由该MEP至少在单播LBM帧发送后的5s时间内加以保持。
对于每一个单播LBR帧。
因此,发送的交易ID应由该MEP至少在单播LBM帧发送后的5s时间内加以保持。
对于每一个单播LBM帧,必须使用不同的交易ID,且在1min时间内来自同一个MEP的交易ID不能重复。
MEP可以任选地使用数据TLV或测试TLV。
当配置要求检查不同帧长度的传输是否成功时,MEP将使用数据TLV。
然而,当用于诊断测试时,MEP将发送单播的LBM帧时,MEP将发送单播的LBM帧,地址指向远端对等的MEP,并带有测试TLV。
测试TLV用于运载与该MEP相联系的测试信号发生器产生的测试码型。
当MEP被配置要进行服务中断的诊断测试时,该MEP还将在LBM帧发出的相反方向上,以客户的MA等级产生相应的LCK帧。
每当MIP或MEP接受