11-LLDP配置
本章节下载: 11-LLDP配置 (548.08 KB)
目 录
1.16 配置LLDP Trap和LLDP-MED Trap功能
1.18.2 配置LLDP报文的源MAC地址为指定的MAC地址
1.18.3 配置设备支持通过LLDP生成对端管理地址的ARP或ND表项
LLDP(Link Layer Discovery Protocol,链路层发现协议)提供了一种标准的链路层发现方式,使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP将本端设备的信息(包括主要能力、管理地址、设备标识、接口标识等)封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
LLDP代理是LLDP协议运行实体的一个抽象映射。一个接口下,可以运行多个LLDP代理。目前LLDP定义的代理类型包括:
Nearest Bridge:最近桥代理。
Nearest non-TPMR Bridge:最近非TPMR桥代理。其中TPMR(Two-Port MAC Relay,双端口MAC中继),是一种只有两个可供外部访问桥端口的桥,支持MAC桥的功能子集。TPMR对于所有基于帧的介质无关协议都是透明的,但如下协议除外:以TPMR为目的地的协议、以保留MAC地址为目的地址但TPMR定义为不予转发的协议。
Nearest Customer Bridge:最近客户桥代理。
LLDP在相邻的代理之间进行协议报文交互,并基于代理创建及维护邻居信息。LLDP不同类型的代理邻居关系如图1-1所示。
图1-1 LLDP邻居关系示意图
其中,CB(Customer Bridge,客户桥)和SB(Service Bridge,服务桥)表示LLDP的两种桥模式。
· LLDP工作于客户桥模式时,设备可支持最近桥代理、最近非TPMR桥代理和最近客户桥代理,即设备对报文目的MAC地址为上述代理的MAC地址的LLDP报文进行处理,对报文目的MAC地址为其他MAC地址的LLDP报文进行VLAN内透传。
· LLDP工作于服务桥模式时,设备可支持最近桥代理和最近非TPMR桥代理,即设备对报文目的MAC地址为上述代理的MAC地址的LLDP报文进行处理,对报文目的MAC地址为其他MAC地址的LLDP报文进行VLAN内透传。
封装LLDPDU的报文称为LLDP报文,其封装格式有两种:Ethernet II和SNAP(Subnetwork Access Protocol,子网访问协议)。
图1-2 Ethernet II格式封装的LLDP报文
如图1-2所示,Ethernet II格式封装的LLDP报文包含如下字段:
· Destination MAC address:目的MAC地址。为区分同一接口下不同类型代理发送及接收的LLDP报文,LLDP协议规定了不同的组播MAC地址作为不同类型代理的LLDP报文的目的MAC地址。
¡ 最近桥代理类型的LLDP报文使用组播MAC地址0x0180-c200-000e。
¡ 最近客户桥代理类型的LLDP报文使用组播MAC地址0x0180-c200-0000。
¡ 最近非TPMR桥代理类型的LLDP报文使用组播MAC地址0x0180-c200-0003。
· Source MAC address:源MAC地址,为端口MAC地址。
· Type:报文类型,为0x88CC。
· Data:数据内容,为LLDPDU。
· FCS:帧检验序列,用来对报文进行校验。
图1-3 SNAP格式封装的LLDP报文
如图1-3所示,SNAP格式封装的LLDP报文包含如下字段:
· Destination MAC address:目的MAC地址,与Ethernet II格式封装的LLDP报文目的MAC地址相同。
· Source MAC address:源MAC地址,为端口MAC地址。
· Type:报文类型,为0xAAAA-0300-0000-88CC。
· Data:数据内容,为LLDPDU。
· FCS:帧检验序列,用来对报文进行校验。
LLDPDU是封装在LLDP报文数据部分的数据单元。在组成LLDPDU之前,设备先将本地信息封装成TLV格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。
图1-4 LLDPDU的封装格式
如图1-4所示,蓝色的Chassis ID TLV、Port ID TLV、Time To Live TLV是每个LLDPDU都必须携带的,其余的TLV则为可选携带。每个LLDPDU最多可携带32种TLV。
TLV是组成LLDPDU的单元,每个TLV都代表一个信息。LLDP可以封装的TLV包括基本TLV、802.1组织定义TLV、802.3组织定义TLV和LLDP-MED(Link Layer Discovery Protocol Media Endpoint Discovery,链路层发现协议媒体终端发现) TLV。
基本TLV是网络设备管理基础的一组TLV,802.1组织定义TLV、802.3组织定义TLV和LLDP-MED TLV则是由标准组织或其他机构定义的TLV,用于增强对网络设备的管理,可根据实际需要选择是否在LLDPDU中发送。
在基本TLV中,有几种TLV对于实现LLDP功能来说是必选的,即必须在LLDPDU中发布,如表1-1所示。
TLV名称 |
说明 |
是否必须发布 |
Chassis ID |
发送设备的桥MAC地址 |
是 |
Port ID |
标识LLDPDU发送端的端口。如果LLDPDU中携带有LLDP-MED TLV,其内容为端口的MAC地址;否则,其内容为端口的名称 |
是 |
Time To Live |
本设备信息在邻居设备上的存活时间 |
是 |
End of LLDPDU |
LLDPDU的结束标识,是LLDPDU的最后一个TLV |
是 |
Port Description |
端口的描述 |
否 |
System Name |
设备的名称 |
否 |
System Description |
系统的描述 |
否 |
System Capabilities |
系统的主要功能以及已开启的功能项 |
否 |
Management Address |
管理地址,以及该地址所对应的接口号和OID(Object Identifier,对象标识符) |
否 |
IEEE 802.1组织定义TLV的内容如表1-2所示。
目前,H3C设备不支持发送Protocol Identity TLV和VID Usage Digest TLV,但可以接收这两种类型的TLV。
三层以太网接口仅支持Link Aggregation TLV。
表1-2 IEEE 802.1组织定义的TLV
TLV名称 |
说明 |
Port VLAN ID(PVID) |
端口PVID |
Port and protocol VLAN ID(PPVID) |
端口协议VLAN ID |
VLAN Name |
端口所属VLAN的名称 |
Protocol Identity |
端口所支持的协议类型 |
DCBX |
数据中心桥能力交换协议(Data Center Bridging Exchange Protocol) |
EVB模块 |
(暂不支持)边缘虚拟桥接(Edge Virtual Bridging)模块,具体包括EVB TLV和CDCP(S-Channel Discovery and Configuration Protocol,S通道发现和配置协议) TLV这两种TLV |
Link Aggregation |
端口是否支持链路聚合以及是否已开启链路聚合 |
Management VID |
管理VLAN |
VID Usage Digest |
包含VLAN ID使用摘要的数据 |
ETS Configuration |
(暂不支持)增强传输选择(Enhanced Transmission Selection)配置 |
ETS Recommendation |
(暂不支持)增强传输选择推荐 |
PFC |
基于优先级的流量控制(Priority-based Flow Control) |
APP |
应用协议(Application Protocol) |
QCN |
(暂不支持)量化拥塞通知(Quantized Congestion Notification) |
IEEE 802.3组织定义TLV的内容如表1-3所示。
Power Stateful Control TLV是在IEEE P802.3at D1.0版本中被定义的,之后的版本不再支持该TLV。H3C设备只有在收到Power Stateful Control TLV后才会发送该类型的TLV。
表1-3 IEEE 802.3组织定义的TLV
TLV名称 |
说明 |
MAC/PHY Configuration/Status |
端口支持的速率和双工状态、是否支持端口速率自动协商、是否已开启自动协商功能以及当前的速率和双工状态 |
Power Via MDI |
端口的供电能力,包括PoE(Power over Ethernet,以太网供电)的类型(包括PSE(Power Sourcing Equipment,供电设备)和PD(Powered Device,受电设备)两种)、PoE端口的远程供电模式、是否支持PSE供电、是否已开启PSE供电、供电方式是否可控、供电类型、功率来源、功率优先级、PD请求功率值、PSE分配功率值 |
Maximum Frame Size |
端口支持的最大帧长度 |
Power Stateful Control |
端口的电源状态控制,包括PSE/PD所采用的电源类型、供/受电的优先级以及供/受电的功率 |
Energy-Efficient Ethernet |
节能以太网 |
LLDP-MED TLV为VoIP(Voice over IP,在IP网络上传送语音)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等,满足了语音设备的不同生产厂商在投资收效、易部署、易管理等方面的要求,并解决了在以太网中部署语音设备的问题,为语音设备的生产者、销售者以及使用者提供了便利。LLDP-MED TLV的内容如表1-4所示。
如果禁止发布802.3的组织定义的MAC/PHY Configuration/Status TLV,则LLDP-MED TLV将不会被发布,不论其是否被允许发布;如果禁止发布LLDP-MED Capabilities TLV,则其他LLDP-MED TLV将不会被发布,不论其是否被允许发布。
TLV名称 |
说明 |
LLDP-MED Capabilities |
网络设备所支持的LLDP-MED TLV类型 |
Network Policy |
网络设备或终端设备上端口的VLAN类型、VLAN ID以及二三层与具体应用类型相关的优先级等 |
Extended Power-via-MDI |
网络设备或终端设备的扩展供电能力,对Power Via MDI TLV进行了扩展 |
Hardware Revision |
终端设备的硬件版本 |
Firmware Revision |
终端设备的固件版本 |
Software Revision |
终端设备的软件版本 |
Serial Number |
终端设备的序列号 |
Manufacturer Name |
终端设备的制造厂商名称 |
Model Name |
终端设备的模块名称 |
Asset ID |
终端设备的资产标识符,以便目录管理和资产跟踪 |
Location Identification |
网络设备的位置标识信息,以供终端设备在基于位置的应用中使用 |
管理地址是供网络管理系统标识网络设备并进行管理的地址。管理地址可以明确地标识一台设备,从而有利于网络拓扑的绘制,便于网络管理。管理地址被封装在LLDP报文的Management Address TLV中向外发布。
在指定类型的LLDP代理下,LLDP有以下四种工作模式:
· TxRx:既发送也接收LLDP报文。
· Tx:只发送不接收LLDP报文。
· Rx:只接收不发送LLDP报文。
· Disable:既不发送也不接收LLDP报文。
当端口的LLDP工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。
在指定类型LLDP代理下,当端口工作在TxRx或Tx模式时,设备会周期性地向邻居设备发送LLDP报文。如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备。但为了防止本地信息的频繁变化而引起LLDP报文的大量发送,使用令牌桶机制对LLDP报文发送作限速处理。有关令牌桶的详细介绍,请参见“ACL和QoS配置指导”中的“QoS”。
当设备的工作模式由Disable/Rx切换为TxRx/Tx,或者发现了新的邻居设备(即收到一个新的LLDP报文且本地尚未保存发送该报文设备的信息)时,该设备将自动启用快速发送机制,即将LLDP报文的发送周期设置为快速发送周期,并连续发送指定数量的LLDP报文后再恢复为正常的发送周期。
当端口工作在TxRx或Rx模式时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地,并根据Time To Live TLV中TTL(Time to Live,生存时间)的值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。
LLDP检测邻居是否存在,将检测结果通知给Track模块;Track模块根据检测结果,对Track项的状态进行修改,以便通知应用模块进行相应处理:
· 当LLDP邻居存在时,Track项的状态为Positive。
· 当LLDP邻居不存在时,Track项的状态为Negative。
关于LLDP与Track联动的详细介绍和相关配置,请参见“可靠性配置指导”中的“Track”。
与LLDP相关的协议规范有:
· IEEE 802.1AB-2005:Station and Media Access Control Connectivity Discovery
· IEEE 802.1AB 2009:Station and Media Access Control Connectivity Discovery
· ANSI/TIA-1057:Link Layer Discovery Protocol for Media Endpoint Devices
· IEEE Std 802.1Qaz-2011:Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks-Amendment 18: Enhanced Transmission Selection for Bandwidth Sharing Between Traffic Classes
如表1-5所示,LLDP以下配置任务支持在多个接口视图配置。
表1-5 LLDP配置任务对应的接口视图
配置任务 |
支持配置的接口视图 |
开启LLDP功能 |
支持配置的接口视图: · 二层以太网接口视图 · 三层以太网接口视图 · 管理以太网接口视图 · 二层聚合接口视图 · 三层聚合接口视图 |
配置LLDP工作模式 |
|
配置允许发布的TLV类型 |
|
配置管理地址及其封装格式 |
|
配置LLDP报文的封装格式 |
|
配置轮询功能 |
|
配置LLDP Trap功能 |
LLDP配置任务如下:
(1) 开启LLDP功能
(2) 配置LLDP桥模式
(3) 配置LLDP工作模式
(4) (可选)配置接口初始化延迟时间
(5) (可选)配置LLDP报文相关参数
(6) (可选)配置轮询功能
(7) (可选)关闭LLDP的PVID不一致检查功能
(8) (可选)配置LLDP兼容CDP功能
(9) (可选)配置LLDP Trap和LLDP-MED Trap功能
(10) (可选)配置LLDP邻居验证与超时保护功能
(11) (可选)配置地址借用功能
¡ 配置设备支持通过LLDP生成对端管理地址的ARP或ND表项
只有当全局和接口上都开启了LLDP功能后,该功能才会生效。
聚合接口上的LLDP开启/关闭配置不会被同步到其成员接口中。
(1) 进入系统视图。
system-view
(2) 全局开启LLDP功能。
lldp global enable
空配置启动时,使用软件功能缺省值,LLDP功能在全局处于关闭状态。
缺省配置启动时,使用软件功能出厂值,LLDP功能在全局处于开启状态。
关于空配置启动和缺省配置启动的详细介绍,请参见“基础配置指导”中的“配置文件管理”。
(3) 进入接口视图。
interface interface-type interface-number
(4) 在接口上开启LLDP功能。
lldp enable
缺省情况下,LLDP功能在接口上处于开启状态。
(1) 进入系统视图。
system-view
(2) 配置LLDP桥模式。
¡ 配置LLDP桥模式为服务桥模式。
lldp mode service-bridge
¡ 配置LLDP桥模式为客户桥模式。
undo lldp mode
缺省情况下,LLDP桥模式为客户桥模式。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置LLDP的工作模式。
¡ 在二/三层以太网接口视图或管理以太网接口视图下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] admin-status { disable | rx | tx | txrx }
以太网接口视图下,未指定agent参数时,表示配置最近桥代理的工作模式。
¡ 在二/三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } admin-status { disable | rx | tx | txrx }
聚合接口视图下,只支持配置最近客户桥代理和最近非TPMR代理的工作模式。
缺省情况下,最近桥代理类型的LLDP工作模式为TxRx,最近客户桥代理和最近非TPMR桥代理类型的LLDP工作模式为Disable。
当接口上LLDP的工作模式发生变化时,接口将对协议状态机进行初始化操作,通过配置接口初始化的延迟时间,可以避免由于工作模式频繁改变而导致接口不断地进行初始化。
(1) 进入系统视图。
system-view
(2) 配置接口初始化的延迟时间。
lldp timer reinit-delay delay
缺省情况下,接口初始化的延迟时间为2秒。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口上允许发布的TLV类型。
¡ 在二层以太网接口视图下:
lldp tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ] } | dot1-tlv { all | port-vlan-id | link-aggregation | dcbx | protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id ] | management-vid [ mvlan-id ] } | dot3-tlv { all | mac-physic | max-frame-size } | med-tlv { all | capability | inventory | network-policy [ vlan-id ] | power-over-ethernet | location-id { civic-address device-type country-code { ca-type ca-value }&<1-10> | elin-address tel-number } } }
缺省情况下,最近桥代理允许发布除DCBX TLV、Location-id TLV、Port And Protocol VLAN ID TLV、VLAN Name TLV、Management VLAN ID TLV之外所有类型的TLV。
lldp agent nearest-nontpmr tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address ] } | dot1-tlv { all | port-vlan-id | link-aggregation } }
lldp tlv-enable dot1-tlv { protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id ] | management-vid [ mvlan-id ] }
缺省情况下,最近非TPMR桥代理不发布任何TLV。
lldp agent nearest-customer tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address ] } | dot1-tlv { all | port-vlan-id | link-aggregation } }
lldp tlv-enable dot1-tlv { protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id ] | management-vid [ mvlan-id ] }
缺省情况下,最近客户桥代理允许发布基本TLV和IEEE 802.1组织定义TLV,其中IEEE802.1组织定义TLV只支持Link Aggregation TLV。
¡ 在三层以太网接口视图下:
lldp tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ] } | dot1-tlv { all | link-aggregation } | dot3-tlv { all | mac-physic | max-frame-size } | med-tlv { all | capability | inventory | power-over-ethernet | location-id { civic-address device-type country-code { ca-type ca-value }&<1-10> | elin-address tel-number } } }
缺省情况下,最近桥代理允许发布除Network Policy TLV和Location Identification TLV之外所有类型的TLV,其中IEEE 802.1组织定义的TLV只支持Link Aggregation TLV。
lldp agent { nearest-nontpmr | nearest-customer } tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address ] } | dot1-tlv { all | link-aggregation } }
缺省情况下,最近非TPMR桥代理不发布任何TLV;最近客户桥代理允许发布基本TLV和IEEE 802.1组织定义TLV,其中IEEE 802.1组织定义的TLV只支持Link Aggregation TLV。
¡ 在管理以太网接口视图下:
lldp tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address ] } | dot1-tlv { all | link-aggregation } | dot3-tlv { all | mac-physic | max-frame-size } | med-tlv { all | capability | inventory | power-over-ethernet | location-id { civic-address device-type country-code { ca-type ca-value }&<1-10> | elin-address tel-number } } }
缺省情况下,最近桥代理允许发布除Network Policy TLV和Location Identification TLV之外所有类型的TLV,其中IEEE 802.1组织定义的TLV只支持Link Aggregation TLV。
lldp agent { nearest-nontpmr | nearest-customer } tlv-enable { basic-tlv { all | port-description | system-capability | system-description | system-name | management-address-tlv [ ipv6 ] [ ip-address ] } | dot1-tlv { all | link-aggregation } }
缺省情况下,最近非TPMR桥代理不发布任何TLV;最近客户桥代理允许发布基本TLV和IEEE 802.1组织定义TLV,其中IEEE 802.1组织定义的TLV只支持Link Aggregation TLV。
¡ 在二层聚合接口视图下:
lldp tlv-enable dot1-tlv { protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id ] | management-vid [ mvlan-id ]
lldp agent nearest-nontpmr tlv-enable { basic-tlv { all | management-address-tlv [ ipv6 ] [ ip-address ] | port-description | system-capability | system-description | system-name } | dot1-tlv { all | port-vlan-id } }
缺省情况下,最近非TPMR桥代理不发布任何TLV。
lldp agent nearest-customer tlv-enable { basic-tlv { all | management-address-tlv [ ipv6 ] [ ip-address ] | port-description | system-capability | system-description | system-name } | dot1-tlv { all | port-vlan-id } }
缺省情况下,最近客户桥代理允许发布基本TLV和IEEE 802.1组织定义TLV,其中IEEE 802.1组织定义的TLV只支持Port VLAN ID TLV。
不存在最近桥代理。
¡ 在三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } tlv-enable basic-tlv { all | management-address-tlv [ ipv6 ] [ ip-address ] | port-description | system-capability | system-description | system-name }
lldp agent nearest-nontpmr tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ]
缺省情况下,最近非TPMR桥代理不发布任何TLV;最近客户桥代理只允许发布基本TLV。
不存在最近桥代理。
管理地址被封装在Management Address TLV中向外发布,封装格式可以是数字或字符串。如果邻居将管理地址以字符串格式封装在TLV中,用户可在本地设备上也将封装格式改为字符串,以保证与邻居设备的正常通信。
可以在全局或接口上配置允许在LLDP报文中发布管理地址并配置所发布的管理地址:全局的配置对所有接口都有效,而接口上的配置只对当接口有效。对于一个接口来说,优先采用该接口上的配置,只有该接口上未进行配置时,才采用全局的配置。当全局和接口下都未配置时,会采用接口下的缺省配置。
(1) 进入系统视图。
system-view
(2) 配置全局允许在LLDP报文中发布管理地址并配置所发布的管理地址。
lldp [ agent { nearest-customer | nearest-nontpmr } ] global tlv-enable basic-tlv management-address-tlv [ ipv6 ] { ip-address | interface loopback interface-number | interface vlan-interface interface-number }
缺省情况下,全局不允许在LLDP报文中发布管理地址TLV。
(3) 进入接口视图。
interface interface-type interface-number
(4) 允许在LLDP报文中发布管理地址并配置所发布的管理地址。
¡ 在二层以太网接口视图/管理以太网接口视图下:
lldp tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ]
lldp agent { nearest-customer | nearest-nontpmr } tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address ]
¡ 在三层以太网接口视图下:
lldp tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ]
lldp agent { nearest-customer | nearest-nontpmr } tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address ]
¡ 在二层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address ]
¡ 在三层聚合接口视图下:
lldp agent nearest-customer tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address ]
lldp agent nearest-nontpmr tlv-enable basic-tlv management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ]
缺省情况下,最近桥代理和最近客户桥代理类型的LLDP允许在LLDP报文中发布管理地址,最近非TPMR桥代理类型LLDP不允许在LLDP报文中发布管理地址。
对于LLDP报文中所要发布的IPv6格式的管理地址,仅支持数字格式的封装格式。
(5) 配置管理地址在TLV中的封装格式为字符串格式。
¡ 在二/三层以太网接口视图或管理以太网接口视图下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] management-address-format string
¡ 在二/三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } management-address-format string
缺省情况下,管理地址在TLV中的封装格式为数字格式。
LLDP早期版本要求只有配置为相同的封装格式才能处理该格式的LLDP报文,因此为了确保与运行LLDP早期版本的设备成功通信,必须配置为与之相同的封装格式。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置LLDP报文的封装格式为SNAP格式。
¡ 在二/三层以太网接口视图或管理以太网接口视图下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] encapsulation snap
¡ 在二/三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } encapsulation snap
缺省情况下,LLDP报文的封装格式为Ethernet II格式。
LLDP报文所携Time To Live TLV中TTL的值用来设置邻居信息在本地设备上的老化时间,由于TTL=Min(65535,(TTL乘数×LLDP报文的发送时间间隔+1)),即取65535与(TTL乘数×LLDP报文的发送时间间隔+1)中的最小值,因此通过调整TTL乘数可以控制本设备信息在邻居设备上的老化时间。
(1) 进入系统视图。
system-view
(2) 配置TTL乘数。
lldp hold-multiplier value
缺省情况下,TTL乘数为4。
(3) 配置LLDP报文的发送时间间隔。
lldp timer tx-interval interval
缺省情况下,LLDP报文的发送时间间隔为30秒。
(4) 配置LLDP报文发包限速的令牌桶大小。
lldp max-credit credit-value
缺省情况下,发包限速令牌桶大小为5。
(5) 配置快速发送LLDP报文的个数。
lldp fast-count count
缺省情况下,快速发送LLDP报文的个数为4个。
(6) 配置快速发送LLDP报文的时间间隔。
lldp timer fast-interval interval
缺省情况下,快速发送LLDP报文的发送时间间隔为1秒。
当需要检测设备是否存在直连邻居时,可以配置本功能启动LLDP报文接收超时定时器。在经过超时时间后,如果接口仍未收到LLDP报文,则认为该接口不存在LLDP邻居,并将该事件发送给NETCONF处理。
LLDP报文接收超时时间需要大于邻居设备LLDP报文的发送间隔,避免误配置导致检测到LLDP邻居不存在。
(1) 进入系统视图。
system-view
(2) 配置LLDP报文接收超时时间。
lldp timer rx-timeout timeout
缺省情况下,未配置LLDP报文接收超时时间,不上报无LLDP邻居事件。
在开启了轮询功能后,LLDP将以轮询间隔周期性地查询本设备的相关配置是否发生改变,如果发生改变将触发LLDP报文的发送,以将本设备的配置变化迅速通知给其他设备。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启轮询功能并配置轮询间隔。
¡ 在二/三层以太网接口视图或管理以太网接口视图下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] check-change-interval interval
¡ 在二/三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } check-change-interval interval
缺省情况下,轮询功能处于关闭状态。
一般组网情况下,要求链路两端的PVID保持一致。设备会对收到的LLDP报文中的PVID TLV进行检查,如果发现报文中的PVID与本端PVID不一致,则认为网络中可能存在错误配置,LLDP会打印日志信息,提示用户。
但在一些特殊情况下,可以允许链路两端的PVID配置不一致。例如为了简化接入设备的配置,各接入设备的上行口采用相同的PVID,而对端汇聚设备的各接口采用不同的PVID,从而使各接入设备的流量进入不同VLAN。此时,可以关闭LLDP的PVID不一致性检查功能。
(1) 进入系统视图。
system-view
(2) 关闭LLDP的PVID不一致检查功能。
lldp ignore-pvid-inconsistency
缺省情况下, LLDP的PVID不一致检查功能处于开启状态。
当设备与只支持CDP(Cisco Discovery Protocol,思科发现协议)不支持LLDP的Cisco设备直连时,可以通过配置LLDP兼容CDP功能与直连设备交互信息。
设备上配置LLDP兼容CDP功能后,可以利用LLDP来接收、识别从直连设备接收的CDP报文,并向直连设备发送CDP报文。设备向CDP邻居设备发送的报文中携带设备ID,与邻居设备相连端口的ID、端口IP地址以及生存时间信息。其中,端口IP地址为该端口允许通过的、对应VLAN接口上配置有IP地址且处于up状态的最小VLAN的主IP地址,如果该端口允许通过的所有VLAN所对应的VLAN接口上都未配置IP地址或均处于down状态,则不发布端口IP地址。设备可以识别的CDP邻居设备的信息请参见display lldp neighbor-information命令显示信息中的CDP neighbor-information相关字段,有关该命令的详细介绍请参见“二层技术-以太网交换命令参考”中的“LLDP”。
当设备与Cisco的IP电话直连时,IP电话将会向设备发送CDP(Cisco Discovery Protocol,思科发现协议)报文以请求在设备上所配Voice VLAN的VLAN ID;如果在指定时间内没有收到设备发送的Voice VLAN的VLAN ID,IP电话将会把语音数据流以Untagged方式发送,从而导致语音数据流与其他类型的数据流混在一起,无法进行区分。
通过在设备上配置LLDP兼容CDP功能,可以利用LLDP来接收、识别从IP电话发送的CDP报文,并向IP电话发送CDP报文,该CDP报文携带设备所配Voice VLAN的TLV(如果没有配置Vioce VLAN,则TLV还可由服务器下发或者从端口Vioce VLAN获得),使IP电话完成Voice VLAN的自动配置。语音数据流将被限制在配置的Voice VLAN内,与其他数据流区分开来。
有关Voice VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Voice VLAN”。
主机与Cisco的IP电话的数据端口连接,Cisco的IP电话与设备直连,主机通过IP电话连接到设备进行上线认证。当Cisco的IP电话的数据端口发生故障时,会向直连设备发送数据端口故障的CDP报文,以便设备将通过IP电话接入的终端用户下线。
LLDP兼容CDP功能有以下几种工作模式:
· TxRx:既发送也接收CDP报文。
· Rx:接收但不发送CDP报文。
· Disable:既不发送也不接收CDP报文。
配置LLDP兼容CDP功能时,需要注意:
· 要使LLDP兼容CDP功能生效,必须先在全局开启LLDP兼容CDP功能,并将LLDP兼容CDP功能的工作模式配置为TxRx。
· 由于CDP报文所携Time To Live TLV中TTL的最大值为255,而CDP报文的发送时间间隔由LLDP报文的发送时间间隔控制,因此为保证LLDP兼容CDP功能的正常运行,建议配置LLDP报文的发送时间间隔值不大于实际TTL的1/3。
在配置LLDP兼容CDP功能之前,需完成以下任务:
· 全局开启LLDP功能。
· 在设备与支持CDP的设备相连接的接口上开启LLDP功能,并配置接口的LLDP工作模式为TxRx。
(1) 进入系统视图。
system-view
(2) 开启LLDP兼容CDP功能。
lldp compliance cdp
缺省情况下,LLDP兼容CDP功能处于关闭状态。
(3) 进入二/三层以太网接口视图或管理以太网接口视图。
interface interface-type interface-number
(4) 配置LLDP兼容CDP功能的工作模式为TxRx。
lldp compliance admin-status cdp txrx
缺省情况下,LLDP兼容CDP功能的工作模式为Disable。
(5) 配置CDP报文携带的Voice VLAN ID。
cdp voice-vlan vlan-id
缺省情况下,未配置CDP报文携带的Voice VLAN ID。
开启LLDP Trap或LLDP-MED Trap功能后,设备可以通过向网管系统发送Trap信息以通告如发现新的LLDP邻居或LLDP-MED邻居、与原来邻居的通信链路发生故障等重要事件。
LLDP Trap和LLDP-MED Trap信息的发送时间间隔是指设备向网管系统发送Trap信息的最小时间间隔,该时间间隔的取值对网络的影响如下:
· 时间间隔较大时,设备发送的Trap信息频率较低,对系统资源的占用较少,适用于设备上的网络拓扑频繁变化的场景。但是,时间间隔的取值不宜过大,否则网管系统可能无法及时感知到邻居的状态变化,从而影响设备上的网络拓扑的及时更新。
· 时间间隔较小时,设备发送的Trap信息频率较高,设备能够及时对网络拓扑进行更新,适用于拓扑变化敏感型场景。但是,时间间隔的取值不宜过小,否则将导致网管系统频繁刷新邻居状态信息,不仅会占用过多的系统资源,还会造成设备上的网络拓扑震荡。
在组网的前期,网络拓扑变化较为频繁,如果配置了本功能,设备会频繁向网管系统发送Trap信息,导致系统负担增加和资源浪费。因此,在组网的前期,建议不要开启LLDP Trap和LLDP-MED Trap功能。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启LLDP Trap功能。
¡ 在二/三层以太网接口视图或管理以太网接口视图下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] notification remote-change enable
¡ 在二/三层聚合接口视图下:
lldp agent { nearest-customer | nearest-nontpmr } notification remote-change enable
缺省情况下,LLDP Trap功能处于关闭状态。
(4) 在二/三层以太网接口视图或管理以太网接口视图下开启LLDP-MED Trap功能。
lldp notification med-topology-change enable
缺省情况下,LLDP-MED Trap功能处于关闭状态。
(5) 退回系统视图。
quit
(6) (可选)配置LLDP Trap和LLDP-MED Trap信息的发送时间间隔。
lldp timer notification-interval interval
缺省情况下,LLDP Trap和LLDP-MED Trap信息的发送时间间隔均为30秒。
开启邻居验证功能后,如果满足表1-6所示的邻居验证通过条件,则接口可以继续收发数据报文;否则阻塞接口,即接口的链路层状态置为DOWN,且不允许该接口继续收发数据报文。
配置的邻居识别信息 |
邻居验证通过条件 |
配置邻居Chassis ID TLV识别信息 |
接口从邻居收到的LLDPDU中携带的Chassis ID TLV与配置相同 |
配置邻居Port ID TLV识别信息 |
接口从邻居收到的LLDPDU中携带的Port ID TLV与配置相同 |
配置邻居Chassis ID TLV和Port ID TLV识别信息 |
接口从邻居收到的LLDPDU中携带的Chassis ID TLV和Port ID TLV与配置全部相同 |
(1) 进入系统视图。
system-view
(2) 进入二/三层以太网接口视图。
interface interface-type interface-number
(3) 配置邻居识别信息。请至少选择其中一项进行配置。
¡ 配置邻居Chassis ID TLV识别信息。
lldp neighbor-identity chassis-id chassis-id-subtype chassis-id
¡ 配置邻居Port ID TLV识别信息。
lldp neighbor-identity port-id port-id-subtype port-id
缺省情况下,未配置邻居Chassis ID TLV识别信息和Port ID TLV识别信息。
(4) 配置邻居验证保护功能。
lldp neighbor-protection validation
缺省情况下,邻居验证保护功能处于关闭状态。
邻居老化超时保护功能分为邻居老化超时后阻塞接口和邻居老化超时后关闭接口。
· 阻塞接口:在超过老化时间后,如果接口收不到LLDP报文,则阻塞该接口,即接口的链路层状态置为DOWN,且不允许该接口继续收发数据报文;如果接口收到LLDP报文,则该接口可以继续收发数据报文。接口收发协议报文不受影响。
· 关闭接口:在超过老化时间后,会立刻关闭接口,即接口的状态置为LLDP DOWN,且不允许该接口继续收发数据报文和协议报文,被关闭的接口需要执行命令undo lldp neighbor-protection aging或者命令undo shutdown才能被重新开启。
(1) 进入系统视图。
system-view
(2) 进入二/三层以太网接口视图。
interface interface-type interface-number
(3) 配置邻居超时保护功能。
lldp neighbor-protection aging { block | shutdown }
缺省情况下,邻居超时保护功能处于关闭状态。
在DCN(Data Communication Network,数据通信网)组网环境中,DCN功能需要学习对端接口的MAC地址,以便对设备进行远程管理和控制。通过配置本功能,用户可以通过LLDP协议实现,当收到对端的LLDP报文时,设备可以根据LLDP报文的Management Address TLV生成对端设备管理地址的ARP或者ND表项,从而学习到对端接口的MAC地址。有关DCN功能的详细介绍,请参见“三层技术-IP路由配置指导”中的“DCN”。
本功能用来配合设备支持通过LLDP生成对端管理地址的ARP或ND表项功能使用,以保证设备发送报文的源MAC地址为VLAN接口、当前三层以太网接口或当前三层聚合接口的MAC地址,而不是当前接口的MAC地址,确保对端学习到正确的ARP/ND表项。
在二层以太网接口下配置本功能后,当前接口发送的LLDP报文源MAC地址为本功能指定的VLAN ID对应的VLAN接口的MAC地址。以下情况时,LLDP报文源MAC地址为当前二层以太网接口的MAC地址:
· 指定的VLAN未创建或对应的VLAN接口未创建。
· 指定的VLAN ID对应的VLAN接口物理状态为DOWN。
在三层以太网接口视图/三层聚合接口视图下配置本功能时,无论是否指定vlan vlan-id参数,LLDP报文源MAC地址为当前接口的MAC地址。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图/三层以太网接口视图/三层聚合接口视图。
interface interface-type interface-number
(3) 配置LLDP报文源MAC地址为VLAN接口或当前三层以太网接口/三层聚合接口的MAC地址。
lldp source-mac vlan vlan-id
缺省情况下,LLDP报文源MAC地址为当前接口的MAC地址。
配置本特性后,当接口收到携带IPv4格式Management Address TLV的LLDP报文后,会生成该报文携带的管理地址与报文源MAC地址组成的ARP表项;当接口收到携带IPv6格式Management Address TLV的LLDP报文后,会生成该报文携带的管理地址与报文源MAC地址组成的ND表项。
在二层以太网接口下配置本功能后,生成的表项中的出接口为当前二层以太网接口,表项所属的VLAN为本命令指定的VLAN。以下情况时,无法生成ARP表项及ND表项:
· 指定的VLAN未创建或对应的VLAN接口未创建。
· 指定的VLAN ID对应的VLAN接口物理状态为DOWN。
在三层以太网接口视图/三层聚合接口视图下配置本功能时,无论是否指定vlan vlan-id参数,生成的表项中的接口均为主接口。
本功能需要与配置LLDP报文的源MAC地址为指定的MAC地址功能配合使用,使设备发送报文的源MAC地址为VLAN接口、当前三层以太网接口或当前三层聚合接口的MAC地址,而不是当前接口的MAC地址,确保LLDP邻居能学习到正确的ARP/ND表项。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图/三层以太网接口视图/三层聚合接口视图。
interface interface-type interface-number
(3) 配置接口收到携带Management Address TLV的LLDP报文后生成ARP表项或ND表项。
¡ 在二层以太网接口视图下:
lldp management-address { arp-learning | nd-learning } vlan vlan-id
¡ 在三层以太网接口视图下:
lldp management-address { arp-learning | nd-learning } [ vlan vlan-id ]
¡ 在三层聚合接口视图下:
lldp agent nearest-nontpmr management-address { arp-learning | nd-learning } [ vlan vlan-id ]
缺省情况下,接口收到携带Management Address TLV的LLDP报文后不生成ARP表项和ND表项。
ARP表项和ND表项的生成互不影响,可同时配置。
对于二层以太网接口,不允许多个端口关联同一个VLAN,否则生成的ARP表项或ND表项会相互覆盖。
用户可以在PE设备用户侧端口上配置本功能,PE设备会透传CE设备的LLDP报文,使两端CE设备建立LLDP邻居关系。
端口开启本功能时,不论LLDP功能是否开启,均会透传LLDP报文。
开启本功能前,建议用户在PE设备用户侧端口上关闭LLDP协议,防止CE设备和PE设备建立LLDP邻居关系,引起网络拓扑错误。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启端口透传LLDP报文功能。
lldp transparent enable
缺省情况下,端口透传LLDP报文功能处于关闭状态。
可在任意视图下执行以下命令:
display lldp local-information [ global | interface interface-type interface-number ]
· 显示由邻居设备发来的LLDP信息。
display lldp neighbor-information [ [ [ interface interface-type interface-number ] [ agent { nearest-bridge | nearest-customer | nearest-nontpmr } ] [ verbose ] ] | list [ system-name system-name ] ]
· 显示接口上可发送的可选TLV信息。
display lldp tlv-config [ interface interface-type interface-number ] [ agent { nearest-bridge | nearest-customer | nearest-nontpmr } ]
· 显示LLDP的状态信息。
display lldp status [ interface interface-type interface-number ] [ agent { nearest-bridge | nearest-customer | nearest-nontpmr } ]
· 显示LLDP的统计信息。
display lldp statistics [ global | [ interface interface-type interface-number ] [ agent { nearest-bridge | nearest-customer | nearest-nontpmr } ] ]
· 清除接口上的LLDP统计信息
reset lldp statistics [ interface interface-type interface number ] [ agent { nearest-bridge | nearest-customer | nearest-nontpmr } ]
· NMS(Network Management System,网络管理系统)与Device A相连,Device A通过接口GigabitEthernet1/0/1和GigabitEthernet1/0/2分别与MED设备和Device B相连。
· 通过在Device A和Device B上配置LLDP功能,使NMS可以对Device A与MED设备之间、以及Device A与Device B之间链路的通信情况进行判断。
图1-5 LLDP基本功能配置组网图
(1) 配置Device A
# 全局开启LLDP功能。
<DeviceA> system-view
[DeviceA] lldp global enable
# 在接口GigabitEthernet1/0/1和GigabitEthernet1/0/2上分别开启LLDP功能(此步骤可省略,LLDP功能在接口上缺省开启),并配置LLDP工作模式为Rx。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] lldp enable
[DeviceA-GigabitEthernet1/0/1] lldp admin-status rx
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] lldp enable
[DeviceA-GigabitEthernet1/0/2] lldp admin-status rx
[DeviceA-GigabitEthernet1/0/2] quit
(2) 配置Device B
# 全局开启LLDP功能。
<DeviceB> system-view
[DeviceB] lldp global enable
# 在接口GigabitEthernet1/0/1上开启LLDP功能(此步骤可省略,LLDP功能在接口上缺省开启),并配置LLDP工作模式为Tx。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] lldp enable
[DeviceB-GigabitEthernet1/0/1] lldp admin-status tx
[DeviceB-GigabitEthernet1/0/1] quit
# 显示Device A上全局和所有接口的LLDP状态信息。
[DeviceA] display lldp status
Global status of LLDP: Enable
Bridge mode of LLDP: customer-bridge
The current number of LLDP neighbors: 2
The current number of CDP neighbors: 0
LLDP neighbor information last changed time: 0 days, 0 hours, 4 minutes, 40 seconds
Transmit interval : 30s
Fast transmit interval : 1s
Transmit credit max : 5
Hold multiplier : 4
Reinit delay : 2s
Trap interval : 30s
Fast start times : 4
LLDP status information of port 1 [GigabitEthernet1/0/1]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : Rx_Only
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 1
Number of MED neighbors : 1
Number of CDP neighbors : 0
Number of sent optional TLV : 21
Number of received unknown TLV : 0
LLDP agent nearest-nontpmr:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 1
Number of received unknown TLV : 0
LLDP agent nearest-customer:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 16
Number of received unknown TLV : 0
LLDP status information of port 2 [GigabitEthernet1/0/2]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : Rx_Only
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 1
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 21
Number of received unknown TLV : 3
LLDP agent nearest-nontpmr:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 1
Number of received unknown TLV : 0
LLDP agent nearest-customer:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 16
Number of received unknown TLV : 0
由此可见,Device A的接口GigabitEthernet1/0/1上连接了一个MED邻居设备,GigabitEthernet1/0/2上则连接了一个非MED邻居设备,且这两个接口的LLDP工作模式都为Rx,即只接收而不发送LLDP报文。
# 将Device A和Device B间的链路断掉后,再显示Device A上所有接口的LLDP状态信息。
[DeviceA] display lldp status
Global status of LLDP: Enable
The current number of LLDP neighbors: 1
The current number of CDP neighbors: 0
LLDP neighbor information last changed time: 0 days, 0 hours, 5 minutes, 20 seconds
Transmit interval : 30s
Fast transmit interval : 1s
Transmit credit max : 5
Hold multiplier : 4
Reinit delay : 2s
Trap interval : 30s
Fast start times : 4
LLDP status information of port 1 [GigabitEthernet1/0/1]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : Rx_Only
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 1
Number of MED neighbors : 1
Number of CDP neighbors : 0
Number of sent optional TLV : 0
Number of received unknown TLV : 5
LLDP agent nearest-nontpmr:
Port status of LLDP : Enable
Admin status : Disabl
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 1
Number of received unknown TLV : 0
LLDP status information of port 2 [GigabitEthernet1/0/2]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : Rx_Only
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 0
Number of received unknown TLV : 0
LLDP agent nearest-nontpmr:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 1
Number of received unknown TLV : 0
LLDP agent nearest-customer:
Port status of LLDP : Enable
Admin status : Disable
Trap flag : No
MED trap flag : No
Polling interval : 0s
Number of LLDP neighbors : 0
Number of MED neighbors : 0
Number of CDP neighbors : 0
Number of sent optional TLV : 16
Number of received unknown TLV : 0
由此可见,Device A的接口GigabitEthernet1/0/2上已经没有任何邻居设备了。
· Device A通过接口GigabitEthernet1/0/1和GigabitEthernet1/0/2分别与两部Cisco的IP电话相连,这两部IP电话发送的Tagged语音数据。
· 在Device A上配置VLAN ID为2的Voice VLAN,通过在Device A上配置LLDP兼容CDP功能使IP电话完成Voice VLAN的自动配置,以使语音数据流被限制在Voice VLAN内,与其他数据流区分开来。
图1-6 LLDP兼容CDP功能配置组网图
(1) 在Device A上配置Voice VLAN
# 创建VLAN 2。
<DeviceA> system-view
[DeviceA] vlan 2
[DeviceA-vlan2] quit
# 分别将接口GigabitEthernet1/0/1和GigabitEthernet1/0/2配置为Trunk端口,并开启Voice VLAN功能。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] voice-vlan 2 enable
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] port link-type trunk
[DeviceA-GigabitEthernet1/0/2] voice-vlan 2 enable
[DeviceA-GigabitEthernet1/0/2] quit
(2) 在Device A上配置LLDP兼容CDP功能
# 全局开启LLDP功能以及LLDP兼容CDP功能。
[DeviceA] lldp global enable
[DeviceA] lldp compliance cdp
# 在接口GigabitEthernet1/0/1和GigabitEthernet1/0/2上分别开启LLDP功能(此步骤可省略,LLDP功能在接口上缺省开启),配置LLDP工作模式为TxRx,并配置LLDP兼容CDP功能的工作模式为TxRx。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] lldp enable
[DeviceA-GigabitEthernet1/0/1] lldp admin-status txrx
[DeviceA-GigabitEthernet1/0/1] lldp compliance admin-status cdp txrx
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] lldp enable
[DeviceA-GigabitEthernet1/0/2] lldp admin-status txrx
[DeviceA-GigabitEthernet1/0/2] lldp compliance admin-status cdp txrx
[DeviceA-GigabitEthernet1/0/2] quit
# 显示Device A上的邻居信息。
[DeviceA] display lldp neighbor-information
CDP neighbor-information of port 1[GigabitEthernet1/0/1]:
LLDP agent nearest-bridge:
CDP neighbor index : 1
Chassis ID : SEP00141CBCDBFE
Port ID : Port 1
CDP neighbor-information of port 2[GigabitEthernet1/0/2]:
LLDP agent nearest-bridge:
CDP neighbor index : 2
Chassis ID : SEP00141CBCDBFF
Port ID : Port 1
由此可见,Device A已发现了分别连接在接口GigabitEthernet1/0/1和GigabitEthernet1/0/2上的IP电话,并获取到了相关的设备信息。
DCE(Data Center Ethernet,数据中心以太网)也称为CEE(Converged Enhanced Ethernet,汇聚增强型以太网),是针对以太网在数据中心的应用,对传统以太网的增强和扩展。DCBX(Data Center Bridging Exchange Protocol,数据中心桥能力交换协议)是DCE的一个组成部分,用于DCE中各网络单元进行桥能力协商以及远程配置。
目前有三个版本:预标准版1.0(DCB Capability Exchange Protocol Specification Rev 1.0)、预标准版1.01(DCB Capability Exchange Protocol Base Specification Rev 1.01)和标准版IEEE Std 802.1Qaz-2011(Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks-Amendment 18: Enhanced Transmission Selection for Bandwidth Sharing Between Traffic Classes),这三个版本之间支持自适应。
DCBX的主要功能包括:
· 发现对端设备的能力,并由此决定两端设备是否要支持相应的能力。
· 发现对端设备的配置错误。
· 在对端设备接受的前提下,可以对对端设备进行配置。
目前,H3C设备只支持上述三种功能中的最后一种。
图2-1 DCBX应用场景示意图
用于数据中心网络的以太网必须是无损以太网,即网络中传输的报文不允许出现丢包,DCBX就是实现无损以太网的关键手段之一。如图2-1所示,DCBX主要应用于基于FCoE(Fibre Channel over Ethernet,基于以太网的光纤通道)的数据中心网络,一般工作在接入层交换机上,以实现交换机对服务器或存储设备网卡的控制,从而达到简化配置以及保证配置一致性的目的。作为LLDP协议的一种扩展应用,DCBX使用IEEE 802.1组织定义的TLV(即DCBX TLV)来传递各种参数信息,在预标准版1.0和预标准版1.01中使用包括APP(Application Protocol,应用协议)PFC(Priority-based Flow Control,基于优先级的流量控制)在内的两种参数信息,在标准版中使用包括PFC(Priority-based Flow Control,基于优先级的流量控制)和APP(Application Protocol,应用协议)在内的两种参数信息。H3C设备只能向支持FCoE的服务器或存储设备网卡发布这些参数,而不能接受这些参数。
与DCBX相关的协议规范有:
· DCB Capability Exchange Protocol Specification Rev 1.0
· DCB Capability Exchange Protocol Base Specification Rev 1.01
DCBX配置任务如下:
(2) 配置DCBX版本
(3) 配置APP参数
(4) 配置PFC参数
在全局和接口上都开启LLDP功能并允许接口发布DCBX TLV,从而使设备可通过该接口来发布APP和PFC参数。
(1) 进入系统视图。
system-view
(2) 全局开启LLDP功能。
lldp global enable
空配置启动时,使用软件功能缺省值,LLDP功能在全局处于关闭状态。
缺省配置启动时,使用软件功能出厂值,LLDP功能在全局处于开启状态。
关于空配置启动和缺省配置启动的详细介绍,请参见“基础配置指导”中的“配置文件管理”。
(3) 进入二层以太网接口视图。
interface interface-type interface-number
(4) 在接口上开启LLDP功能。
lldp enable
缺省情况下,接口上的LLDP功能处于开启状态。
(5) 允许接口发布DCBX TLV。
lldp tlv-enable dot1-tlv dcbx
缺省情况下,接口上不允许发布DCBX TLV。
进行本配置时,配置的DCBX版本需要视对端设备支持的版本而定,要求两端端口的DCBX版本配置一致,否则版本无法兼容,将会导致DCBX无法正常工作。建议配置两端设备都支持的最高版本(版本从高到低的顺序为:标准版->预标准版1.01->预标准版1.00)。
完成本配置后,本端端口发送的LLDP报文中携带的DCBX版本为配置的版本,不再与对端端口进行DCBX版本协商。
当端口的DCBX版本采用自协商决定,协商的初始版本为DCBX标准版,以保证优先协商到该版本。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 配置DCBX版本。
dcbx version { rev100 | rev101 | standard }
缺省情况下,未配置DCBX版本,此时DCBX版本由两端端口自协商决定。
设备通过APP参数与服务器网卡进行协商,可以控制服务器网卡所发送报文的802.1p优先级,从而使设备可直接根据802.1p优先级来识别流量。比如,设备利用APP参数与服务器网卡协商将所有FCoE报文和FIP(FCoE Initialization Protocol,FCoE初始化协议)报文的802.1p优先级都设置为3。如果协商成功,后续服务器网卡发送给设备的FCoE报文和FIP所携带的802.1p优先级都将为3。
有关acl和rule命令的详细介绍,请参见“ACL和QoS命令参考”中的“ACL”;有关其他命令的详细介绍,请参见“ACL和QoS命令参考”中的“QoS”。
二层ACL和IPv4高级ACL分别采用数据帧类型和TCP/UDP端口号来识别应用协议报文。预标准版1.0只支持采用数据帧类型来识别应用协议报文,且只能发布数据帧类型为0x8906(即FCoE协议)的TLV;而预标准版1.01则支持两种识别方式,能发布的TLV的数据帧类型或TCP/UDP端口号不限,且根据当前报文的剩余长度,最多可发布前77条有效配置。
由于在一个策略中可以为多个类指定流行为,因此可能存在将同一类型报文标记为不同的802.1p优先级,或同一802.1p优先级映射到不同的本地优先级的情况,在这种情况下,采用首次匹配原则。
(1) 进入系统视图。
system-view
(2) 创建ACL匹配规则。请选择其中一项进行配置。
¡ 依次执行以下命令创建二层ACL,并配置匹配规则。
acl mac { acl-number | name acl-name } [ match-order { auto | config } ]
rule [ rule-id ] permit type protocol-type ffff
¡ 依次执行以下命令创建IPv4高级ACL,并配置匹配规则。
acl advanced { acl-number | name acl-name } [ match-order { auto | config } ]
rule [ rule-id ] permit { tcp | udp } destination-port eq port
预标准版1.0只支持二层ACL;而预标准版1.01和标准版则支持二层ACL和IPv4高级ACL。
(3) 退回系统视图。
quit
(4) 定义类。
a. 创建一个类,其下各规则间的关系为逻辑或,并进入类视图。
traffic classifier classifier-name operator or
b. 引用已创建的ACL的规则。
if-match acl acl-number
c. 退回系统视图。
quit
(5) 定义流行为。
a. 创建流行为,并进入流行为视图。
traffic behavior behavior-name
b. 配置标记报文的802.1p优先级。
remark dot1p 8021p
c. 退回系统视图。
quit
(6) 定义策略。
a. 创建策略,并进入策略视图。
qos policy policy-name
b. 在策略中为类指定采用的流行为,并指定该策略为DCBX模式。
classifier classifier-name behavior behavior-name mode dcbx
c. 退回系统视图。
quit
(7) 应用策略。请选择其中一项进行配置。
¡ 全局在出方向上应用策略。
qos apply policy policy-name global outbound
¡ 依次执行以下命令在二层以太网接口出方向上应用策略。
interface interface-type interface-number
qos apply policy policy-name outbound
系统视图下的全局配置对所有端口都有效;二层以太网接口视图下的配置只对当前端口有效。
当要求指定802.1p优先级的流量无丢包时,可以开启该优先级的PFC功能,从而在网络发生拥塞时能够通知对端降低发包速率。设备通过PFC参数与服务器网卡进行协商,来开启服务器网卡上指定802.1p优先级的PFC功能。
有关PFC命令的详细介绍,请参见“接口管理命令参考”中的“以太网接口”。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 配置PFC功能的开启模式为自动协商模式。
priority-flow-control auto
缺省情况下,PFC功能处于关闭状态。
PFC功能的开启模式必须配置为自动协商模式,否则PFC参数将无法发布。
(4) 开启指定802.1p优先级的PFC功能。
priority-flow-control no-drop dot1p dot1p-list
缺省情况下,所有802.1p优先级的PFC功能都处于关闭状态。
· 在数据中心网络中,接入交换机Switch A通过接口GigabitEthernet1/0/1与数据中心服务器(DC server)的FCoE网卡相连。
· 通过配置,实现Switch A与DC server之间转发的FCoE报文和FIP报文无丢包。
假定Switch A和DC server都支持DCBX预标准版1.01。
图2-2 DCBX功能配置组网图
(1) 开启LLDP并允许发布DCBX TLV
# 全局开启LLDP功能。
<SwitchA> system-view
[SwitchA] lldp global enable
# 在接口GigabitEthernet1/0/1上开启LLDP功能,并允许发布DCBX TLV。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] lldp enable
[SwitchA-GigabitEthernet1/0/1] lldp tlv-enable dot1-tlv dcbx
(2) 配置DCBX版本
# 配置接口GigabitEthernet1/0/1的DCBX版本为预标准版1.01。
[SwitchA-GigabitEthernet1/0/1] dcbx version rev101
[SwitchA-GigabitEthernet1/0/1] quit
(3) 配置APP参数
# 创建编号为4000的二层ACL,并为其创建规则来匹配FCoE报文(数据帧类型为0x8906)和FIP报文(数据帧类型为0x8914)。
[SwitchA] acl mac 4000
[SwitchA-acl-mac-4000] rule permit type 8906 ffff
[SwitchA-acl-mac-4000] rule permit type 8914 ffff
[SwitchA-acl-mac-4000] quit
# 创建名为app_c的类,其下各规则间的关系为逻辑或,并创建其匹配ACL 4000。
[SwitchA] traffic classifier app_c operator or
[SwitchA-classifier-app_c] if-match acl mac 4000
[SwitchA-classifier-app_c] quit
# 创建名为app_b的流行为,并配置标记报文的802.1p优先级为3。
[SwitchA] traffic behavior app_b
[SwitchA-behavior-app_b] remark dot1p 3
[SwitchA-behavior-app_b] quit
# 创建名为plcy的策略,为类app_c指定采用的流行为是app_b,并指定该策略为DCBX模式。
[SwitchA] qos policy plcy
[SwitchA-qospolicy-plcy] classifier app_c behavior app_b mode dcbx
[SwitchA-qospolicy-plcy] quit
# 在接口GigabitEthernet1/0/1的出方向上应用策略plcy。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] qos apply policy plcy outbound
[SwitchA-GigabitEthernet1/0/1] quit
(4) 配置PFC参数
# 在接口GigabitEthernet1/0/1上配置PFC功能的开启模式为自动协商模式,并对802.1p优先级3开启PFC功能。
[SwitchA-GigabitEthernet1/0/1] priority-flow-control auto
[SwitchA-GigabitEthernet1/0/1] priority-flow-control no-drop dot1p 3
通过DC server上服务器网卡对应的软件设置界面查看DC server与Switch A间的数据交互结果。以DC server上安装Qlogic网卡为例,查看到的数据交互结果如下:
------------------------------------------------------
DCBX Parameters Details for CNA Instance 0 - QLE8142
------------------------------------------------------
Mon May 17 10:00:50 2010
DCBX TLV (Type-Length-Value) Data
=================================
DCBX Parameter Type and Length
DCBX Parameter Length: 13
DCBX Parameter Type: 2
DCBX Parameter Information
Parameter Type: Current
Pad Byte Present: Yes
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
Priority Group ID of Priority 1: 0
Priority Group ID of Priority 0: 2
Priority Group ID of Priority 3: 15
Priority Group ID of Priority 2: 1
Priority Group ID of Priority 5: 5
Priority Group ID of Priority 4: 4
Priority Group ID of Priority 7: 7
Priority Group ID of Priority 6: 6
Priority Group 0 Percentage: 2
Priority Group 1 Percentage: 4
Priority Group 2 Percentage: 6
Priority Group 3 Percentage: 0
Priority Group 4 Percentage: 10
Priority Group 5 Percentage: 18
Priority Group 6 Percentage: 27
Priority Group 7 Percentage: 31
Number of Traffic Classes Supported: 8
DCBX Parameter Information
Parameter Type: Remote
Pad Byte Present: Yes
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
Priority Group ID of Priority 1: 0
Priority Group ID of Priority 0: 2
Priority Group ID of Priority 3: 15
Priority Group ID of Priority 2: 1
Priority Group ID of Priority 5: 5
Priority Group ID of Priority 4: 4
Priority Group ID of Priority 7: 7
Priority Group ID of Priority 6: 6
Priority Group 0 Percentage: 2
Priority Group 1 Percentage: 4
Priority Group 2 Percentage: 6
Priority Group 3 Percentage: 0
Priority Group 4 Percentage: 10
Priority Group 5 Percentage: 18
Priority Group 6 Percentage: 27
Priority Group 7 Percentage: 31
Number of Traffic Classes Supported: 8
DCBX Parameter Information
Parameter Type: Local
Pad Byte Present: Yes
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
Priority Group ID of Priority 1: 0
Priority Group ID of Priority 0: 0
Priority Group ID of Priority 3: 1
Priority Group ID of Priority 2: 0
Priority Group ID of Priority 5: 0
Priority Group ID of Priority 4: 0
Priority Group ID of Priority 7: 0
Priority Group ID of Priority 6: 0
Priority Group 0 Percentage: 50
Priority Group 1 Percentage: 50
Priority Group 2 Percentage: 0
Priority Group 3 Percentage: 0
Priority Group 4 Percentage: 0
Priority Group 5 Percentage: 0
Priority Group 6 Percentage: 0
Priority Group 7 Percentage: 0
Number of Traffic Classes Supported: 2
以上信息表明,通过与Switch A协商,DC server将对802.1p优先级为3的报文采用严格优先级调度算法进行调度(15即表示采用严格优先级调度算法)。
DCBX Parameter Type and Length
DCBX Parameter Length: 2
DCBX Parameter Type: 3
DCBX Parameter Information
Parameter Type: Current
Pad Byte Present: No
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
PFC Enabled on Priority 0: No
PFC Enabled on Priority 1: No
PFC Enabled on Priority 2: No
PFC Enabled on Priority 3: Yes
PFC Enabled on Priority 4: No
PFC Enabled on Priority 5: No
PFC Enabled on Priority 6: No
PFC Enabled on Priority 7: No
Number of Traffic Classes Supported: 6
DCBX Parameter Information
Parameter Type: Remote
Pad Byte Present: No
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
PFC Enabled on Priority 0: No
PFC Enabled on Priority 1: No
PFC Enabled on Priority 2: No
PFC Enabled on Priority 3: Yes
PFC Enabled on Priority 4: No
PFC Enabled on Priority 5: No
PFC Enabled on Priority 6: No
PFC Enabled on Priority 7: No
Number of Traffic Classes Supported: 6
DCBX Parameter Information
Parameter Type: Local
Pad Byte Present: No
DCBX Parameter Valid: Yes
Reserved: 0
DCBX Parameter Data
PFC Enabled on Priority 0: No
PFC Enabled on Priority 1: No
PFC Enabled on Priority 2: No
PFC Enabled on Priority 3: Yes
PFC Enabled on Priority 4: No
PFC Enabled on Priority 5: No
PFC Enabled on Priority 6: No
PFC Enabled on Priority 7: No
Number of Traffic Classes Supported: 1
以上信息表明,通过与Switch A协商,DC server将对802.1p优先级为3的报文进行流量控制。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!