Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > LLDP概要介绍

LLDP概要介绍

收藏

本作品内容为LLDP概要介绍,格式为 doc ,大小 527400 KB ,页数为 9页

LLDP概要介绍


('1LLDP协议概述目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是在这样的背景下产生的。LLDP是在802.1ab中定义的二层协议,它提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(LinkLayerDiscoveryProtocolDataUnit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(ManagementInformationBase,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。LLDP不会配置也不会控制网络元素或流量,它只是报告第二层的配置。2LLDP基本概念2.1LLDP报文格式封装有LLDPDU的报文称为LLDP报文,其封装格式有两种:EthernetII和SNAP(SubnetworkAccessProtocol,子网访问协议)。(1)EthernetII格式封装的LLDP报文图1如图1是以EthernetII格式封装的LLDP报文,其中各字段的含义如下:\uf06cDestinationMACaddress:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。\uf06cSourceMACaddress:源MAC地址,为端口MAC地址或设备桥MAC地址(如有端口地址则用端口MAC地址,否则用设备桥MAC地址)。\uf06cType:报文类型,为0x88CC。\uf06cData:数据,为LLDPDU。\uf06cFCS:帧检验序列。(2)SNAP格式封装的LLDP报文图2如图2是以SNAP格式封装的LLDP报文,其中各字段的含义如下:\uf06cDestinationMACaddress:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。\uf06cSourceMACaddress:源MAC地址,为端口MAC地址或设备桥MAC地址(如果有端口地址则用端口MAC地址,否则用设备桥MAC地址)。\uf06cType:报文类型,为0xAAAA-0300-0000-88CC。\uf06cData:数据,为LLDPDU。\uf06cFCS:帧检验序列。注:Destinationaddress:GroupMACaddressesusedbyLLDP2.2LLDPDULLDPDU就是封装在LLDP报文数据部分的数据单元。在组成LLDPDU之前,设备先将本地信息封装成TLV格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。图3LLDPDU如图3所示,每个LLDPDU是由ChasisIDTLV、PortIDTLV、TTLTLV起始,EndTLV截止的多个TLV构成,中间可以有零或多个可选的其它TLV。LLDPDU从功能上主要分为两类:Normal(常规)LLDPDUs及Shutdown(停播)LLDPDUs。NormalLLDPDUs中TTL的值为txTTL;ShutdownLLDPDUs中TTL的值为0,并且只包括了上述四个必须的TLV2.3TLVTLV是组成LLDPDU的单元,每个TLV都代表一个信息。LLDP可以封装的TLV包括基本TLV、802.1组织定义TLV、802.3组织定义TLV以及其他组织定义的TLV。基本TLV是网络设备管理基础的一组TLV,802.1组织定义TLV、802.3组织定义TLV和及其他组织定义的TLV则是由标准组织或其他机构定义的TLV,用于增强对网络设备的管理,可根据实际需要选择是否在LLDPDU中发送。TLV的基本格式:TLV的类型:3LLDP协议运行机制LLDPAgent主要功能:\uf06c维护LLDP本地系统MIB的当前信息\uf06c提取LLDP本地系统MIB信息并格式化生成LLDPDU,在常规周期或者本地系统条件或状态发生变化时将其发送给远端LLDPAgent(s)\uf06c识别并处理接收到的LLDPDU帧\uf06c维护LLDP远端系统MIB的当前信息\uf06c在一个或多个LDDP本地或远端系统MIB的值或状态发生变化时,及时通过方法somethingChangedLocal()及somethingChangedRemote()通知PTOPOMIBmanager及其他附加的MIBmanagers3.1LLDPDU发送机制如下的事件将会导致LLDPDU传送的发生:\uf06ctxTTR到期将会导致常规的LLDPDU的发送,这将确保远端接收系统中的相关信息不会因为TTL到期而过期。\uf06c如果一个“新邻居”被识别,将会启用快速发送机制,在一个快速周期内(txFast)连续发送指定数量(txFastInit,默认值为4)的LLDPDU,以确保“新邻居”能被快速更新。如果远端系统MIB因为过载(tooManyNeighbors)不能容纳新邻居的信息时,为了避免过多的PDU传输,上述快速传输的行为将会被抑制。\uf06c如果LLDP本地系统MIB的某些条件发生变化,为了尽可能快的将本地信息变化通知到每个临近系统,LLDPDU将会被立即发送。发送定时器状态机使用一种简单的基于信用(credit-based)的传送策略,允许一定数量(txCredit默认值为txCreditMax)的LLDPDUs快速传送,因此在本地状态快速变化的情况下,也允许信息的快速更新。一旦信用值被耗尽,将恢复到常规的传送状态。3.2LLDPDU接收机制LLDP帧的接收由3个阶段构成:帧的识别、有效性检查及LLDP远端系统MIB更新。帧的识别在LLDP/LSAP(链路服务访问点)上进行,通过对目的地址及网络协议类型的值决定当前帧是否是发往本LLDPAgent的LLDP帧。随后会对收到的LLDPDU及其携带的TLV进行有效性检查,以确定信息是否被正确构造并有效组织。通过有效性检查后,将邻居信息保存(添加或更新)到本地设备的远端系统MIB,并根据LLDPDU携带的TTL(TimeToLive)值设置邻居信息在本地设备的老化时间,如果接收到的LLDPDU中的TTL值等于零,将立刻老化掉该邻居信息。4状态机LLDP的操作主要通过三种状态机实现:发送状态机(TransmitStateMachine)接收状态机(ReceiveStateMachine)发送定时器状态机(TransmitTimerStateMachine)4.1定时器或变量介绍4.1.1定时器rxInfoTTL–LLDP远端系统MIB中对象的存活期定时器tooManyNeighborsTimer–LLDP邻居信息不能存放在LLDP远端系统MIB时间定时器txTTR–LLDPAgent发送LLDPDU的周期,如果txFast=0,其初始值为msgTxInterval;如果txFast>0,其初始值为msgFastTxtxShutdownWhile–LLDP重新初始化(re-initialization)发生的周期4.1.2系统变量BEGIN–系统初始化进程所控制的bool变量,其值为TRUE,则所有状态机会持续的执行其初始化状态4.1.3端口变量portEnabled–该变量由系统外因素控制,其值反映了MAC服务对端口所支持的操作状态,如果可操作,其值为TRUE,否则,为FALSE4.1.4LLDPAgent变量adminStatus–LLDPAgent的使能状态:enabledRxTx,表示可以收发LLDPDUs;enabledTxOnly,表示只能发送LLDPDUs;enabledRxOnly,表示只能接收LLDPDUs;disabled,不能收发badFrame–所收到的LLDPDU不能通过有效性检查而被丢弃localChange–本Agent的LLDP本地系统MIB的某值发生改变,则本变量会被方法somethingChangedLocal()设置为TRUE,而通过发送定时器状态机的操作置为FALSEMACaddress–本Agent相关的MAC地址msgFastTx–快速传送周期的时间间隔,范围1-3600s,默认值为1smsgTxInterval–常规传送周期的时间间隔,范围1-3600s,默认值为30smsgTxHold–作为msgTxInterval的倍增器,用于确定txTTL的值,范围1-100,默认值为4newNeighbor–当接收到一个新邻居发送来的信息时,该变量会被rxProcessFrame()方法设置为TRUE,而被发送定时器状态机设置为FALSErcvFrame–TRUE时表示一个LLDP帧已被识别,并做好被接收状态机处理的准备reinitDelay–adminStatus状态为disabled后重新初始化(re-initialization)的延迟时间,默认初始值应设为2srxChanges–接收到的LLDPDU信息不同于LLDP远端系统MIB中对应的内容rxInfoAge–当LLDP远端系统MIB中对象的rxInfoTTL过期,该变量置为TRUErxTTL–接收到的TLV的存活期remoteChanges–LLDP远端系统MIB中的某对象信息是否发生变化或者删除,其值等于(rxInfoAgeOR(rxChanges&&(rxTTL!=0)))tooManyNeighbors–LLDP远端系统MIB没有足够的空间存储信息txCredit–某时刻可以传送的连续LLDPUs数量,txAddCredit()方法可以增加该变量的值,最大限限定为txCreditMax,当一个LLDPDU被发送,则该变量会减小txCreditMax–txCredit的最大值,范围1-10,默认值为5txFast–快速传送周期中用来计数的变量txFastInit–txFast的初始化值,范围1-8,默认值为4txNow–该变量备用来告诉发送状态机需要一个传送,其在发送定时器状态机中被设置为TRUE,而在传送被初始化后被发送状态机设置为FALSEtxTick–系统时钟每隔1s将其设置为TRUE,而发送定时器状态机将其置为FALSEtxTTL–LLDPDU存活期,=min(65535,(msgTxIntervalmsgTxHold)+1),如果adminStatus==‘disabled’或者portEnabled==FALSE则txTTL应置为04.1.5Agent统计计数器statsAgeoutsTotal,statsFramesDiscardedTotal,statsFramesInErrorsTotal,statsFramesInTotal,statsFramesOutTotal,statsTLVsDiscardedTotal,statsTLVsUnrecognizedTotal,lldpduLengthErrors4.2状态机方法4.2.1dec(variable-name)–变量减14.2.2mibConstrInfoLLDPDU()–构造LLDPDU4.2.3mibConstrShutdownLLDPDU()–构造ShutdownLLDPDU4.2.4mibDeleteObjects()–如果接收到的LLDPDU中的一个rxTTL==0或者rxInfoTTL过期,则该方法会根据一个给定的MSAPID删除LLDP远端系统MIB的相关信息4.2.5mibUpdateObjects()–根据接收到的LLDPDU信息更新LLDP远端系统MIB中的相关信息4.2.6rxInitializeLLDP()–初始化LLDP接收模块4.2.7rxProcessFrame()–对LLDPDU做有效性检查;决定是否更新MIB;如果没有足够空间,则决定丢弃接收到的LLDPDU还是删除现有的邻居信息;设置tooManyNeighborsTimer定时器及tooManyNeighbors变量4.2.8somethingChangedLocal()–LLDP远端系统MIB中某MSAPID相关的信息更新完成后,调用该方法通知其管理者4.2.9txAddCredit()–增加txCredit变量,直至txCreditMax4.2.10txFrame()–传送mibConstrInfoLLDPDU()或mibConstrShutdownLLDPDU()构造LLDPDU,传送完成后会增加statsFramesOutTotal4.2.11txInitializeLLDP()–初始化LLDP发送模块4.3发送状态机工作流程4.4接收状态机工作流程4.5发送定时器状态机工作流程',)


  • 编号:1700774012
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:9页
  • 格式:docx
  • 风格:商务
  • PPT页数:527400 KB
  • 标签:

广告位推荐

相关其他文档更多>