精华内容
下载资源
问答
  • 以太网OAM

    千次阅读 2020-08-31 11:08:15
    以太网OAM 定义:以太网OAM全称为以太网Operations Administration and Maintenance,即针对以太网的操作管理和维护。 以太网OAM主要功能可分为以下两部分: 故障管理 通过定时或手动发送检测报文来探测网络的...

    OAM


    版权声明:本文内容并非原创,以下内容为网上搜索的到资源整理以及相关协议的翻译。

    定义:以太网OAM全称为以太网Operations Administration and Maintenance,即针对以太网的操作管理和维护。
    以太网OAM主要功能可分为以下两部分:

    • 故障管理

      • 通过定时或手动发送检测报文来探测网络的连通性。

      • 提供类似IP网络中的Ping(Packet Internet Groper)和Traceroute的功能,对以太网进行故障确认和故障定位。

      • 和保护倒换协议配合,当检测到连通性故障后触发保护倒换,以实现网络业务中断小于等于50毫秒的运营级可靠性目标。

    • 性能管理

      性能管理主要是指对网络中的丢包、时延、抖动进行衡量,也包括对网络中各类流量进行统计。性能管理通常在用户接入点实施。有了性能管理工具,运营商可通过网管系统监测网络运行情况、定位故障,确认网络转发能力是否符合与用户签订的SLA(Service Level Agreement)。

    以太网OAM能够有效提高以太网的网络管理能力和维护能力,保障网络的稳定运行。

    目的:以太网技术自诞生起,以其简单易用、价格低廉的特点逐步成为局域网的主导技术。

    以太网最初主要应用于局域网。局域网对可靠性、稳定性要求都较低,因此以太网一直缺乏运行维护管理机制,这一点已经成为阻碍以太网发展的严重障碍。因此,在以太网上实现OAM(Operations Administration and Maintenance)成为一个必然的发展趋势。

    以太网OAM技术分层实现,可分为链路级以太网OAM和网络级以太网OAM。
    图1-1 城域网典型组网
    在这里插入图片描述

    链路级以太网OAM

    链路级以太网OAM技术,如遵循IEEE 802.3ah协议的EFM OAM(Ethernet in the First Mile OAM),针对两台直连设备之间的链路,提供链路连通性检测功能、链路故障监控功能、远端故障通知功能、远端环回功能。

    CE设备是用户网络边缘设备。CE设备用来连接用户网络和运营商网络。与CE设备不同,PE设备是运营商网络边缘设备,它用来连接运营商网络和用户网络。

    遵循IEEE 802.3ah协议的EFM OAM是Ethernet in the First Mile OAM(以太最后一公里OAM)的简称。它属于链路级以太网OAM技术,是一种较为简单的OAM协议,提供点到点的故障检测,主要用于两台直连设备之间链路的OAM检测。

    网络级以太网OAM

    遵循IEEE 802.1ag协议规定的以太网CFM(Connectivity Fault Management),属于网络级以太网OAM技术针对网络实现端到端的连通性故障检测、故障通知、故障确认和故障定位功能,可用于监测整个网络的连通性,定位网络的连通性故障,并可与保护倒换技术相配合,提高网络的可靠性。

    CFM作为以太网的OAM,主要提供了链路连通性检测、环回功能和链路跟踪功能。

    以太网技术简单易用、价格低廉、且带宽可不断提高,无论是作为一种业务还是作为一种网络结构在企业网、广域网范围内都已经得到广泛应用。随着以太网推广的范围逐渐扩大,对以太网OAM功能的需求也越来越强烈。但是传统以太网可维护、可运营能力比较弱,以太网OAM的出现很好的解决了这一问题。

    根据网络的分层/分级架构,需要提供分层/分级的以太OAM功能。如[图1-2]所示。
    图1-2 以太网OAM示意图
    在这里插入图片描述

    OAM故障联动

    OAM故障联动用于在不同的检测协议之间传递故障信息,例如在同属于以太网OAM的EFM OAM和以太网CFM之间传递故障信息,在以太网OAM和BFD之间传递故障信息等。随着以太网OAM、BFD、MPLS OAM等检测协议的不断推广运用,OAM故障联动模块将承担起更多的使用场景。

    EFM OAM与以太网CFM的比较:

    协议 特点
    EFM OAM EFM OAM(Ethernet in the First Mile OAM),针对两台直连设备之间的链路,提供链路连通性检测功能、链路故障监控功能、故障通知功能、远端环回功能。如[图2-18]所示,在城域网中,EFM OAM技术多应用在CE(Customer Edge)设备和UPE(Underlayer Provider Edge)设备之间,用于保证用户网络和运营商网络之间连接的可靠性和稳定性。
    以太网CFM 以太网CFM(Connectivity Fault Management),针对网络实现端到端的连通性故障检测、故障通知、故障确认和故障定位功能。如[图2-18]所示,在城域网中,CFM OAM技术多应用在接入汇聚层网络中,用于监测整个网络的连通性,定位网络的连通性故障,并可与保护倒换技术相配合,提高网络的可靠性。

    本文主要涉及网络级OAM的实现与应用,链路级以太网OAM(EFM)暂时不做讨论。

    参考协议

    文档 描述 备注
    IEEE Std 802.1ag-2007 IEEE Standard for Local and metropolitan area networks—Virtual Bridged Local Area Networks Amendment 5:Connectivity Fault Management -
    IEEE 802.1ag/Draft7.0 Virtual Bridged Local Area Networks— Amendment 5:Connectivity Fault Management -
    ITU-T Y.1731 -

    以太网CFM原理描述

    CFM(Connectivity Fault Management,标准协议802.1ag)定义了基于以太网承载网络的连接检测的OAM功能,包括CC/LB/LT,适用于大规模组网的端到端场景,是网络级的OAM。

    基本概念

    • MD

      维护域MD(Maintenance Domain)是指对其实施以太网CFM管理的一个网络或一个网络的一部分,一个MD通常由一个统一的ISP(Internet Service Provider)或者运营商进行管理。

      每个MD有一个级别,取值范围是0~7,值越大MD的级别越高。低级别MD的802.1ag协议报文进入高级别的MD后被丢弃,高级别MD的802.1ag协议报文可以穿越低级别的MD。

      在实际应用中,如果某个MD内还包含另一个范围较小的MD,在对大的MD进行连通性检测时,802.1ag协议报文需要穿越小的MD,则可将大MD的级别配置得比小MD高,以实现802.1ag协议报文穿越。

      例如在[图2-7]所示网络中,MD2包含在MD1中,MD1的802.1ag协议报文需要穿越MD2。因此,将MD1的级别配置为6,MD2的级别配置为3,这样MD1内的802.1ag协议报文就可以穿越MD2实现整个MD1的连通性故障管理,而MD2的802.1ag协议报文不会扩散到MD1中。

      图2-7 不同级别的MD
      在这里插入图片描述

    • 默认MD

      standard2007标准版本规定,每台设备上可配置一个默认MD。默认MD可用于使高优先级MD感知低优先级MD内部拓扑。

      如[图2-8]所示,在MD嵌套场景下,高优先级MD中的设备可能是低优先级MD的边缘设备和中间设备。当高优先级MD内的802.1ag协议报文穿越低优先级MD时,报文会透传;在没有配置默认MD的情况下,如果需要感知低优先级MD内部拓扑,需要在低优先级MD内设备上的指定端口上创建指定优先级的MIP节点,用以回复LBR或LTR报文给高优先级MD中的设备。

      图2-8 默认MD
      在这里插入图片描述

      如果在低级别MD中的设备上配置与高优先级MD相同级别的默认MD,则设备基于默认MD按规则自动生成相应级别的MIP节点回复LBR或LTR报文给高优先级MD中的设备,这样高级别MD就能感知低级别MD中拓扑结构的变化,也实现了整个MD1的连通性故障管理。

      默认MD的级别必须高于本设备配置MEP节点所有MD的级别,和高优先级MD的级别相等,用于高级别CCM报文穿越,创建MIP节点回复LTR报文。

      IEEE802.1ag标准版本规定,每台设备上可配置一个默认MD,一个默认MD可以关联多个VLAN。VLAN内的端口将基于默认MD按规则自动创建MIP节点。

    说明:

    在配置了默认MD的设备上,默认MD关联的VLAN一定不能关联MA。
    
    • MA

      维护联盟MA(Maintenance Association)是MD的一部分。一个MD可以划分成一个或多个MA。以太网CFM对每个MA分别进行连通性故障检测。

      在运营商的网络中,通常一个VLAN对应一个业务实例,通过划分MA可实现对传输某个业务实例的网络的连通性故障检测。

      MA的级别等于它所在的MD的级别。

    • MEP

      如[图2-9]所示,维护联盟边缘节点MEP(Maintenance association End Point)是MA的边缘节点。

      MEP位于设备的接口上,手工创建。MEP的级别等于它所在的MD的级别。

      图2-9 MEP和MIP

    在这里插入图片描述

    对于运行以太网CFM的网络中的任意一台设备,该设备上的MEP称为本地MEP,同一MA内其它设备上的MEP对本设备而言称为远端维护联盟边缘节点RMEP(Remote Maintenance association End Point)。
    
    MEP又分为outward型MEP和inward型MEP,方向向外的MEP称为outward型MEP,方向向内的MEP称为inward型MEP。
    
    inward型MEP发出的802.1ag协议报文通过当前MA关联VLAN内的所有接口(除MEP所在接口)向外发送,即在当前MA关联的VLAN内广播;outward型MEP发出的协议报文直接通过该MEP所在的接口向外发送。
    
    MEP的方向是MEP必需的参数,如[图2-10]所示,图中的三角形表示在该端口上配置的MEP。
    
    图2-10  outward和inward型MEP
    

    在这里插入图片描述

    注意:

    如果配置MEP类型为outward,报文会穿透Block接口,可能会引起MAC震荡。
    

    维护端点MEP(Maintenance association End Point)确定了维护域MD的范围和边界,是维护联盟MA的边缘节点。维护端点所属的维护联盟和维护域确定了该维护端点所发出报文的业务和级别。维护端点的级别决定了其所能处理的报文的级别,维护端点所发出报文的级别就是该维护端点的级别。当维护端点收到高于自己级别的报文时,不会进行处理,而是将其按原有路径转发;而当维护端点收到小于或者等于自己级别的报文时,才会进行处理。

    维护端点位于设备的接口上,手工创建。维护端点的级别等于它所在的维护域的级别。

    对于运行以太网CFM的网络中的任意一台设备,该设备上的MEP称为本地MEP,同一MA内其它设备上的MEP对本设备而言称为远端维护联盟边缘节点RMEP(Remote Maintenance association End Point)。

    维护端点具有方向型,分为inward型MEP和outward型,如[图2-4]所示。

    • inward型MEP不向它所在端口发送报文,而是向设备的其它端口发送报文。

    • outward型MEP向它所在端口发送报文。

    图2-4 MEP方向示意图

    在这里插入图片描述

    • MIP

      如[图2-10]所示,维护联盟内部节点MIP(Maintenance association Intermediate Point)是MA的内部节点。

      MIP位于设备的接口上,是按规则自动创建的,MIP的创建规则有三种,如[表2-1]所示

      表2-1 MIP的创建规则

      MIP创建规则 说明
      default型 如果指定MD或默认MD所属的接口不存在更高级别的MEP,并且不存在更低级别的MIP,则可以在该接口上创建MIP。
      explicit型 如果在指定MD或默认MD所属的接口存在更低级的MEP但不存在更高级别的MEP,而且不存在更低级别的MIP,则可以创建MIP。在本类型下,接口上只有已配置了更低级别的MEP才可能创建MIP。
      none型 不自动创建MIP

      MIP节点的级别由生成规则以及生成其的MD的级别决定。
      如[图2-11]所示,MD1~MD5包含在MD7中,MD2~MD5包含在MD1中。MD7的级别高于MD1~MD5的级别,MD1的级别高于MD2~MD5的级别。MD1中的设备SwitchA上创建了多个MEP,各个MEP属于不同级别的MD。

      图2-11 standard2007标准版本MIP节点创建示意图
      在这里插入图片描述

      如果,设备SwitchA已经基于MD1配置了MIP节点的创建规则为default,MIP节点创建过程如下:

      1. 比较各个MEP,找出最高级别的MEP,最高级别的MEP为5。(MEP的级别由自身所属的MD决定。)
      2. 选择高于5级MEP的最小MD,MD的级别为6。
      3. 创建级别为6的MIP节点。
        如果级别6或者大于级别6的MD都不存在,则MIP节点将无法创建。
        如果SwitchA上已经存在级别为1的MIP节点,则MIP节点按规则也无法创建。
    • MP
      MEP和MIP统称为维护节点MP(Maintenance Point)。

    CFM协议报文

    CFM是通过携带不同标记的CFM协议报文实现链路的故障检测和定位的,其协议报文格式如[图3-1]所示。

    图3-2 CFM协议报文
    在这里插入图片描述

    各字段含义如[表3-3]所示。

    表3-3 CFM协议各字段的含义

    字段名称 含义
    MD Level 维护域的级别,取值范围为0~7,取值越大表示级别越高。
    Version 协议版本号,取值为0。
    OpCode 消息编码,不同取值表示不同类型的CFM协议报文,常见的CFM协议报文如[表8-5]所示。

    表3-4 不同类型的CFM协议报文

    OpCode值 报文类型 作用
    0x01 CCM(Continuity Check Message) 用于端到端链路的连通性检测。
    0x02 LBR(Loopback Reply) 用于环回检测,对端对于本端LBM的回应。
    0x03 LBM(Loopback Message) 用于环回检测,由环回发起端发出。
    0x04 LTR(Linktrace Reply) 用于链路跟踪,对端对于本端LTM的回应。
    0x05 LTM(Linktrace Message) 用于链路跟踪,由链路跟踪发起端发出。

    Continuity Check Message Group Destination MAC Addresses 见下表,DMac的最后一位由MD level决定:

    01-80-C2-00-00-3y
    MD Level of CCM Four address bits “y”
    7 7
    6 6
    5 5
    4 4
    3 3
    2 2
    1 1
    0 0

    Linktrace Message Group Destination MAC Addresses 见下表,DMac的最后一位由MD level决定:

    01-80-C2-00-00-3y
    MD Level of CCM Four address bits “y”
    7 F
    6 E
    5 D
    4 C
    3 B
    2 A
    1 9
    0 8

    1.3.1 Encoding of CFM Protocol Data Units

    本节规定了对CFM协议数据单元(PDU)进行编码的方法。 规格包括以下内容:
    a)用于在帧中封装或解封装CFM PDU的格式(21.2);
    b)在所有CFM PDU中使用的通用CFM报头格式(21.4);
    c)用于CFM PDU(21.5)中可以包括的所有类型,长度,值(TLV)信息元素的格式; 和
    d)连续性检查消息(CCM,21.6),回送消息和回送答复(LBM和LBR,21.7),Linktrace消息(LTM,21.8)和Linktrace答复(LTR,21.9)的格式。
    注—第18条介绍了CFM操作的原理以及支持它的网络体系结构概念。 第19章将CFM协议实体细分为它们的组件。 第20章规定了每个MP组件所操作的协议。 第22章进一步描述了在系统和网络中使用CFM。

    1.3.1.1 Structure, representation, and encoding

    所有CFM PDU均应包含整数个八位字节.

    CFM PDU中的八位字节从1开始编号,并按放入使用的MAC内部子层服务(ISS或EISS)实例的请求或指示的MAC服务数据单元(MSDU)的顺序递增。 由CFM实体提供。

    八位位组中的位按照从高到低的顺序从1到8进行编号,其中1是八位位组中的最低有效位。

    如果使用图表表示CFM PDU中的八位位组和位,则在页面上显示的八位位组比在页面上相同高度处的后续八位位组和在后续八位位组的左侧显示的八位位低。 同一八位位组中其他位左侧显示的位编号更高

    在将两个或多个连续八位位组表示为十六进制值的情况下,左侧显示的是编号较低的八位位组,第一个八位位组后面的每个八位位组后面都带有连字符,例如01-80-C2-00-00-00。

    当使用连续的八位位组编码二进制数时,较低的八位位组数具有更大的有效值。 当八位位组中的连续位用于编码二进制数时,较高的位号具有最高有效值。 当连续八位位组中的位用于编码二进制数时,较低的八位位组号构成该数位的更高有效位。 标志被编码为单个位,如果该位取值为1,则将其设置为(True),否则将其清除(False)。 八位位组中的其余位可用于编码其他协议字段。

    1.3.1.2 CFM encapsulation

    标识CFM PDU的方式取决于介质。 对于使用“类型/长度”字段的介质,例如IEEE 802.3介质,标识由两个八位字节组成,其中包含表21-1中所示的类型值(以十六进制表示)。 需要LLC封装的媒体(例如IEEE 802.11)使用表21-2中所示的SNAP编码(以十六进制表示)。

    在这里插入图片描述

    1.3.1.3 CFM request and indication parameters

    • destination_address parameter
      就它们所针对的CFM实体而言,有三类CFM PDU:
      a)针对服务实例(CCM)中所有MEP的那些;
      b)在一个服务实例(LTM)中,在某个MD级别上,寻址到与发射MP紧邻的一组MP的那些;和
      c)那些针对单个特定MP(LBM,LBR,LTR)的文件。

    承载属于两个不同MA但处于相同MD级别的CFM PDU的帧以与数据帧在由那些MA监视的相应服务实例中彼此区分的相同方式彼此区分。

    在支持VLAN的网桥中,区分服务实例的是VID。监视通过其VID区分的服务实例的CCM使用表8-9中列出的组MAC地址作为destination_address。监视VID区分的服务实例的LTM使用表8-10中所示的LTM.destination_address的除最后三位外的所有其他位均由操作码(CCM或LTM)固定。如这两张表所示,destination_address的最后三位与CFM PDU标头的MD Level字段匹配。

    • source_address parameter
      发送PDU的MP的个人MAC地址。 这是发送MP的MAC地址。 MP的MAC地址不一定是唯一的; 在同一网桥端口上配置的MP可以共享相同的MAC地址。 用于分配组织唯一标识符(OUI)的原则要求通用唯一的MAC地址(U / L位= 0的那些地址,请参阅IEEE Std 802-2001,9.2)不用于与物理实例分开创建MP MAC地址 IEEE 802 MAC。 有关将MAC地址分配给MP的讨论,请参见J.6。

    1.3.1.4 Common CFM Header

    CFM PDU的格式如表21-3所示。 CFM PDU通过21.2中所述的封装进行标识。 八比特组1到4,包括MD级别,版本,操作代码,标志和第一TLV偏移字段,构成了通用CFM报头。
    在这里插入图片描述

    1. MD Level
      (最高3位)整数,标识数据包的维护域级别(MD Level)。 较高的数字表示较高的维护协会,这些协会的物理覆盖面最大,客户的CFM数据包的价值最高。 较低的数字对应较低的维护协会,即物理联系范围更有限的维护协会,单个网桥或物理链路的值最低

    2. Version
      (最低5位)协议版本号,始终为0。在收到时被忽略。

    3. OpCode
      (1个字节)OpCode字段指定CFM PDU其余部分的格式和含义。 OpCode字段的某些值保留供IEEE 802.1和/或其他组织分配。 表21-4中显示了各种CFM PDU类型的值。 分配新的OpCode值时,以刺激响应方式运行的CFM PDU对(例如LBM / LBR或LTM / LTR对)将使用偶数/奇数对值,以使两者的奇数(数字较大) 值是刺激,响应是偶数(数值较小)

    在这里插入图片描述

    1. Flags
      (1个八位位组)对于每个操作码分别定义了标志字段的使用

    2. First TLV Offset
      (1个字节)偏移量,从第一个TLV偏移字段之后的第一个八位字节开始,一直到CFM PDU中的第一个TLV。 对于每个操作码字段值,应按照规范中的指示发送“第一TLV偏移”字段的值,如下所示(21.6.2、21.7.2、21.8.2和21.9.2)

    1.3.1.5 TLV Format

    TLV代表类型,长度,值,并表示对PDU中的可变长度和/或可选信息进行编码的方法。 TLV不与任何特定的单词或八位字节边界对齐。 TLV彼此跟随,TLV之间没有填充。

    • General format for CFM TLVs
      在这里插入图片描述
    参数 说明
    Type (1个八位位组)必需。 如果为0,则没有“长度”或“值”字段。 如果不为0,则至少“长度”字段位于“类型”字段之后。 类型字段的编码如表21-6所示。
    Length (2个八位位组)如果“类型”字段不为0,则为必需。如果“类型”字段为0,则不存在。“长度”字段的16位指示值字段的大小(以八位位组为单位)。 长度字段中的0表示没有值字段。
    Value (由“长度”字段指定的长度)可选。 如果“类型”字段为0或“长度”字段为0,则不存在
    • Organization-Specific TLV
      类型=31。任何组织都可以定义TLV以用于连接故障管理。 表21-7中显示了此类TLV的格式。 “ OUI”是可从IEEE获得的组织唯一标识符。 12子类型是必需的,因此,如果OUI的所有者需要更多特定于组织的TLV,则不需要附加的OUI。
      在这里插入图片描述

    提供此TLV类别是为了允许不同的组织(例如IEEE 802.1,IEEE 802.3,ITU-T以及各个软件和设备供应商)定义TLV,这些TLV将信息发布到连接到同一媒体的远程实体,但必须遵守以下规定: 限制条件:

    1)在特定于组织的TLV中传输的信息不应要求接收者违反本标准中的任何要求。
    2)不得使用在一个特定于组织的TLV中传输的信息来提供一种发送消息的方法,该消息的大小要大于单个CFM PDU的大小。
    3)特定于组织的TLV必须符合20.46。

    • Sender ID TLV
      类型=1。标识在其上配置了传输MP的网桥,并且还可以包括该网桥的管理地址。 允许的值是包含在IEEE 802.1AB LLDP的9.5.2和9.5.9中的机箱ID TLV和管理地址TLV中包含的值,这些值已修改为适合CFM TLV,如表21-8所示。 是否发送发件人I
      D TLV,以及TLV中包含哪些信息,由受管理对象控制[12.14.3.1.3中的项目e),12.14.5.1.3中的d),项目12.14.6.1中的d)。 .3]。
      在这里插入图片描述
    参数 说明
    Chassis ID Length (1个八位位组)机箱ID字段的长度,以八位位组为单位。 如果未指定机箱ID,则为0。
    Chassis ID Subtype (1个八位位组)标识机箱ID字段的格式。 由IEEE Std 802.1AB-2005,9.5.2.2。指定 如果机箱ID长度字段包含0,则不存在
    Chassis ID (由“机箱ID长度”字段指定的长度)标识机箱。 由IEEE Std 802.1AB-2005 [B3],9.5.2.3指定。 如果机箱ID长度字段包含0,则不存在。
    Management Address Domain Length (1个八位字节)“管理地址域长度”字段包含“管理地址域”字段的长度(以八位字节为单位)。 如果为0,或者TLV的“长度”字段指示不存在“管理地址域长度”字段,则不存在“管理地址域”,“管理地址长度”和“管理地址”字段。
    Management Address Domain (由“管理地址域长度”字段指定的长度)“管理地址域”字段指定“管理地址”字段的内容的格式和类型,以及管理机制。 管理地址域字段的格式应为对象标识符(OID)的格式,如ITU-T X.690(2002)8.19所规定。 OID引用了TDomain(IETF RFC 2579)。 对“管理地址域”字段有用的标准值包括但不限于:— transportDomainUdpIpv4,指示基于IPv4的UDP上的SNMP(IETF RFC 3419);— transportDomainUdpIpv6,指示基于IPv6的UDP上的SNMP(IETF RFC 3419);— snmpIeee802Domain,指示基于MAC服务的SNMP(IETF RFC 4789)。如果“管理地址域长度”字段不存在或包含0,则此字段不存在。
    Management Address Length (1个八位位组)管理地址字段的长度(以八位位组为单位)。 如果“管理地址域长度”字段不存在或包含0,则此字段不存在。
    Management Address (由“管理地址长度”字段指定的长度)标识可以通过其管理在其中配置发送MP的网桥的TransportDomain(IETF RFC 3419,IETF RFC 4789)。 管理地址字段的格式由定义TransportDomain的MIB模块指定。 如果管理地址域长度字段不存在或包含0,或者管理地址长度字段不存在或包含0,则此字段不存在

    注—管理地址域和管理地址的内容是根据MIB模块定义的。 因此,需要一个已发布的MIB模块来定义可以在“管理地址域”字段中使用的特定值。 但是,系统使用“管理地址域”字段并不要求系统可以通过SNMP进行管理。 例如,已发布的MIB模块可以为ITU-T X.25(1996)[B15]上的专有命令行解释器定义一个TransportDomain。

    • Port Status TLV
      类型=2。端口状态TLV指示发送MEP所在的网桥端口传递普通数据的能力,而与MAC的状态无关。 该TLV的值由MEP变量enableRmepDefect(20.9.2)驱动,如表21-10所示。 表21-9列出了该TLV的格式。 端口状态TLV值的任何更改都会触发该网桥端口的MEP的CCM的一次额外传输。
      在这里插入图片描述

    在桥中配置的MEP,该位置与端口状态和VID成员集的单个值不相关,例如,在通过多个运行树实例的桥上,图22-9中位置5的MEP MSTP,不得传输端口状态TLV。

    • Interface Status TLV
      类型=4。接口状态TLV指示配置发送CCM的MEP所在的接口(不一定是其所在的接口,请参阅J.6)或IETF RFC中的下一个较低接口的状态。 2863 IF-MIB。 表21-11列出了该TLV的格式。 枚举值如表21-12所示。 这些值对应于IETF RFC 2863中ifOperStatus的值。
      在这里插入图片描述

    • Data TLV
      类型=3。零个或多个八位位组的任意数据。 具有多种用途,包括传输不同的帧大小以测试MTU功能以及测试特定于数据的错误相关性。 数据TLV可以包含在LBM和LBR中,但不能包含在任何其他CFM PDU中。 除LBR外,任何CFM PDU的接收方均不得检查或解释数据TLV的内容。 数据TLV的格式如表21-13所示。
      在这里插入图片描述

    • End TLV
      需要。 类型=0。不存在“长度”和“值”字段。 结束TLV是CFM PDU中的最后一个TLV。 (缺少末尾TLV不会使接收到的CFM PDU无效,但是在某些情况下,如果帧不接收额外的报头(例如MACsec或其他VLAN标签),则帧错误可能会导致错误。)末尾TLV的格式如下所示: 表21-14
      Snipaste_2020-01-20_16-20-03.png

    1.3.1.6 Continuity Check Message format

    CCM的格式如表21-15所示。 为了限制生成和接收CCM所需的资源,以下限制适用于CCM格式:
    在这里插入图片描述

    a)维护域名和短MA名称的编码方式使得MP可以在决定接收的CCM是否执行或将来自维护域名格式字段到短MA名称字段的所有字段当作一个单位来对待 不属于接收MP的MA。 也就是说,MP可以对接收到的CCM中的这些字段与其将在其自己的CCM中发送的字段进行二进制比较。 这意味着,例如,两个维护域名(例如仅靠尾随空格或通过大写/小写字母替换而不同)可以解释为表示不同的MA。
    b)分配给MAID的PDU部分被限制为48个八位位组,以最小化MEP硬件实现的存储要求
    MP必须能够接收和处理长度为128个八位字节或更短的有效CCM PDU,从MD级别/版本八位字节开始,包括End TLV。 MP不得发送超过此长度的CCM PDU。 MP可能会将超过此长度的任何收到的CCM PDU视为无效。

    • Flags
      (1个八位位组)公共CFM标头的标志字段分为三部分,用于CCM,如下所示:
      a)RDI字段(21.6.1.1);
      标志字段的最高有效位是RDI位。 如果设置了发送MEP的presentRDI变量(20.9.6),则此位设置为1;否则设置为0。
      b)保留字段(21.6.1.2);
      不包括RDI字段和CCM间隔字段的标志字段的位由发送MP设置为0,并且不由接收MP检查[20.46.2中的项目b)]。
      c)CCM间隔字段(21.6.1.3)
      标志字段的最低有效三位构成CCM间隔字段。 CCM间隔字段的编码如表21-16所示。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nwM6X6YP-1598839663517)($res/Snipaste_2020-01-20_16-32-14.png)]
    注意—表21-16中的最大CCM生存期等于CCM间隔的3.5倍。 最小CCM生存期是最大CCM生存期减去CCM间隔的1/4,计时器变量CCIwhile,rMEPwhile,errorCCMwhile和xconCCMwhile所需的最小粒度。

    • First TLV Offset
      (1个八位位组)CCM中“通用CFM报头”的“第一个TLV偏移”字段的发送方式为70。

    • Sequence Number
      (4个八位位组)MEP在此字段中传输0或将CCIsentCCMs变量(20.10.2)的内容复制到该字段。

    • Maintenance association End Point Identifier
      (2个八位位组)包含一个整数值。 该TLV指定从哪个MEP发送CCM
      Validation Test: MEPID is in the range 1–8191.

    • Maintenance Association Identifier
      (48个八位位组)此字段包含发送MEP的MAID。 它分为六个子字段,必要时还加上一个八位字节填充,以填充其固定长度。 子字段是:
      a) Maintenance Domain Name Format (21.6.5.1);
      b) Maintenance Domain Name Length (21.6.5.2);
      c) Maintenance Domain Name (21.6.5.3);
      d) Short MA Name Format (21.6.5.4);
      e) Short MA Name Length (21.6.5.5); and
      f) Short MA Name (21.6.5.5).
      这些字段的总长度(包括填充)(如果存在)应为48个八位位组。 维护关联标识符字段有两种可能的格式,如表21-17和表21-18所示,具体取决于是否存在维护域名。
      在这里插入图片描述

    a. Maintenance Domain Name Format
    (1个八位位组)指定维护域名字段的格式。 维护域名格式根据表21-19进行编码
    在这里插入图片描述

    b. Maintenance Domain Name Length
    (1个八位位组)指定“维护域名”字段的八位位组长度。 如果维护域名格式字段指定“不存在维护域名”(1),则不存在。

    Validation Test: The Maintenance Domain Name Length in a CCM, if present, is greater than or equal to 1,
    and less than or equal to 43

    c. Maintenance Domain Name
    (“维护域名长度”字段指定的长度)包含“维护域名”,格式为“维护域名格式”字段指定的格式。 如果维护域名格式字段指定“不存在维护域名”(1),则不存在。

    d. Short MA Name Format
    (1个八位位组)指定“短MA名称”字段的格式。 简短的MA名称格式根据表21-20进行编码
    Snipaste_2020-01-20_16-43-21.png

    e. Short MA Name Length
    (1个八位位组)指定“短MA名称”字段的八位位组长度
    Validation Test: The Short MA Name Length in a CCM contains a value greater than or equal to 1.
    Validation Test: The Short MA Name Length in a CCM does not indicate that the Short MA Name runs over
    the 48-octet limit for the MAID.

    f. Short MA Name
    (“短MA名称长度”字段指定的长度)包含“短MA名称格式”字段指定的格式的短MA名称。

    • Defined by ITU-T Y.1731
      (16个八位位组)ITU-T Y.1731(2006)定义了该字段的使用。 应在该字段中发送值为0

    • Optional CCM TLVs
      在其规范允许的范围内,应在传输的每个CCM中包括以下TLV:
      a)发件人ID TLV(21.5.3);
      b)端口状态TLV(21.5.4); 和
      c)接口状态TLV(21.5.5)。
      下列TLV可以包含在发送的任何CCM中:
      d)特定于组织的TLV(21.5.2)。
      通过发送CCM的MEP可以以任何顺序放置本节中的可选CCM TLV。 接收方MP不得依赖CCM中可选CCM TLV的任何特定顺序来正常运行。

    1.3.1.7 Loopback Message and Loopback Reply formats

    1.3.1.8 Linktrace Message Format

    1.3.1.9 Linktrace Reply Format

    CFM实体管理

    CFM实体是相当于是一个CFM管理对象,这个管理对象用于管理与CFM相关对象的创建、删除以及维护等工作。网络设备中CFM管理的对象有:
    a) Maintenance Domain list managed object (1.4.1);
    b) CFM Stack managed object (1.4.2);
    c) Default MD Level managed object (1.4.3);
    d) Configuration Error List managed object (1.4.4);
    e) Maintenance Domain managed objects (1.4.5)
    f) Maintenance Association managed objects (1.4.6);
    g) Maintenance association End Point managed objects (1.4.7);
    他们之间的关系如下图所示:
    在这里插入图片描述

    1.4.1 Maintenance Domain list managed object

    每个网桥都有一个 [维护域列表管理对象]。可以做MD list进行的操作如下:
    a)读取维护域列表;获取相关网桥中所有维护域的信息,这个表可以是空的,如果有对象,那么通过相关命令行读取时应该提供的信息如下:

    • 维护域的名字(格式见802.1ag协议文档表【21-19】21.6.5.1)中的格式说明符);
      在这里插入图片描述

    对应报文的位置如下所示:
    在这里插入图片描述

    • 对该维护域的维护域托管对象的引用;

    b)创建维护域管理对象;过程如下:
    输入:

    • 维护域的名字,格式见表21-19(21.6.5.1)中的格式说明符;默认
      值是字符串(格式4)“默认”;
    • 要创建维护域的MD级别,默认值为0;
      输出:
    1. 由于无效的维护域名,操作被拒绝;
    2. 由于维护域名已经存在,操作被拒绝;
    3. 由于MD级无效,操作被拒绝;
    4. 接受操作;

    c)删除维护域管理对象;
    输出:
    删除不存在的维护域需要报错;

    1.4.2 CFM Stack managed object

    目的:
    每个网桥有一个CFM栈管理的对象。它允许检索有关在特定网桥端口或聚合端口上配置的维护点。使网络管理员可以发现特定网桥端口或聚合端口上配置的MEP和MHF之间的关系。可以执行的是:读取CFM栈管理对象;
    输入:
    a) 接口,可以是网桥接口或是聚合口;
    b) MD level
    c) 一个指示MP所面对的方向值,例如up或是down
    d) 附有MEP和MHF的特定VID,或者对于没有附加VID的那些,为0
    输出:
    a)运行状态:

    1. 非法输入拒绝操作
    2. 在指示的桥接端口或聚合端口上未在指示的MD级别和方向上配置MP
    3. 配置了MEP
    4. 配置了MHF
      b)MP的MA关联到的维护域管理对象(MD),或者表明没有与MP关联的维护域
      c)与MP关联的维护联盟管理对象(MA),或者表明没有与该MP关联的MA
      d)如果配置了MEP,则其MEPID;否则为0
      e)MP的MAC地址

    1.4.3 Default MD Level managed object

    每个网桥只有一个“默认MD级别”管理对象。 它控制MIP Half Function(MHF)创建时的VID that 未添加到任何特定维护联盟管理对象(MA)的VIDs,以及通过这些MHFs发送ID TLV。
    可执行的命令包括:

    1. 读取默认MD level管理对象;
      目的:
      读取与任何MA无关的vid上控制MHFs的默认参数表
      输入:
      VID值
      输出:
      a. 与VID相关的MHF的VIDs列表;这个列表第一个通常是MA的协议VID(Primary VID),如果列表为空,表示VID未指定给任何MA;
      b. 一个布尔值,指示该条目是有效的还是已被与相同VID和MD级别关联的维护联盟(MA)管理对象的存在所覆盖,并在其上配置了Up MEP。 如果此维护域(MD)对象有效,则为true。
      c. (可写)将要创建MHFs的MD level;
      d. (可写)一个枚举值,指示管理实体是否可以为此VID创建MHF,即defMHFnone(默认值1),defMHFdefault(2)或defMHFexplicit(3);
      e. (可写)一个枚举值,它表示要在默认维护域中配置的MP发送的ID TLV(21.5.3)中包含的内容,包括sendIdNone(1,默认值),sendIdChassis(2) ,sendIdManage(3)或sendIdChassisManage(4)。

    2. 写入默认MD level;
      目的:
      在默认参数表中写入条目以控制不与任何MA关联的VID上的MHF
      输入:
      a)VID列表,0表示没有VID。列表中的第一个VID是协议VID;
      b)1.4.3.1 读取默认MD level管理对象中的对象之一;
      输出:
      操作状态将采用下面情况值之一:

    3. 操作被拒绝,因为创建或将这些VID分配给此MD level超出某些网桥端口支持的MD level的数量

    4. 操作被拒绝,因为提供的VIDs在别的MA中已被使用,例如协议VID或是其他VID;

    5. 操作下发成功。

    1.4.4 Configuration Error List managed object

    这个主要是记录端口下的一些错误配置,用以查询,暂时可以先忽略。

    1.4.5 Maintenance Domain managed objects

    每个网桥可以有任意数量的维护域管理对象(MD)。 为了使用包含该维护域名称的MAID创建MA,需要维护域管理对象。 从该维护域管理对象,可以访问并控制与此维护域管理对象关联的所有维护关联管理对象(MA)。

    可以在维护域管理对象上执行的管理操作如下
    如下:
    a)读取维护域管理对象(MD);
    b)写入维护域管理对象(MD);
    c)创建维护关联管理对象(MA);
    d)删除维护关联管理对象(MA);

    1. 如何读取MD信息?
      输入:
      MD相关信息
      输出:
      a)操作失败,因为相关MD不存在;
      b)(可写)一个枚举值,指示管理实体是否可以为此维护域创建MHF,可以是defMHFnone(默认值1),defMHFdefault(2)或 defMHFexplicit(3)
      c)(可写)一个枚举值,它表示要在此维护域中配置的MP发送的sender ID TLV(21.5.3)中包含的内容,包括sendIdNone(默认值),sendIdChassis(2), sendIdManage(3)或sendIdChassisManage(4)
      d)(可写)要发送故障警报的网络地址,或指示“不发送故障警报”的值。默认值为“不发送”;
      f)显示的维护域管理对象中的对维护联盟管理对象(MA)(12.14.6)的相关信息
    2. 如何写MD相关信息?
      输入:
      参考MD信息相关内容
      输出:
      由于维护域不存在,操作被拒绝;
      由于所选的管理对象为只读,操作被拒绝;
      由于所选管理对象的值无效,操作被拒绝;
    3. 创建MA对象
      输入:
      a)对特定维护域管理对象的引用;
      b)该维护域内的MA的简称MA名称,包括表21-20(21.6.5.4)中的格式说明符,默认值为包含主要字段的2字节整数(格式3)VID;如果MA未附加到VID,则为0
      在这里插入图片描述

    对应报文的位置:
    在这里插入图片描述

    c)此MA监视的VID列表,如果MA未附加到VID,则为0。 列表中的第一个VID是MA的主要VID即协议vlan ID(默认为无)
    输出:
    1)由于不存在维护域而拒绝了操作;
    2)由于short MA名称无效,操作被拒绝,参考上面Short MA Name Format;
    3)由于在同一维护域中存在另一个MA相同的简称MA名称;
    4)操作被拒绝,因为此MA的创建将超出某些桥接端口支持的MD级别的数量[22.2.4中的项目c)];
    5)操作被拒绝,因为在另一个MA的定义或在其中的条目中,[12.14.5.3.2中的项目c)提供的VID列表指定了一个不同的Primary VID,或包含一个或多个但不是全部的VID。 默认MD级别管理对象;
    6)接受操作。
    4. 删除MA对象
    输出:
    a)操作被拒绝,因为MA不存在;
    b)接收操作;

    1.4.6 Maintenance Association managed object

    每个网桥可以有任意数量的维护联盟管理的对象(MA),对于在该网桥上为其定义了MP的每个服务实例,每个对象可以一个。 从该维护关联管理对象(MA),可以访问并控制与该维护关联管理对象关联的所有维护关联端点管理对象(MEP)。
    可以在维护关联管理对象上执行的管理操作如下:
    a)读写MA相关信息;
    b)创建或删除MEP节点;

    1. 读取MA相关信息:
      a)运行状态。这采用以下值之一:
      1)由于不存在MA而拒绝了操作;
      2)接受操作;
      b)此MA监视的VID,如果MA未附加到任何VID,则为0。第一个VID返回的是MA的primary VID;
      c)(可写的)枚举值,指示管理实体是否可以为MA创建MHFs,参数:defMHFnone(1),defMHFdefault(2),defMHFexplicit(3)或defMHFdefer(4),(22.2.3),默认值为defMHFdefer;
      d)(可写的)枚举值,指示由该MA中配置的MP发送的发件人ID TLV(21.5.3)中将包含什么(如果有的话):
      1)sendIdNone:不发送发件人ID TLV;
      2)sendIdChassis:发送发送者ID TLV的Chassis ID长度,Chassis ID子类型和Chassis ID字段,但不发送管理地址长度或管理地址字段;
      3)sendIdManage:发送发送方ID TLV的管理地址长度和管理地址,但发送Chassis ID长度为0,不发送Chassis ID子类型和Chassis ID字段;
      4)sendIdChassisManage:Chassis ID长度,Chassis ID子类型,Chassis ID,管理地址长度和管理地址字段全部发送;
      5)sendIdDefer :(默认值)发件人ID TLV的内容由12.14.5.1.3中的维护域管理对象d)确定;
      e)(可写的)除0以外的枚举值,表示MA中所有MEP使用的CCM传输间隔(20.8.1,21.6.1.3)(默认为1 s);
      f)(可写)要向其发送故障警报(12.14.7.7)的网络地址,指示“未指定”的值,或指示“不发送故障警报”的值。如果“未指定”,使用的地址是来自维护域管理对象的地址[12.14.5.1.3中的项目e]];

    2. 写MA相关信息
      操作状态。 这采用以下值之一:
      1)由于不存在MA而拒绝了操作;
      2)由于所选管理对象为只读而拒绝了操作;
      3)由于缺乏设置此变量的权限,操作被拒绝;
      4)由于所选管理对象的值无效,操作被拒绝;
      5)接受操作。

    3. 创建MEP管理对象
      在特定网桥端口或聚合端口上的维护协会管理对象内创建新的维护协会端点管理的对象(MEP)。
      输入:
      a)对特定维护协会管理对象的引用(12.14.6);
      b)创建的MEP的MEPID(默认为1);
      c)一个值,该值指示MEP在网桥端口或聚合端口上所面对的方向,
      要么:
      1)向下(活动SAP远离帧过滤实体)(默认设置);
      2)向上(活动SAP更靠近帧过滤实体);
      d)一个接口,可以是网桥端口,也可以是网桥端口内的聚合IEEE 802.3端口。
      输出:
      1)由于不存在MA而拒绝了操作;
      2)操作被拒绝,因为指定的MEPID已存在于此网桥的此MA中;
      3)操作被拒绝,因为MEPID不在MA的MEPID列表中[项目12.4.1.3中的g)];
      4)由于存在与该MEP相同的VID,在相同的MD级别上存在相同方向(向上或向下)的MEP,因此拒绝了操作(如果该MEP的MA没有VID,则没有VID) ,在该网桥端口或聚合IEEE 802.3端口上;
      5)操作失败,因为此MA中列出的一个或多个VID已分配给在任何网桥端口上配置了Up MEP的其他MA;
      6)操作被拒绝,因为网桥无法在该网桥端口或聚合的IEEE 802.3端口上实例化MEP;
      7)操作失败,因为不能为没有VID的MA配置Up MEP;
      8)操作被拒绝,因为此MA上存在一个MEP,且其上/下参数的值不同(在12.14.6.3.2中的项目c)];
      9)接受操作。

    4. 删除MEP管理对象
      输出:
      1)操作拒绝,因为没有这个MEP;
      2)接受操作;

    1.4.7 Maintenance association End Point managed object

    每个网桥可以有任意数量的维护关联端点管理对象(MEP),该网桥中定义的每个MEP都有一个。 通过此维护关联端点管理对象,可以控制与该MEP相关的所有管理对象。
    可以在维护关联端点管理对象上执行的管理操作如下:
    a)读取维护关联端点管理的对象(12.14.7.1);
    b)写入维护关联端点管理对象(12.14.7.2);
    c)发送环回消息(12.14.7.3);
    d)发送Linktrace消息(12.14.7.4);
    e)read Linktrace reply(12.14.7.5);
    f)读取MEP数据库(12.14.7.6);
    g)传送MEP故障警报(12.14.7.7)。
    具体描述请参考协议12.14.7 Maintenance association End Point managed object

    CFM 操作原理

    CFM引入以下概念来支持多个独立运营商,每个概念均支持多个独立客户的服务实例:

    a)维护域(18.1)是由单个运营商控制的网络的一部分,用于支持绑定维护域的域服务访问点(DoSAPS,18.1)之间的连接。

    b)CFM PDU中包含的维护域级别(MD级别为18.3),允许每个运营商的客户也使用CFM并在需要时充当运营商,在其自身的连接上复用提供的服务实例。

    c)通过将支持单个服务实例的DoSAP的CFM实体配置为维护关联端点(MEP)来创建维护关联(MA,18.2),该维护关联用于监视该实例通过维护域提供的连接。
    CFM功能划分如下:
    —路径发现
    —故障检测
    —故障验证和隔离
    —故障通知
    —故障恢复

    路径发现使用Linktrace协议(20.3)确定通过MA到达目标MAC地址(从MEP到另一个MP)的MIP的路径。此目标MAC地址可以是MIP,MEP或任何其他单个MAC地址的目标MAC地址。 Linktrace消息(LTM,20.3.1)从MEP组播到它的相邻MIP,再从MIP组播到MIP,再到终止路径的MP。路径上的每个MIP以及终止的MP将单播Linktrace答复(LTR,20.3.2)返回到始发MEP。 LTM由管理措施触发。原始MEP对答复进行分类,以供管理员检查。

    故障检测使用连续性检查协议(20.1)来检测连接失败和服务实例之间的意外连接。每个MEP可以定期发送多播连接性检查消息(CCM),以宣布MEP及其MA的身份,并跟踪从其他MEP接收到的CCM。所有连接性的故障都可以通过接收的CCM消息与本地MEP配置的期望值之间进行比较后的差异而得之。跟踪的CCM的状态可供管理员检查。

    故障验证和故障隔离是通常在故障检测之后执行的管理操作。故障验证还可以确认成功启动或恢复连接。管理员使用环回协议(20.2)进行故障验证。可以命令MEP向MA中的MEP或MIP发送单播回送消息(LBM,20.2.1),可以从CCM(仅MEP)或LTM / LTR(MEP或MIP)中发现其MAC地址。接收方MP通过将LBM转换为发送回原始MEP的单播回送应答(LBR,20.2.2)进行响应。该MEP记录响应以供管理员检查。

    MEP提供了故障通知,该MEP在其MA中检测到连接故障,或者是由于未收到预期的CCM,由于收到了意外或无效的CCM,或者是因为CCM携带了其关联的网桥端口故障的通知。

    故障恢复由生成树协议(第13条)和网络管理员的活动提供,例如纠正配置错误或替换本标准范围之外的故障组件。

    1.5.1 Maintenance Domains and Domain Service Access Points

    “域”可以定义为能够向该区域之外的系统提供连接的网络或网络的一部分。 它包含一组DoSAP,域可以在该DoSAP上或打算向域外的系统提供连接。 每个DoSAP都是EISS或ISS的一个实例。 因此,维护域是要管理连接性故障的域或域的一部分。

    下图说明了单个维护域,该维护域由五个网桥组成。运营商有六个DoSAP可提供给客户
    在这里插入图片描述

    每个维护域都可以单独管理。每个维护域都分配了一个维护域名。应该在操作员所使用或可用的所有方法中选择唯一的方法,以方便识别维护域的管理责任。

    CFM PDU格式支持创建维护域名称,该域在CFM用来防止服务实例的意外连接的域上是唯一的。理想情况下,这些名称在全球范围内是唯一的。

    有许多方法可以满足在维护域内维持连接性和控制对维护域的访问的要求。维护域可以是,例如:
    a)通过其MST配置名称(8.9.2、13.7)来标识并与其他维护域区分开的MST区域;
    b)多个这样的MST区域(13.5),它们通过CIST(13.4)互连,并通过配置控制CIST拓扑的管理对象与其他维护域分开;
    c)整个虚拟桥接局域网,并通过本标准未指定的方式与其他维护域保持隔离。
    d)VLAN桥接网络的DoSAP的子集,分配给许多特定的更高层提供商使用。
    e)项目c)中的连接网络的DoSAP的子集。
    f)两个提供商之间或提供商与客户之间的单个物理链接。
    g)两个提供商之间或提供商与客户之间的单个物理链路上的单个VLAN。

    1.5.2 Service instances and Maintenance Associations

    当网络管理员为客户配置服务实例时,网络管理员会配置该客户可以访问的一定数量的DoSAP,并分配系统将服务实例与该维护域支持的其他标识符隔离所需的标识符(例如,VID) ),以及为DoSAP配置其他服务属性(例如带宽配置文件)。服务实例的创建将在所选DoSAP之间建立连接(6.1.8)。
    在服务实例的每个DoSAP上配置维护关联端点(MEP)都会创建一个维护关联(MA)来监视该连接状态。 MA由在维护域内唯一的short MA name 标识。维护域名和short MA一起构成了维护关联标识符(MAID),该标识符在CFM PDU中携带,以标识MEP之间的连接状态。维护关联端点标识符(MEPID)是一个小整数,用于唯一标识在单个MA上配置的MEP中的每个MEP。

    注1 —为了适应ITU-T Y.1731(2006)中所表达的服务提供商的要求,可以将维护域名配置为空,在这种情况下,short MA名称需要全局唯一。为了针对服务实例的意外连接提供全面的保护。全局唯一的short MA名称的适当选择在ITU-T Y.1731中定义。

    下图18-1的维护域创建的单个服务实例。它为客户(C1)提供四个DoSAP。每个DoSAP都标记有其MEPID。
    在这里插入图片描述

    下图18-3从客户C1的角度说明了相同的服务实例。 客户有四个附属于四个DoSAP 1-4的客户设备。 客户看不到操作员连接四个DoSAP来创建服务实例的方法
    在这里插入图片描述

    MEP使用CFM协议状态机和变量(请参阅第20章)在维护域内进行协议交换。下图18-4指定了此标准(例如,图18-7)中用于MEP,MHF和MIP的符号。
    在这里插入图片描述

    1.5.3 Maintenance Domain Levels

    下图18-5说明了维护域,服务实例和MA的嵌套。它说明了嵌套的服务实例,每个实例都在维护域中配置了一个MA。有七个维护域,因此说明了七个服务实例。在(白色)“提供者” MD级别,服务实例被提供给单个“客户” C1。该客户创建了自己的(灰色)服务实例,并配置了一个MA来验证提供商所提供的服务实例的完整性。显示了多个级别的嵌套维护域:

    a)在最广泛的物理范围内,客户MD级别的维护域(以及MA和服务实例)在图18-5中标记为C1的四个设备中的每个设备中都有一个MEP。可以将四个DoSAP a,b,g和h配置为该MA的MIP。
    b)属于端到端提供商网络限制的物理范围是属于提供商MD级别的MEP a,b,g和h。可以将四个DoSAP c,d,e和f配置为该MA的MIP。
    c)两个运营商网络中的每一个在运营商MD级别都有一个维护域。这些DoSAP标记为a到h。两家运营商的维护域中未标记的SAP可以
    被配置为其各自的MA的MIP。
    d)同时显示了三个“物理”层维护域。 (两个标记为“ PMDL”,用于“物理MD级别”。)请注意,并非所有物理链接都被赋予维护域。
    1)设备网络正在以某种未指定的方式用于为运营商的网桥提供具有四个DoSAP的模拟共享介质局域网。已创建维护域以验证该LAN的连接性
    在这里插入图片描述

    下图18-6扩展了图18-5的右上角,包括网桥4和5以及设备6。检查设备6(C1),我们看到在“客户” MD级别的最高MA要求MEP在 它的端口q 提供服务实例访问权限的该服务实例的DoSAP一侧面向设备6的中心,就像LAN提供的服务一样。 另一方面,在端口g中,有两个服务实例,每个服务实例都有一个MEP:提供商MD级别的白色服务实例和运营商MD级别的灰色服务实例。 这些服务实例都不包括连接到端口g的电线。因此,确保将端口q连接到端口g的LAN的正确运行是客户MD级别的MA的责任,而不是其他MA的责任。 端口e有两个MEP,每个方向都一个
    在这里插入图片描述

    图18-6中的端口g也是以下示例的一个事实:只有MD级别区分端口g的提供商和运营商级别维护域。图18-5和图18-6中所示的示例网络中的单个服务实例是通过右侧操作员的维护域在具有单个VID的单个VLAN上承载的。在该维护域内,无法区分该VID上的数据帧是属于运营商,提供商还是客户维护域。它属于所有人。但是,MD级别允许CFM PDU与不同的维护域相关联,即使它们共享相同的VID。

    端口j和端口r已添加到图18-6中。 它们在图18-5中不存在。 两者都表示尚未配置为支持服务实例或MA的DoSAP。 为了通过连接故障管理确保网络的完整性,应将这些DoSAP配置为禁用。

    可以将端口k,m,n和s配置为灰色服务实例的ISAP,从而在操作员MD级别提供MIP。 可以使用提供者MD级别的MIP配置端口e,使用客户MD级别的MIP配置端口g。

    下图18-7说明了MD级别的使用,以允许用户使用由两个桥接的维护域以及每个维护域的操作员提供的连接性的CFM。 它显示了图18-5的垂直切片,其中包括两个客户的设备以及连接它们的网络路径。 从图18-7可以看出,为什么需要MD级来标识CFM PDU; 否则,例如,桥接端口b将无法判断给定的CFM PDU是sunk(MD级别2或3)还是passed (MD级别5)。

    在这里插入图片描述

    CFM实体操作

    本节主要讲解:
    a)如何实例化CFM维护协会(MA)的维护点(MP)如何附加到ISS-SAP或EISS-SAP(19.1);
    b)如何在网络中解决MPs(19.4);
    c)维护关联端点(MEP,19.2),维护关联中间点(MIP,19.3),MIP Half Functions(MHF,19.3),Linktrace输出多路复用器(LOM,19.5)和Linktrace响应器(19.6)的体系结构, 包括其识别,寻址和分解为提供CFM功能的组件。

    注—第18条介绍了CFM操作的原理以及支持它的网络体系结构概念。 第20章规定了每个MP组件所操作的协议,第21章规定了那些协议使用的PDU格式。 第22章进一步描述了系统和网络中CFM的使用。

    本节中的操作模型为指定MEP和MIP的外部可观察到的行为提供了基础,并且无意于对实现施加其他约束。 这些可以采用与指定的外部可观察到的行为兼容的任何内部操作模型。 设备符合该标准的纯粹是可观察的协议。

    1.6.1 Maintenance Points

    主要的CFM协议分片称为维护点(MP)。 (有关其他CFM协议填充,请参见19.6。)MP可以是MEP或MHF。 (有关CFM分片的第三种类型,另请参见19.5。)MEP或MHF分别具有两个主要的SAP,即一个Active SAP,通过它发送或处理MP之间交换的CFM PDU数据单元,以及一个Passive SAP,使数据帧和未处理的CFM PDU通过。
    图19-1说明了原理图SAP,以及MEP,MIP和MHF的符号。 请注意,MP可以是Down MP或Up MP,具体取决于填充源图表中被动SAP是在活动SAP之上还是之下。
    在这里插入图片描述

    1.6.2 Maintenance association End Point

    可以在网桥端或局域网的终端创建MEP。

    1.6.2.1 MEP定义

    一个MEP需要与一个MA相关联。为了便于管理,通过两个参数来标识它,其他附加参数则用于管理MEP:
    a)维护协会标识符(MAID),用于标识MA;
    b)该MEP的维护关联端点标识符(MEPID),通过以下方式标识MEP用于数据转发:
    c)从MA继承的一组VID,包括主VID,MEP从MA继承维护域,并从中继承:
    d)从其维护域继承的维护域级别(MD级别);
    e)从其MA继承的主要VID。
    (A MEP is associated with two Bridge Ports. For a Down MEP, both associations are with the same Bridge Port. For an Up MEP, the two associations can be with either the same, or with different, Bridge Ports (see 19.4, J.6). The two Bridge Ports are:
    f) The Bridge Port on which the MEP is configured; and
    g) The Bridge Port on which the MEP is implemented, and from which it inherits its Individual MAC address.。)(没弄明白)

    配置有相同MAID值的MEP集合定义了一个MA。因此,可以说MA而不是MEP拥有这一参数。但是,MA是一个分散实体,可以在多个地理上分离的网桥之间散布。每个网桥都有一个针对MA的维护协会管理对象,从中可以推导出其MEP的MAID,MD级别和主VID。对于特定的MEP,可以覆盖MA的哪个VID作为主要VID的选择。尽管此信息可能配置不正确(即与某些其他网桥配置不同),但是维护协会管理的对象可确保在单个网桥中对MEP进行统一配置。

    每个单独的MEP都配置有在该MA中唯一的MEPID。同样,维护协会管理的对象有助于维护唯一性,因为它将单个网桥和同一MA中的MEP的配置参数联系在一起,并至少在那个网桥中确保MEPID的唯一性。

    MAID可以采用多种形式(请参见21.6.5.1),包括基于域名的字符串。为了防止在系统之间意外连接时发生错误操作,MAID在CFM将为其提供这种保护的域上是唯一的。如果MAID是全局唯一的,则该域是全局的。 CFM只能通过MAID唯一的一组MEP来检测连接错误。

    MEPID是范围为1–8191的整数。它为每个MEP提供MEP验证MA正确连接所需的唯一身份。

    1.6.2.2 MEP功能

    a)根据12.14.6.1.3条款e)中定义的被管理对象,周期性地发送连续性检查消息(CCM);
    b)按照20.1、20.2、20.3和20.46的规定验证收到的CFM PDU;
    c)丢弃那些MD级别低于MEP(20.7.1)中配置的CFM PDU的设备;
    d)根据12.14.7.3中定义的管理对象,发送回送消息(LBM)并接收20.2中定义的回送回复(LBR);
    e)根据12.14.7.4中定义的被管理对象,发送Linktrace消息(LTM),并发送和接收20.3中定义的Linktrace答复(LTR);
    f)用20.2.2中定义的LBR响应LBM;
    g)用20.3.2中定义的具有LTR的LTM来响应;
    h)维护20.1.3中定义的MEP CCM数据库;
    i)可以维护20.1.3中定义的MIP CCM数据库;
    j)将变量保持在20.9。
    尽管MEP被定义为具有ISS或EISS接口,但MEP在使用EISS时受到了严格限制。
    特别:
    k)沿任一方向通过MEP的每个帧均以其vlan_identifier,canonical_format_indicator和drop_eligible参数发射,与接收到的值相同。
    l)MEP生成的所有PDU,即CCM,LBM,LBR,LTM和LTR,都使用MEP配置的主VID作为vlan_identifier参数。
    m)在任何帧上发出的canonical_format_indicator是与附加到网桥端口的MAC相对应的适当值。
    n)rif_information参数在任何发出的帧中均不存在。

    下图19-2说明了MEP的组成实体。 仅通过传递,重定向或过滤框架而不改变它们并且没有内部状态的实体以虚线轮廓显示; 那些生成或变换帧或具有内部状态的帧以连续的轮廓显示。 在第20章中指定了描述后一个实体的状态机。图19-2显示了两个封闭的SAP不相等。 图中上方的SAP是被动SAP。 它更靠近受监视服务实例的DoSAP。 图中较低的SAP是活动SAP,它面对受监视的服务实例。 因此,图19-2说明了第208页的图22-1中所示的Down MEP之一。为了说明图22-1的Up MEP之一,必须将图19-2颠倒过来。 还要注意在图中,有两条路径,其中一条仅存在于Up MEP中,而一条仅存在于Down MEP中。

    MEP中有两个MP型信号分离器,the Active and the Passive 型信号分离器,而在MHF中有一个。 他们具有相同的作用:分离数据帧与CFM PDU,将非CFM帧输出到一个输出,然后将CFM帧输出到第二个输出。 包含CFM PDU的帧将发送到level 解析器,并且非CFM帧将完整通过MEP。
    在这里插入图片描述

    从图中可以看出MP Level Demultiplexer,会根据收到的CFM PDU与本地配置的MEP level进行比较,从而进行不同的操作处理。

    MP OpCode Demultiplexer:MEP中有两个MP OpCode解析器,Equal和Low OpCode解析器,而MHF中有一个。 每个MP OpCode解析器将CFM PDU分类,这些CFM PDU在其OpCode字段中携带不同的值(请参见21.4.3),然后将其丢弃或将其传递给适当的状态机。 那些与MP OpCode解析器识别的任何OpCode不匹配或太短而无法包含OpCode的PDU会被MEP的MP
    OpCode解析器丢弃, 根据表19-1,那些与已识别的OpCode匹配的PDU将存储在一个变量中,并设置相应的布尔值。 这些变量依次触发状态机动作。 三个MP OpCode解析器将不同的OpCode集分开。 请参见图19-2和图19-3。
    在这里插入图片描述

    • MEP Continuity Check Receiver
      MEP连续性检查接收器接收其MD级别等于或小于MEP的MD级别的CCM。 MEP连续性检查接收器会处理等于或低于其自身MD级别的那些消息,而不考虑destination_address,并更新MEP CCM数据库。 MEP连续性检查接收器为为此MA配置的每个其他MEP维护一个远程MEP状态机实例(20.20)。此外,MEP连续性检查接收器会维护一个单独的实例,每个实例都属于远程MEP错误状态机(Remote MEP Error state machine )(20.22)和MEP交叉连接状态机(Cross Connect state machine )(20.24)

    如果MEP的Continuity Check Receiver状态机的allRMEPsDead变量(20.9.4)被设置,并且如果MEP没有与任何VID关联而且是Down MEP(即,在图22-9中的位置5),则无论从Active SAP接收到的MAC_Operational参数的状态如何,MEP呈现给Passive SAP的MAC_Operational参数均为false。 Thus, a completely failed MA causes the attached Bridge Port to appear as a failed link.

    可选地,MEP连续性检查接收器可以维护19.3.10中所述的MIP CCM数据库。各种错误条件(包括以比MEP更低的MD级别接收到CCM)导致远程MEP状态机检测到缺陷,进而可以生成故障警报。

    • MEP Continuity Check Initiator
      连续性检查发起者仅在MEP的MD级别上发送连续性检查消息(CCM)。 连续性检查启动器的状态机在20.12中描述。
    • MP Loopback Responder
      环回响应器仅在MP的MD级别上接收LBM,根据destination_address(19.4)对其进行验证和过滤,并作为响应发送LBR。 MP环回响应器的状态机在20.27中描述。
    • MEP Loopback Initiator
      环回发起方仅在MEP的MD级别上发送LBM,并根据destination_address(19.4)进行验证和过滤,并对其他MP的环回响应者返回的LBR进行计数。 环回启动器的状态机在20.30中描述。
    • MEP Linktrace Initiator
      Linktrace发起者仅在MEP的MD级别上发送LTM,并根据destination_address(19.4)进行验证,过滤,并对其他网桥的Linktrace响应者返回的LTR进行分类。 Linktrace发起程序的状态机在20.40中描述。 在Up MEP中,Linktrace发起者将其LTM传输到网桥的Linktrace响应器。 在Down MEP中,Linktrace Initiator通过MEP自己的主动多路复用器将其LTM传输到MEP的Active SAP
    • MEP LTI SAP
      向上的MEP(但不向下的MEP)具有MEP LTI SAP,它是ISS或EISS的实例。 该SAP用于:
      a)传输由MEP的Linktrace发起者发起的LTM;
      b)从Linktrace响应器接收LTR。
    • MEP Linktrace SAP
      每个MEP都有一个MEP Linktrace SAP,它是ISS或EISS的实例。 该SAP用于将收到的LTM中继到Linktrace响应器。
      注— MEP LTI SAP和MEP Linktrace SAP都是必需的,以便当Linktrace Responder向LTR返回LTR时,MEP知道LTR是否是对MEP生成的LTM的响应,从而将其引导到 MEP Linktrace发起者,或者LTR是否是对MEP先前收到的LTM的响应,因此将其转发到Active SAP。
    • MEP CCM Database
      MEP CCM数据库由远程MEP状态机(20.20)维护,MA中配置的每个MEP都有一个条目。 除了远程MEP状态机使用的远程MEP变量(20.19),每个条目还包含从远程MEP的CCM获取的信息,如12.14.7.6.3 Read MEP Database中所列。 另见20.1.3。
    • MEP Fault Notification Generator
      故障通知生成器使用MAdefectIndication变量(请参见20.9.3),以向MA所连接的维护域的管理员生成故障警报。 这可以通过发送SNMP通知来完成。 故障通知生成器的状态机在20.35中描述

    1.6.2.3 MIP Half Function

    一个MIP由一个桥接端口上的两个MHF组成,一个Up MHF和一个Down MHF。(有关详细说明,请参见J.6。)MHF可以维护一个MIP CCM数据库,与MEPCCM数据库分开。

    • MHF identification
      每个MHF都具有一个用于管理目的的配置参数,并且MIP的所有MHF对该配置参数具有相同的值:
      a)MHF被分配到的维护域。出于数据流的目的,MHF具有以下特点:
      b)从其维护域或默认MD级别管理对象继承的维护域级别(MD级别);
      c)一组主要VID,每个MA与MHF的维护域相关。
      注—当单个服务实例使用多个VID时,MHF会知道每个MA的VID集和主要VID。但是,与MEP不同,MHF没有使用MAID的机会,因此无法通过MAID进行标识。
      MHF与两个桥接端口关联。对于下行MHF,两个关联都具有相同的桥端口;对于Up MHF,这两个关联可以具有相同或不同的桥接端口(请参见
      19.4,J.6)。两个桥接端口是:
      d)配置了MHF的网桥端口;
      e)在其上实现MHF并从其继承其单独MAC地址的网桥端口

    • MHF functions
      a)按照20.1、20.2、20.3和20.46的规定验证收到的LTM;
      b)(可选)验证收到的CCM并建立MIP CCM数据库;
      c)用20.2.2中定义的LBR响应LBM;
      d)通过转发LTM并响应20.3.2中定义的LTR来响应LTM。尽管定义为具有ISS或EISS接口,但MHF在使用EISS方面受到很大限制。特别:
      e)沿任一方向通过MHF的每个帧均以其vlan_identifier,canonical_format_indicator和drop_eligible参数发送出,与接收到的值相同。
      f)MHF转发的所有LBM都携带与接收到的LBM相同的vlan_identifier,canonical_format_indicator和drop_eligible参数。
      g)由MHF生成的所有PDU,即LBR和LTR,都以等于接收到的LBM或LTM的vlan_identifier所属的MA的主要VID的vlan_identifier进行发送。
      h)在任何帧上发出的canonical_format_indicator是与附加到网桥端口的MAC相对应的适当值。
      i)rif_information参数不存在于任何发出的帧上。

    • MHF architecture
      图19-3说明了单个MHF。 仅通过传递,重定向或过滤框架而不改变它们并且没有内部状态的实体以虚线轮廓显示; 那些生成或变换帧或具有内部状态的帧以连续的轮廓显示。 在第20章中指定了描述后一种实体的状态机。图19-3显示了两个封闭的SAP不相等。 图中上方的SAP是被动SAP。 这更接近于受监视服务实例的ISAP。 图中较低的SAP是活动SAP,通过活动SAP主动发送和接收CFM PDU。 因此,图19-3说明了图22-1中所示的Down MHF之一。 为了说明图22-1的Up MHF之一,必须将图19-3反转

    • MHF Level Demultiplexer
      MHF level解析器与上面描述的MP level解析器功能类似。

    • MHF Type Demultiplexer
      MHF类型l解析器与上面中描述的MP类型l解析器功能类似。

    • MHF Continuity Check Receiver
      可选的MHF连续性检查接收器接收CCM,对其进行验证,并按destination_address参数(19.4)对其进行过滤,然后将其提供给MIP CCM数据库。 从图19-3中,我们可以看到与MHF处于相同MD级别的所有CCM均已呈现给MHF Continuity Check Receiver。 在接收的CCM中没有检查其他信息。 特别是,没有将CCM中的MAID与MHF的MAID进行比较。不需要MHF连续性检查接收器及其维护的MIP CCM数据库,即可符合本标准。

    • MIP CCM Database
      MIP CCM数据库可选地由MHF或MEP维护。 这是自上次重置网桥以来,呈现给网桥所有MP连续性检查接收器的所有CCM中每个三联的{FID,source_address,端口号}的列表。 MIP CCM数据库中的条目超时非常缓慢,大约一天,因此在信息不再用于帧转发之后很长时间就可以将其信息用于故障隔离。

    • MHF Linktrace SAP
      每个MHF都有一个MHF Linktrace SAP,它是ISS或EISS的实例。 该SAP用于将收到的LTM中继到Linktrace响应器,并将LTR从Linktrace响应器传递到the MHF’s Active SAP.。

    原理图如下:
    在这里插入图片描述

    1.6.2.4 Maintenance Point addressing

    MP中的CFM实体识别表8-9和表8-10中列出的CCM和LTM PDU的组播目的mac地址。此外,它们还可以识别正在运行MP的网桥端口的单个MAC地址。如果网桥使用个别MP地址模型(J.6.1)创建MP,则这是在其上配置MP的网桥端口;如果网桥使用共享MP地址模型创建MP,则这是CFM端口。

    不能为Down MP分配一个单独的MAC地址[12.14.7.1.3中的项目i],该地址与为任何其他网桥端口上的MP配置的个人MAC地址相同,因为如果两个网桥端口连接到相同的局域网,但是具有相同的MAC地址,那么两者都会响应发送到该MAC地址的LBM。 CFM协议经过专门设计,允许为Up MP分配一个单独的MAC地址[12.14.7.1.3中的项目i],该地址与为某些其他网桥端口上的Up MP配置的单独MAC地址相同。从网桥的外部,不可能知道给定的CFM PDU实际上是从哪个Up MP传输的,或者给定的CFM PDU是从哪个物理实体传递的。有关将单个MAC地址分配给MP的讨论,请参见J.6。

    一个MP内的所有CFM实体都使用相同的CCM和LTM地址,以及单独的MAC地址。各种复用和解复用实体不注意所接收的CFM PDU的destination_address参数。只有负责处理收到的CFM PDU的实体才能检查收到的帧的destination_address参数。这些实体中的每一个都可以识别其destination_address参数与一个或多个MAC地址匹配的帧,如表19-2所示。这些实体中的每一个都过滤并且不处理与指定地址都不匹配的帧。
    在这里插入图片描述

    注—表19-2和各种CFM接收实体的定义在识别某些个人或组MAC地址方面比CFM发送实体的相应定义更为自由。 例如,即使MEP连续性检查启动器只能发送多播CCM,MEP连续性检查接收器也可以识别单播CCM。 这允许将来增强CFM并改善与ITU-T Y.1731(2006)的兼容性。

    1.6.2.5 Linktrace Output Multiplexer

    CFM protocol shim的第三种类型是Linktrace输出解析器(LOM)。 LOM有两个主要的SAP,一个是通过SAP传输CFM PDU的Active SAP,另一个是通过数据帧和未处理的CFM PDU传递的 Passive SAP。 图19-4说明了这些SAP和其他图(例如图22-1)中用于LOM的符号。 LOM只能是Down LOM; 在匀场图中,其被动SAP始终位于主动SAP上方。
    在这里插入图片描述

    如图19-5所示,LOM只有一个活动实体,即LOM Multiplexer。 它从Linktrace Responder注入LTM,这些LTM从LOM的被动SAP传递到其主动SAP的帧中。 从LOM的Linktrace SAP接收到的帧仅通过主动SAP传输,而不通过被动SAP传输。 在主动或被动SAP上接收的所有帧均不变地通过LOM,并且仅分别传递到被动或主动SAP
    在这里插入图片描述

    注1:LOM不是维护点,而是协助Linktrace Responder(19.6)的实体,也不是维护点。
    注2:每个桥接器端口上都存在LOM,以使Linktrace Responder在特定的桥接器端口上传输LTM,而不会将该LTM反射回桥接器的转发过程。但是,LOM没有组成部分 将CFM帧与任何其他帧区分开的实体

    1.6.2.6 Linktrace Responder

    单个Linktrace响应器为网桥中的所有MHF和MEP服务。它通过MP和LOM中的Linktrace SAP和LTI SAP连接到网桥中的每个MP和LOM。

    注— Linktrace响应程序不是维护点,而是协助维护点(MEP和MHF,19.2和19.3)执行其功能的实体。

    为了最小化对LTM产生无限数量的响应的可能性,总是从单个网桥端口(20.3)上的网桥发送LTM。如果使用网桥端口的LLC实体(参见图22-1)在特定网桥端口上传输LTM,则网桥端口连接实体(8.5.1)会将LTM定向到LAN,但它也会通过就像BPDU一样,将其朝向帧过滤实体(8.6.3)。但是,BPDU永远不会传输到其他网桥端口,因为帧过滤实体会根据其目标MAC地址对其进行过滤。 MHF在不同桥接器端口上不同MD级别上的放置(全部用于同一VLAN),因此无法以这种方式过滤LTM。因此,Linktrace Responder通过destination_address参数(19.4)过滤传入的LTM,并且需要一条路径将LTM仅沿网桥端口,LAN而不是帧过滤实体引导。

    此路径由MEP(图19-2),MHF(图19-3)和LOM(图19-5)中的Linktrace SAP提供。当LTM首次遇到适当MD级别的MP时,Linktrace SAP也可用于将接收到的LTM定向到Linktrace响应器。

    参见图22-1,我们可以看到,由Down MEP Linktrace发起者发起的LTM被引向LAN,并根据需要在单个桥接端口上输出。对于由Up MEP发起的LTM,情况有所不同。实际上,Up MEP所在的网桥是Linktrace协议的第一跳。 MEP LTI SAP是必需的,以便提供一条路径,MEP可以通过该路径将其原始LTM定向到Linktrace响应器。 Linktrace响应器也可以使用此路径将生成的LTR返回给MEP Linktrace发起方。有关这些路径的图解说明,请参见图20-13。

    表19-3一方面总结了MP和LOM之间的链接,另一方面总结了Linktrace Responder之间的SAP连接。
    在这里插入图片描述

    CFM协议以及状态机

    维护协会端点(MEP)和维护协会中间点(MIP)可以参考以下CFM协议:
    a) Continuity Check protocol (20.1);
    b) Loopback Protocol (20.2);
    c) Linktrace protocol (20.3)
    条款19中介绍的MEP(19.2)和MIP Half Function(MHF半函数)(MHF,19.3)组件对这些协议的详细操作是根据许多状态机以及与每台机器关联的变量和过程指定的。 定义的状态机遵守IEEE Std 802.1Q-2005、13.19和图13-10中的约定。
    d) Relationships among the various CFM state machines and their variables (20.4);
    e) Requirements for decrementing the timer counters used by a number of CFM state machines (20.5);
    f) Maintenance Domain variables (20.7) that control all Maintenance Associations belonging to the
    Maintenance Domain;
    g) Maintenance Association variables (20.8) that control all MEPs and MHFs belonging to the
    Maintenance Association;
    h) MEP variables (20.9) that control the MEP’s overall operation, and either apply to the majority of
    state machines or facilitate communication of information between the individual MEP state
    machines;
    i) MEP Continuity Check Initiator (19.2.9) variables (20.10), procedures (20.11), and state machine
    (20.12);
    j) (optional) MHF Continuity Check Receiver (19.3.9) variables (20.13), procedures (20.14), and state
    machine (20.15);
    k) MEP Continuity Check Receiver (19.2.8) variables (20.16), procedures (20.17), and state machine
    (20.18);
    l) Remote MEP variables (20.19) and state machines (20.20) used by the MEP Continuity Check
    Receiver to track each Remote MEP;
    m) Remote MEP Error variables (20.21) and the Remote MEP Error state machine (20.22) used by
    MEP Continuity Check Receiver to track received invalid CCMs;
    n) MEP Cross Connect variables (20.23) and state machine (20.24) used by the MEP Continuity Check
    Receiver to track received CCMs that could indicate a cross connect defect;
    o) MP Loopback Responder (19.2.10) variables, (20.25), procedures (20.26), and state machine
    (20.27);
    p) MEP Loopback Initiator (19.2.11) variables (20.28), transmit procedures (20.29), and state machine
    (20.30), and receive procedures (20.31), and state machine (20.32);
    q) MEP Fault Notification Generator (19.2.16) variables (20.33), procedures (20.34) and state machine
    (20.35);
    r) MEP Linktrace Initiator (19.2.12) variables (20.36) and transmit procedures (20.37), and receive
    variables (20.38), procedures (20.39), and state machine (20.40);
    s) Linktrace Responder variables (20.41), procedures (20.42), and state machine (20.43), used by the
    Linktrace Responder (19.6); and
    t) LTR Transmitter state machine (20.45) used only by the Linktrace Responder.
    为了在最大程度地实现互操作性的同时促进此标准的扩展,本节还规定:
    u) Rules for CFM PDU validation and versioning (20.46) that support specific goals for extensibility
    and interoperability (20.46.1);
    v) Rules for the identification of incoming CFM PDUs (20.47); and
    w) Rules for the use of transaction identifier and sequence number fields (20.48).

    1.7.1 Continuity Check protocol

    连续性检查协议由 MEP Continuity Check Initiator (19.2.9), the MEP Continuity Check Receiver (19.2.8) 以及可选的在MHF的the MHF Continuity Check Receiver(19.3.9) 中执行。

    出于故障检测和连续性检查协议的目的,我们可以将MA定义为“一组MEP,所有这些MEP都配置有相同的MAID和MD级别,每个MEP都配置有该MAID中唯一的MEPID,并且MD级别,并且所有级别都配置有MEPID的完整列表。”连续性检查消息(CCM,21.6)提供了一种检测MA中的连接失败的方法。每个MEP可以配置为定期发送CCM。然后将连接失败定义为:
    a)MEP无法从其MA中的任何其他MEP接收三个连续的CCM,表明MEP失败或网络失败;
    b)MEP接收到发送间隔错误的CCM,表明配置错误;
    c)MEP接收到的MCMID或MAID不正确的CCM,表明配置错误或交叉连接错误;
    d)MEP接收到的MD级别低于MEP的CCM,表明配置错误或交叉连接错误;要么
    e)MEP接收的CCM包含端口状态TLV或接口状态TLV,指示出现故障的网桥端口或聚合端口。

    为了充分利用CFM的优势,运营商将“correct connectivity”定义做为MEP的配置。如果为每个服务实例定义了一个MA,则连续性检查协议可以检测到100%的所有连接故障,交叉连接错误或配置的MA边界内发生的配置错误。

    CCM的传输速率是可配置的,以适应错误报告的不同需求以及网络设备的不同功能。只需10.8 ms即可检测到三个CCM的丢失(见表21-16)。交叉连接的CCM的接收是瞬时发生的。

    MEP使用自己配置的计时器来检测CCM的丢失,而不是使用发送方的传输速率(在CCM中发出信号),以最大程度地降低跟踪数百个其他MEP的MEP的复杂性。当收到有效的CCM时,计时器将重置,如果计时器到期,则声明缺陷。选择计时器值,以使给定的远程MEP丢失三个连续的CCM会触发该远程MEP的缺陷,并选择计时器精度以确保避免出现过早的缺陷指示。此外,MEP中的状态机会跟踪带有意外信息的远程MEP的CCM,未在接收MEP中配置的远程MEP的CCM,来自较低MD级别的CFM PDU或来自另一个MA的MEP的CCM

    CCM承载在多播帧中,根据发送的MEP的MD级别(表8-9)选择了destination_address参数。 CCM不会生成响应。因此,在具有n个MEP的网络中,需要定期发送n个CCM,每个MEP一个。与在导线上承载的帧相比,完整的点对点消息网格相比,多播CCM所需的带宽要比点对点消息少,当然,只有两个MEP的MA除外。对于每个MEP,只需要一次发送和n-1个接收,而不是每个n-1个。此外,即使在只有两个MEP的MA中,对于CCM使用多播而不是单播也可以避免配置
    或发现那些MEP的MAC地址。

    比帧计数更重要的事实是,当来自两个不同服务实例的MEP意外连接时,将CCM设置为多播帧可以检测到交叉连接错误。这种类型的错误可能是由于接线错误或两个维护域之间边界处的VID映射参数配置错误而导致的。如果将CCM单播到特定的MAC地址,则将不会检测到两个服务实例的合并,例如两个点对点服务的意外连接到4-SAP LAN服务中;单播CCM仍将正确传递。

    此方案还指出了为什么全局唯一的MAID如此重要的原因。对CCM的接收进行编录可以确保MEP(例如MEP 1)知道它是从正确的一组远程MEP接收到的;它不能确保远程MEP接收到由同一MEP传输的CCM。例如,假设在10-MEP MA中,所有MEP 1的CCM都丢失了。 MA中的所有其他MEP都将知道MEP 1的问题,因为它们不会接收1的CCM。但是,MEP 1本身不会意识到这个问题。为了让操作员确定MA是否正常工作,必须检查MA中的每个MEP。

    因此,CCM携带一个单一的远程缺陷指示(RDI)。 CCM中没有RDI表示发送方MEP正在从所有已配置的MEP接收CCM。对于MEP 1的单向连接,MEP 1将从每个未接收MEP 1(或任何其他MEP)CCM的远程MEP接收CCM中的RDI。因此,每个MEP(包括仅接收的MEP 1)都知道存在问题。 RDI的存在使系统管理员可以检查属于MA的任何单个MEP,并发现MA中是否有正在检测缺陷的MEP,以及哪些特定的MEP有缺陷。

    序列号应在每个CCM中发送。接收器可以使用该序列号来检测和计数CCM损失。通过检测偶尔的CCM丢失,网络管理员可以注意到网络连接不理想等情况,例如过载的链路,并在出现连接故障和随之而来的故障警报之前对其进行纠正。

    • MAC status reporting in the CCM
      CCM可以在端口状态TLV(21.5.4)和接口状态TLV(21.5.5)中携带有关在其上配置了发送MEP的网桥端口和/或聚合端口的状态的信息。该信息不严格属于维护协会的范围,该协会不受发送和接收CCM的MEP的限制。但是,通过在Up MEP的CCM中提供网桥端口和聚合的端口状态信息,此TLV可以在维护协会外部立即检测到错误。反过来,这支持故障隔离,在该故障隔离中,在与服务实例的连接点而不是在支持该服务实例的设备内部出现问题。当两个运营商用来支持服务实例的设备之间的边界是可能发生故障的链接或连接时,端口状态TLV和接口状态TLV尤其有用。通过使用端口状态TLV和接口状态TLV,可以从头到尾不间断地进行监视,而无需两个运营商对单个接口设备进行管理访问,也无需依赖用户对级联服务的监视。通过端口状态TLV和接口状态TLV,可以轻松地将维护协会外部的错误与正确归因于维护协会本身的错误区分开。

    图18-7提供了一个示例。考虑连接客户设备的访问链路故障
    (1)直接连接到提供商网桥2的端口b。如果没有接口状态TLV,则不会向运营商或服务提供商MD级别的MEP发送任何错误通知。接口状态TLV允许故障在端口b服务提供商和运营商MD级别MEP发送的CCM中发出信号。

    • Defects and Fault Alarms
      缺陷与故障警报(19.2.16)分开,这是服务提供商的标准做法。 10 CCM的丢失或交叉连接的CCM的接收都是缺陷。故障警报是管理操作(12.14.7.7),是网桥主动发出的通知。如果实施了CFM MIB模块(17.5),则它是SNMP通知。当MEP故障通知生成器状态机(20.35)检测到已配置的时间段(默认值为2.5 s)已过,并显示一个或多个缺陷,并且启用了故障警报时,将发出此消息。状态机不能再发送任何故障警报,直到通过配置的时间段(默认值为10 s)将其复位(在此期间内不存在任何缺陷指示)为止。收到故障警报后,正常的操作程序是检查报告MEP的管理对象,诊断故障,更正故障,检查MEP的管理对象以查看MEP故障通知生成器状态机是否已重置,并重复这些步骤,直到故障告警已清除。

    MEP可以维护许多单独的缺陷,如表20-1所示。 缺陷按优先级排序。 如果较高优先级的缺陷在较低优先级的缺陷触发了故障警报之后但在重置故障警报之前发生,则MEP将立即发出另一个故障警报。 这使操作员能够可靠地确定故障警报的优先级。 例如,在服务提供商环境中,交叉连接错误通常比连接错误丢失更令人关注。
    在这里插入图片描述

    故障警报中仅报告优先级最高的缺陷。 表20-1显示了指示缺陷的变量,这些缺陷的优先级以及在“故障警报”中报告的每个缺陷的枚举值之间的关系。

    • CCM reception
      每个active MEP都会在其MEP CCM数据库中接收和分类CCM。 必须检查每个CCM,以确保其MAID与接收MP中配置的MAID相匹配。 接收方MEP检查以确保其自身的MEPID与接收到的CCM中的MEPID不匹配。 (这可能表示重复的MEPID或网络转发环路。)CCM中的信息在MEP CCM数据库中分类,并由接收到的MEPID进行索引。 MEP CCM数据库中保存的信息在12.14.7.6.3中列出。

    MIP CCM数据库可以选择由MEP连续性检查接收器或MHF连续性检查接收器(MEP Continuity Check Receiver or an MHF Continuity Check Receiver)维护。 这是自上次重置网桥以来,呈现给网桥的所有下行MHF的MHF连续性检查接收器的所有CCM中每一个三联的{FID,source_address,端口号}的列表。 (有关VID和FID的讨论,请参见8.8.7。)CCM数据库中的条目将在收到最后一个包含其三元组的CCM之后保留至少24小时,并在最多48个之后从MIP CCM数据库中删除。 H。 如果为MIP CCM数据库分配的资源不足以在要求的时间内维护所有条目,则应优先删除最近更新的条目,以便为新条目腾出空间。 有关使用MIP CCM数据库的描述,请参见20.3.2。

    1.7.2 Loopback protocol

    单播环回消息(LBM)用于故障验证和隔离。 为了验证MEP和MIP之间的连通性,系统管理员可以指示MEP发出一个或多个LBM。 LBM由具有指定destination_address,优先级和drop_eligible参数的MEP发起,destination_address是与发送MEP处于同一维护关联中的另一个MP的单独MAC地址。 接收方MP用单播回送应答(LBR)响应LBM。

    环回协议由MEP环回启动器(19.2.11)和MP环回响应器(19.2.10)执行,后者位于MEP或MHF中

    • Loopback Message transmission
      LBM由操作员命令按照12.14.7.3中的规定进行传输。 发送的每个LBM都包含一个“回送事务标识符”字段(21.7.3),该字段随每次发送而增加。 这使发送的MEP能够将返回的LBR与发送的LBM相关联。 LBM可以携带任意数量的数据,以帮助诊断对帧中的数据量或模式[12.14.7.3.2中的项目d]敏感的故障。 可以使用任何优先级或drop_eligible参数[12.14.7.3.2中的项目e]进行发送]

    没有提供用于指定发送LBM的速率的装置。 如果没有其他流量插入网桥,网桥不得以导致网桥端口服务的队列溢出和丢弃LBM的速率传输LBM。

    • Loopback Message reception and Loopback Reply transmission
      当MP回送响应器(19.2.10)收到LBM时,可以检查其有效性,如果无效则将其丢弃。不管是否检查了LBM的有效性,如果source_address是一个Group而不是单个MAC地址,则应将其丢弃。同样,如果destination_address与接收方MP的MAC地址都不匹配,或者与表8-9中的表MAC的组MAC地址都不匹配,则该MP必须丢弃LBM。如果接收方MP回送响应者驻留在MHF中,并且destination_address是组MAC地址,则MHF将丢弃LBM。如果帧通过了这些测试,则接收方MP会生成LBR,并将其传输到始发MEP。

    LBM的mac_service_data_unit中的每个M_UNITDATA.indication(或EM_UNITDATA.indication)参数和八位字节均复制到LBR的M_UNITDATA.request(或EM_UNITDATA.request)中,但以下情况除外:
    a)将接收到的LBM的source_address参数用作发送的LBR的destination_address参数;
    b)LBR的source_address参数是回复MP的MAC地址;
    c)OpCode字段从LBM更改为LBR。

    LBM的接收方不得解释LBM中的任何其他字段或TLV。不违反20.46验证标准但未在本标准中指定的任何TLV的内容,以及接收方MP未知的任何有效的组织特定TLV,接收方均应予以忽略,并且不对其进行解释,除非将其内容复制到LBR。

    注—该标准没有提供使用组MAC地址传输LBM的方法。 MP环回响应器响应发送到CCM组地址的LBM,因为ITU-T Y.1731(2006)规定要发送此类消息。见J.4。

    • Loopback Reply reception
      当MHF接收到LBR(异常发生)时,由于MIP没有LBR的接收实体,因此将其忽略。当MEP环回启动器(19.2.11)接收到LBR时,将检查以查看destination_address参数是否与接收到的MEP的MAC地址匹配,如果不匹配则将其丢弃。接下来,检查其“环回事务标识符”字段是否与最近传输的LBM的字段匹配,并且适当的计数器递增,或者是顺序计数器[12.14.7.1.3中的项目y]]还是顺序不正确。计数器[项目12.14.7.1.3中的z]]。

    如果特定的网桥使用了用于实现连接性故障管理的共享MP地址模型,则如20.47中所述,在确定LBR所针对的特定Up MP的标识中存在歧义。因此,使用此模型的网桥使用单个变量来管理共享相同MAC地址,MAID和MD级别的所有MP的环回事务标识符字段。 LBR的接收器可以逐位比较其内容与相应LBM的记忆内容,如果不匹配,则将变量[12.14.7.1.3中的项目aa]递增。

    1.7.3 Linktrace protocol

    Linktrace协议由与单个MEP关联的MEP Linktrace发起程序( the MEP Linktrace Initiator )(19.2.12)和与网桥关联的Linktrace响应程序( the Linktrace Responder)(19.6)执行。

    MTM Linktrace发起方发送LTM以执行路径发现和故障隔离.LTM携带目标MAC地址作为其有效负载的一部分。它在多播帧中承载,其中的destination_address根据发送的MEP的MD级别从表8-10中获取,并通过桥接网络进行中继,直到到达适当MD级别的MP。该MP拦截LTM并将其转移到网桥的Linktrace响应器。 Linktrace Responder确定其网桥的MAC中继实体是将具有指定目标MAC地址的普通数据帧转发到单个出口网桥端口,还是对其进行过滤或泛洪。如果找到了单个出口端口,或者如果接收的MP是终接MP,则Linktrace响应器将单播Linktrace答复(LTR)发送给LTM的始发者,其MAC地址也作为LTM中的有效载荷携带。 LTR在0 <延迟≤1 s范围内的随机延迟后发送,以减轻始发MEP的负担。此外,如果通过其接收LTM的MP是MHF,则Linktrace响应器会将LTM的更改版本从单个网桥端口中转发到目标MAC地址的方向。发起初始LTM的MEP Linktrace发起者收集LTR。这些为构造发送到目标MAC地址的数据帧将遍历的MP序列提供了足够的信息。无连接环境中的路径发现比面向连接的环境更具挑战性。在桥接LAN中,这尤其具有挑战性,因为LTM目标的MAC地址可以在网络拓扑更改后立即由TCN从筛选数据库中删除,并且会过期并被删除几分钟(“最大使用期限”)。在最后一次获悉故障导致目标与发起LTM的MEP隔离后进行的最后一次了解。

    CFM提供了三种解决MAC地址老化的方法:
    a)在检测到故障后立即自动启动Linktrace协议,以使其在“最大使用期限”窗口内执行;
    b)通过使用可选的MIP CCM数据库19.3.9和20.1.3,在路径的中间点维护有关目标MP的信息; 和
    c)在正常运行期间通过发布定期的LTM来维护正常路径信息。

    注—定期LTM允许系统管理员在正常操作期间沿着MEP之间的路径确定MIP,从而为后续的故障隔离建立基线。 但是,以接近CCM传输间隔的速率触发LTM可能会使网桥处理CFM PDU的能力不堪重负。 另见22.5。

    • Linktrace Message origination
      LTM由MEP Linktrace发起方响应操作员命令(12.14.7.4)传输。在传输LTM之后,每个传输的LTM的nextLTMtransID [项目b)在12.14.7.4.3,20.36.1中将保留至少5 s。给定MEP传输的LTM事务标识符值在此时间段内是唯一的,以便将慢速MP返回的LTR与触发慢速LTR的LTM相匹配。将nextLTMtransID初始化为随机值11,并在每次传输的LTM处将其递增一次即可满足此条件。对于每个传输的LTM,MEP Linktrace发起者在Linktrace数据库(20.36.2)中创建一个条目。当接收到相应的LTR时,由nextLTMtransID对该条目进行索引以进行检索。

    如果同一服务实例和同一MD级别上的多个MEP具有不同的MAC地址,则发送网桥可以为每个MEP维护一个单独的LTM事务标识符序列,但对于共享这两个特征的MEP使用通用的LTM事务标识符序列。

    LTM的destination_address是为LTM保留的组MAC地址,根据表8-10,它适合于始发MEP的MD级别。

    LTM中的“目标MAC地址”字段[12.14.7.4.2,21.8.6中的项目c)可以是任何单独的MAC地址。但是,由于要求MEP定期发送CCM,因此MIP沿该路径很可能知道MEP的MAC地址。相反,由于MIP不会启动任何CFM PDU,因此MIP的MAC地址对于中间网桥可能是未知的,除非它最近已回复LBM或LTM。

    下行MEP中的MEP Linktrace发起程序通过其活动SAP向连接到其网桥端口的LAN传输LTM。上层MEP中的MEP Linktrace发起方通过其MEP LTI SAP将LTM传输到其自己的网桥的Linktrace响应器。 Linktrace Responder按照20.3.2中的描述处理LTM。 Linktrace响应程序可以通过LOM Linktrace SAP转发LTM,并且可以通过带有LTR的MEP LTI SAP进行响应。因此,当LTM在Up MEP中启动时,最开始的网桥是第一跳(hop)

    • Linktrace Message reception, forwarding, and replying
      特定MD级别的LTM作为普通多播数据帧转发,直到遇到相等或更高MD级别的MEP或相等MD级别的MHF。 处于较高MD级别的MEP会丢弃LTM,而无需进一步处理。 处于相等MD级别的MP会将LTM定向到其网桥的Linktrace响应器。 由于对于给定的MD级别,可以使用MHF,MEP(或两者都不配置)为给定网桥上的不同网桥端口进行配置,因此LTM既可以作为普通数据转发,也可以由网桥的Linktrace响应器进行处理。 由上层MEP发起的LTM直接转发到其网桥的Linktrace响应器,而不是通过MEP的Active SAP转发到帧过滤过程

    如果满足以下任一情况,则Linktrace响应器将答复LTM:
    a)具有与LTM相同的vlan_identifier,等于LTM的目标MAC地址字段(21.8.6)并在与LTM相同的网桥端口上接收到的destination_address的普通数据帧,将通过另一个相互转发桥接端口(或仅到管理端口);
    b)LTM的标志字段的UseFDBonly位为0,在网桥的MIP CCM数据库(19.3.10)中找到LTM的目标MAC地址字段(21.8.6),并在MIP CCM数据库中找到该条目标识桥接端口(或管理端口),而不是接收LTM的端口;要么
    c)接收到LTM的MP的MAC地址等于LTM的Target MAC Address字段;
    d)收到LTM时,LTM TTL字段不为0。在前面的项目a)或项目b)中标识的单个输出端口称为出口端口。仅当满足以下所有条件时,Linktrace响应器才通过出口端口上的LOM转发LTM的副本,其中新的source_address参数和LTM TTL字段减1。
    e)产生LTR的原因是前面的a)或b)项中指定的原因,但不是c)项;
    f)LTM是由MHF而非MEP接收的;
    g)出口端口的MEP不在LTM的MD级别以上; 和
    h)收到的LTM TTL字段大于1。

    注1 —当追踪到已知MAC地址的路径时,共享介质上的所有网桥将接收LTM。 在过滤数据库查询中将LTR的传输和LTM的转发作为条件,以确保这些桥中的最多一个将进行答复。 同样,可以通过尚未学习目标MAC地址的网络区域来泛洪LTM,而不会触发LTR。

    LTM立即转发,以最大程度地减少完成Linktrace操作所需的时间。 LTR排队等待稍后交付。 如果LTM是由Down MEP或Down MHF接收的,则LTR包含描述该MP的Reply Ingress TLV(21.9.8)。 如果Down MEP未收到该消息,并且如果出口端口为LTM的MA配置了Up MEP或Up MHF,则LTR包括一个Reply Egress TLV(21.9.9)。 这些TLV沿着到目标MAC地址的路径向始发MEP报告MIP和/或MEP。

    如果将LTM转发到共享介质LAN,并且连接到该LAN的一个或多个其他网桥只有两个网桥端口转发LTM的vlan_identifier(包括该共享介质)的数据,并且LTM中的MAC地址 在那些网桥的过滤数据库中不存在目标MAC地址字段(21.8.6)(或者如果在多个网桥的MIP CCM数据库中存在目标MAC地址),那么接收网桥的接收网桥中的一个以上可以通过以下方式响应LTM: LTR。 另外,网桥或LAN操作中的异常,例如,筛选数据库记录的信息不正确,可能会导致沿多个路径的LTR响应。

    LTR中的Reply TTL字段本身足以使发起MEP Linktrace发起方命令沿着单个路径返回的LTR。 LTM和LTR还包含三个值,即上一个出口标识符(21.9.7.1),下一个出口标识符(21.9.7.2)和LTM出口标识符TLV(21.8.8),这些值使始发MEP能够明确地构造以下树: 如果LTR是沿着多条路径返回的,则LTM所采用的路径。

    注2 —如果不能将MA配置为传输CCM的速度快于Max Age导致从网桥的过滤数据库中删除MAC地址的速度,那么对于系统管理员来说,最佳实践是仅在触发几个LBM之后才触发LTM传输。目标MAC地址。这有助于确保目标MAC地址对于中间网桥是已知的,以便LBM将返回结果,并且仅沿单个路径返回LTR。

    注3 —如果异常情况促使沿多条路径做出响应,则传输LTR的延迟会降低返回的LTR淹没始发MEP接收能力的可能性。

    注4:转发的LTM使用转发LTM所通过的MP的地址作为其源地址,而不是原始LTM的源地址。这意味着网桥的Linktrace响应器不需要与其中继实体完全同步,因为后者可以快速更改活动拓扑,而不会冒着相邻网桥从LTM得知源MAC地址错误方向的风险。 LTM TTL字段可确保在活动拓扑更改时正在处理的LTM不会在持久循环中转发。

    MEP Linktrace发起者忽略LTR中收到的任何不违反20.46验证标准但未在此标准中指定的TLV,并且忽略任何未知的有效组织特定TLV。 除非在20.42.3和20.42.4中另有规定,否则所有链接跟踪响应者已知或忽略的TLV都会从接收的LTM复制到转发的LTM,再从接收的LTM复制到LTR。

    注5 —在LTM和LTR中转发所有未知的TLV,使该标准的将来修订版以及组织特定TLV的设计者能够添加新功能

    • Linktrace Reply reception
      LTR由Linktrace响应器响应收到的LTM进行传输,并以单播帧的形式返回到发起LTM的MEP Linktrace发起方。 MEP Linktrace发起方会验证收到的LTR,如果无效,如果destination_address参数与MEP所在的网桥端口的MAC地址不匹配,或者LTR事务标识符字段与存储在其中的LTR不匹配,则将其丢弃。 MEP的Linktrace数据库(20.36.2),在LTM产生时创建。

    每个经过验证的LTR都会在Linktrace数据库中触发一个新条目的创建,可以通过“读取Linktrace回复”命令(12.14.7.5)作为托管对象进行访问。 如果此MEP的Linktrace数据库中没有与LTR事务标识符字段相对应的条目,则MEP Linktrace发起者将创建一个新条目,其索引值[12.14.7.5.2中的项目c)]为1。 确实存在与该字段匹配的内容,它将创建一个新条目,其索引值比最后一个匹配的LTR大一。 无论哪种情况,MEP Linktrace发起程序都将LTR的内容存储在此新条目中。

    1.7.4 Connectivity Fault Management state machines

    MEP状态机之间的关系如图20-1所示。 该图使用类似于13.19和图13-9的约定:空心箭头表示两边的状态机都可以读取与设置该变量。 封闭的箭头表示拥有该变量的状态机可以设置变量,而其他的状态机只能读取,不能写入, 图20-1中未包括MEP连续性检查启动器状态机(the MEP Continuity Check Initiator),MEP中使用的MP Loopback Responder状态机以及所有MHF和Linktrace Responder状态机,因为它们独立运行
    在这里插入图片描述

    本节中声明的计时器变量是CFM操作规范的一部分。 提供它们的含义和用途的随附描述仅用于帮助理解协议,而不是本说明书的一部分。
    以下情况之一应予以实施:
    a) LTFwhile (20.5.1)
    LTR发送器状态机( the LTR Transmitter state machine)使用的计时器变量,以使LTR的预期传输超时。
    b) CCIwhile (20.5.2);
    用于传输CCM的计时器计数器。 CCI的粒度小于或等于CCMinterval变量表示的时间的1/4;
    c) errorCCMwhile (20.5.3);
    用于超时无效CCM的计时器计数器。 errorCCMwhile的粒度小于或等于1 ms;
    d) xconCCMwhile (20.5.4);
    用于使交叉连接(cross connect)CCM超时的计时器计数器。 xconCCM的粒度小于或等于1 ms。
    e) LBIwhile (20.5.5);
    MEP回送启动器发送状态机(the MEP Loopback Initiator)使用的计时器变量使LBR的预期接收超时。
    f) FNGwhile (20.5.6).
    MEP故障通知生成器状态机(the MEP Fault Notification Generator state machine)使用的计时器变量,以等待缺陷稳定并消失。

    对于MEP的MA中的每个远程MEP(MA中除MEP本身之外的MA),每个MEP都应实现一个实例:
    g) rMEPwhile (20.5.7)
    用于使CCM超时的计时器计数器。 rMEPwhile的粒度小于或等于CCMinterval变量表示的时间的1/4。 网桥不得在收到CCM后的(3.25* CCMtime(CCMinterval))秒内设置rMEPCCMdefect,而应在收到最后一个CCM后的(3.5 * CCMtime(CCMinterval))秒内设置rMEPCCMdefect。 该变量可作为托管对象读取[项目12.14.7.6.3中的c]]

    计时器变量的“granularity(粒度)”是递减的周期。
    注—为了在丢失三个CCM时产生缺陷,而在仅丢失两个CCM时不产生缺陷,rMEPwhile要求最低分辨率。 为rMEPwhile指定的粒度与图20-5中的状态机一起使用时,将在最大(3.5* CCMtime(CCMinterval))秒和最小(3.25 * CCMtime(CCMinterval))秒的时间内生成缺陷。

    1.7.4.1 CFM procedures

    a) CCMtime() (20.6.1) 这个程序是全局的:
    CCMtime()以CCMinterval变量(20.8.1)和CCM PDU中的CCM Interval字段(21.6.1.3)中使用的形式的值作为参数。 它以相应的时间间隔(作为值)以CCIwhile或rMEPwhile计时器使用的形式作为值返回(20.5.2、20.5.7)。

    1.7.4.2 Maintenance Domain variable

    以下变量是单个维护域的本地变量,可以由多个状态机访问:a) mdLevel (20.7.1)
    维护域的整数MD级别。 该变量可用作托管对象[12.14.5.1.3中的项目b)]。

    1.7.4.3 Maintenance Association variables

    以下变量是单个维护协会的本地变量,并且可以由多个状态机访问:a) CCMinterval (20.8.1).CCM传输之间的配置时间。 为此变量配置的值应为表21-16中的非0值之一。 该变量可用作托管对象[项目12.14.6.1.3中的e]]

    1.7.4.4 MEP variables

    The following variables are local to a single MEP and are accessible by more than one state machine:
    a) MEPactive (20.9.1);
    一个布尔值,指示MEP的管理状态。 True表示MEP正常运行,而false表示MEP停止运行。 此变量可用作托管对象[项目12.14.7.1.3中的e]]
    b) enableRmepDefect (20.9.2);
    一个布尔值,指示是否通过生成树协议(第13条)和VLAN拓扑管理(第11条)使受此MEP MA监视的服务实例上的帧通过该桥端口。 如果启用了它们,或者如果MEP与端口状态和VLAN成员集的单个值不相关,则将其设置为true,否则为false。 在网桥中,enableRmepDefect的值由控制MEP的主VID和该VLAN的成员集(8.8.9)的生成树实例的端口状态(8.4)确定,如表20-2所示。 此变量还控制端口状态TLV(21.5.4)中的值输出。
    在这里插入图片描述

    MEP为:

    • 在不与VID关联的MA中配置;
    • 在运行生成树的多个实例的网桥上;
    • 在不属于静态VLAN注册条目的网桥端口上,属于属于多个生成树实例的VID的成员资格;
      可能无法为端口状态TLV生成明确的值,因为不同的MSTI可能位于不同的端口状态中。 对于处于该位置的MEP,enableRmepDefect始终为true。

    c) MAdefectIndication (20.9.3);
    一个布尔值,指示MEP MA的运行状态。 True表示该MEP的MA上配置的至少一个远程MEP发生故障,false表示所有MEP都在运行,或者MEP处于激活状态的时间少于超时时间。 只要指示已启用的缺陷,MAdefectIndication就为true。 也就是说,当且仅当对于一个或多个变量someRDIdefect,someRMEPCCMdefect,someMACstatusDefect,errorCCMdefect或xconCCMdefect,且该变量为true且表20-1中该变量的相应优先级大于或等于,MAdefectIndication为true。 到变量lowerAlarmPri的值

    d) allRMEPsDead (20.9.4);
    一个布尔值,指示该MEP没有收到任何远程MEP的CCM。 allRMEPsDead是所有rMEPCCMdefect变量的逻辑与。

    e) lowestAlarmPri (20.9.5);
    一个整数值,指示可以触发生成故障警报的最低缺陷优先级(请参见表20-1)。 此变量是一个受管理的对象[项目12.14.7.1.3中的k]]

    f) presentRDI (20.9.6);
    一个布尔值,指示此MEP发送的CCM中RDI位的状态。 当且仅当以下一个或多个变量someRMEPCCMdefect,someMACstatusDefect,errorCCMdefect或xconCCMdefect为true且表20-1中该变量的相应优先级大于或等于该变量的值时,presentRDI为true 最低警报等级

    g) MEPprimaryVID (20.9.7).
    指定VID的整数,该VID是分配给MEP MA的VID之一,将用作此MEP的主要VID。 此变量与12.14.7.1.3中的管理对象项d)有关。 但是,它不一定在数值上等于该对象。 MEPprimaryVID始终包含主要VID的数值。 被管理对象可以包含0,以指示主要VID是MEP的MA的,或者如果MA的VID被该特定MEP覆盖,则包含主要VID本身。

    1.7.4.5 MEP Continuity Check Initiator variables

    a) CCIenabled (20.10.1);
    控制CCM的传输。 设置为true时,发送CCM。 设置为false时,CCM传输停止。 该变量可用作托管对象[项目12.14.7.1.3中的g]]
    b) CCIsentCCMs (20.10.2); and
    整数值。 创建MEP时,CCIsentCCM初始化为1,此后xmitCCM()可以使用它来填充已发送CCM的序列号字段。 该变量可用作托管对象[项目12.14.7.1.3中的w]]
    c) MACstatusChanged (20.10.3).
    布尔值。 MACstatusChanged触发传输一个额外的CCM。 如果MEP正在发送端口状态TLV(21.5.4)或接口状态TLV(21.5.5),并且如果CCMinterval指示传输间隔为10 s或更慢,则只要在任一状态下报告的值都将MACstatusChanged设置为true, 这两个TLV的变化。 MEP连续性检查启动器状态机将MACstatusChanged重置为false。

    1.7.4.6 MEP Continuity Check Initiator procedures

    a) xmitCCM() (20.11.1)
    xmitCCM()使用M_UNITDATA.request在Active SAP上构造并传输CCM,如下所示。 xmitCCM():
    a)将destination_address参数设置为表8-9中与MEP的MD级别相对应的值;
    b)将source_address参数设置为MEP的MAC地址[12.4.1.3中的项目i];
    c)根据MEP的管理对象[12.4.1.3中的项目h]设置优先级参数;
    d)将drop_eligible参数设置为false;
    e)将MEP的MD等级(20.7.1)放置在MD等级字段(21.4.1)中;
    f)用11.24.6.1.3中的CCM传输间隔(20.8.1,项目e)填充CCM间隔字段(21.6.1.3);
    g)用presentRDI变量(20.9.6)填充RDI字段(21.6.1.1);
    h)应将CCIsentCCM(20.10.2)复制到CCM(21.6.3)的序列号字段,否则将0复制到该字段;
    i)将MEP的MAID放入CCM的适当字段中[项目a)12.14.1.2.2中的项目b)中12.14.5.3.2和21.6.5.1至21.6.5.6];
    j)将MEP的MEPID [项目g)在12.14.6.1.3中放入维护关联端点标识符字段(21.6.4);
    k)由受管理对象12.14.3.1.3中的项目e),12.4.1.3中的项目d)和12.14.6.1.3中的项目d)的控制,在其中放置发件人ID TLV(21.5.3)。 CCM,确定传输系统;
    l)(可选)在CCM中放置端口状态TLV(21.5.4),报告网桥端口的状态;
    m)(可选)在CCM中放置接口状态TLV(21.5.5),报告网桥端口的状态;和
    n)将CCIsentCCM增加1,从2 32 – 1绕到0。

    1.7.4.7 MEP Continuity Check Initiator state machine

    每个MEP连续性检查启动器(19.2.9)实例化一个MEP连续性检查启动器状态机。 MEP连续性检查启动器状态机实现图20-2中的状态图指定的功能,20.10中的变量声明以及20.11中的过程。

    注—图20-2指示MACstatusChanged的设置会导致CCI重置,从而改变CCM传输周期的相位。 状态机的替代形式可以传输额外的CCM,但不能同时重置CCI。 此标准未指定在MEP中设置MACstatusChanged是否导致CCI重置。

    1.7.4.8 MHF Continuity Check Receiver variables

    a) MHFrecvdCCM (20.13.1);
    当收到MHF MD级别的CCM时,由the MHF OpCode Demultiplexer (19.3.6)设置为true的布尔值。 由MHF连续性检查接收器状态机清除。

    b) MHFCCMPDU (20.13.2)
    结构体。 收到MHF MD级别的CCM时,将MHF OpCode解复用器(19.3.6)接收的CCM PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rRSz9r0-1598839663541)($res/Snipaste_2020-01-17_15-20-02.png)]

    1.7.4.9 MHF Continuity Check Receiver procedures

    a) MHFprocessCCM() (20.14.1)
    MHFprocessCCM()必须根据20.46.4验证收到的CCM,如果无效,则丢弃收到的CCM。 否则,MHFprocessCCM()在MHF的MIP CCM数据库中记录接收到的CCM的FID,source_address和端口号。

    1.7.4.10 MHF Continuity Check Receiver state machine

    MHF连续性检查接收器状态机使用20.13中的变量和20.14中的过程来实现图20-3中的状态图所指定的功能。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apqD6LGC-1598839663543)($res/Snipaste_2020-01-17_15-54-01.png)]

    1.7.4.11 MEP Continuity Check Receiver variables

    a) CCMreceivedEqual (20.16.1);
    布尔标志。 收到MEP MD级别的CCM时,由MEP平等操作码解复用器(19.2.7)进行设置。 由MEP连续性检查接收器状态机清除
    b) CCMequalPDU (20.16.2);
    结构体。 当收到MEP MD级的CCM时,将MEP平等操作码解复用器(19.2.7)接收的CCM PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载。
    c) CCMreceivedLow (20.16.3);
    布尔标志。 当收到低于MEP MD级别的CCM时,由MEP低位操作码解复用器(19.2.7)进行设置。 由MEP连续性检查接收器状态机清除。
    d) CCMlowPDU (20.16.4);
    结构体。 当收到低于MEP MD级别的CCM时,将MEP低操作码解复用器(19.2.7)接收的CCM PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载。
    e) recvdMacAddress (20.16.5);
    由MEPprocessEqualCCM()过程使用远程MEP状态机的此副本所服务的来自远程MEP的最后接收的CCM的source_address进行设置。
    f) recvdRDI (20.16.6);
    布尔标志。 由MEPprocessEqualCCM()根据最后接收的有效CCM的RDI字段设置。
    g) recvdInterval (20.16.7);
    计时器计数器指示计时器计数器等效于在收到的CCM的CCM间隔字段中编码的值。 由MEPprocessEqualCCM()设置
    h) recvdPortState (20.16.8);
    (可选)枚举变量,指示最后接收的有效CCM的端口状态TLV(21.5.4)的内容,或psNoPortStateTLV:指示未接收到CCM,或者最后一个CCM中不存在端口状态TLV 已收到;如果该TLV不存在。 由MEPprocessEqualCCM()设置
    i) recvdInterfaceStatus (20.16.9);
    (可选)枚举变量,指示最后接收的有效CCM的接口状态TLV(21.5.5)的内容,或isNoInterfaceStatusTLV:指示未接收到CCM或在最后接收到的CCM中不存在接口状态TLV ; 并且,如果不存在该TLV。 由MEPprocessEqualCCM()设置。
    j) recvdSenderId (20.16.10);
    (可选)枚举变量,指示最后接收的有效CCM的发件人ID TLV(21.5.3)的内容,或isNoSenderIdTLV:指示未接收到CCM,或者最后一个CCM中不存在发件人ID TLV (如果该TLV不存在)。 由MEPprocessEqualCCM()设置
    k) recvdFrame (20.16.11); and
    八位字节字符串,其中包含由MEPprocessEqualCCM()接收的帧。 recvdFrame可以从通过活动SAP呈现给MEP的M_UNITDATA.indication信息,或者从呈现给EISS Multiplex Entity的EM_UNITDATA.indication重建。 recvdFrame的大小指示重构帧的大小。 设置为NULL值时,recvdFrame的大小为0。
    l) CCMsequenceErrors (20.16.12)
    从所有远程MEP接收到的乱序CCM总数。 此变量可作为托管对象[12.14.7.1.3中的项目v]读取。

    1.7.4.12 MEP Continuity Check Receiver procedures

    A) MEPprocessEqualCCM() (20.17.1);
    每当在MEP的MD级别接收到CCM时,由MEP连续性检查接收器状态机调用。 MEPprocessEqualCCM()如下处理CCMequalPDU中包含的CCM:
    a)MEPprocessEqualCCM()应根据20.46.4.2处理CCM,并可以根据20.46.4.3验证CCM,并丢弃任何未通过验证的帧。
    b)否则,如果接收到的CCM的MAID与接收ME中配置的MAID不完全匹配[[12.14.1.2.2中的项目a],12.14.5.3.2中的项目b)],则MEPprocessEqualCCM()设置xconCCMreceived (20.23.1)是,将包含CCM的帧重构为recvdFrame,并将计时器计数器值放入与CCM Interval字段的值相对应的recvdInterval中
    在收到的CCM中。
    c)否则,如果:
    1)在接收的MEP中未配置接收到的CCM中的MEPID [项目12.4.1.3中的g)];要么
    2)接收到的CCM中的MEPID与接收到的MEP中的MEPID相匹配[项目12.4.3.2中的b)];要么
    3)接收到的CCM中的CCM Interval字段与为接收到的MEP配置的字段[11.24.6.1.3中的项目e]不匹配;
    然后MEPprocessEqualCCM()将errorCCMreceived(20.21.1)设置为true,将包含CCM的帧重构为recvdFrame,并将计时器计数器值放入与接收到的CCM中的CCM Interval字段值相对应的recvdInterval中。
    d)否则,MEPprocessEqualCCM():
    1)将source_address参数复制到recvdMacAddress中;
    2)将RDI字段复制到recvdRDI;
    3)(可选)将端口状态TLV复制到recvdPortState;
    4)(可选)将接口状态TLV复制到recvdInterfaceStatus;
    5)(可选)将发件人ID TLV复制到recvdSenderId;
    6)(可选)更新网桥的MIP CCM数据库;和
    7)为远程MEP状态机的特定实例设置与CCM中的维护关联端点标识符字段相对应的rCCMreceived变量(20.19.6)。
    MEPprocessEqualCCM()还应该:
    e)将接收到的CCM中的序列号字段与MEP CCM数据库中保存的值进行比较;
    f)如果两个值都不为0,并且新值不大于最后一个值,则递增CCMsequenceErrors(20.16.12);和
    g)将接收到的序列号存储在MEP CCM数据库中。

    B) MEPprocessLowCCM() (20.17.2).
    每当收到的CCM的MD等级小于MEP的MD等级(mdLevel,20.7.1)时,MEP连续性检查接收器状态机就会调用该状态机。 MEPprocessLowCCM()如下处理CCMlowPDU中包含的CCM:
    a)MEPprocessLowCCM()应根据20.46.4.2处理CCM,并可以根据20.46.4.3验证CCM,并丢弃任何未通过验证的帧。
    b)否则,MEPprocessLowCCM()将xconCCMreceived(20.23.1)设置为true,将包含CCM的帧重构为recvdFrame,并将计时器计数器值放入与接收到的CCM中的CCM Interval字段值相对应的recvdInterval中。

    1.7.4.13 MEP Continuity Check Receiver state machine

    MEP连续性检查接收器状态机使用20.16中的变量和20.17中的过程来实现图20-4中的状态图所指定的功能。
    在这里插入图片描述

    1.7.4.14 Remote MEP variables

    a) rMEPCCMdefect (20.19.1);
    报告远程MEP的状态。 为true时,至少(3.25 * CCMtime(CCMinterval))秒未从远程MEP接收到CCM
    b) rMEPlastRDI (20.19.2);
    布尔标志。 包含来自最后接收的CCM的RDI标志。 该变量可作为托管对象(在12.14.7.6.3中读取)(项目e)]
    c) rMEPlastPortState (20.19.3);
    枚举值。 包含从最后接收的CCM的端口状态TLV(21.5.4)获得的值,或指示最后接收的CCM不包含端口状态TLV的值。 该变量可作为托管对象[12.14.7.6.3中的项目f]读取。
    d) rMEPlastInterfaceStatus (20.19.4);
    枚举值。 包含从最后接收的CCM的接口状态TLV(21.5.5)获得的值,或指示最后接收的CCM不包含接口状态TLV的值。 此变量可作为托管对象[在12.14.7.6.3中读取]。
    e) rMEPlastSenderId (20.19.5);
    枚举值。 包含从最后接收的CCM的发件人ID TLV(21.5.3)获得的值,或指示最后接收的CCM不包含发件人ID TLV的值。 该变量可作为托管对象[12.4.6.3中的项目h]读取]
    f) rCCMreceived (20.19.6);
    由MEPprocessEqualCCM()设置为true的布尔标志,指示已接收到与特定远程MEP状态机的配置期望匹配的CCM。 由远程MEP状态机清除为false。
    g) rMEPmacAddress (20.19.7);
    远程MEP的MEP CCM数据库中每个条目中的一个字段,包含最后一个从该远程MEP接收到的CCM的source_address。 此变量可作为受管理对象读取[项目12.14.7.6.3中的d]]
    h) rMEPportStatusDefect (20.19.8);
    一个布尔值,指示远程MEP正在其端口状态TLV(21.5.4)中报告故障。 只有最后收到的CCM包含端口状态TLV,并且该TLV包含psUp以外的其他值(即,远程MEP的网桥端口未转发数据)时,这才成立。 它等于(rMEPlastPortState!= psUp && rMEPlastPortState!= psNoPortStateTLV:表示没有收到CCM,或者在最后收到的CCM中没有端口状态TLV;)。
    i) rMEPinterfaceStatusDefect (20.19.9)
    一个布尔值,指示远程MEP正在其接口状态TLV(21.5.5)中报告故障。 仅当最后收到的CCM包含接口状态TLV且包含isUp以外的其他值时,这才是正确的,即远程MEP的网桥端口不可用于转发数据。 它等于(rMEPlastInterfaceStatus!= isUp && rMEPlastInterfaceStatus!= isNoInterfaceStatusTLV:表示没有收到CCM或在最后收到的CCM中不存在接口状态TLV;以及)

    1.7.4.15 Remote MEP state machine

    远程MEP状态机实现图20-5中的状态图指定的功能以及20.19中的变量声明,并使用20.17中的过程。
    Figure 20-5—Remote MEP state machine:
    在这里插入图片描述

    1.7.4.16 Remote MEP Error variables

    a) errorCCMreceived (20.21.1);
    如果收到无效的CCM,则由MEPprocessEqualCCM()设置为true的布尔标志。 由远程MEP错误状态机清除为false。
    b) errorCCMlastFailure (20.21.2);
    具有与recvdFrame相同特征的八位字节字符串。 由远程MEP错误状态机控制的值。 可作为受管理对象读取[项目t)在12.14.7.1.3中。 大小足以保留errorCCMlastFailure中包含最大长度CCM的帧。
    c) errorCCMdefect (20.21.3)
    远程MEP错误状态机设置并清除的布尔值标志,表示已收到一个或多个无效CCM,并且CCM传输间隔的3.5倍尚未到期。 该变量可作为托管对象[12.14.7.1.3中的项目r]读取。

    1.7.4.17 Remote MEP Error state machine

    The Remote MEP Error state machine implements the function specified by the state diagram in Figure 20-6
    and the variable declarations in 20.21.

    Snipaste_2020-01-17_16-27-16.png
    )]

    1.7.4.18 MEP Cross Connect variables

    a)收到xconCCM(20.23.1);
    收到交叉连接CCM时,由MEPprocessEqualCCM()将布尔标志设置为true。 由MEP交叉连接状态机清除为false。
    b)xconCCMlastFailure(20.23.2);
    具有与recvdFrame相同特征的八位字节字符串。 由MEP交叉连接状态机控制的值。 可作为托管对象读取[项目u)在12.14.7.1.3中。 大小足以保留包含最大长度CCM的帧
    c)xconCCMdefect(20.23.3)。
    由MEP交叉连接状态机设置和清除的布尔标志,指示已接收到一个或多个交叉连接CCM,并且这些CCM的至少一个传输间隔的3.5倍尚未到期。 此变量可作为托管对象[在12.14.7.1.3中读取]

    1.7.4.19 MEP Cross Connect state machine

    The MEP Cross Connect state machine implements the function specified by the state diagram in
    Figure 20-7 and the variable declarations in 20.23
    在这里插入图片描述

    1.7.4.20 MP Loopback Responder variables

    The following variables are local to the MP Loopback Responder state machine:
    a) LBMreceived (20.25.1);
    布尔变量,当接收到LBM时由MP OpCode Demultiplexer 设置为true,并由MP Loopback Responder状态机清除。
    b) LBMPDU (20.25.2).
    结构体。 当接收到LBM时,加载了MP OpCode Demultiplexer (19.2.7)接收到的LBM PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数

    1.7.4.21 MP Loopback Responder procedures

    The following procedures are defined for the Loopback Responder:
    A) ProcessLBM() (20.26.1);
    每当收到LBM时,由MP Loopback Responder状态机调用。 ProcessLBM()如下处理LBMPDU中的LBM:
    a)如果destination_address参数都不包含:
    1)接收MP的MAC地址; 也不
    2)如表8-9(见J.4)所示,适合于接收MP的MD级别的CCM组地址; ProcessLBM()丢弃LBM并且不执行进一步处理;
    b)如果destination_address参数包含组地址,并且MP Loopback Responder状态机位于MHF中(而不是MEP中),则ProcessLBM()丢弃LBM并且不执行进一步处理;
    c)如果source_address参数是一个Group,而不是单个MAC地址,则ProcessLBM()会丢弃该帧,并且不执行进一步的处理。
    d)ProcessLBM()应根据20.46.4.2处理LBM,并可以根据20.46.4.3验证LBM,并丢弃任何未通过验证的帧;
    e)如果未丢弃LBM,则调用xmitLBR()生成并传输LBR

    B) xmitLBR() (20.26.2)
    由ProcessLBM()调用以传输LBR。 xmitLBR()从LBMPDU中包含的LBM构造一个LBR,然后使用M_UNITDATA.request将其传输到Active SAP,如下所示。 xmitLBR():
    a)将destination_address参数设置为接收到的LBM的source_address;
    b)将source_address参数设置为回复MP的MAC地址;
    c)将操作码字段(21.4.3)从LBM更改为LBR;
    d)将LBM的其余mac_service_data_unit逐字复制到LBR; 和
    e)如果回复的MP是MEP,则将LBR传输计数器加1 [12.14.7.1.3中的项目ad]。

    1.7.4.22 MP Loopback Responder state machine

    MP回送响应器状态机使用20.25中的变量和20.26中的过程来实现图20-8中的状态图所指定的功能。 尽管19.2.10和19.3.8中的MP Loopback Responder状态机的定义要求在每个MP中实例化MP Loopback Responder状态机,但实际上,无法从外部确定系
    统中实现的MP Loopback Responder状态机的数量。 系统观察:
    在这里插入图片描述

    1.7.4.23 MEP Loopback Initiator variables

    The following variables are local to the MEP Loopback Initiator transmit state machine and the MEP
    Loopback Initiator receive state machine:
    a) LBMsToSend (20.28.1);
    MEP回送启动器发送状态机要发送的LBM的整数。 由管理操作设置[项目12.14.7.3.2中的c]。 将此变量设置为非零值将启动LBM的传输。 MEP回送启动器传输状态机将LBMsToSend递减1
    b) nextLBMtransID (20.28.2);
    放置在xmitLBM()发送的下一个LBM的“回送事务标识符”字段中的值。 MEP环回启动器发送状态机将nextLBMtransID递增1
    传输。 该变量可以作为托管对象[12.14.7.1.3中的项目x]使用。
    c) expectedLBRtransID (20.28.3);
    预期在ProcessLBR()接收到的下一个LBR的“回送事务标识符”字段中找到的值。 由ProcessLBR()更改(请参见20.31.1)。
    d) LBIactive (20.28.4);
    布尔值标志,指示MEP环回启动器发送状态机是(true)还是不是(false)主动参与请求的操作。 在通过管理操作将LBMsToSend设置为非零值之后,由MEP环回启动器传输状态机设置为true。 在发送最后一个LBM或接收到最后一个LBR后5秒钟,由MEP回送启动器发送状态机将其重置为false。
    e) xmitReady (20.28.5);
    由网桥端口设置为true的布尔标志,指示可以传输另一个LBM。 由MEP环回启动器传输状态机重置为false。
    f) LBRreceived (20.28.6);
    布尔标志。 收到MEP MD级别的LBR时,由MEP平等操作码解复用器(19.2.7)进行设置。 由MEP回送启动器接收状态机清除。
    g) LBRPDU (20.28.7)
    结构体。 当收到MEP MD级的LBR时,将MEP平等操作码解复用器(19.2.7)接收的LBR PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载

    1.7.4.24 MEP Loopback Initiator transmit procedures

    A) xmitLBM()
    MEP回送启动器传输状态机调用xmitLBM()。 它使用M_UNITDATA.request在Active SAP上构造并传输LBM,如下所示。 xmitLBM():
    a)从适当的管理对象[12.14.7.3.2中的项目b)设置destination_address参数;
    b)将source_address参数设置为MEP的MAC地址[12.4.1.3中的项目i];
    c)从适当的管理对象[12.4.3.2中的项目e)设置优先级和drop_eligible参数;
    d)将nextLBMtransID(20.28.2)复制到LBM的环回事务标识符字段(21.7.3);
    e)仅当以下情况时,才从适当的管理对象[12.4.3.2中的项目d]构造数据TLV。
    该管理对象的长度为非零;
    f)根据受管理对象12.14.3.1.3中的项目e),12.4.1.3中的项目d)和12.14.6.1.3中的项目d)的控制,放置发件人ID TLV(21.5.3), 在LBM中识别传输系统; 和
    g)将nextLBMtransID(20.28.2)加1,从2 32 – 1绕到0。

    1.7.4.25 MEP Loopback Initiator transmit state machine

    MEP创建MEP环回启动器传输状态机的单个实例。 MEP回送启动器发送状态机实现图20-9中的状态图和20.29中的过程指定的功能。 与MEP回送启动器接收状态机共享20.28中的变量声明
    在这里插入图片描述

    1.7.4.26 MEP Loopback Initiator receive procedures

    A) ProcessLBR() (20.31.1);
    每当接收到LBR时,由MEP环回启动器接收状态机调用。 ProcessLBR()如下处理LBRPDU中的LBR:
    a)如果source_address的I / G位指示组地址,或者destination_address与接收的MP的MAC地址不匹配,则ProcessLBR()丢弃接收的LBR。
    b)ProcessLBR()必须根据20.46.4.2处理LBM,并可以根据20.46.4.3验证收到的LBR,如果无效,则将其丢弃。
    c)如果不丢弃LBR,并且仅当LBIactive为true时,才将LBR的环回事务标识符字段与期望的LBRtransID进行比较:
    1)如果两个值相等,则预期的LBRtransID和接收到的正确LBR的数目[在12.14.7.1.3中的项目y]将增加1;其他
    2)将收到的“ Loopback Transaction Identifier”字段中的值复制到ExpectedLBRtransID中,并且收到的错误LBR的数量(12.14.7.1.3中的项目z)将增加1。
    d)ProcessLBR()可以通过操作码(OpCode字段除外)与匹配的回送事务标识符对接收到的LBR与LBM进行逐位比较,并在12.14.7.1.3中增加受管理对象[项目aa]]。如果它们不匹配。

    1.7.4.27 MEP Loopback Initiator receive state machine

    MEP创建MEP回送启动器接收状态机的单个实例。 MEP环回启动器接收状态机实现图20-10中的状态图和20.31中的过程指定的功能。 它与MEP回送启动器传输状态机共享20.28中的变量声明。
    在这里插入图片描述

    1.7.4.28 MEP Fault Notification Generator variables

    The following variables are local to the MEP Fault Notification Generator state machine:
    A) fngPriority (20.33.1);
    一个整数,指定故障警报中报告的最后一个缺陷的优先级。 fngPriority采用与maximumDefectPri(20.33.8)相同的值
    B) fngDefect (20.33.2);
    一个枚举值,指定“故障警报”中报告的最后一个缺陷。 fngDefect采用与maximumDefect(20.33.9)相同的值
    C) fngAlarmTime (20.33.3);·
    发出故障警报之前必须存在一个或多个缺陷的时间。 默认值2.5 s。 也是一个受管理的对象[12.4.1.3中的项目l)]
    D) fngResetTime (20.33.4);
    故障警报之后,在启用另一个故障警报之前必须没有缺陷的时间。 默认值10 s。 也是一个受管理的对象[12.4.1.3中的项目m)]。
    E) someRMEPCCMdefect (20.33.5);
    一个布尔值,指示远程MEP状态机的聚合状态。 True表示至少一个Remote MEP状态机未从其远程MEP接收到有效的CCM,false表示所有Remote MEP状态机都在接收有效的CCM。 someRMEPCCMdefect是此MEP上所有远程MEP状态机的所有rMEPCCMdefect变量的逻辑或。 此变量可作为托管对象[12.14.7.1.3中的项目q]读取。
    F) someMACstatusDefect (20.33.6);
    一个布尔值,指示一个或多个远程MEP正在报告其端口状态TLV(21.5.4)或接口状态TLV(21.5.5)中的故障。 如果某个远程MEP报告其接口不为isUp(即,至少一个远程MEP的接口不可用),或者所有远程MEP报告的端口状态TLV包含除psUp以外的某些值,则为真。 所有远程MEP的网桥端口均未转发数据)。 因此,它是以下两个术语的逻辑或:
    a)在所有远程MEP之间,rMEPportStatusDefect变量的逻辑与; 要么
    b)rMEPinterfaceStatusDefect变量在所有远程MEP上的逻辑或。此变量可作为托管对象读取(在12.14.7.1.3中为项目p))
    G) someRDIdefect (20.33.7);
    一个布尔值,指示远程MEP的总体运行状况。 True表示远程MEP状态机中的至少一个正在从其远程REP设置了RDI的MEP接收有效的CCM,否则表示没有Remote MEP状态机正在接收RDI设置了的有效CCM。 someRDIdefect是此MEP上所有远程MEP状态机的所有rMEPlastRDI变量的逻辑或。 该变量可作为托管对象(在12.14.7.1.3中读取)(项目o)]
    H) highestDefectPri (20.33.8); and
    一个整数值,指示在变量highestDefect中命名的缺陷的优先级。 另请参见表20-1。
    I) highestDefect (20.33.9).
    一个枚举值,指示变量xconCCMdefect(20.23.3),errorCCMdefect(20.21.3),someRMEPCCMdefect(20.33.5),someMACstatusDefect(20.33.6)和someRDIdefect(20.33.7)中优先级最高的缺陷 MinimumAlarmPri(20.9.5)。 该变量可作为托管对象[12.14.7.7.2中的项目c]读取。 表20-1中显示了变量,它们的优先级以及maximumDefect的枚举值。

    1.7.4.29 MEP Fault Notification Generator procedures

    a) xmitFaultAlarm() (20.34.1).
    传输故障警报(12.14.7.7)。 MEP的标识和指定故障警报原因的变量fngDefect(20.33.2)在故障警报PDU中传输。 在本标准中未指定故障警报的传输格式和方法。

    1.7.4.30 MEP Fault Notification Generator state machine

    MEP创建MEP故障通知生成器状态机的单个实例。 MEP故障通知生成器状态机实现图20-11中的状态图所指定的功能,20.33中的变量以及20.34中的过程。 MEP故障通知生成器状态机的当前状态在受管理对象[12.4.1.3中的项目f]中可用。
    Snipaste_2020-01-20_09-37-39.png

    1.7.4.31 MEP Linktrace Initiator variables

    The following variables are local to the MEP Linktrace Initiator variables:
    A) nextLTMtransID (20.36.1);
    放置在xmitLTM()发送的下一个LTM的LTM事务标识符中的值。 每次传输时,MEP Linktrace发起程序变量将nextLTMtransID递增1。 此变量也是受管理对象[12.14.7.1.3中的项目ab]。
    B) ltmReplyList (20.36.2)
    最近发布的LTM及其对应的LTR的列表。 每次发送LTM时,xmitLTM()会将没有附加LTR项的LTM条目添加到此列表,并且每次LTR对应时,通过ProcessLTR()将LTR条目附加到此列表中的LTM条目。 列表中的LTM接收到。 自从发送相应的LTM以来,MEP不会在5 s内从此列表中删除任何条目,除非添加另一个LTM或LTR条目会超过为此列表分配的最大资源。 此变量构成给定MEP的Linktrace数据库,并且还是受管理对象(12.14.7.5.3)。
    每个LTR条目包含以下变量:
    a) ltrFlags (20.36.2.1);
    LTR的标志字段(21.9.1)中返回的位字符串,包括FwdYes和TerminalMEP位。
    b) ltrReplyTTL (20.36.2.2);
    LTR的Reply TTL字段(21.9.4)中返回的整数值。
    c) ltrLastEgressId (20.36.2.3);
    在LTR出口标识符TLV的“最后出口标识符”字段(21.9.7.1)中返回的八位字节字符串。
    d) ltrNextEgressId (20.36.2.4);
    在LTR出口标识符TLV的“下一个出口标识符”字段(21.9.7.2)中返回的整数值。
    e) ltrRelayAction (20.36.2.5);
    在LTR的“中继操作”字段(21.9.5)中返回的枚举值。 枚举值在表21-27中列出。
    f) ltrIngressAction (20.36.2.6);
    在LTR的回复入口TLV(21.9.8)的“入口操作”字段(21.9.8.1)中返回的枚举值。 枚举值在表21-30中列出。 枚举值0表示LTR中未返回任何回复入口TLV。
    g) ltrIngressAddress (20.36.2.7);
    入口端口上MP的MAC地址。 如果LTR中未返回任何回复入口TLV,则内容未定义。
    h) ltrIngressPortIdSubtype (20.36.2.8);
    由IEEE Std 802.1AB™-2005 [B3],第9.5.3.2节指定的枚举值,指示ltrIngressPortId的格式。 如果LTR中未返回任何回复入口TLV,则内容未定义。
    i) ltrIngressPortId (20.36.2.9);
    由IEEE Std 802.1AB-2005 [B3],第9.5.9.5节指定的八位字节字符串,以ltrIngressPortIdSubtype中标识的格式标识入口端口。
    j) ltrEgressAction (20.36.2.10);
    LTR的答复出口TLV(21.9.9)的“出口操作”字段(21.9.9.1)中返回的枚举值。 枚举值在表21-32中列出。 值0表示LTR中未返回任何回复出口TLV
    k) ltrEgressAddress (20.36.2.11);
    出口端口上MP的MAC地址。 如果LTR中未返回任何回复出口TLV,则内容未定义
    l) ltrEgressPortIdSubtype (20.36.2.12);
    由IEEE Std 802.1AB-2005 [B3],第9.5.3.2节指定的枚举值,指示ltrEgressPortId的格式。 如果LTR中未返回任何回复入口TLV,则内容未定义
    m) ltrEgressPortId (20.36.2.13);
    由IEEE Std 802.1AB-2005 [B3],第9.5.9.5节指定的八位字节字符串,以ltrEgressPortIdSubtype中标识的格式标识出口端口。
    n) ltrSenderIdTlv (20.36.2.14); and
    如果LTR中存在一个八位位组字符串,标识在发送方ID TLV(21.5.3)中接收到的传输系统。
    o) ltrOrgSpecTlv (20.36.2.15).
    八位字节字符串,其中包含组织特定的TLV(21.5.2)(如果LTR中存在)

    1.7.4.32 MEP Linktrace Initiator procedures

    The following procedure is local to the MEP Linktrace Initiator:
    A ) xmitLTM() (20.37.1).
    每当调用“传输链接跟踪消息”管理操作(12.14.7.4)时,就会调用xmitLTM()。 如果在上层MEP上调用了该操作,它将使用以下M_UNITDATA.request在Active SAP或MEP LTI SAP上构造并传输LTM。 xmitLTM():
    a)将destination_address参数设置为表8-10中与MEP的MD级别相对应的值;
    b)将source_address参数和“原始MAC地址”字段(21.8.5)设置为MEP的MAC地址[项目12.14.7.1.3中的]。
    c)将优先级参数设置为与CCM相同的值[12.4.1.3中的项目h]];
    d)将nextLTMtransID [12.14.7.1.3中的项目ab]复制到LTM的LTM事务标识符字段(21.8.3);
    e)将LTM出口标识符TLV(21.8.8)设置为管理域中所有网桥之间唯一的值。
    f)从适当的管理对象[12.4.4.2中的项目c]设置目标MAC地址字段(21.8.6);
    g)从适当的管理对象[12.4.4.2中的项目d]中设置LTM TTL字段(21.8.4);
    h)将来自适当的管理对象[12.14.7.4.2中的项目b)的标志字段(21.8.1)的UseFDBonly位置,并将标志字段的所有其他位设置为0;
    i)根据受管理对象12.14.3.1.3中的项目e),12.4.1.3中的项目d)和12.14.6.1.3中的项目d)的控制,放置发件人ID TLV(21.5.3),在LTM中识别传输系统;
    j)在该LTM的ltmReplyList变量(20.36.2)中创建一个新条目,该条目由nextLTMtransID(20.36.1)中的LTM事务标识符标识;和
    k)将nextLTMtransID(20.36.1)加1,从2 32 – 1到0环绕。如果此LTM条目的增加将超过分配给ltmReplyList的资源,则删除ltmReplyList中最旧的LTM条目,直到有足够的资源为止。可用于容纳新的LTM条目

    1.7.4.33 MEP Linktrace Initiator receive variables

    The following variables are local to the MEP Linktrace Initiator receive state machine:
    a) LTRreceived (20.38.1); and
    布尔标志。 收到MEP MD级别的LTR时,由the MEP Equal OpCode Demultiplexer (19.2.7)进行设置。 由MEP Linktrace发起方清除接收状态机
    b) LTRPDU (20.38.2).
    结构体。 当接收到MEP的MD级别的LTR时,将MEP平等操作码解复用器(19.2.7)接收到的LTR PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载。

    1.7.4.34 MEP Linktrace Initiator receive procedures

    The following procedure is local to the MEP Linktrace Initiator receive state machine:
    A) ProcessLTR() (20.39.1).
    每当接收到LTR时,MEP Linktrace发起者接收状态机就会调用ProcessLTR()过程,并按如下方式处理LTRPDU变量中包含的LTR:
    a)如果LTR的destination_address与MEP的MAC地址不匹配,或者LTR未能通过20.46.4的验证标准,则ProcessLTR()将丢弃LTR而不对其进行计数,并且不进行进一步处理。
    b)否则,如果LTR事务标识符字段与ltmReplyList变量中的LTM条目匹配,则新的LTR条目将附加到该LTM条目,其中包含LTR中返回的信息。
    c)否则,[12.14.7.1.3中的项目ac]收到的意外LTR的数量将增加1。
    如果此LTR条目的添加将超过分配给ltmReplyList的资源,则ltmReplyList中最旧的LTM条目( 如果只有一个LTM条目,则将删除最早的LTR条目),直到有足够的资源来容纳新的LTR条目为止。

    1.7.4.35 MEP Linktrace Initiator receive state machine

    每个MEP Linktrace发起者实例化MEP Linktrace发起者接收状态机的一个实例。 MEP Linktrace发起方接收状态机实现图20-12中的状态图指定的功能,20.38中的变量以及20.39中的过程

    1.7.4.36 Linktrace Responder variables

    The following variables are local to the Linktrace Responder:
    a) nPendingLTRs (20.41.1);
    一个整数值,用于跟踪已被enqueLTR()排队发送但尚未由xmitOldestLTR()发送的LTR的数量。 可以通过clearPendingLTRs()重置为0;
    在这里插入图片描述

    b) LTMreceived (20.41.2); and
    LTM接收器状态机接收并清除有效LTM时设置的布尔值.
    c) LTMPDU (20.41.3).
    结构体。 当接收到MEP的MD级别的LTM时,将MEP平等操作码解复用器(19.2.7)接收的LTM PDU的M_UNITDATA.indication或EM_UNITDATA.indication参数加载。

    1.7.4.37 LTM Receiver procedures

    The procedures local to the LTM Receiver state machine are:
    A) ProcessLTM() (20.42.1);
    LTM接收器状态机在接收到LTM并处理LTMPDU中包含的LTM时由LTM接收者状态机调用,从而决定是否调用ForwardLTM()来转发LTM,以及是否调用enqueLTR()来排队LTR进行传输。 至20.3.2。 收到的LTM首先经过验证:
    a)ProcessLTM()根据20.46.3。验证收到的LTM。 如果LTM无效,则不执行进一步的验证步骤。
    a)否则,检查接收到的LTM的LTM TTL字段(21.8.4)。 如果其值为0,则LTM无效,并且不执行进一步的验证步骤。
    b)否则,如果LTM的destination_address参数是根据表8-10对应于LTM中MD级别字段的组地址,则LTM有效,并且不执行其他验证步骤。
    c)否则,如果两者都满足:
    1)LTM是从Linktrace SAP而不是通过其MEP LTI SAP发起的Up MEP接收的; 和
    2)LTM的destination_address参数是MEP的12.14.7.1.3中接收MP的Individual MAC地址[item i],MHF的桥接端口的MAC地址];
    则LTM有效。
    d)否则,LTM无效

    • LTM paths through a Bridge
      如果LTM有效,则根据以下子节进行处理。 否则,ProcessLTM()会丢弃LTM,并且不会进行进一步的处理。
      图20-13说明了LTM通过网桥采取的许多(但不是全部)可能的路径。 灰色圆圈表示LTM的处理以及LTM修改副本的可能转发。 LTR路径未显示。
      在这里插入图片描述

    注—图20-13中显示的所有MP都处于相同的MD级别。
    a)当LTM进入端口1时,它被MEP探测到,它通过MEP Linktrace SAP偏转到Linktrace响应器。
    b)当MTM进入端口2时,它被MHF检测到。它通过MHF Linktrace SAP偏转到Linktrace响应器,后者确定目标MAC地址将从端口1转发,该端口上有一个MEP。 LTM实际上没有转发到MEP。
    c)LTM在没有MHF的端口5上进入,并且由于它是组播,因此LTM通过帧过滤功能(8.6.3)分配到端口2、3、4和6。原始的未更改的LTM通过端口4。端口3中的Up MEP和端口2和6中的MHF将LTM传递给Linktrace响应器。 Linktrace Responder丢弃在端口2和3上收到的LTM,但通过端口6上的LOM转发LTM的更新版本。
    d)端口8上的Up MEP生成一个LTM,它转发给Linktrace响应器。 Linktrace响应程序决定通过端口7上的LOM转发LTM的更新版本。
    (Linktrace Responder可能也已经通过其他一些港口的MHF转发了它。)
    e)端口8上的Down MEP生成一个LTM,并将其通过其活动SAP传输到连接到端口8的LAN
    如果转发LTM,则会立即进行转发。 如果响应LTM生成了LTR,则将其排队,以供LTR发送器状态机稍后进行传输(20.45)

    • Ingress Port, vlan_identifier, and Egress Port determination
      在20.3.2和图20-13中,情况a)到情况e)都需要ProcessLTM()来确定此接收到的LTM的入口和出口。 入口端口是LTM通过MEP,MHF或LOM进入桥接器的桥接器端口。 在情况d)中,当LTM由Up MEP生成并通过MEP LTI SAP传递到Linktrace响应器时,入口端口是始发MEP的桥接端口。

    如果从EISS SAP收到,则接收到的LTM的vlan_identifier将包含在EM_UNITDATA.indication中。 如果从ISS SAP接收到,则接收到的LTM的vlan_identifier是在接收LTM的MEP,MHF或LOM中配置的vlan_identifier,或者如果没有,则是入口端口的PVID(6.7.1)。

    出口端口是网桥端口,在该端口上将转发数据帧,该数据帧的destination_address等于LTM中携带的目标MAC地址,并且其vlan_identifier与LTM的vlan_identifier相匹配。 该确定分两个步骤进行:
    a)ProcessLTM()首先查询筛选数据库(8.8)。 通常由主动拓扑实施(8.6.1)创建的潜在传输端口集是所有桥接端口的集合,这些桥接端口均处于LTM的vlan_identifier的活动集中,并且处于该vlan_identifier的转发状态, 除了入口端口不包含在集合中。 该查询使用LTM的“目标MAC地址”字段作为查找的destination_address,LTM的“原始MAC地址”字段作为source_address和LTM的vlan_identifier。 该查询的输出是一组(可能是减少的)潜在传输端口。 如果结果集仅包含一个桥端口,则该桥端口为出口端口,并且不执行项目b)。

    注1 —如果只有两个网桥端口是VLAN成员集的成员,而入口端口是这两个网桥端口之一,并且入口端口未连接到共享介质,则此步骤可以识别出出口端口 即使该vlan_identifier不使用过滤数据库。
    注2 —该查询不能产生与入口端口相同的出口端口,因为该入口端口不包括在潜在的传输端口集中。
    b)如果过滤数据库无法产生唯一的出口端口,并且为LTM的vlan_identifier服务的MP正在维护MIP CCM数据库,并且LTM的Flags字段的UseFDBonly位为0,则ProcessLTM()查询 MIP CCM数据库,以查看目标MAC地址和vlan_identifier是否已保留在该数据库中。 如果是这样,并且如果MIP CCM数据库中的端口号与入口端口不同,则该端口号将标识出口端口。

    这两个步骤都可能无法确定出口端口; 当无法确定唯一的出口端口时,永远不会转发LTM.

    +LTM is received by a Down MEP
    在图20-13中所示的20.42.1.1中的a)情况下,LTM由Down MEP接收,并通过其MEP Linktrace SAP(19.2.14)传递给Linktrace Responder。 在这种情况下,ProcessLTM()执行以下步骤:
    a)如果LTM中携带的目标MAC地址是接收MEP的MAC地址,则LTM已达到其目标。 ProcessLTM()调用enqueLTR()(20.42.4)来为接收到的Down MEP的MEP Linktrace SAP的LTR排队。
    b)否则,如果LTM的网桥端口和vlan_identifier的生成树状态未转发,则将丢弃LTM,并且不会进行进一步处理。
    c)否则,根据20.42.1.2确定入口和出口端口。 如果无法确定唯一的出口端口,则将丢弃LTM,并且不会进行进一步处理
    d)否则,即找到唯一的出口端口,ProcessLTM()调用enqueLTR()(20.42.4)来为接收LTM的Linktrace SAP的LTR排队。 LTM被丢弃,并且不再进行任何处理。

    • LTM is received by a Down MHF or originated by an Up MEP
      在第20.42.1.1页中的情况b)(如第173页的图20-13中所示)中,LTM由Down MHF接收。 在图20.-13中所示的20.42.1.1中的情况d)中,LTM由Up MEP发起。 无论哪种情况,ProcessLTM()都会执行以下步骤:
      a)如果LTM是由Up MEP生成的,则将跳过项目b)和项目c),然后继续进行项目d),如下所示。
      b)如果LTM中携带的目标MAC地址是接收MHF的MAC地址,则LTM已达到其目标。 ProcessLTM()调用enqueLTR()(20.42.4)来为接收LTM的Linktrace SAP的LTR排队。 LTM被丢弃,并且不再进行任何处理。
      c)否则,如果LTM的网桥端口和vlan_identifier的生成树状态未转发,则LTM将被丢弃,并且不会进行进一步处理。
      注意—此测试可防止在共享介质的备份端口上生成伪造的LTR。
      d)否则,根据20.42.1.2确定入口和出口。如果无法确定唯一的出口端口,则将丢弃LTM,并且不会进行进一步的处理。
      e)在三种情况下,需要进一步处理LTM,这取决于LTM通过出口端口时,带有LTM的vlan_identifier的帧是否会首先遇到Up MEP,Up
      MHF,或两者都不。这些在情况f),情况g),情况h)和情况i)中描述如下。
      f)如果在出口端口上遇到上行MHF,则:
      1)ProcessLTM()调用enqueLTR()(20.42.4)为出口端口Up MHF的MHF Linktrace SAP的LTR排队。
      2)如果LTM中携带的目标MAC地址是MHF的出口端口MAC地址,则LTM将被丢弃,并且不会进行进一步处理。
      3)否则,如果LTM TTL字段等于0或1,则将丢弃LTM,并且不会进行进一步处理。
      4)否则,ProcessLTM()调用ForwardLTM()(20.42.3),以在标识的出口端口上通过LOM的LOM Linktrace SAP转发LTM的更改副本。
      g)如果在出口端口上遇到LTM的MD级别的Up MEP,则:
      1)ProcessLTM()调用enqueLTR()(20.42.4)为入站端口Down MHF的MHF Linktrace SAP或Up MEP的MEP LTI SAP的LTR排队,后者将LTM传递给Linktrace响应器。
      2)LTM被丢弃,并且不再进行任何处理。
      h)否则,如果在出口端口上遇到高于LTM的MD级别的Up MEP,则LTM将被丢弃,并且不会进行进一步的处理。
      i)如果在出口端口上既不会遇到上行MHF,也不会遇到MD级别高于或等于LTM的上行MEP,则:
      1)ProcessLTM()调用enqueLTR()(20.42.4)为入站端口Down MHF的MHF Linktrace SAP的LTR排队。
      2)如果LTM TTL字段等于0或1,则将丢弃LTM,并且不会进行进一步处理。
      3)否则,ProcessLTM()调用ForwardLTM()(20.42.3),以通过LOM的LOM Linktrace SAP转发LTM的更改副本,该LTM的帧在通过标识的出口通过LTM的vlan_identifier时首先会遇到。

    • LTM is received by an Up MEP
      在图20.-13中所示的20.42.1.1中的情况c)中,LTM在没有MEP或MHF的桥端口上进入一个桥,因此只有一个LOM。因此,LTM可以由上行MEP(例如,图20-13的端口3上的MEP)接收。在Up MEP上收到的LTM的处理过程如下:
      a)如果LTM中携带的目标MAC地址是接收MEP的MAC地址,则LTM已达到其目标。 ProcessLTM()调用enqueLTR()(20.42.4)为接收Up MEP的MEP Linktrace SAP的LTR排队。 LTM被丢弃,并且不再进行任何处理。
      b)否则,根据20.42.1.2确定入口和出口。如果无法确定出口端口,或者如果出口端口不是配置接收MEP的网桥端口,则LTM将被丢弃,并且不会进行进一步处理。
      c)否则,(即,出口端口是接收上行MEP的端口)ProcessLTM()调用enqueLTR()(20.42.4)来排队接收上行MEP的MEP Linktrace SAP的LTR。然后将LTM丢弃。

    • LTM is received by an Up MHF
      在图20.-13中所示的20.42.1.1中的情况c)中,LTM在没有MEP或MHF的桥端口上进入一个桥,因此只有一个LOM。 因此,LTM可以由上行MHF接收,例如图20-13的端口2和端口6上的MHF。 在Up MHF上收到的LTM的处理过程如下:
      a)如果LTM中携带的目标MAC地址是接收Up MHF的MAC地址(即该MHF所在的网桥端口的MAC地址),则LTM已达到其目标。 ProcessLTM()调用enqueLTR()(20.42.4)为接收Up MHF的MHF Linktrace SAP的LTR排队。 LTM被丢弃,并且不再进行任何处理。
      b)否则,根据20.42.1.2确定入口和出口。如果无法确定出口端口,或者如果出口端口不是配置接收MHF的网桥端口,则LTM将被丢弃,并且不会进行进一步处理。
      c)否则:
      1)ProcessLTM()调用enqueLTR()(20.42.4)为接收Up MHF的MHF Linktrace SAP的LTR排队。
      2)如果LTM TTL字段等于0或1,则将丢弃LTM,并且不会进行进一步处理。
      3)否则,ProcessLTM()调用ForwardLTM()(20.42.3),以在与接收LTM的上行MHF相同的桥端口上,通过LOM的MHF Linktrace SAP转发LTM的更改副本。

    B) clearPendingLTRs() (20.42.2);
    清除此MP的暂挂LTR队列。 将nPendingLTR重置为0。

    C) ForwardLTM() (20.42.3); and
    构造并传输一个LTM。 使用原始输入LTM和要通过其输出LTM(LTR)的Linktrace响应器SAP,ForwardLTM():
    a)使用拥有指定用于输出的SAP的LOM的MAC地址作为LTM的source_address参数;
    b)使用输入LTM的destination_address和优先级参数作为转发的LTM的destination_address和优先级;
    c)将转发的LTM的drop_eligible参数设置为false;
    d)使用与接收到的LTM一起提供的转发LTM的vlan_identifier参数相同的值;
    e)从输入LTM到转发的LTM,逐字复制所有字段和TLV(无论Linktrace响应者是否知道),但ForwardLTM()除外:
    1)在输入的LTM TTL字段中放入来自输入LTM TTL字段的值减1;
    2)更改LTM出口标识符TLV中的值以标识转发Linktrace响应器;
    3)删除发件人ID TLV(21.5.3)(如果LTM中存在); 和
    4)(可选)在LTM中放置一个用于标识转发系统的发件人ID TLV(21.5.3); 和
    f)在指定的SAP上传输转发的LTM。

    D) enqueLTR() (20.42.4).
    构造并排队单个LTR,以便稍后通过xmitOldestLTR()进行传输。 使用要通过其输出LTR的输入LTM和Linktrace响应器SAP,enqueLTR():
    a)使用拥有指定用于输出的SAP的MP的MAC地址作为LTR的source_address;
    b)使用LTM的原始MAC地址字段中包含的MAC地址作为LTR的destination_address;
    c)如果LTR包括一个答复出口TLV [请参阅以下项目p)],则将该出口上的MP的主VID用作LTR的vlan_identifier,否则它将使用入口上MP的主VID。作为LTR的vlan_identifier;
    d)将优先级参数设置为与CCM相同的值[12.4.1.3中的项目h]];
    e)在版本字段中放置自己的版本;
    f)如果它自己的版本低于接收到的LTM的版本,则设置发送的PDU中所有以其自己的版本保留的位和字段,包括为自己的版本定义的最后一个报头字段部分与第一个TLV,为0;
    g)如果LTM是由Linktrace Responder转发的,则将Flags字段的FwdYes位设置为1;否则,将其设置为0。
    h)如果在回复入口TLV或回复出口TLV中报告的MP是MEP,则将标志字段的TerminalMEP位设置为1;否则将其设置为0;
    i)从LTM到LTR复制除FwdYes位和TerminalMEP位之外的Flags字段;
    j)将LTM交易标识符字段从LTM复制到LTR的LTR交易标识符字段;
    k)将LTM出口标识符TLV(21.8.8)值从LTM复制到LTR出口标识符TLV的最后出口标识符字段(21.9.7.1),如果没有LTM出口标识符TLV,则在该字段中放置0。在收到的LTM中(见J.4);
    l)将LTR出口标识符TLV的“下一个出口标识符”字段(21.9.7.2)设置为标识转发Linktrace响应器的值(请参阅21.8.8);
    m)在LTR的Reply TTL字段中,将LTM的LTM TTL字段中的值减去一;
    n)根据表21-27设置中继动作字段;
    o)如果Down MEP或Down MHF没有收到LTM,则不要在LTR中放置回复入口TLV;除此以外:
    1)根据表21-30,用适当的值填充Reply Ingress TLV(21.9.8)的Ingress Action字段;
    2)将接收方MP的MAC地址放置在Reply Ingress TLV的Ingress MAC Address字段中;和
    3)(可选)用接收方MP的端口ID信息填充回复入口TLV;
    p)如果LTM被Down MEP接收到,或者未标识出出口端口,或者在出口端口上未配置属于LTM MA的Up MEP或Up MHF,则不会在LTR中放置答复出口TLV ; 除此以外:
    1)根据表21-32,用适当的值填充Reply Egress TLV(21.9.9)的Egress Action字段;
    2)将出口端口的Up MP的MAC地址放在LTM中的答复出口TLV的出口MAC地址字段中; 和
    3)(可选)用“出口端口”的“端口ID”信息填充“答复出口” TLV的其余部分;
    q)根据受管理对象12.14.3.1.3中的项目e),12.4.1.3中的项目d)和12.14.6.1.3中的项目d)的控制,放置发件人ID TLV(21.5.3), 在LTM中标识答复网桥;
    r)逐字复制将输入LTM中的所有其他TLV复制到LTR,但发件人ID TLV(21.5.3)除外,该副本未复制; 和
    s) Increments nPendingLTRs by 1.

    1.7.4.38 LTM Receiver state machine

    LTM接收器状态机的一个实例由Bridge的Linktrace Responder实例化。 LTM接收器状态机实现图20-14中的状态图指定的功能,20.41中的变量以及20.42中的过程。
    在这里插入图片描述

    1.7.4.39 LTR Transmitter procedure

    a) xmitOldestLTR() (20.44.1):当且仅当nPendingLTR不为零时,才使单个LTR出队并发送,并将nPendingLTR减1。

    1.7.4.40 LTR Transmitter state machine

    LTR发送器状态机的一个实例由Bridge的Linktrace Responder实例化。 LTR发送器状态机实现图20-15中的状态图指定的功能,20.41中的变量以及20.42中的过程:

    在这里插入图片描述

    此状态机执行(20.3.2)的要求,即在接收LTM之后等待随机的时间间隔,然后再通过自由运行的1 s计时器发送LTR,该计时器的到期时间将触发所有LTR传输。 此方法避免了为每个收到的LTM创建和管理计时器的需要。 可以使用满足20.3.2要求的任何其他实现方式来代替此状态机。

    1.7.4.41 CFM PDU validation and versioning

    本小节的目的是陈述CFM关于本标准与本标准未来版本之间的关系要实现的特定目标,并定义实现这些目标所必需的程序。

    • Goals of CFM PDU versioning
      CFM关于该版本与本标准未来版本之间的关系的目标是确保:
      a)本标准的实现将与本标准未来版本的实现互操作;
      b)实施者将能够通过增强的功能为该标准提供专有的非标准扩展; 和
      c)符合本标准但扩展的实施方式将不会限制本标准将来版本扩展标准功能的能力。

    • PDU transmission
      为了确保将来的连通性故障管理版本与该标准的实现兼容,对传输的CFM PDU提出了某些要求:
      a)固定报头字段应严格按照本标准的规定进行发送。
      b)在本标准中定义为“保留”的所有比特,例如“标志”字段中未使用的比特,应被发送为0。
      c)不应将附加字段添加到本标准规定的固定报头中。
      d)在本标准或ITU-T Y.1731(2006)中保留的代码点,例如,固定报头中的OpCode字段(表21-4),TLV中的Type字段(表21- 6)或表21-19中维护域名格式的保留值,不得在任何CFM PDU中发送。
      e)不应将附加字段添加到本标准规定的任何TLV中。
      特定于组织的TLV可以由拥有OUI的任何组织定义,并且可以发送
      通过符合本标准的实施方式

    • PDU validation
      未通过某些指定测试的CFM PDU被MP丢弃。 此处将此需求描述为两遍处理算法,首先是验证遍历,然后是执行遍历。 首先执行验证过程。 当且仅当成功时,才执行执行通过。 该描述不排除其他算法。 例如,MP可以一次处理CFM PDU,建立受影响的状态机和数据库的暂定更改列表,并仅在处理成功后才提交更改。 然而,从本节中描述的两次通过算法的外部可观察到的行为(即管理对象和协议数据包)的角度来看,这种实现的行为应是无法区分的。

    • Validation pass
      内容详见文档

    • Execution pass
      内容详见文档

    • Future extensions
      内容详见文档

    1.7.4.42 PDU identification

    接收到的CFM PDU与特定的MP相关联。 每个数据帧,包括一个承载CFM PDU的数据帧,都具有某种显式或隐式方式,接收机可以通过该方式将该帧与特定服务实例相关联。 在不支持VLAN的网桥中,只有一个服务实例。 在支持VLAN的网桥中,vlan_identifier(6.8)标识服务实例。 选择用于处理接收的CFM PDU的适当接收MP的方式是:
    1)接收CFM PDU的方向(PHY侧或MAC中继实体侧);
    2)框架与特定服务实例(vlan_identifier)的隐式或显式关联; 和
    3)CFM标头中的MD级别字段。

    一旦包含CFM PDU的帧已传递到MP中的适当实体,就可以使用destination_address来决定要处理还是丢弃CFM PDU,如下
    在每个实体的说明中指定。

    MAID和/或维护关联端点标识符字段不用于标识接收MP。 因此,如果特定的网桥使用了个别MP地址模型(请参阅J.6),并且每个MP使用其网桥端口的单独MAC地址,则VID,MD级别和流向将唯一地标识接收MEP。 如果网桥使用了共享MP地址模型,以便网桥中的Up MP可以共享MAC地址,则作为LBM目标的特定网桥端口可能确实模棱两可。 这种歧义性使设计人员可以将详细信息的价值与获得该信息的成本进行交易

    1.7.4.43 Use of transaction IDs and sequence numbers

    每个CCM,LBM和LTM都有一个字段(21.6.3、21.7.3和21.8.3),该字段对于每种类型传输的每个PDU递增,因此连续传输的PDU按数字顺序。 控制这些字段的变量是CCIsentCCM(对于CCM为20.10.2),nextLBMtransID(对于LBM为20.28.2)和nextLTMtransID(对于LTM为20.36.1)。

    从理论上讲,网桥中的每个MEP都有一个CCIsentCCMs变量,一个nextLBMtransID变量和一个nextLTMtransID变量,独立于其他所有MEP。 因此,只要它们具有不同的MAC地址,单个网桥中的任意数量的MEP都可以传输独立的LBM和LTM流。 (如果它们具有相同的MAC地址,则无法将彼此的LBR和LTR区分开。)

    实际上,这些变量及其对应的状态机的实例可能少于每个MEP实例一个。 第12条中的受管理对象,特别是MEP的LBR计数器的定义[项目y](12.14.7.1.3)和项目z)[12.14.7.1.3],以及对“发送回送消息”命令的响应(12.14.7.3) .3),以便可以实现从一台到多台MEP的任何数量的MEP Loopback Initiator发送状态机。 每个状态机都可以增加其自己的nextLBMtransID变量,以确定下一个传输的回送事务标识符字段。 同样,对“发送链接跟踪消息”命令(12.14.7.4.3)允许的响应为实现的nextLTMtransID变量的数量提供了相同的范围。 然后,同一桥中的不同MEP可以连续而不是同时使用用于传输LTM或LBM流的资源。

    另一方面,每个正在递增其CCIsentCCMs变量的MEP都有该变量的实例,因此也具有自己的MEP连续性检查启动器状态机,因为接收那些CCM的远程MEP状态机正在独立跟踪每个MEP的CCM序列。 MEP还可以在每个CCM的序列号字段中发送0。

    CFM工作机制

    CFM基本功能包括连通性检测(CC)、环回功能(LB)和链路跟踪功能(LT)。

    连通性检测(CC)

    连通性检测功能用来检测维护端点之间的连通状态,由维护端点MEP周期性的发送CCM(Continuity Check Message)组播报文,相同维护联盟的其他维护端点接收该报文。当维护端点在3个超时周期内未收到源端维护端点发送的CCM报文,则认为链路有问题。

    在这里插入图片描述

    具体的实现过程为:

    1. CCM的产生

      CCM由MEP产生并发送。如图所示,MEP1、MEP2和MEP3是同一个MA的3个MEP。当使能了CCM发送功能后,MEP1定期以组播方式向MEP2和MEP3发送CCM。同样,MEP2以相同的周期向MEP1和MEP3发送CCM,MEP3也以相同的周期向MEP1和MEP2发送CCM。

      CCM中携带有该CCM的级别信息。CCM的级别等于发送该CCM的MEP的级别。

    2. MEP数据库的建立

      每个启动了以太网CFM功能的设备上都有一个MEP数据库。MEP数据库中记录着本设备上的MEP(即本地MEP)和同一MA内的其它设备上的MEP(即远端MEP)。本地MEP和远端MEP均由用户手工配置后由设备自动记入MEP数据库。

    3. 故障判定

      如果某个MEP连续3个CCM发送周期没有接收到另一个远端MEP发送的CCM,则认为链路有问题。会输出日志报告,用户可以通过环回功能或链路跟踪功能来进行故障区间的定位。当维护域内的多个MEP在发送CCM报文时,就实现了多点到多点之间的链路检测。

    4. CCM终结

      CCM由MEP产生也由MEP终结。当MEP接收到大于自身级别的CCM时,继续转发该CCM;当MEP接收到小于或等于自身级别的CCM时,不再转发该CCM,以确保低级别MD内的CCM不会扩散到高级别MD中。

    环回功能(LB)

    环回功能即802.1ag MAC Ping功能与IP层的Ping类似,用于验证本地设备与远端设备之间的连接状态。

    由MEP发起,目的节点可以是同一MA内的或不同MA内的,与发起节点级别相同的MEP或MIP。指定地址的MP收到LBM(Loopback Message)后,将向源MEP回应LBR(Loopback)。故障位置前的MP能够响应环回消息,而故障位置后的MP不能够响应环回消息,从而实现故障的定位。LBM和LBR均为单播报文。

    下面以[图4-1]为例,介绍环回功能实现的具体过程。

    在这里插入图片描述

    PE1和PE4之间建立端到端的CFM,MD的级别为6,PE2和PE3设备上存在两个级别为6的MIP节点。当发现PE1到PE4之间链路故障或者通过CC检测到PE1到PE4之间链路发生故障时,可以采用如[图4-2]所示的方式定位故障点。

    图4-2 环回功能流程示意图
    在这里插入图片描述

    另外,发起端MEP1还可以根据802.1ag MAC Ping操作时的回显结果,计算出网络的时延;或者发起端发送多个LBM,观察LBR的返回情况,从而了解网络的丢包情况。

    链路跟踪功能(LT)

    链路跟踪功能即802.1ag MAC Trace与Traceroute类似,用于确定源端到目的维护端点的路径。

    由MEP发起,目的节点可以是同一MA内的或不同MA内的,与发起节点级别相同的MEP或MIP。源端MEP构造LTM消息帧,发送到目的MP。在转发到目的MEP或者MIP的过程中,MIP会回复LTR,同时转发LTM,到达目的MEP则终止LTM的转发同时回复LTR。这样,远端MEP就会得到整个路径的信息。LTM是组播报文,LTR是单播报文。

    图4-3 链路跟踪功能示意图
    在这里插入图片描述

    下面以[图4-3]为例,介绍链路跟踪功能实现的具体过程。

    1. MEP1向MEP2发送LTM(Linktrace Message)消息。LTM消息中包含有TTL(Time to Live)和目的节点MEP2的MAC地址。

    2. 当LTM到达MIP1时,MIP1将LTM中的TTL字段的值减1,若此值为0不再转发,否则继续转发该LTM。同时向MEP1回复LTR(Linktrace Reply)。LTR中还携带了分析报文路径的转发信息和收到的LTM报文的TTL字段。

    3. MIP2和MEP2收到LTM后,会做和MIP1相同的处理。但是,由于根据LTM中携带的目的节点MAC地址MEP2可以判断出自己
      是LTM的目的节点,因此MEP2不会再转发该LTM。

    4. MEP1接收到MIP1、MIP2、MEP2回复的LTR后,根据LTR携带的信息即可得到从MEP1到MEP2的转发路径。

      如果MEP1到MEP2之间的路径有故障,则故障点下游的MEP或MIP将无法收到LTM,也不会回复LTR,可据此判定故障点的位置。例如当MEP1到MIP2之间的路径正常,而MIP2和MEP2之间的路径有故障时,MEP1可以收到MIP1、MIP2回复的LTR,但收不到MEP2回复的LTR,于是可判定MIP2和MEP2之间的链路或设备有故障。

    CFM告警

    CFM用于端到端链路的连通性检测,当检测到故障时,会触发告警上报网管,便于网络管理员对故障做出及时处理。

    告警防抖动

    当网络不稳定时,如果以太网CFM已经启动故障连通性检测功能,在较短的时间内将有大量的告警和告警恢复产生。这些告警将会占用大量的系统资源,会影响到系统性能。可以通过调整RMEP激活时间,防止错误告警的产生;通过告警防抖动功能减少告警数量。

    表5-1 告警防抖动功能说明

    功能点 说明
    aaaaaaaaaaaaaaa
    RMEP激活时间 RMEP激活时间能够防止误告警的产生。它实际上是预留给用户对RMEP配置的时间。若本端设备上配置了RMEP的激活时间,当在本端设备上使能接收某个RMEP的CCM报文功能后,等待RMEP的激活时间到达后,本端才开始接收CCM报文。如果RMEP时间到达后,MEP连续3个CCM周期没有收到RMEP发送的CCM报文,则认为发生了连通性故障,本端设备上将会产生连通性故障告警。
    告警产生防抖时间 当MEP检测到连通性故障时:1. 在告警产生防抖时间到后,上报对应的告警。2. 告警产生防抖时间内,如果告警恢复,则不会上报任何告警。
    告警恢复防抖时间 当MEP检测到连通性故障并上报告警后:1. 告警恢复的防抖时间内,如果MEP不再检测到连通性故障,则告警防抖时间到后上报告警恢复。2. 告警恢复的防抖时间内,如果MEP再次检测到连通性故障,则不会上报告警恢复。

    告警抑制

    在网络中,多种故障可能同时产生,因此,多种告警也可能同时产生。CFM的告警抑制功能的原理是:当多种告警同时产生时,只上报最高级别的告警。当最高级别的告警恢复后,如果低级别的告警仍然存在,则继续上报当前存在的最高级别的告警。如此反复,直至系统中不再有告警。

    告警抑制的作用在于:

    • 一般情况下,高级别的告警对应网络中比较严重的问题,需要用户优先解决。

    • 同一个问题可能产生多种告警,这些告警的级别可能不相同。当最高级别的告警恢复后,当前系统中由相同问题产生的所有低级别的告警可能都会恢复。

    术语与缩略语

    术语

    缩略语 含义 中文注释
    aaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa
    Active SAP The SAP, bounding an MP, that is on the side of the MP towards the monitored MA. MP的边界节点
    Connectivity Fault Management (CFM) Connectivity Fault Management comprises capabilities for detecting, verifying, and isolating connectivity failures in Virtual Bridged Local Area Networks. 连接故障管理包含用于检测,验证和隔离虚拟桥接局域网中的连接故障的功能。
    Continuity Check Message (CCM) A multicast CFM PDU transmitted periodically by a MEP in order to ensure continuity over the MA to which the transmitting MEP belongs. No reply is sent by any MP in response to receiving a CCM 连续性检查消息(CCM):由MEP定期发送的多播CFM PDU,以确保在发送MEP所属的MA上具有连续性。 任何MP都不会响应收到CCM来发送答复
    Domain Service Access Point (DoSAP) A member of a set of SAPs at which a Maintenance Domain is capable of offering connectivity to systems outside the Maintenance Domain. Each DoSAP provides access to an instance either of the EISS or of the ISS 维护域能够提供到维护域外部系统的连接的一组SAP的成员。 每个DoSAP提供对EISS或ISS实例的访问
    Down MEP A MEP residing in a Bridge that receives CFM PDUs from, and transmits them towards, the direction of the LAN. 下行MEP:驻留在网桥中的MEP,用于从LAN方向接收CFM PDU并将其发送给LAN。
    Down MP A MEP or an MHF residing in a Bridge that receives CFM PDUs from, and transmits them towards, the direction of the LAN. 下行MP:位于网桥中的MEP或MHF,用于从LAN方向接收CFM PDU并将其发送到LAN方向。
    Intermediate Service Access Points (ISAP) A SAP, interior to a Maintenance Domain, through which frames can pass in transit from DoSAP to DoSAP. 中间服务访问点(ISAP):维护域内部的SAP,框架可以通过该SAP从DoSAP传输到DoSAP。
    Linktrace Message (LTM) A CFM PDU initiated by a MEP to trace a path to a target MAC address,forwarded from MIP to MIP, up to the point at which the LTM reaches its target, a MEP, or can no longer be forwarded. Each MP along the path to the target generates an LTR. Linktrace消息(LTM):由MEP启动的CFM PDU,用于跟踪从MIP到MIP的目标MAC地址的路径,直到LTM到达其目标,MEP或不再转发为止。 沿目标路径的每个MP都会生成LTR。
    Linktrace Reply (LTR) A unicast CFM PDU sent by an MP to a MEP, in response to receiving an LTM from that MEP. Linktrace回复(LTR):MP响应于从MEP接收到LTM而发送给MEP的单播CFM PDU。
    Loopback Message (LBM) A unicast CFM PDU transmitted by a MEP, addressed to a specific MP,in the expectation of receiving an LBR. 环回消息(Loopback Message,LBM):由MEP发送的单播CFM PDU,寻址到特定的MP,以期接收到LBR。
    Loopback Reply (LBR) A unicast CFM PDU transmitted by an MP to a MEP, in response to an LBM received from that MEP. 回送答复(LBR):MP响应于从MEP接收到的LBM,由MP发送到MEP的单播CFM PDU。
    Maintenance Association (MA) A set of MEPs, each configured with the same MAID and MD Level, established to verify the integrity of a single service instance. An MA can also be thought of as a full mesh of Maintenance Entities among a set of MEPs so configured. 维护联合(MA):一组MEP,每个MEP都配置有相同的MAID和MD级别,用于验证单个服务实例的完整性。 MA也可以认为是在如此配置的一组MEP中维护实体的完整网格。
    Maintenance association End Point (MEP) An actively managed CFM entity, associated with a specific DoSAP of a service instance, which can generate and receive CFM PDUs and track any responses. It is an end point of a single MA and is an end point of a separate Maintenance Entity for each of the other MEPs in the same MA 维护关联端点(MEP):与服务实例的特定DoSAP相关联的主动管理的CFM实体,可以生成和接收CFM PDU并跟踪任何响应。 它是单个MA的端点,并且是同一MA中每个其他MEP的单独维护实体的端点
    Maintenance association End Point Identifier (MEPID) A small integer, unique over a given MA,identifying a specific MEP. 维护关联端点标识符(MEPID):在给定的MA上唯一的小整数,标识特定的MEP。
    Maintenance Association Identifier (MAID) An identifier for a Maintenance Association, unique over the domain that CFM is to protect against the accidental concatenation of service instances. The MAID has two parts: the Maintenance Domain Name and the Short MA Name 维护关联标识符(MAID):维护关联的标识符,在CFM用来防止服务实例的意外连接的域上唯一。 MAID有两个部分:维护域名和简称MA名称
    Maintenance C-VLAN One C-VLAN, among a number of C-VLANs carried over a single service instance, that is used for CFM PDUs. 维护C-VLAN:在单个服务实例上承载的多个C-VLAN中的一个C-VLAN,用于CFM PDU。
    Maintenance Domain The network or the part of the network for which faults in connectivity can be managed. The boundary of a Maintenance Domain is defined by a set of DoSAPs, each of which can become a point of connectivity to a service instance. 维护域:可以管理连接故障的网络或网络的一部分。 维护域的边界由一组DoSAP定义,每个DoSAP都可以成为与服务实例的连接点。
    Maintenance domain Intermediate Point (MIP): A CFM entity consisting of two MHFs. 维护域中间点(MIP):由两个MHF组成的CFM实体。
    Maintenance Domain Name The identifier, unique over the domain for which CFM is to protect against accidental concatenation of service instances, of a particular Maintenance Domain. 维护域名:特定维护域的标识符,该标识符在CFM要防止服务实例的意外串联的域上唯一
    Maintenance Entity (ME) A point-to-point relationship between two MEPs within a single MA. 维护实体(ME):单个MA中两个MEP之间的点对点关系
    Maintenance Point (MP) One of either a MEP or a MIP. 维护点(MP):MEP或MIP之一。
    MD Level A small integer in a field in a CFM PDU that is used, along with the VID in the VLAN tag,to identify to which Maintenance Domain among those associated with the CFM frame’s VID, and thus to which MA, a CFM PDU belongs. The MD Level determines the MPs that are a) interested in the contents of a CFM PDU, and b) through which the frame carrying that CFM PDU is allowed to pass. MD级别:CFM PDU字段中的一个小整数,与VLAN标记中的VID一起使用,用于标识与CFM帧的VID相关联的维护域中的哪个维护域,以及CFM PDU与哪个MA 属于)对CFM PDU的内容感兴趣,以及b)允许携带CFM PDU的帧通过。
    MEP CCM Database A database, maintained by every MEP, that maintains received information about other MEPs in the Maintenance Association. MEP CCM数据库:每个MEP维护的数据库,用于维护维护协会中其他MEP的已接收信息。
    MIP CCM Database A database, maintained optionally by a MIP or MEP, that maintains received information about the MEPs in the Maintenance Domain. MIP CCM数据库:由MIP或MEP可选维护的数据库,用于维护在维护域中有关MEP的接收信息。
    MIP Half Function (MHF) A CFM entity, associated with a single Maintenance Domain, and thus with a single MD Level and a set of VIDs, that can generate CFM PDUs, but only in response to received CFM PDUs. MIP半功能(MHF):一个CFM实体,与单个维护域关联,因此与单个MD级别和一组VID关联,可以生成CFM PDU,但仅响应收到的CFM PDU。
    Passive SAP The SAP, bounding an MP, that is on the side of the MP away from the monitored MA. 被动SAP:SAP,它是MP的边界,位于MP中远离受监视的MA的一侧。
    Primary VID The VID, among a list of VIDs associated with a service instance, on which all CFM PDUs generated by MPs except for forwarded LTMs are to be transmitted. 主VID:与服务实例相关联的VID列表中的VID,在该VID上将传输MP生成的所有CFM PDU(转发的LTM除外)。
    Service Access Point (SAP) The point at which a service is offered. 服务访问点(SAP):提供服务的点。
    Short MA Name The part of the MAID that is unique within the Maintenance Domain and is appended to the Maintenance Domain Name to form the MAID. 简短的MA名称:MAID的一部分,在维护域中是唯一的,并附加到维护域名中以形成MAID。
    Up MEP A MEP residing in a Bridge that transmits CFM PDUs towards, and receives them from, the direction of the Bridge Relay Entity. 上行MEP:驻留在网桥中的MEP,该MEP向网桥中继实体的方向发送CFM PDU并从网桥中继实体的方向接收CFM PDU。
    Up MP A MEP or an MHF residing in a Bridge that transmits CFM PDUs towards, and receives them from, the direction of the Bridge Relay Entity. Up MP(上行MP):驻留在网桥中的MEP或MHF,用于向网桥中继实体的方向发送CFM PDU并从网桥中继实体的方向接收CFM PDU。

    缩略语

    缩略语 英文全称 中文全称
    EFM Ethernet in the First Mile 以太网最后一公里
    OAM Operation Administration & Maintenance 运维管理
    MD Maintenance Domain 维护域
    MA Maintenance Association 维护联合
    MEP Maintenance association End Point 维护终结点
    MIP Maintenance association Intermediate Point 维护中间结点
    CCM Continuity Check Message
    CFM Connectivity Fault Management
    DoSAP Domain Service Access Point
    ISAP Intermediate Service Access Point
    LBM Loopback Message
    LBR Loopback Reply
    LMI Layer Management Interface
    LOM Linktrace Output Multiplexer
    LTM Linktrace Message
    LTR Linktrace Reply
    ME Maintenance Entity
    MAID Maintenance Association Identifier
    MEPID Maintenance association End Point Identifier
    MHF MIP Half Function
    MP Maintenance Point
    MSAP MAC Service Access Point
    展开全文
  • 以太网方案

    千次阅读 2016-04-27 15:39:04
    以太网进攻工业控制成为必然趋势传统的以太网直接进入工业控制领域目前还存在一些问题,主要是因为 以太网是为办公自动化设计的,并没有考虑到工业应用的要求。首先以太网的媒体访问方式 CSDA/CD 不能保证网络传输...

    转载自:http://share.xyz9981.info/?p=5088&ckattempt=1


    嵌入式以太网的趋势

    最理想的是嵌入式web服务器

    以太网进攻工业控制成为必然趋势传统的以太网直接进入工业控制领域目前还存在一些问题,主要是因为
    以太网是为办公自动化设计的,并没有考虑到工业应用的要求。首先以太网的媒体访问方式 CSDA/CD 不能保证网络传输的确定性,也就是说以太网不具有实时性。其次以太网所用的接插件、集线器、交换机和传输介质等设备不能满足工业现场恶劣环境的要求。再次,以太网还不具备通过信号线向现场仪表供电的性能。 随着网络技术的发展,上述问题正在迅速得到解决,为以太网进入工业控制领域铺平了道路,为以太网直接应用于工业现场设备间通信提供了技术可能。

    以太网方案 MCU+集成MAC控制器/PHY收发器的独立芯片

    MCU+ ENC28J60   ENC424J600/ENC624J600

    实现简单

    据称ENC28J60也发热

    //enc28j60支持DMA方式传输数据  速度应该能符合要求,MCU速度快的话,UDP能达到500KB/秒的速度,这个数据是有人测过的。
    只是这个芯片功耗较大,有发热的毛病,设计时需加强3.3V供电的富余。
    //ENC28J60大概20几块钱可以买到,可以到贝能去申请样片

    //
    Microchip的ENC28J60采用SPI方式控制,所以整个电路较为简单,对于小型应用比较有优势,成本也较好控制。

    这里有一个例子,采用了一片Mega88和一片ENC28J60
    http://tuxgraphics.org/electronics/200606/article06061.shtml#06061lfindex12
    源代码开放,支持UDP,提供了测试代码

    源代码现在已经升级到2.4版了,下面是下载:
    点击此处下载ourdev_175219.rar(文件大小:134K)
    //有DIP封装的方便做实验中
    //我是在taobao找到的,价格是25元一片

    MCU+ENC28J60 //数据量太大了,enc28j60不知道能胜任否,他的spi口理论上是10m的。每秒192K字节,串行的话要大于2M的单向流量,mcu和enc28j60通过spi的交互,感觉有些吃力。 我没用过enc28j60。

    MAC控制器/PHY收发器全集成于CPU的方案

    • 完全一体化 PIC18F97J60 系列  PIC18F97J60 系列带有以太网模块的64/80/100 引脚高性能1 Mb 闪存单片机
    • 瑞萨科技公司宣布推出SuperH 32位RISC微处理器——SH7619。该处理器具有以太网物理层(PHY)收发器和以太网控制器
    • CS8900a。他是一个真正的单芯片,全双工以太网解决方案。本身集成了由MAC层到PHY层所有的逻辑功能,包括了一个以太网电路所必需的所有的模拟和数字电路。芯片可以自动检查连接状态,单独进行载波侦听、冲突检测、错误重传以及自动填充、CRC校验等功能。对于处理器来说,对网络芯片的访问和控制,如同一段内存空间或者是分配的几个I/O空间一样。集成了一个4 kB的片上存储器,用于临时保存发送和接收到的物理帧以及内部寄存器的值,从而减轻了CPU的负担,简化了软件的复杂度。CS8900A 还支持软件复位,当由于某些预料之外的事件发生,致使芯片功能紊乱网络通信阻断,可通过软件复位重新启动网络通信功能,保证网络通信的健壮性。

     

    由于PHY是数模混合的,集成在一起,性能不是太高,也可能存在发热现象

    PIC18F97J60
    //如果这个片子足够便宜(35~40元)完全可以取代PIC/51+8019+RAM,如果比较贵(>50元),那我还是倾向于ARM+ENC28J60(26元左右)了
    //淘宝上见26元

    //据称比较发热

    集成MAC控制器的MCU+收发器方案

    • PIC32 +PHY收发器

    此方案具有普适性,性能也能提高

    PHY整合了大量模拟硬件,而MAC是典型的全数字器件。芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合

    也可以使用外部MAC/PHY芯片,常常将这种芯片直接连到处理器的异步存储器接口。虽然以太网MAC/PHY组合芯片的价格持续下降,已达到几乎与独立PHY芯片相当的程度,但其传输速率无法与集成MAC加外部PHY解决方案相比。这是因为,内部MAC通常与系统DMA通道相连,可以设置为发送或接收数据,与内核处理器的交互极少。内部MAC控制器一般可以实现接近于线路速度的性能,具体取决于协议。

    半导体厂商搞集成还考虑到一旦集成则只能买单一市场;MAC层是数码电路,PHY层須要模拟电路,兩个集成在一起須要特別工艺,价钱较高.PHY层分工业级或商用,家用,及光纤等..因此集成在一起只能卖单一市場.

    PIC32+PHY
    //107 + 国半dp83848。手册还有其他建议芯片,我觉得这个83848是个久经考验芯片。
    我:性能上当然这个强了,可以后续考虑考虑在里面嵌入web服务器
    dp83848是很多评估板上都推荐的
    //dp83848见淘宝上也要十几块
    //价格:DP83848大概比DM9161贵七到八块,从成本上考虑用DM9161好。

    性能:DP83848的网络传输距离为120米,DM9161为100米内,DP83848适用于恶劣的工业环境。

    使用:Keil、IAR、FreeRTOS等提供的网络程序全部用DP83848做为驱动片子,网络方面的程序根本就是拿来主义不需要修改,尤其是keil提供的协议栈调用方式上和VC上的SOCK编程差不多;如果使用DM9161,需要自己编写驱动程序,据了解到现在还没有一个让人觉得放心的程序出来。

    呵呵!总的来说老板想用DM9161,员工想用DP83848。

    //   DM9161AEP,但是这个芯片是商业级的,长时间工作之后很容易出现问题
    工业级的DP83848I

    ------------//PIC32MX5/6/7系列中
    H系列(64引脚)比L系列(100引脚)引脚少,少了一些SPI等资源

    PIC32MX675F512H 64脚 数据空间最少 官网参考价格1-25和5000+分别为:PIC32MX675F512H-80I/PT 64 TQFP   7.79  5.66 *
    PIC32MX695F512H 64脚 比前者多了数据空间; 官网参考价格1-25和5000+分别为: PIC32MX695F512H-80I/PT 64 TQFP  8.44  6.13 *
    以上这两个引脚兼容
    PIC32MX795F512H 64脚 比前两者多了CAN;官网参考价格1-25和5000+分别为: PIC32MX795F512H-80I/PT 64 TQFP  8.75  6.36 * ;价格淘宝PIC32MX795F512H-PT  55元 江苏 徐州

    PIC32MX675F512L 100脚 数据空间最少 官网参考价格1-25和5000+分别为: PIC32MX675F512L-80I/PT 100 TQFP  8.44     6.13 *
    PIC32MX695F512L 100脚 比前者数据空间多;官网参考价格1-25和5000+分别为:PIC32MX695F512L-80I/PT 100 TQFP   9.10    6.61 *
    以上这两个引脚兼容
    PIC32MX795F512L  100脚 比前两者多了CAN;官网参考价格1-25和5000+分别为:PIC32MX795F512L-80I/PT 100 TQFP    9.41    6.83 *
    比较倾向于第一组的PIC32MX695F512H,64引脚,并且和675引脚上兼容,如果想要数据空间少一些的话,可直接替换

    现在美元汇率6.6
    大致50元能拿下来

    单片机+控制器+收发器方案

    这就算了吧

     

    RTL8019AS方案

    RTL8019AS以太网控制器是由Realtek公司出的一款高集成度的以太网控制芯片,具有

    8/16位总线模式,集成了IEEE802.3协议标准的介质访问控制子层(MAC)和物理层的性能,

    与NE2000相兼容,支持以太网全双工通信方式,支持UTP,AUI和BNC自动检测, 支持16 条

    I/O 基本地址选项和额外I/O地址输入输出完全解码方式,支持存储器瞬时读写,收发可同

    时达到10Mbps的速率,内置16KB的SRAM,可以方便的与微处理器进行连接

    只支持10M

    由台湾Realtek公司生产的RTL8019AS以太网控制器,由于其优良的性能、低兼的价格,使其在市场上10Mbps网卡中占有相当的比例。主要性能:
    1、符号Ethernet II与IEEE802.3(10Base5、10Base2、10BaseT)标准;
    2、全双工,收发可同时达到10Mbps的速率;
    3、内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;
    4、支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择;
    5、支持UTP、AUI、BNC自动检测,还支持对10BaseT拓扑结构的自动极性修正;
    6、允许4个诊断LED引脚可编程输出;
    7、100脚的PQFP封装。

    RTL8019AS以太网控制器是由Realtek公司出的一款高集成度的以太网控制芯片,具有
    8/16位总线模式,集成了IEEE802.3协议标准的介质访问控制子层(MAC)和物理层的性能,
    与NE2000相兼容,支持以太网全双工通信方式,支持UTP,AUI和BNC自动检测, 支持16 条
    I/O 基本地址选项和额外I/O地址输入输出完全解码方式,支持存储器瞬时读写,收发可同
    时达到10Mbps的速率,内置16KB的SRAM,可以方便的与微处理器进行连接

    Realtek Full-Duplex Ethernet
    Controller with Plug and Play Function
    (RealPNP)
    The  RTL8019AS  is  a  highly  integrated  Ethernet  Controller  which  offers  a  simple  solution  to
    implement a Plug and Play NE2000 compatible adapter with full-duplex and power down features.
    With the three level power down control features,  the RTL8019AS  is made  to be an  ideal choice
    of the network device for a GREEN PC system. The full-duplex function enables simultaneously
    transmission and reception on  the  twisted-pair  link  to a  full-duplex Ethernet switching hub. This
    feature  not  only  increases  the  channel  bandwidth  from  10  to  20  Mbps  but  also  avoids  the
    performance  degrading  problem  due  to  the  channel  contention  characteristics  of  the  Ethernet
    CSMA/CD protocol. The Microsoft's Plug and Play  function can  relieve  the users  from pains of
    taking  care  the  adapter's  resource  configurations  such  as  IRQ,  I/O,  and  memory  address,  etc.
    However,  for  special  applications  not  to  be  used  as  a  Plug  and  Play  compatible  device,  the
    RTL8019AS also supports the jumper and proprietary jumperless options.
     

    RTL8019AS网络控制芯片,它具有以下优点:10 MB/ s的数据传输速率对没有大量实时数据的测控场合已经具有很优秀的通信质量;芯片的标准工作电平是DC-5 V,与单片机系统完全兼容;芯片遵循ISA  总线标准,有8  位和16  位数据传输2 种工作模式,有利于与 MCU配合使用,MCU利用部分控制总线、地址总线和数据总线就可直接操作RTL8019AS的内部寄存器,最大限度地简化了驱动电路和驱动程序结构。

    网络接口电路主要由RJ45接口、脉冲变压器和以太网控制器RTL8019AS组成。RTL8019AS性能优良,符合Ethernet II与IEEE802.3(10Base5、10Base2、10BaseT)标准,支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择,同时内置16KB的SRAM,用于收发缓冲,降低了器件对主处理器速度的要求。由于本系统采用10BASE-T布线标准,通过双绞线进行以太网通信,而RTL8019AS内置了10BASE-T收发 器,因此RJ45接口的收发端通过脉冲变压器隔离后直接与RTL8019AS芯片的收发端相连,实现通信。

    网卡芯片RTL8019AS内部结构为:
    RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。、
    远程DMA接口是指单片机对RTL8019AS内部RAM进行读写的总线。单片机收发数据只需对远程DMA操作。本地DMA接口是把RTL8019AS与网线的连接通道,完成控制器与网线的数据交换。
    MAC(介质访问控制)逻辑完成以下功能:当单片机向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上一帧的发送后,再开始此帧的发送。而RTL8019接收到数据时通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知单片机。
    RTL8019AS内部有两块RAM区。一块16K字节,地址为0x4000~0x7fff;一块小区32字节单元(即输入输出地址),地址为0x0000~0x001f。:(对应于240H--25FH,240H的地址偏移量为0,241H的地址偏移量为1,。。。25FH的地址偏移量为1FH)。
    其中00H--0FH共16个地址单元,为寄存器地址。10H--17H共8个单元,为DMA地址。18H--1FH共8个单元,为复位端口。对于8位的操作方式,上面的地址中只有18个是有用的:00H--0FH共16个寄存器地址。10H DMA地址 (10H--17H的8个地址是一样的,都可以用来做DMA端口,只用其中之一)1FH 复位地址。(18H到1FH共8个地址都是复位地址,每个地址的功能都是一样的,只用其中之一就OK了,但实际上只有18H,1AH,1CH,1EH这几个复位端口是有效的,其他不要使用,有些兼容卡不支持19H,1BH,1DH等奇数地址的复位)
    寄存器介绍:
    a, 命令寄存器CR的各位介绍:
    ——PS1和PS0这两个位用来选择寄存器页,PS1 PS0=00时选择寄存器页0,=01时选择寄存器页1, =10时选择寄存器页2,=11时选择寄存器页3.
    --RD2,RD1,RD0这3个位代表要执行的功能。=001 读网卡内存=010 写网卡内存=011 发送网卡数据包=1** 完成或结束DMA的读写操作
    --TXP这个位写入1时发送数据包,发完自动清零
    --STA,STP这两个位用来启动命令或停止命令
    =10 启动命令=01 停止命令
    b,PSTART 指定开始接收页
    c,PSTOP指定结束页。(该页不用于接收)
    d,BNRY 指向最后一个已经读取的页(读指针)
    e,TPSR为发送页的起始页地址。
    f,ISR,中断寄存器,为FF则清除所有标志位
    g,      RCR 接收配置寄存器,设置为使用接收缓冲区,仅接收自己的地址的数据包   (以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃(这是协议的   规定,设置成接收是用于网络分析),校验错的数据包不接收
    h,TCR 发送配置寄存器,启用crc自动生成和自动校验,工作在正常模式
    i,DCR 数据配置寄存器,设置为使用FIFO缓存,普通模式,8位数据传输模式,
    j,IMR 中断屏蔽寄存器,设置成0x00,屏蔽所有的中断
    k,CURR 当前的接收结束页地址
    其中b,c,d,k,用于接收的设置

    从程序员的角度来说,对 RTL8019 的操作是比较简单,驱动程序只需要将要发送的数据按一定的格式写入芯片并启动发送命令,RTL8019 会自动把数据包转换成物理帧格式在物理信道上传输。反之,RTL8019 收到物理信号后将其还原成数据,按指定格式存放在芯片 RAM 中以便主程序取用。简而言之就是 RTL8019 完成数据包和电信号之间的相互转换。以太网协议由芯片硬件自动完成,对程序员透明。RTL8019 驱动程序包括:芯片初始化程序、接收数据包程序、发送数据包程序

    DM9000A

    是中国台湾 DAVICOM 公司推出的一款高

    速以太网接口芯片。其基本特征是:集成 10/100M 物理

    层接口;内部带有 16K 字节 SRAM 用作接收发送的 FIFO

    缓存;支持 8/16bit 两种主机工作模式;通过 HP 认证的

    AUTO-Mdix(支持直接互连自动翻转)功能;支持 TCP/IP

    加速(IPV4 check sum offload)减轻 CPU 负担,提高整

    机效能;10ns I/O 读写时间。DM9000A 以太网控制器遵

    循 IEEE 颁布的 802.3 以太网传输协议。该电路还集成

    了 EEPROM 接口,自举时通过 EEPROM 接口输入到芯片

    中,从而实现自动初始化。

    DM9161

    DM9161
    10/100 Mbps Fast Ethernet Physical Layer Single Chip Transceiver

    The DM9161 is a physical-layer, single-chip, low-
    power transceiver for 100BASE-TX and 10BASE-T
    operations. On the media side, it provides a direct
    interface either to Unshielded Twisted Pair Cable 5
    (UTP5) for 100BASE-TX Fast Ethernet, or
    UTP5/UTP3 Cable for 10BASE-T Ethernet. Through
    the Media Independent Interface (MII), the DM9161
    connects to the Medium Access Control (MAC) layer,
    ensuring a high inter-operability among products from
    different vendors

    从如下几点分析

    价格:DP83848大概比DM9161贵七到八块,从成本上考虑用DM9161好。

    性能:DP83848的网络传输距离为120米,DM9161为100米内,DP83848适用于恶劣的工业环境。

    使用:Keil、IAR、FreeRTOS等提供的网络程序全部用DP83848做为驱动片子,网络方面的程序根本就是拿来主义不需要修改,尤其是keil提供的协议栈调用方式上和VC上的SOCK编程差不多;如果使用DM9161,需要自己编写驱动程序,据了解到现在还没有一个让人觉得放心的程序出来。

    呵呵!总的来说老板想用DM9161,员工想用DP83848。

    ==

    俺几年前在9260上用过DP83848,挺好用的。

    老王说的没错,代码改个PHY的ID就好了

    台湾的片子DM9161肯定不如DP83848稳定,当然稳定是相对而言的。

    很长厂家都吃过台湾片子的亏。

    以太网控制器(MAC)和物理接口收发器(PHY)

    问:如何实现单片以太网微控制器?
    答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积。单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。

    问:以太网MAC是什么?

    答:MAC就是媒体接入控制器。以太网MAC由IEEE-802.3以太网标准定义。它实现了一个数据链路层。最新的MAC同时支持10Mbps和100Mbps两种速率。通常情况下,它实现MII接口。

    问:什么是MII?

    答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。

    问:以太网PHY是什么?

    答:PHY是物理接口收发器,它实现物理层。IEEE-802.3标准定义了以太网PHY。它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范。

    问:造成以太网MAC和PHY单片整合难度高的原因是什么?

    答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件。芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。

    问: 除RJ-45接口外,还需要其它元件吗?

    答:需要其它元件。虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。绝缘模块一般采用一个1:1的变压器。这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。

    RTL8019AS 是高度集成以太网控制器
    以太网规范规定以太网需要两种接口部件:MAC(Media Access Controller,媒体访问控制器)和PHY(Physical transceiver,物理收发器)。MAC是一种纯数字的设备,负责数据流的同步处理。而PHY在很大程度上是一种模拟器件,负责将数据转换成在特定的媒体上(常用双绞线)传输所需的信号电平。

    到目前为止,嵌入式控制设计者所能够找到的以太网接口器件非常稀少,而且这些器件都是为PC应用而定制的。8位和16位接口的器件常常都采用大型封装,有几百个引脚,需要嵌入式应用为PC总线的仿真预留大量的I/O接口(24个以上)。

    近来,很多微控制器厂商已经开始关注嵌入式控制的应用领域,并且认识到这一领域对更灵活和更专用解决方案的需求。有些厂商已经开始把MAC部件集成到标准的8位或16位微控制器架构中,形成了非常紧凑的解决方案。

    另外一些厂商则将MAC和PHY都集成到引脚个数较少的以太网控制器中。这些以太网控制器一般都采用RAM缓冲器和一个简单的SPI接口,使得整个器件可以进行小型封装(参见图1)。
    -----
    以太网规范规定以太网需要两种接口部件:MAC(Media Access Controller,媒体访问控制器)和PHY(P
    hysical transceiver,物理收发器)。MAC是一种纯数字的设备,负责数据流的同步处理。而PHY在很大
    程度上是一种模拟器件,负责将数据转换成在特定的媒体上(常用双绞线)传输所需的信号电平
    另外一些厂商则将MAC和PHY都集成到引脚个数较少的以太网控制器中

    MAC 和PHY 一个是数据链路层 一个是物理层 两者通过MII传送数据。
    MII即媒体独立接口, “媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号,包括TX_ER,TXD<3:0>,TX_EN,TX_CLK,COL,RXD<3:0>,RX_EX,RX_CLK,CRS,RX_DV等。

    MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。MII管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。其管理是使用SMI(Serial Management Interface)总线通过读写PHY的寄存器来完成的。PHY里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度,双工的能力等。当然也可以通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。不论是物理连接的MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。

    ----

    以太网媒体接口 MII RMII等

    以太网媒体接口有:MII RMII SMII GMII
    所有的这些接口都从MII而来,MII是(Medium Independent Interface)的意思,是指
    不用考虑媒体是铜轴、光纤、电缆等,因为这些媒体处理的相关工作都有PHY或者叫做MAC的
    芯片完成。
    MII支持10兆和100兆的操作,一个接口由14根线组成,每条信道都有自己的数据、
    时钟和控制信号,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太
    多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要
    用到448根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用
    到其它的一些从MII简化出来的标准,比如RMII、SMII、GMII等。
    RMII是简化的MII接口,在数据的收发上它比MII接口少了一倍的信号线,所以它一般
    要求是50兆的总线时钟。RMII一般用在多端口的交换机,它不是每个端口安排收、发两个时钟,
    而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数目。RMII
    的一个端口要求7个数据线,比MII少了一倍,所以交换机能够接入多一倍数据的端口。和MII
    一样,RMII支持10兆和100兆的总线接口速度。
    SMII是由思科提出的一种媒体接口,它有比RMII更少的信号线数目,S表示串行的意
    思。因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以在时钟上为了满足
    100的需求,它的时钟频率很高,达到了125兆,为什么用125兆,是因为数据线里面会传送一
    些控制信息。SMII一个端口仅用4根信号线完成100信号的传输,比起RMII差不多又少了一倍
    的信号线。SMII在工业界的支持力度是很高的。同理,所有端口的数据收发都公用同一个外部
    的125M时钟。
    GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。

    RMII 口是用两根线来传输数据的,
    MII 口是用4根线来传输数据的,
    GMII 是用 8根线来传输数据的。

    TXD[3:0]:数据发送信号,共 4 根信号线;

    RXD[3:0]:数据接收信号,共 4根信号线;
    TX_ER(Transmit Error):  发送数据错误提示信号,同步于 TX_CLK,高电平有效,
    表示TX_ER 有效期内传输的数据无效。对于 10Mbps速率下,TX_ER 不起作用;
    RX_ER(Receive Error):  接收数据错误提示信号,同步于RX_CLK,高电平有效,表
    示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用;
    TX_EN(Transmit Enable):   发送使能信号,只有在 TX_EN 有效期内传的数据才有效;
    RX_DV(Reveive Data Valid): 接收数据有效信号,作用类型于发送通道的TX_EN;
    TX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,
    时钟频率为 2.5MHz。注意,TX_CLK 时钟的方向是从 PHY 侧指向MAC侧的,因为此时钟
    是由PHY 提供的。
    RX_CLK:接收数据参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率
    下,时钟频率为2.5MHz。RX_CLK 也是由 PHY 侧提供的。
    CRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS
    就有效,另外,CRS只在半双工模式下有效;
    COL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只在半双工模式下
    有效。
    MII接口一共有 16根线(TX_CLK, RX_CLK 未记入)。

    CLK为接收和发送共用

    RMII 即 Reduced MII,是 MII 的简化版,信号线数量由 MII 的 14 根减少为 7 根
    (CLK_REF为外部时钟源)。
    TXD[1:0]:数据发送信号线,数据位宽为 2,是MII接口的一半;
    RXD[1:0]:数据接收信号线,数据位宽为 2,是MII接口的一半;
    TX_EN(Transmit Enable):数据发送使能信号,与MII接口中的该信号线功能一样;
    RX_ER(Receive Error):数据接收错误提示信号,与 MII接口中的该信号线功能一样;
    CLK_REF:是由外部时钟源提供的 50MHz 参考时钟,收发共用,与 MII 接口不同(MII
    接口中的接收时钟和发送时钟是分开的,而且都是由PHY 芯片提供给MAC芯片的)。这里
    需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取,所以在 PHY
    层芯片内的数据接收部分需要设计一个 FIFO,用来协调两个不同的时钟。
    CRS_DV:此信号是由MII接口中的 RX_DV和CRS两个信号合并而成。当介质不空闲时,
    CRS_DV和 RE_CLK 相异步的方式给出。当 CRS比 RX_DV早结束时(即载波消失而队列中
    还有数据要传输时),就会出现 CRS_DV 在半位元组的边界 25MHz/2.5MHz 的频率在 0、1
    之间的来回切换。因此,MAC能够从 CRS_DV中精确的恢复出RX_DV和 CRS。
    在100Mbps速率时,TX/RX每个时钟周期采样一个数据;在10Mbps速率时,TX/RX每隔
    10 个周期采样一个数据,因而 TX/RX 数据需要在数据线上保留 10 个周期,相当于一个数据发送 10 次。
    当 PHY 层芯片收到有效的载波信号后,CRS_DV 信号变为有效,此时如果 FIFO 中还没有
    数据,则它会发送出全 0 的数据给 MAC,然后当 FIFO 中填入有效的数据帧,数据帧的开
    头是“101010---”交叉的前导码,当数据中出现“01”的比特时,代表正式数据传输开始,MAC
    芯片检测到这一变化,从而开始接收数据。
    当外部载波信号消失后, CRS_DV会变为无效,但如果 FIFO中还有数据要发送时, CRS_DV
    在下一周期又会变为有效,然后再无效再有效,知道FIFO中数据发送完为止。

    SMII即 Serial MII,串行 MII的意思,跟 RMII相比,信号线数据进一步减少到 3根;
    TXD:发送数据信号,位宽为 1;
    RXD:接收数据信号,位宽为 1;
    SYNC:收发数据同步信号,每 10个时钟周期置1次高电平,指示同步。
    CLK_REF:所有端口共用的一个参考时钟,频率为 125MHz,为什么 100Mbps 速率要用
    125MHz 时钟?因为在每8 位数据中会插入2 位控制信号,请看下面介绍。
    TXD/RXD 以 10 比特为一组,以 SYNC为高电平来指示一组数据的开始,在 SYNC 变高后
    的 10 个时钟周期内,TXD 上依次输出的数据是:TXD[7:0]、TX_EN、TX_ER,控制信号
    的含义与 MII接口中的相同; RXD 上依次输出的数据是: RXD[7:0]、 RX_DV、 CRS, RXD[7:0]
    的含义与 RX_DV 有关,当 RX_DV 为有效时(高电平),RXD[7:0]上传输的是物理层接收的
    数据。当 RX_DV为无效时(低电平),RXD[7:0]上传输的是物理层的状态信息数据。

    千兆以太网MII接口类型主要有GMII、RGMII、SGMII、TBI和RTBI  五种

    GMII 接(如下图):

    与MII接口相比,GMII 的TX/RX数据宽度由4位变为 8位,GMII 接口中的
    控制信号如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同 MII接
    口中的一样,发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为
    125MHz(1000Mbps/8=125MHz)。

    在这里有一点需要特别说明下,那就是发送参考时钟GTX_CLK,它和 MII
    接口中的TX_CLK是不同的, MII接口中的TX_CLK是由PHY芯片提供给MAC
    芯片的,而GMII 接口中的GTX_CLK是由MAC芯片提供给PHY芯片的。两
    者方向不一样。

    在实际应用中,绝大多数GMII 接口都是兼容 MII接口的,所以,一般的
    GMII 接口都有两个发送参考时钟:TX_CLK和GTX_CLK(两者的方向是不一样
    的,前面已经说过了),在用作MII模式时,使用TX_CLK和 8根数据线中的4
    根。

    RGMII 接口:

    RGMII 即 Reduced GMII,是RGMII 的简化版本,将接口信号线数量从24
    根减少到14根(COL/CRS端口状态指示信号,这里没有画出),时钟频率仍旧为
    125MHz,TX/RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不
    变,RGMII 接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发
    送GMII 接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送GMII 接口中
    的TXD[7:4]/RXD[7:4]。RGMI同时也兼容100Mbps 和10Mbps两种速率,此时
    参考时钟速率分别为25MHz和2.5MHz。

    SGMII接口

    SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率
    625MHz,在时钟信号的上升沿和下降沿均采样,参考时钟RX_CLK由PHY提
    供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使
    用。收发都可以从数据中恢复出时钟。

    在TXD发送的串行数据中,每 8比特数据会插入TX_EN/TX_ER 两比特
    控制信息,同样,在RXD接收数据中,每 8比特数据会插入RX_DV/RX_ER 两
    比特控制信息,所以总的数据速率为1.25Gbps=625Mbps*2.
    其实,大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上
    完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此
    时时钟速率仍旧是625MHz,不过此时跟SGMII 接口不同,SGMII接口速率被
    提高到1.25Gbps是因为插入了控制信息,而SerDes端口速率被提高是因为进行
    了8B/10B变换,本来8B/10B变换是PHY芯片的工作,在SerDes接口中,因
    为外面不接PHY芯片,此时8B/10B变换在MAC芯片中完成了。8B/10B变换
    的主要作用是扰码,让信号中不出现过长的连“0”和连“1”情况,影响时钟信
    息的提取

    TBI即Ten Bit Interface的意思,接口数据位宽由GMII 接口的 8位增加到
    10位,其实,TBI接口跟GMII 接口的差别不是很大,多出来的2位数据主要是
    因为在TBI接口下,MAC芯片在将数据发给PHY芯片之前进行了8B/10B变换
    (8B/10B变换本是在PHY芯片中完成的,前面已经说过了),另外,RX_CLK+/-
    是从接收数据中恢复出来的半频时钟,频率为62.5MHz,RX_CLK+/-不是差分
    信号,而是两个独立的信号,两者之间有180 度的相位差,在这两个时钟的上升
    沿都采样数据。RX_CLK+/-也叫伪差分信号。除掉上面说到的之外,剩下的信号
    都跟GMII 接口中的相同。

    大多数芯片的TBI接口和GMII 接口兼容。在用作TBI接口时, CRS和 COL
    一般不用。

    RTBI接口

    RTBI即Reduced TBI,简化版TBI,接口数据位宽为5bit,时钟频率为
    125MHz,在时钟的上升沿和下降沿都采样数据,同RGMII 接口一样,TX_EN
    线上会传送TX_EN和TX_ER两种信息,在时钟的上升沿传TX_EN,下降沿传
    TX_ER;RX_DV线上传送RX_DV 和RX_ER 两种信息,在RX_CLK上升沿传
    RX_DV,下降沿传RX_ER。

    网络变压器

    以太网网络变压器的作用

    在以太网设备中,通过PHY接RJ45时,中间都会加一个网络变压器。有的变压器中心抽头接电源,有的又接电容到地。而且接电源时,电源值又可以不一样,3.3V,2.5V,1.8V都有。这个变压器的作用到底是什么呢?

    下面是一个大概的解答:

    1、中间抽头为什么有些接电源?有些接地?这个主要是与使用的PHY芯片UTP口驱动类型决定的,这种驱动类型有两种,电压驱动和电流驱动。电压驱动的就要接电源;电流驱动的就直接接个电容到地即可!所以对于不同的芯片,中心抽头的接法,与PHY是有密切关系的,具体还要参看芯片的datasheet和参考设计了。

    2、为什么接电源时,又接不同的电压呢?这个也是所使用的PHY芯片资料里规定的UTP端口电平决定的。决定的什么电平,就得接相应的电压了。即如果是2.5v的就上拉到2.5v,如果是3.3v的就上拉到3.3v。

    3.这个变压器到底是什么作用呢,可不可以不接呢。从理论上来说,是可以不需要接变压器,直接接到RJ45上,也是能正常工作的。但是呢,传输距离就很受限制,而且当接到不同电平网口时,也会有影响。而且外部对芯片的干扰也很大。当接了网络变压器后,它主要用于信号电平耦合。其一,可以增强信号,使其传输距离更远;其二,使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用(如雷击);其三,当接到不同电平(如有的PHY芯片是2.5V,有的PHY芯片是3.3V)的网口时,不会对彼此设备造成影响。

    总的来说,网络变压器主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。

    数据汞也被叫做网络变压器或可称为网络隔离变压器。它在一块网卡上所起的作用主要有两个,一是传输数据,它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到不同电平的连接网线的另外一端;一是隔离网线连接的不同网络设备间的不同电平,以防止不同电压通过网线传输损坏设备。除此而外,数据汞还能对设备起到一定的防雷保护作用。

     

    网络变压器选型

    有很多集成网络变压器的插座(有的还带指示灯);如果不采用以太网插座,网络变压器还是要的,也有独立网络变压器芯片

    网络变压器中心抽头如何接

    进入一端,有的是接VDD,有的是接GND,甚至悬空,不一而足,这取决于PHY的,所以要参照具体的PHP中的说明

    仔细观察上图会发现,变压器的中心抽头有的接了3.3V的电平,有的接了2.5V的电平,有的悬空了。实际上这个主要与PHY芯片UTP口驱动类型决定的。这种驱动类型有两种,电压驱动和电流驱动。电压驱动的接电源,电流驱动的直接接电容到底即可。至于为什么接电源时,所接的电压会不同呢?这是由所用的PHY芯片规定的UTP端口电平决定的。所以对于不同的PHY芯片,网络变压器的中心抽头会有不同的解法,我们在进行设计时,需要仔细查看芯片资料和参考设计。

    出现一端,接75欧姆电阻然后通过电容接到地

    发送和接收的几个50欧姆的电阻,电阻值一定要正确,如果不正确,会有丢包现象。或者网络时断时续。

     

    其他

    问:如何实现单片以太网微控制器?

    答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积。单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。

    问:以太网MAC是什么?

    答:MAC就是媒体接入控制器。以太网MAC由IEEE-802.3以太网标准定义。它实现了一个数据链路层。最新的MAC同时支持10Mbps和100Mbps两种速率。通常情况下,它实现MII接口。

    问:什么是MII?

    答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。

    问:以太网PHY是什么?

    答:PHY是物理接口收发器,它实现物理层。IEEE-802.3标准定义了以太网PHY。它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范。

    问:造成以太网MAC和PHY单片整合难度高的原因是什么?

    答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件。芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。

    问: 除RJ-45接口外,还需要其它元件吗?

    答:需要其它元件。虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。绝缘模块一般采用一个1:1的变压器。这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。

    问:10BaseT和100BaseTX PHY实现方式不同的原因何在?

    答:两种实现的分组描述本质上是一样的,但两者的信令机制完全不同。其目的是阻止一种硬件实现容易地处理两种速度。10BaseT采用曼彻斯特编码,100BaseTX采用4B/5B编码。

    问:什么是曼彻斯特编码?

    答:曼彻斯特编码又称曼彻斯特相位编码,它通过相位变化来实现每个位(图2)。通常,用一个时钟周期中部的上升沿表示“1”,下降沿表示“0”。周期末端的相位变化可忽略不计,但有时又可能需要将这种相位变化计算在内,这取决于前一位的值。

    问:什么是4B/5B编码?

    答:4B/5B编码是一种块编码方式。它将一个4位的块编码成一个5位的块。这就使5位块内永远至少包含2个“1”转换,所以在一个5位块内总能进行时钟同步。该方法需要25%的额外开销。


    展开全文
  • 以太网产生延迟的主要原因是冲突,其原因是它利用了CSMA/CD技术。在传统的共享网络中,由于以太网中所以的站点,采用相同的物理介质相连,这就意味着2台设备同时发出信号时,就会出现信号见的互相冲突。为了解决这个...

      以太网产生延迟的主要原因是冲突,其原因是它利用了CSMA/CD技术。在传统的共享网络中,由于以太网中所以的站点,采用相同的物理介质相连,这就意味着2台设备同时发出信号时,就会出现信号见的互相冲突。为了解决这个问题,以太网规定,在一个站点访问介质前,必须先监听网络上有没有其他站点在同时使用该介质。如果有则必须等待,此时就发生了冲突。为了减少冲突发生的几率,以太网常采用1-持续CSMA,非持续CSMA,P-持续CSMA的算法2。

      由于以太网是以办公自动化为目标设计的,并不完全符合工业环境和标准的要求,将传统的以太网用于工业领域还存在着明显的缺陷。但其成本比工业网络低,技术透明度高,特别是它遵循IEEE802.3协议为各现场总线厂商大开了方便之门。

      以太网的缺陷

      1、确定性

      由于以太网的MAC层协议是CSMA/CD,该协议是的网络上存在冲突。对于一个工业网络,如果存在着大量的冲突,就必须多次重发数据,使得网络间通信的不确定性大大增加,带来系统控制性能的降低。

      2、实时性

      在工业控制系统中,在一个事件发生之后,系统必须在一个可以准确预见的时间范围内作出反应。而工业上对数据传输的实时性要求非常高,数据的更新是在数十毫秒完成。而以太网的CSMA/CD机制,当发生冲突时重发数据,可以尝试16次,这种解决冲突的机制是以付出时间为代价的。

      而设备的掉线,可能会造成重大的设备或者人身安全事故。

      3、可靠性

      以太网是为商业设计的,但应用到工业现场,面对恶劣的工况、严重的线间干扰,必然降低其可靠性。所以工业网络要求具有高的可靠性,可恢复性以及可维护性。

      工业以太网的解决机制

      1、交换技术

      将共享的局域网进行有效的冲突域划分机制。各个领域之间用交换机连接,减少冲突问题和错误传输。这样可以尽量避免冲突的发生,提高系统的确定性。

      2、高速以太网

      冲突的发生与负载有关,负载越大,发生冲突的概率越大。提高以太网的通讯速度,可以有想降低网络的负荷。

      3、IEEE1588对时机制

      IEEE1588定义了一个在测量和控制网络中,与网络交流、本地计算和分配对象有关的精确同步时钟的协议(PTP)。此协议并不是排外的,但是特别适合于基于以太网的技术,精度可达微秒范围。它使用时间印章来同步本地时间的机制。即使在网络通信时同步控制信号产生一定的波动时,它所达到的精度仍可满足要求。这使得它尤其适用于基于以太网的系统。通过采用这种技术,以太网TCP/IP协议不需要大的改动就可以运行于高精度的网络控制系统之中。在区域总线中它所达到的精度远远超过了现有各种系统。此外,在企业的各层次中使用基于以太网TCP/IP协议的网络技术有着巨大的优势。

     

    OSI参考模型中的数据链路层定义了通过通信媒介互联的设备之间传输的规范,数据链路的传输方式有以太网、WLAN(无线局域网如Wifi/蓝牙/3G/4G/WiMAx/ZigBee等)、PPP(点对点)、ATM、FDDI、光纤通道、HDMI等,而互联网可以简单理解为数据链路的集合,即以太网、WLAN(无线局域网)、PPP(点对点)、ATM、FDDI、光纤通道、HDMI的集合。

    需要指出,一般以太网规范除了设计到数据链路层,还涉及到物理层,即物理接口形态。常见的以太网通讯电缆有同轴电缆、双绞线等,各种电缆支持的传输速度也不一样,线缆的终端一般压制成水晶头的形态。

    前面提到数据链路层定义了通过通信媒介互联的设备之间传输的规范,因此就涉及到通讯拓扑结构:总线型、环形、星形、混合型。从通讯介质的使用方法看,网络可分为共享介质型和非共享介质型。共享介质型网络指由多个设备共享一个通信介质的一种网络,在这种方式下,设备间使用同一个载波信道进行发送和接受,为此基本上采用半双工通信,一般总线型、环形为共享介质型。数据链路层的传输规范还包括MAC地址转发,环路检测技术等,读者只需知道数据链路层包括介质访问控制层以及逻辑链路控制层即可。

    共享型介质网络有两种介质访问控制方式:争取方式和令牌传递方式。争取方式通常令网络中各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送数据帧,则会产生冲突现象,当然有响应的处理机制(如CSMA/CD)来保证一旦冲突发生时会释放信道。令牌传递方式是沿着令牌环发送一种叫做“令牌”的特殊报文,是控制传输的一种方式,只有获取令牌的站才能发送数据。这种方式有两个特点:一是不会产生冲突,而是每个站都有通过平等循环获得令牌的机会。

    以太网链接形式有采用同一根同轴电缆的共享介质性总线连接方式(需要做冲突检查),也有采用独占电缆的方式实现以太网通讯(不需要冲突检查)。以太网通讯的特点是结构简单、成本低廉、传输速率高(10Mbps,100Mbps,1Gbps到10Gbps)

     现场总线一般只涉及物理层,数据链路层和网络层,如CAN总线,EtherCAT总线。当然对于特定的用途,还在简单的现场总线上衍生了更高层次的总线协议,如CANOpen协议,EtherCAT Cos(403协议)等。

    • 工业以太网与普通以太网不一样,是在以太网基础上衍生出来的一种,与普通以太网区别在两点:

    1.工业以太网的实时性更高(或者说介质访问控制层以及逻辑链路控制层设计得更合理,保证网络的利用率更高)

    2.抗干扰能力更强

    简单说,工业以太网是现场总线,而以太网不是(或很少用在现场总线)!

    • 关于Ethernet 和EtherCAT:

    Ethernet是以太网,EtherCAT是实时以太网,后者对前者做了一些改造。

    EtherCat是实时总线。
    对实时性要求略低可以用profibus profinet cclink之类
    再低可以用普通的以太网
    对应的层次举例:
    实时要求高:传感器的控制器,运动控制器和伺服驱动
    一般:PLC到机器人控制器
    低: MES到上位机

    •  从OSI网络模型的角度来看同,现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层),也不需要第5层(会话层)第6层(描述层)的作用。

     并列关系是:工业以太网、EtherCAT、Modbus、Profibus、CCLink、CAN、DeviceNet、ControlNet、HART等

    • 关于串行、并行、总线,可以参考如下解释:
    作者:Eric Leo
    链接:https://www.zhihu.com/question/26723720/answer/33980357
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

    串行总线和并行总线,属于计算机领域的一个通信的概念。

    串行,简而言之,一般通信的双方通过两根线就可以实现数据的收发,像我们电脑中用的RS232等就是标准的串行总线,现在的USB也用的是串行,这种由于数据是串行的,因为一次只能发送一位。

    并行,是相对于串行来讲,数据传输有多根线,因为一次就能发送多位。

    那么问题来了,串行和并行哪个更快呢?

    也许你会觉得并行一次可以传多位,肯定比串行快。那么你就错了,总线传输的速率,不仅取决于一次能发送多少位,而且还取决于你发送一次所用的速度。而并行总线,牵涉到多个数据线的数据同步问题,一般速率很难提高,且总线越长,越易受到干扰。而串行总线则没有这个问题,因此像现在的USB接口的速度可以做到很快。

    也许你会问,串行总线和并行总线,在DCS中主要用在什么地方。答案就是你说的DPU与IO模件之间的通信,一般就是通过串行或并行的总线来进行通信的。

    然而随着技术的进步,现场总线技术的提出,在传统的串行和并行的基础上,国际上的一些大牌工控企业,提出了几个现场总线协议,如西门子的profibus等等。而关于现场总线,有些在物理层,用的也是传统的串行和并行总线,而区别在于传输层与网络层,相比于传统的Modbus具有更加丰富的功能。当然,现在的现场总线,更具优势的就是摒弃这种总线的物理连接,而直接采用以太网连接,即我们所说的网线连接。而你所讲的工业以太网,就是这样的一种连接形式。

    因为现在PC上位机与DCS间一般都是采用工业以太网连接的,而如此DCS与IO模件也采用这种连接,就相当于全系统都采取了工业以太网。

     

    首先是总线可以理解为连接设备用于通讯的线。在这条线上的通讯使用的不同的通讯协议例如 profibus DP(站号来保证总线上各个设备的区分 modbus rtu站号来保证总线上各个设备的区分) 。直观点就是用线把所有设备都串起来了。

    串行和并行是发送数据的不同方式。串行是一个个发,并行是多个一起发。

    现场总线简单点可以这么理解,以前只是控制器和模块在总线上,现在好了连现场的仪表都可以连在总线上了。不需要现场的仪表先把测量值变成4-20ma或者0-10v的信号,不需要模拟量采集卡件,直接可以通过总线像读取现场仪表的信息(包括测量值、量程范围等等在内的很多)。现场总线常见的有CAN 和 HART 。

    工业以太网这个就是以太网,就是网线(物理介质)。只是和我们上网用的协议不一样而已(介质访问控制层以及逻辑链路控制层)。不过可以理解为和我们常用的以太网是一样的。都是要搭建网络设置IP地址的。


    作者:萧任风
    链接:https://www.zhihu.com/question/26723720/answer/34132412
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

     

    注:半双工是指某一时刻只能进行发或收的通信方式,全双工是指在某一时刻可以同时进行发送和接收的通信方式

     
     
     

    以太网,尤其是工业以太网近来已成为制造业的热门词汇。虽然类似,却各有特点,各有优势。本文将介绍以太网和工业以太网,并比较二者的不同。

    何谓以太网?

     

    以太网最早出现于1970年代,之后按照IEEE 802.3实施了标准化。以太网是指符合IEEE 802.3标准的局域网(LAN)产品组,IEEE 802.3是一组电气与电子工程师协会(IEEE)标准,用于定义有线以太网媒体访问控制的物理层和数据链路层。这些标准也说明子配置以太网网络的规则,以及各种网络元件如何彼此协作。以太网支持多台计算机通过一个网络连接,没有它,现代社会采用的各种设备之间可能无法通信。以太网是一种全球化的电线电缆系统标准,这些电线电缆将多台计算机、设备、机器等通过企业的单个网络连接在一起,以便所有计算机彼此通信。以太网的雏形是一条电缆,它支持多台设备连接至同一网络。如今,以太网网络可根据需要扩展和覆盖新设备。以太网是目前全球最受欢迎、使用范围最广泛的网络技术。

     

    工业以太网的工作原理

     

     

    图1.工业设置中需要采用这种先进技术,以确保能够正确发送和接收特定的制造数据。以瓶子灌装厂为例,工业以太网自动化技术支持通过网络发送灌装数据,以确保按计划完成灌装。

     

    使用以太网时,数据流被分割成更短的数据块或帧,每个都包含特定的信息,例如数据的源和目的地。要按照需求通过网络发送和接收数据,这些数据是不可或缺的。

     

    其他与以太网技术相关的术语包括:

     

    • 介质在现代以太网技术中,介质是指双绞线对或光缆,以太网设备通过连接它们来提供数据传输路径。

    • 段:单个共享介质。

    • 节点:连接段的设备。

     

    标准以太网的数据传输速度在10 Mbps到100 Mbps之间。千兆以太网是IEEE 802.3标准中使用的一个术语,用于表示以1 Gbps的速度传输的以太网网速。千兆以太网最初一般用于主干网络传输,以及高性能或高容量服务器。但随着时间发展,它逐渐受到桌面连接设备和PC的支持。

    关于以太网的其他信息

    以太网和Wi-Fi是两个不同的概念—以太网使用线缆来连接 计算机和设备,计算机杂志如此表述。4 几乎提到的所有网络或LAN连接都是指以太网。

     

    何谓工业以太网?

    工业以太网如同其名,指的是应用于工业配置的以太网,它们通常需要更稳定可靠的连接器、电缆,以及更高的确定性,后者最为重要。为了获得更高的确定性,工业以太网在使用以太网时,会使用专用协议。目前较受欢迎的工业以太网协议包括:PROFINET®、EtherNet/IP®、EtherCAT®、SERCOS III以及POWERLINK®。

    使用工业以太网时,数据传输速率为10 Mbps至 1 Gbps。5但是,工业以太网应用最常使用100 Mbps的速度。

     

    图2.相较于办公以太网系统,工业以太网需要进行更多考量。工厂车间中的制造设备会受到不同温度、振动以及其他潜在的干扰噪声的影响。

    工作原理

     

    工业以太网协议(例如PROFINET和EtherCAT)会修改标准以太网的协议,以确保不但能正确发送和接收特定的制造数据,还能在需要执行特定操作时,准时发送和接收数据。以使用工业以太网自动化技术的瓶子灌装厂为例,它能通过网络发送灌装数据,以确保按计划完成灌装。据Real Time Automation公司称,瓶子装满时,会通过网络发送停止灌装命令。

     

    它表示,对于办公以太网设置,这种消息就不会如此至关重要。网页丢失时,用户只需要点击刷新按钮就可以了。但是对于工厂,一个小问题就可能演变成大灾难—公司根本等不及有人找到问题,然后手动按下按钮。而工业以太网自动化网络可以检测灌装过程中的错误,并自动停止灌装流程,防止造成时间、产品和资金损失。

     

    以太网和工业以太网之间的其他差别

     

    Real Time Automation公司表示,以太网一般更多地用于办公环境,而非工业环境中。办公以太网主要针对基础层次的使用,而工业以太网则可能用于多种层次,以及任务更加繁重的环境。

     

    工业以太网更适合用于解决工厂噪声问题,满足工厂工艺需求,应对更加严苛的环境,甚至更好地应对工厂内的数据冲突问题。

     

    工业以太网技术采用的线路和连接器也跟传统的不同。例如,Real Time Automation公司表示,工业配置中使用的连接器并非是基本的咬合锁定类型。因为环境更加严苛,所以需要更加坚固的锁定类型。重负荷应用也经常需要使用密封式连接器。

     

    此外,商用或办公以太网和工业以太网采用的线缆也不同。比起常规的以太网电缆,轻型工业电缆的护套质量可能更好。此外,正如所预期的,重负荷电缆的护套及其使用的金属也能提升品质,让它更加耐用。

     

    在定义工业以太网和以太网相区分时,确定性是一个重要因素。标准以太网本身 不具有确定性,7但工业环境需要确定性。它们需要在特定时间发送和接收数据包,且它们需要保证数据每一次都成功发送。这是因为在工业配置中,设备之间的数据丢失或数据延迟都会造成灾难性后果—例如,生产流程中的重大问题。公司在选择部署哪种类型的以太网时,这种实时信息传输通常会起到相当大的决定作用。公司需要评估自身的特定需求,然后确定最适合其组织使用的以太网解决方案。

    转载于:https://www.cnblogs.com/zhaiyf/p/9914158.html

    展开全文
  • 1 以太网的由来 以太网不是单一协议,而是不同标准的完整集合。这些标准来自 IEEE,它们的名字都以 802.3 开头。 以太网技术起源于施乐帕洛阿尔托研究中心的先锋技术项目。人们通常认为以太网发明于1973年,当年鲍勃...

    1 以太网的由来

    以太网不是单一协议,而是不同标准的完整集合。这些标准来自 IEEE,它们的名字都以 802.3 开头。

    以太网技术起源于施乐帕洛阿尔托研究中心的先锋技术项目。人们通常认为以太网发明于1973年,当年鲍勃.梅特卡夫(Bob Metcalfe)给他PARC的老板写了一篇有关以太网潜力的备忘录。但是梅特卡夫本人认为以太网是之后几年才出现的。在1976年,梅特卡夫和他的助手David Boggs发表了一篇名为《以太网:区域计算机网络的分布式数据包交换技术》的文章。

    1979年,梅特卡夫为了开发个人电脑和局域网离开了施乐(Xerox),成立了3Com公司。3Com对DEC、英特尔和施乐进行游说,希望与他们一起将以太网标准化、规范化。这个通用的以太网标准于1980年9月30日提出。当时业界有两个流行的非公用网络标准令牌环网和ARCNET,在以太网浪潮的冲击下他们很快萎缩并被取代。而在此过程中,3Com也成了一个国际化的大公司。梅特卡夫曾经开玩笑说,Jerry Saltzer为3Com的成功作出了贡献。

    Saltzer在一篇[哪个/哪些?]与他人合著的很有影响力的论文中指出,在理论上令牌环网要比以太网优越。受到此结论的影响,很多电脑厂商或犹豫不决或决定不把以太网接口做为机器的标准配置,这样3Com才有机会从销售以太网网卡大赚。这种情况也导致了另一种说法“以太网不适合在理论中研究,只适合在实际中应用”。也许只是句玩笑话,但这说明了这样一个技术观点:通常情况下,网络中实际的数据流特性与人们在局域网普及之前的估计不同,而正是因为以太网简单的结构才使局域网得以普及。梅特卡夫和Saltzer曾经在麻省理工学院MAC项目(Project MAC)的同一层楼工作,当时他正在做自己的哈佛大学毕业论文,在此期间奠定了以太网技术的理论基础。

    1985 年,美国电气和电子工程师协会 (IEEE) 制定了一系列局域网 (LAN)标准,称为 IEEE 802 标准。这些已被广泛接受,现在构成了大多数 LAN 的核心。IEEE 802 标准之一,IEEE 802.3,是一种称为“以太网”的标准。这是当今世界上使用最广泛的 LAN 技术。尽管IEEE 802.3与原始标准(“蓝皮书”)有些不同。它非常相似,两组标准都可以用于同一个局域网。

    如今,以太网采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波监听多路存取和冲突检测)介质访问控制方式的局域网技术,最初由Xerox公司于1975年研制成功,1979年7月~1982年间,由DEC、Intel和Xerox三家公司制定了以太网的技术规范DIX,以此为基础形成的IEEE802.3以太网标准在1989年正式成为国际标准。在20多年中以太网技术不断发展,成为迄今最广泛应用的局域网技术,产生了多种技术标准。

    2 以太网概述

    以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。

    以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机(Switch hub)来进行网络连接和组织。如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。

    以太网 (Ethernet) 在组网技术中占的比例最高,很多人直接把以太网理解为互联网。因此这里有必要详细说明以太网和互联网的区别和联系。

    互联网即INTERNET,它是一个全球性互联网络。它是由从地方到全球范围内几百万个私人的,政府的,学术界的,企业的和政府的网络所构成,通过电子,无线和光纤网络技术等等一系列广泛的技术联系在一起。它以TCP/IP协议簇作为通信方式,体系结构分为4层:应用层,传输层,网络层,网络接口层。

    以太网是最通用的通信协议标准。以太网络使用CSMA/CD技术,(载波监听多路访问及冲突检测)并以10M/s的速率(或100M/s 、1000M/s等速率)运行在多种类型的电缆上。它规定了包括物理层的连线、电子信号和介质访问层协议的内容。简单来说,以太网(Ethernet),是让局域网连接的一种技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。

    以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于参考模型的物理层 (PHY) 和数据链路层中的介质访问控制子层 (MAC)。在家庭、企业和学校所组建的 PC局域网形式一般也是以太网,其标志是使用水晶头网线来连接 (当然还有其它形式)。 IEEE 还有其它局域网标准,如 IEEE 802.11 是无线局域网,俗称 Wi-Fi。 IEEE802.15 是个人域网,即蓝牙技术,其中的 802.15.4 标准则是 ZigBee 技术。

    以太网只是组成互联网的一个子集,以太网是现在主流的局域网标准,而互联网是指将大量的局域网连接起来,进行资源的分享。另外,互联网与以太网是两个不同的概念,前者是范围概念,后者是技术概念。互联网(Internet)、广域网(WAN)、局域网(LAN)可以算作一类,它们都是按照区域和范围来分类的。而以太网(Ethernet)、ATM网和FDDI网可以算作一类,它们是按照传输技术分类的。

    以太网描述了物理(PHY)层和数据链路(Data Link)层,如下图所示。

    在这里插入图片描述

    在物理层,有不同的电缆选项和不同的速度。然而,以太网的优点之一是它使用相同的数据链路层标准。你可以在网络中混合使用不同的以太网标准。下面是一个例子:

    在这里插入图片描述

    上面我们看到三台主机连接到使用不同以太网标准的两台交换机。交换机之间的连接是 10 Gbps 光纤连接。即使我们混合了不同的标准,该网络也将能够转发以太网帧。



    3 以太网帧格式

    以太网的一大优点是,虽然有不同的标准,但都使用通用的以太网帧。自 70 年代的原始以太网标准以来,此框架没有太大变化。这是以太网帧的样子:

    在这里插入图片描述

    前导码:这是一个 7 字节的 1 和 0 模式,用于同步。

    SFD:“起始帧定界符”标记前导码的结尾,并告诉接收器接下来的字段将是实际的以太网帧,从目标字段开始。

    目的地址:这是接收方的目的地 MAC 地址。

    源地址:发送帧的设备的源MAC地址。

    类型:这告诉我们以太网帧内携带的内容。IPv4 数据包、IPv6 数据包或其他内容。

    数据:它携带我们尝试传输的实际数据,例如 IPv4 数据包。

    FCS:帧校验序列帮助接收器确定帧是正确还是损坏。

    绿色标记的字段就是我们所说的以太网头。

    TCP/IP 协议栈中的每层协议报文的封装与拆装如下:

    在这里插入图片描述

    当用户发送数据时,将数据向下交给传输层,这是处于应用层的操作,应用层可以通过调用传输层的接口来编写特定的应用程序。而 TCP/IP 协议一般也会包含一些简单的应用程序如 Telnet 远程登录、 FTP 文件传输、 SMTP 邮件传输协议等。传输层会在数据前面加上传输层首部(此处以TCP 协议为例,传输层首部为 TCP 首部,也可以是 UDP 首部),然后向下交给网络层。同样地,网络层会在数据前面加上网络层首部(IP 首部),然后将数据向下交给链路层,链路层会对数据进行最后一次封装,即在数据前面加上链路层首部(此处使用以太网接口为例),然后将数据交给网卡。最后,网卡将数据转换成物理链路上的电平信号,数据就这样被发送到了网络中。

    当设备的网卡接收到某个数据包后,它会将其放置在网卡的接收缓存中,并告知 TCP/IP 内核。然后 TCP/IP 内核就开始工作了,它会将数据包从接收缓存中取出,并逐层解析数据包中的协议首部信息,并最终将数据交给某个应用程序。数据的接收过程与发送过程正好相反,

    常用的以太网MAC帧格式有两种标准 :DIX Ethernet II标准,IEEE 的 802.3 标准

    在这里插入图片描述

    Ethernet V2可以装载的最大数据长度是1500字节,而IEEE802.3可以装载的最大数据是1492字节(SNAP)或是1497字节; Ethernet V2不提供MAC层的数据填充功能,而IEEE802.3不仅提供该功能,还具备服务访问点(SAP)和SNAP层,能够提供更有效的数据链路层控制和更好的传输保证。那么我们可以得出这样的结论:Ethernet V2比IEEE802.3更适合于传输大量的数据,但EthernetV2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制传输的应用中。

    在实际应用中,我们会发现,大多数应用的以太网数据包是EthernetV2的帧(如HTTP、FTP、SMTP、POP3等应用),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,VLANTrunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3SNAP的帧。大家有兴趣的话,可以利用Sniffer等协议分析工具去捕捉数据包,然后解码查看是不是这样的。

    4 物理层

    在物理层,由 IEEE 802.3 标准规定了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,物理层一般是通过一个 PHY 芯片实现其功能的。

    4.1传输介质

    传输介质包括同轴电缆、双绞线 (Unshielded Twisted Pair, UTP)、光纤。根据不同的传输速度和距离要求,基于这三类介质的信号线又衍生出很多不同的种类。最常用的是“五类线”适用于 100BASE-T和 10BASE-T 的网络,它们的网络速率分别为 100Mbps 和 10Mbps。

    以太网有许多不同的标准,速度从 10 Mbps(兆比特每秒)到 100 Gbps(千兆比特每秒)。以下是一些流行的以太网标准的概述:

    在这里插入图片描述

    不同的标准是由不同的名字组合而成:

    • 10/100/1000: 数字100用单位MHz (Megahertz)表示网线设计的频率。即100 MHz。MHz的值越大,网线所支持的速度就越快。如果你尝试将这种类型的网线用于更高的频率(和速度)中,那么它将不工作或者变得极为不可靠。100 MHz以每秒100Mbit的速度传输,这在理论上指的就是12 Mbps。然而,在实际中,可能还无法获得超过4 Mbps。

    • BASE: BASE是英文baseband的缩写,指的就是基带。表示没有使用频分复用或者其它频率转换技术,每一个信号在一个单一频率上完全控制线缆。

    • 数字T/F/C等: 一般数组表示传输长度;T代表承载信号的物理介质是双绞线缆(分为UTP(Unshielded Twisted Pair,非屏蔽双绞线)和STP(Shielded Twicted Pair,屏蔽双绞线)),在这里每一对传送信号的双绞线互相缠绕以(FEXT和NEXT之间)减少电磁干扰和串扰;F表示光纤

    • 最后的字母或数字(4/X等): 在同一种传送速率下有多种不同的标准,它们之间以一个字母或数字跟随T/F/C之后的方式来区隔(例如TX)。它显示了网线的结构并指出包含的绞线对的数量。某些高速标准使用同轴电缆,则分配代号为CX。

    下面以不同类型的传输介质进行介绍。

    1.同轴电缆
    同轴电缆的主要代表是10BASE5和10BASE2

    10BASE5(又称粗缆(Thick Ethernet)或黄色电缆)──最早实现10 Mbit/s以太网。

    在这里插入图片描述

    早期IEEE标准,使用单根RG-11同轴电缆,最大距离为500米,并最多可以连接100台电脑的收发器,而缆线两端必须接上50欧姆的终端电阻。接收端通过所谓的“插入式分接头”插入电缆的内芯和屏蔽层。在电缆终结处使用N型连接器。

    在这里插入图片描述

    尽管由于早期的大量布设,到现在还有一些系统在使用,这一标准实际上被10BASE2取代。
    利用基带的10M传输速率,采用曼彻斯特编码传输数据。 该系统在安装和维护上难度较大。
    在IEEE Std 802.3™的Clause 8有详细的介绍。

    在这里插入图片描述

    Physical Layer partitioning, relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model


    10BASE2(又称细缆(Thin Ethernet)或模拟网络)── 10BASE5后的产品,使用RG-58同轴电缆,最长转输距离约200米(实际为185米),仅能连接30台计算机,计算机使用T型适配器连接到带有BNC连接器的网卡,而线路两头需要50欧姆的终结器。

    在这里插入图片描述

    在这里插入图片描述

    利用基带的10M传输速率,采用曼彻斯特编码传输数据。虽然在能力、规格上不及10BASE5,但是因为其线材较细、布线方便、成本也便宜,所以得到更广泛的使用,淘汰了10BASE5。由于双绞线的普及,它也被各式的双绞线网络取代。

    在IEEE Std 802.3™的Clause 10有详细的介绍。

    在这里插入图片描述

    Physical Layer partitioning, relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model

    【注】自2011年9月以来,该标准不再考虑维护变更。



    2.双绞线
    StarLAN是第一个双绞线上实现的以太网络标准10 Mbit/s。后发展成10BASE-T,以及100BASE-TX和1000BASE-T

    10BASE-T使用两对非屏蔽双绞线,一对线发送数据,另一对线接收数据,用RJ-45模块作为端接器,星形拓扑结构,信号频率为20MHz,必须使用3类或更好的UTP电缆;布线按照EIA568标准,站点中继器和中继器中继器的最大距离为100m。保持了10base5的4中继器/5网段的设计能力,使10base-T局域网的最大直径为500m。

    10Base-T的集线器和网卡每16秒就发出“滴答”(Hear-beat)脉冲,集线器和网卡都要监听此脉冲,收到“滴答” 信号表示物理连接已建立,10base-T设备通过LED向网络管理员指示链路是否正常。

    在这里插入图片描述

    如下图所示,UTP 电缆有 4 对线对,每对 2 根线。每对线都有两种匹配的颜色。例如,蓝色和蓝白色。在 UTP 电缆的末端,我们使用 RJ45 连接器。

    在这里插入图片描述

    RJ45 连接器有 8 个可以插入电线的位置,称为“引脚”。我们从左到右数针数,查看 RJ45 连接器的底部。

    在这里插入图片描述

    10base-T因为价格便宜、配置灵活和易于管理而流行起来,现在占整个以太网销售量的90%以上。

    在IEEE Std 802.3™的Clause 14有详细的介绍。

    在这里插入图片描述

    10BASE-T relationship to the ISO/IEC Open Systems Interconnection (OSI) reference model and the IEEE 802.3 CSMA/CD LAN model


    100base-T称Fast Ethernet(快速以太网),是许多以标称速率100 Mbit/s(较早的以太网速度为10 Mbit / s)传输流量的以太网标准的统称。在快速以太网标准中,100BASE-TX是最常见的。

    名称中的“100”是指100Mbit/s的传输速度;而“BASE”是指基带信令; 破折号后面的字母(“T”或“F”)是指承载信号的物理介质(分别为双绞线或光纤);而最后一个字符(“X”,“4”等)指的是使用的行代码方法。 快速以太网有时被称为100BASE-X,其中“X”是FX和TX变体的占位符。

    1995年5月正式通过了快速以太网/100Base-T规范,即IEEE 802.3u标准,是对IEEE802.3的补充。与10base-T一样采用星形拓扑结构,但100Base-T包含4个不同的物理层规范,并且包含了网络拓扑方面的许多新规则。可以说是10Base-T的升级版。

    在IEEE Std 802.3™的Clause 21有详细的介绍。

    在这里插入图片描述

    Architectural positioning of 100BASE-T


    1000BASE-T采用四对五类平衡电缆的1000 Mb/s 物理层规格。与10Base-T、100Base-T完全兼容。

    前面两种标准有两根线对,一根用于传输,另一根用于接收。然而,1000BASE-T使用所有 4 对线。它不是使用不同的线对进行传输/接收,而是能够在每个线对上同时发送和接收。

    在这里插入图片描述

    RJ45 连接器中的引脚布局相同,但我们使用了额外的电线:

    在IEEE Std 802.3™的Clause 40有详细的介绍。

    在这里插入图片描述

    Type 1000BASE-T PHY relationship to the ISO Open Systems Interconnection (OSI) Reference Model and the IEEE 802.3 CSMA/CD LAN Model


    3.光纤
    目前传输速度最快传播距离最长的就是光纤,主要有1000BASE-LX(long wavelength laser)、1000BASE-SX (Short Wavelength Laser)、1000BASE-T。

    IEEE802.3z定义了基于光纤和短距离铜缆的1000Base-X,采用8B/10B编码技术,信道传输速度为1.25Gbit/s,去耦后实现1000Mbit/s传输速度。

    1000BASE-X 采用单模或多模长波激光器的规格。采用直径为62.5um或50um的多模光纤时,工作波长范围为1270-1355nm,传输距离为550m;采用直径为9um或10um的单模光纤,工作波长范围为1270-1355nm,传输距离为5km左右。

    在这里插入图片描述

    在IEEE Std 802.3™的Clause 38有详细的介绍。

    在这里插入图片描述

    Relationship of 1000BASE-X and the PMDs


    4.2编码

    为了让接收方在没有外部时钟参考的情况也能确定每一位的起始、结束和中间位置,在传输信号时不直接采用二进制编码。在 10BASE-T 的传输方式中采用曼彻斯特编码,在 100BASE-T 中则采用 4B/5B 编码。

    曼彻斯特编码把每一个二进制位的周期分为两个间隔,在表示“1”时,以前半个周期为高电平,后半个周期为低电平。表示“0”时则相反,具体见下图。

    在这里插入图片描述

    采用曼彻斯特码在每个位周期都有电压变化,便于同步。但这样的编码方式效率太低,只有 50%。在 100BASE-T 采用的 4B/5B 编码是把待发送数据位流的每 4 位分为一组,以特定的 5 位编码来表示,这些特定的 5 位编码能使数据流有足够多的跳变,达到同步的目的,而且效率也从曼彻斯特编码的 50% 提高到了 80%。

    4.3 CSMA/CD冲突检测

    早期的以太网大多是多个节点连接到同一条网络总线上 (总线型网络),存在信道竞争问题,因而每个连接到以太网上的节点都必须具备冲突检测功能。

    在这里插入图片描述

    上面我们看到 H1 和 H2 都在发送以太网帧。集线器在连接到 H3 的端口上重复这些帧。当这同时发生时,我们会发生碰撞并且两帧都丢失了。

    为了解决这个问题,我们必须使用半双工

    半双工意味着我们不能同时发送和接收。当一台计算机正在传输时,其他所有人都必须等待。当没有人传输时,我们可以拍摄并传输一帧。

    然而,这并不意味着我们完全没有碰撞。当两台计算机决定“线路空闲”并开始传输时,我们仍然会发生碰撞。为了解决这个问题,我们有一个叫做 CSMA/CD 的协议。

    CSMA/CD全称是Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问/冲突检测协议),已广泛应用于以太网中。

    所谓载波侦听(Carrier Sense),意思是网络上各个工作站在发送数据前都要确认总线上有没有数据传输。若有数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。

    所谓多路访问(Multiple Access),意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。

    所谓冲突(Collision),意思是若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,这样哪个工作站都辨别不出真正的数据是什么。这种情况称为数据冲突,又称为碰撞。

    CSMA/CD 冲突检测机制大致如下:如果多个节点同时利用同一条总线发送数据,则会产生冲突,总线上的节点可通过接收到的信号与原始发送的信号的比较检测是否存在冲突,若存在冲突则停止发送数据,随机等待一段时间再重传。如果再次碰撞,发射节点再次等待,等待时间几乎是前一个的两倍:这就是所谓的退避(即“下降”)指数。除非它已经达到了最大值。

    在这里插入图片描述

    现在大多数局域网组建的时候很少采用总线型网络,大多是一个设备接入到一个独立的路由或交换机接口,组成星型网络,不会产生冲突。但为了兼容,新出的产品还是带有冲突检测机制。
    CSMA/CD 的整个方案如下图所示:

    在这里插入图片描述

    CSMA/CD的帧格式
    IEEE 802.3 标准规定的帧格式包含以下字段。

    在这里插入图片描述

    1.前导码:提供位同步的七个字节(56 位)。它由交替的 Os 和 1s 组成。目的是提供警报和定时脉冲。
    2.起始帧定界符(SFD):它是一个字节字段,具有独特的模式:10 10 1011。它标志着帧的开始。
    3.目标地址(DA):它是包含数据包目标物理地址的六字节字段。
    4.源地址(SA):它也是一个六字节字段,包含源或最后一个转发数据包的设备(最近的路由器到接收器)的物理地址。
    5.长度:这两个字节字段指定数据字段中的长度或字节数。
    6.数据:它可以是 46 到 1500 字节,取决于帧的类型和信息字段的长度。
    7.帧校验序列(FCS):这对于字节字段包含用于错误检测的 CRC。

    CSMA/CD流程

    在这里插入图片描述

    第一步:载波监听,当一个站点想要发送数据的时候,它检测网络查看是否有其他站点正在传输,即侦听信道是否空闲,要确保没有其他节点信道,所以该节点首先要监听信道上的动静,也就是先听后说。如果信道在一定时段内寂静无声(称为帧间缝隙IFG),则该节点就开始传输,也就是无声则说。

    第二步:冲突检测,如果信道一直很忙碌,就一直监视信道,直到出现最小的IFG时段时,该节点才开始发送它的数据,也就是有空就说。如果两个节点或更多的节点都在监听和等待发送,然后在信道空时同时决定立即(几乎同时)开始发送数据,此时就发生碰撞。这一事件会导致冲突,并使双方信息包都受到损坏。以太网在传输过程中不断地监听信道,以检测碰撞冲突,也就是边听边说。

    第三步:如果一个节点在传输期间检测出碰撞冲突,则立即停止该次传输,并向信道发出一个“拥挤”信号,以确保其他所有节点也发现该冲突,从而摒弃可能一直在接收的受损的信息包也就是冲突停止,即一次只能一人讲。

    第四步:多路存取,在等待一段时间(称为后退)后,想发送的节点试图进行新的发送。 这时采用一种叫二进制指数退避策略(Binary Exponential Back off Policy)的算法来决定不同的节点在试图再次发送数据前要等待一段时间,也就是随机延迟。当延时一段时间后,总线为空闲时,再重新发送未发完的数据。

    总结:先听后说,无声则说;有空就说,边听边说;一旦冲突,立即停说,随机延迟,等待再说。

    CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。

    4.4 PHY 层芯片:LAN8742A

    接下来介绍一款常用于嵌入式的PHY芯片,其他芯片也是类似的原理。

    LAN8742A是 SMSC 公司 (已被 Microchip 公司收购) 设计的一个体积小、功耗低、全能型10/100Mbps 的以太网PHY 层收发器,I/O 引脚电压符合 IEEE802.3-2005 标准。它是针对消费类电子和企业应用而设计的。 LAN8742A 总共只有 24Pin,仅支持 RMII 接口。LAN8742A可以通过自协商的方式与目的主机最佳的连接方式(速度和双工模式),支持 HP Auto-MDIX 自动翻转功能,无需更换网线即可将连接更改为直连或交叉连接。

    LAN8742A的主要特点如下:

    • 高性能的 10/100M 以太网传输模块

    • 支持 RMII 接口以减少引脚数

    • 支持全双工和半双工模式

    • 两个状态 LED 输出

    • 可以使用 25M 晶振以降低成本

    • 支持自协商模式

    • 支持 HP Auto-MDIX 自动翻转功能

    • 支持 SMI 串行管理接口

    • 支持 MAC 接口

    • 支持WOL网络唤醒功能

    LAN8742A组成的网络结构见下图。

    在这里插入图片描述

    LAN8742A通过 RMII 与 MAC 连接。 RJ45 是网络插座,在与 LAN8742A连接之间还需要一个变压器,所以一般使用带电压转换和 LED 指示灯的 HY911105A 型号的插座。一般来说,必须为使用 RMII 接口的 PHY 提供 50MHz 的时钟源输入到 REF_CLK 引脚,不过 LAN8742A内部集成PLL,可以将 25MHz 的时钟源陪频到 50MHz 并在指定引脚输出该时钟,所以我们可以直接使其与 REF_CLK 连接达到提供 50MHz 时钟效果。

    LAN8742A内部系统结构见下图。

    在这里插入图片描述

    LAN8742A有各个不同功能模块组成,最重要的要数接收控制器和发送控制器,其它的基本上都是与外部引脚挂钩,实现信号传输。部分引脚是具有双重功能的,比如 PHYAD0 与 RXER 引脚是共用的,在系统上电后 LAN8742A会马上读取这部分共用引脚的电平,以确定系统的状态并保存在相关寄存器内,之后则自动转入作为另一功能引脚。

    PHYAD[0]引脚用于配置 SMI 通信的 LAN8742A地址,在芯片内部该引脚已经自带下拉电阻,默认认为 0(即使外部悬空不接),在系统上电时会检测该引脚获取得到 LAN8742A的地址为 0 或者1,并保存在特殊模式寄存器 (R18) 的 PHYAD 位中,该寄存器的 PHYAD 有 5 个位,在需要超过2 个 LAN8742A时可以通过软件设置不同 SMI 通信地址。 PHYAD[0] 是与 RXER 引脚共用。

    MODE[2:0]引脚用于选择 LAN8742A网络通信速率和工作模式,可选 10Mbps 或 100Mbps 通信速度,半双工或全双工工作模式,另外 LAN8742A支持 HP Auto-MDIX 自动翻转功能,即可自动识别直连或交叉网线并自适应。一般将 MODE 引脚都设置为 1,可以让 LAN8742A启动自适应功能,它会自动寻找最优工作方式。 MODE[0] 与 RXD0 引脚共用、 MODE[1] 与 RXD1 引脚共用、MODE[2] 与 CRS_DV 引脚共用。

    nINT/REFCLKO引脚用于 RMII 接口中 REF_CLK 信号线,当 nINTSEL 引脚为低电平时,也就是REF_CLK Out 模式,nINT/REFCLKO 作为 REF_CLK 时钟源。它也可以被设置成 50MHz 时钟输出,这样可以直接与 STM32F746 的 REF_CLK 引脚连接为其提供50MHz 时钟源,这种模式要求为 XTAL1 与 XTAL2 之间或为 TAL1/CLKIN 提供 25MHz 时钟,由LAN8742A内部 PLL 电路陪频得到 50MHz 时钟,此时 nIN/REFCLKO 引脚的中断功能不可用,用于 50MHz 时钟输出。

    在这里插入图片描述

    当 nINTSEL 引脚为高电平时,也就是REF_CLK In 模式,nINT/REFCLKO 作为中断引脚。LAN8742A被设置为时钟输入,即外部时钟源直接提供 50MHz 时钟接入 STM32F46的REF_CLK 引脚和 LAN8742A的 XTAL1/CLKIN 引脚,此时 INT/REFCLKO 可用于中断功能。 nINTSEL 与 LED2 引脚共用,一般使用下拉。

    在这里插入图片描述

    REGOFF 引脚用于配置内部 +1.2V 电压源, LAN8742A内部需要 +1.2V 电压,可以通过 VDDCR引脚输入 +1.2V 电压提供,也可以直接利用 LAN8742A内部 +1.2V 稳压器提供。当 REGOFF 引脚为低电平时选择内部 +1.2V 稳压器。 REGOFF 与 LED1 引脚共用。

    参考文献
    [1] IEEE Standard for information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements-Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: Amend[C]// IEEE Std 80211i. IEEE, 2004.





    欢迎访问我的网站

    BruceOu的哔哩哔哩
    BruceOu的主页
    BruceOu的博客
    BruceOu的CSDN博客
    BruceOu的简书


    欢迎订阅我的微信公众号

    在这里插入图片描述

    展开全文
  • 千兆位以太网,包括1000BASE-SX(短波长激光器)和1000BASE-LX(长波长激光器)标准将提供一系列光纤的布线方式,由此使网络管理者更加重视他们的光纤基础设施。 千兆位以太网是第一个千兆位应用,它被基于结构化...
  • 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小...
  • 01概述以太网这个术语一般是指数字设备公司(Digital Equipment Corp.)、英特尔公司(IntelCorp.)和Xerox公司在1982年联合公布的一个标准。它是当今TCP/IP采用的主要的局域网技术。几年后,IEEE(电子电气工程师协会)...
  • Ethernet(以太网)之一 详解 MAC、MII、PHY

    万次阅读 多人点赞 2018-04-26 14:06:47
      从硬件的角度看,以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY(Physical Layer,PHY)两大部分构成。如下图所示   但是,在实际的设计中,以上三部分并不一定独立分开的。 由于...
  • 以太网PHY寄存器分析

    千次阅读 2020-07-17 10:04:39
    以太网PHY寄存器分析    11、以太网PHY标准寄存器分析    21.1 Control Register    21.2 Status register    51.3 PHY ...
  • 工业以太网 简介

    2014-01-22 15:39:00
    工业以太网 工业以太网是基于IEEE 802.3 (Ethernet)的强大的区域和单元网络。继10M波特率以太网成功运行之后,具有交换功能,全双工和自适应的100M波特率快速以太网(Fast Ethernet,符合IEEE 802.3u 的标准)也已...
  • 以太网(Ethernet)是互联网技术的一种,由于它是在组网技术中占的比例最高,很多人直接把以太网理解为互联网。 以太网是指遵守IEEE 802.3标准组成的局域网,由IEEE 802.3标准规定的主要是位于参考模型的物理层(PHY...
  • 以太网连接

    千次阅读 2015-12-30 16:27:10
    这些能力由一个基本页,一个1000BaseT消息页和两个1000BaseT无格式页来描述,如图8所示,消息字为8--M10:M0=00000001000,指示将传输一个1000BaseT消息字。 一个1000BaseTPHY可以作为master也可以作为slave。由一...
  • 以太网自适应

    千次阅读 2015-07-02 17:14:49
    这些能力由一个基本页,一个1000BaseT消息页和两个1000BaseT无格式页来描述,如图8所示,消息字为8--M10:M0=00000001000,指示将传输一个1000BaseT消息字。 一个1000BaseTPHY可以作为master也可以作为slave。由一...
  • 以太网数据包架构

    千次阅读 2018-02-28 14:40:04
    以太网数据包架构如果您想要了解相关内容,可以点击跳转本文所在的系列的检索目录,点击跳转 互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作...
  • 以太网帧结构详解

    2015-06-05 13:35:45
    1 以太网相关背景  以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个...
  • 以太网帧格式

    千次阅读 2016-07-23 16:05:58
    以太网相关背景 以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍...
  • 以太网理论篇

    2018-08-20 18:02:17
    以太网理论篇一.计算机网络概述&amp;nbsp; &amp;nbsp; 计算机网络是由若干节点和连接这些节点的链路组成的。网络节点可以是计算机、集线器、交换机或路由器构等。网络之间还可以通过路由器
  • 1 以太网接口MII,RMII MII即“媒体独立接口”,也叫“独立于介质的接口”。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。 RMII全称为“简化的媒体独立接口”,是...
  • 嵌入式以太网通信Lwip

    千次阅读 2019-08-09 16:18:55
    以太网结构 以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于 参考模型的 物理层(PHY) 和 数据链路层中的介质访问控制子层(MAC) 物理层 物理层一般通过一个PHY芯片实现,10BASE...
  • 以太网数据帧相关

    千次阅读 2013-09-25 16:23:07
    以太网帧格式如下: 802.3 以太网帧结构 前导码 帧开始符 MAC 目标地址 MAC 源地址 802.1Q 标签 (可选) 以太类型或长度 负载 冗余校验 帧间距 10101010 7个octet ...
  • 我们在上一文中介绍了以太网5层模型,这一节我想学习一下以太网数据封装与解封的知识,了解以太网数据是如何传输的。 一、数据封装  当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每一层...
  • FPGA 快捷拓展以太网

    千次阅读 热门讨论 2013-07-18 16:58:32
    FPGA用户可直接配置硬件TCP/IP协议栈芯片特殊寄存器,然后使用总线往...当然,好马配好鞍,对于FPGA用户,我们推荐使用W5300这款高速以太网芯片,内部配有128K RAM,支持8/16 bit BUS通讯及DMA,实际吞吐量可达80Mbps。
  • 以太网和wifi协议

    千次阅读 2015-08-26 16:30:12
    以太网和wifi协议   前言   如果你知道”小喇叭开始广播了”,估计你得有一定的年纪了,开玩笑,小喇叭是很久以前的一个儿童广播节目.在节目一开始,都是有这样一段播音:”小朋友,小喇叭广播开始了!...
  • 各种工业以太网概述

    千次阅读 2014-08-15 09:04:51
    工业以太网 工业以太网是基于IEEE 802.3 (Ethernet)的强大的区域和单元网络。利用工业以太网,SIMATIC NET 提供了一个无缝集成到新的多媒体世界的途径。企业内部互联网(Intranet),外部互联网(Extranet),以及国际...
  • 关于以太网传输

    千次阅读 2018-08-10 20:10:57
    有了这个规范以后,服务端收到请求以后,就能正确的解析客户端发来的数据,当请求处理完以后,再按照客户端要求的格式返回,客户端收到结果后,按照服务端返回的格式进行解析。 所以应用层的主要工作就是 定义...
  • PLC 以太网通讯

    万次阅读 2012-06-26 11:39:56
    云锋   [初级工] 贡献:0 贴子数:291 注册:05-06-24 状态:离线 ...实际工程中用过的PLC 以太网通信案例,需要把PLC型号、与PLC通信的设备、通信的各种参数及情况、通信实现的功能等说明清楚,贴出

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,691
精华内容 8,276
关键字:

以太网描述正确的是