11-LLDP配置
本章節下載: 11-LLDP配置 (711.57 KB)
目 錄
1.13 配置設備發送的LLDP報文中Port ID TLV的端口ID子類型
1.17 配置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 |
端口支持的速率和雙工狀態、是否支持端口速率自動協商、是否已開啟自動協商功能以及當前的速率和雙工狀態 |
Link Aggregation |
端口是否支持鏈路聚合以及是否已開啟鏈路聚合 |
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功能 |
支持配置的接口視圖: · 二層以太網接口視圖 · 三層以太網接口視圖 · 管理以太網接口視圖 · 二層聚合接口視圖 · 三層聚合接口視圖 · IRF物理端口視圖 |
配置LLDP工作模式 |
|
配置允許發布的TLV類型 |
|
配置管理地址及其封裝格式 |
|
配置LLDP報文的封裝格式 |
|
配置輪詢功能 |
|
配置LLDP Trap功能 |
|
配置LLDP發送的Port ID TLV的端口ID子類型(不支持二層聚合接口視圖和三層聚合接口視圖) |
開啟LLDP功能時,需要注意:
· 當LLDP與OpenFlow配合使用時,需要在Openflow網絡設備上全局開啟LLDP功能,但為了此時LLDP不影響OpenFlow控製器發現拓撲,建議在OpenFlow實例內的接口上關閉LLDP功能。有關OpenFlow的詳細介紹,請參見“OpenFlow配置指導”中的“OpenFlow”。
· 為方便查看IRF物理鏈路連接正確性和鏈路狀態,設備支持在IRF物理端口配置LLDP功能。但IRF物理端口僅支持最近橋代理。
在EVPN支持M-LAG組網中透傳LLDP報文時,如果M-LAG設備配置了evpn m-lag local命令,則遠端設備會轉發多份LLDP報文到M-LAG設備。可以通過配置undo evpn m-lag local命令來避免該問題,請根據具體的組網需求確認是否能夠配置undo evpn m-lag local命令。有關EVPN支持M-LAG的詳細介紹,請參見“EVPN配置指導”中的“EVPN VXLAN”。
LLDP配置任務如下:
(1) 開啟LLDP功能
(2) 配置LLDP橋模式
(3) 配置LLDP工作模式
(4) (可選)配置接口初始化延遲時間
(5) (可選)配置LLDP報文相關參數
¡ 配置設備發送的LLDP報文中Port ID TLV的端口ID子類型
(6) (可選)配置LLDP擴展功能
¡ 配置輪詢功能
¡ 配置地址借用功能
隻有當全局和接口上都開啟了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代理的工作模式。
¡ 在IRF物理端口視圖下:
lldp admin-status { disable | rx | tx | txrx }
IRF物理端口視圖下,隻支持最近橋代理工作模式。
缺省情況下,最近橋代理類型的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-list ] | management-vid [ mvlan-id ] } | dot3-tlv { all | link-aggregation | mac-physic | max-frame-size | power } | 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 } } }
缺省情況下,最近橋代理允許發布除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 } | dot3-tlv { all | link-aggregation } }
lldp tlv-enable dot1-tlv { protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id-list ] | 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 } | dot3-tlv { all | link-aggregation } }
lldp tlv-enable dot1-tlv { protocol-vlan-id [ vlan-id ] | vlan-name [ vlan-id-list ] | management-vid [ mvlan-id ] }
缺省情況下,最近客戶橋代理允許發布基本TLV和IEEE 802.1組織定義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 | link-aggregation | mac-physic | max-frame-size | power } | 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之外所有類型的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 } | dot3-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 | link-aggregation | mac-physic | max-frame-size | power } | 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之外所有類型的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 } | dot3-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-list ] | management-vid [ mvlan-id ]
lldp agent nearest-nontpmr tlv-enable { basic-tlv { all | management-address-tlv [ ipv6 ] [ ip-address | interface loopback interface-number ] | 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 }
缺省情況下,最近非TPMR橋代理不發布任何TLV;最近客戶橋代理隻允許發布基本TLV。
不存在最近橋代理。
¡ 在IRF物理端口視圖下:
lldp tlv-enable basic-tlv { port-description | system-capability | system-description | system-name }
缺省情況下,最近橋代理允許發布支持的所有種類TLV。
IRF物理端口僅支持最近橋代理。
管理地址被封裝在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 m-gigabitethernet 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 [ 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允許在LLDP報文中發布管理地址,最近非TPMR橋代理類型LLDP不允許在LLDP報文中發布管理地址。
(5) 配置管理地址在TLV中的封裝格式為字符串格式。
¡ 在二/三層以太網接口視圖或管理以太網接口視圖下:
lldp [ agent { nearest-customer | nearest-nontpmr } ] management-address-format string
¡ 在二/三層聚合接口視圖下:
lldp agent { nearest-customer | nearest-nontpmr } management-address-format string
缺省情況下,管理地址在TLV中的封裝格式為數字格式。
對於LLDP報文中所要發布的IPv6格式的管理地址,僅支持數字格式的封裝格式。
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
¡ 在IRF物理端口視圖下:
lldp 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協議,獲取H3C設備的接口信息。此時,媒體設備需要通過LLDP報文中的Port ID TLV來獲取H3C設備的接口名稱。缺省情況下,H3C設備發送的LLDP報文中Port ID TLV的端口ID子類型可能為接口名稱或者MAC地址。媒體設備通過Port ID TLV不一定能獲取到設備的接口名稱。
配置本功能後,接口發送的LLDP報文中Port ID TLV的端口ID子類型固定為接口名稱,以便其他廠商設備通過該TLV獲取接口的名稱。
建議僅在需要從LLDP報文中獲取接口名稱的特殊場景下配置本功能。其他場景下,請不要配置本功能。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖/三層以太網接口視圖/管理以太網接口視圖/IRF物理端口視圖。
interface interface-type interface-number
(3) 配置當前接口發送的LLDP報文中Port ID TLV的端口ID子類型。
lldp tlv-config basic-tlv port-id type-id
缺省情況下,如果接口收到的LLDPDU中攜帶有LLDP-MED TLV,則該接口發送的LLDP報文中Port ID TLV為接口的MAC地址形式;其他情況下,Port ID TLV為接口名稱形式。
在開啟了輪詢功能後,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
¡ 在IRF物理端口視圖下:
lldp 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”。
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
¡ 在IRF物理端口視圖下:
lldp 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秒。
在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。
在三層以太網接口視圖下配置本功能後,當前接口發送的LLDP報文源MAC地址均為當前接口的MAC地址。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖、二層聚合接口視圖或三層以太網接口視圖。
interface interface-type interface-number
(3) 配置LLDP報文源MAC地址為VLAN接口的MAC地址或當前三層以太網接口的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 ]
缺省情況下,接口收到攜帶Management Address TLV的LLDP報文後不生成ARP表項和ND表項。
ARP表項和ND表項的生成互不影響,可同時配置。
對於二層以太網接口,不允許多個端口關聯同一個VLAN,否則生成的ARP表項或ND表項會相互覆蓋。
在圖1-5所示的組網中,Device A和Device B通過HUB相連,導致網絡中存在環路,但是由於LLDP報文屬於點對點報文,從設備發出後,傳輸到下一節點就會被終結,因此Hub相當於LLDP報文的黑洞,LLDP報文無法通過Hub在Device A和Device B之間傳輸,Device A和Device B無法通過LLDP協議得知相互之間存在物理鏈路並形成環路,從而無法及時消除環路。因此,需要一種能夠探測LLDP報文黑洞的手段,使得設備在發現LLDP報文黑洞時阻塞通往黑洞的鏈路,以消除潛在的環路風險。
圖1-5 LLDP黑洞探測功能應用場景圖
LLDP黑洞探測功能可以探知端口鏈路中是否存在LLDP報文黑洞,具體的工作機製如下。
(1) 黑洞驗證階段
開啟了LLDP黑洞探測的端口會在發送的LLDP報文中會攜帶黑洞探測TLV。黑洞探測TLV是H3C自行定義的一類TLV,如果收到攜帶黑洞探測TLV的LLDP報文,則表明設備與鄰居間不存在LLDP報文黑洞,可以順利收發LLDP報文。僅H3C設備能夠發送並識別LLDP報文中攜帶的黑洞探測TLV。
開啟LLDP黑洞探測功能後,端口會啟動黑洞探測功能的LLDP報文接收定時器。如果端口直至該定時器超時時仍未收到任何LLDP報文,則表明網絡中可能存在LLDP報文黑洞導致設備遲遲未能收到LLDP報文,端口開始持續性發送LLDP黑洞探測報文。如果該定時器超時前端口收到了攜帶黑洞探測TLV的LLDP報文,則關閉該定時器,不做其他處理。
如果開啟LLDP黑洞探測功能後,端口收到了未攜帶黑洞探測TLV的LLDP報文,則該端口開始持續性發送LLDP黑洞探測報文。
LLDP黑洞探測報文是一類H3C私有定義的二層報文,與LLDP報文不同的是,LLDP黑洞探測報文可以被HUB透傳,觸發發送後便以固定的時間間隔持續性發送。
LLDP報文接收定時器的超時時間通過lldp global blackhole-detection rx-lldpdu timeout命令配置。LLDP黑洞探測報文發送時間間隔通過lldp timer blackhole-detection-interval命令或lldp global timer blackhole-detection-interval命令配置。
(2) 黑洞確認階段
端口觸發發送LLDP黑洞探測報文後,如果收到攜帶黑洞探測TLV的LLDP報文,則證明與鄰居間不存在LLDP報文黑洞,停止發送LLDP黑洞探測報文並重置LLDP報文接收定時器。
如果開啟LLDP黑洞探測功能的端口收到LLDP黑洞探測報文,且此時該端口的LLDP報文接收定時器也處於超時狀態,則表明本端設備與對端設備的鏈路是連通的,且都具有發送LLDP報文的能力,但是兩端設備均未收到LLDP報文,本端設備判斷兩端鏈路間存在LLDP報文黑洞。
(3) 黑洞處理階段
設備判斷存在LLDP報文黑洞後,阻塞收到LLDP黑洞探測報文的端口,不能收發任何用戶數據報文,以消除網絡中的環路。通過LLDP黑洞探測功能被阻塞的端口在經過lldp timer rx-blackhole-timeout或lldp global timer rx-blackhole-timeout命令指定的超時時間內,如果未再次收到LLDP黑洞探測報文,則說明LLDP報文黑洞消除,該端口恢複正常轉發狀態,否則繼續維持阻塞狀態。
lldp timer blackhole-detection-interval和lldp global timer blackhole-detection-interval命令影響指定端口發送LLDP黑洞探測報文的頻率,請根據實際需求選擇合適的報文發送時間間隔:
· 發送時間間隔較短時,端口發送LLDP黑洞報文較頻繁,優點是網絡對LLDP報文黑洞的探測和響應更靈敏,缺點是占用較多的設備CPU資源,請在設備性能較強或對防環需求強烈的場景中配置短發送時間間隔。
· 發送時間間隔較長時,端口發送LLDP黑洞報文較緩慢,優點是占用設備CPU資源較少,缺點是網絡對LLDP報文黑洞的探測和響應更加遲鈍。請在設備性能較弱或對環路容忍性較強的場景中配置長發送時間間隔。
需要滿足以下條件,LLDP黑洞探測功能才可以正常生效:
· 在LLDP連接的兩端設備上,均同時開啟了全局和端口下的LLDP黑洞探測功能。
· 開啟了LLDP黑洞探測功能的端口的鏈路狀態UP,LLDP功能開啟並且處於TxRx工作模式。
如果端口未開啟LLDP黑洞探測功能,或端口的LLDP報文接收定時器未超時,則該端口均不會在接收到LLDP黑洞探測報文後進行任何處理。
在LLDP報文發送時間間隔較長的設備上,請配置較長的LLDP報文接收定時器超時時間,否則可能導致網絡中未存在LLDP黑洞時設備端口仍被阻塞。在LLDP報文發送時間間隔較短的設備上,請配置較短的LLDP報文接收定時器超時時間,以提高網絡對LLDP報文黑洞的探測速度。
通過lldp timer blackhole-detection-interval和lldp global timer blackhole-detection-interval命令均可以修改端口發送LLDP黑洞探測報文的發送時間間隔,同時配置二者時,以lldp timer blackhole-detection-interval命令的配置為準,端口下未配置時,該端口繼承全局lldp global timer blackhole-detection-interval命令的配置。
通過lldp timer rx-blackhole-timeout和lldp global timer rx-blackhole-timeout命令均可以修改端口LLDP黑洞探測報文的接收超時時間,同時配置二者時,以lldp timer rx-blackhole-timeout命令的配置為準,端口下未配置時,該端口繼承全局lldp global timer rx-blackhole-timeout命令的配置。
LLDP黑洞報文的接收超時時間不能小於對端LLDP黑洞探測報文的發送時間間隔。否則,LLDP黑洞探測功能無法生效。
不建議在聚合成員接口上開啟黑洞探測功能,否則黑洞探測功能可能無法正常生效。
(1) 進入係統視圖。
system-view
(2) 開啟全局LLDP黑洞探測功能。
lldp global blackhole-detection enable
缺省情況下,全局LLDP黑洞探測功能處於關閉狀態。
(3) (可選)配置黑洞探測功能的LLDP報文接收定時器的超時時間。
lldp global blackhole-detection rx-lldpdu timeout timeout
缺省情況下,黑洞探測功能的LLDP報文接收定時器的超時時間為120秒。
(4) (可選)全局配置LLDP黑洞探測報文的發送間隔。
lldp global timer blackhole-detection-interval interval
缺省情況下,LLDP黑洞探測報文的發送時間間隔為2秒。
(5) (可選)全局配置LLDP黑洞探測報文的接收超時時間。
lldp global timer rx-blackhole-timeout timeout
缺省情況下,LLDP黑洞報文的接收超時時間為(端口LLDP黑洞探測報文的發送時間間隔×3+10)秒。
(6) (可選)進入二層以太網接口視圖。
interface interface-type interface-number
(7) (可選)開啟端口的LLDP黑洞探測功能。
lldp blackhole-detection enable
缺省情況下,端口的LLDP黑洞探測功能處於開啟狀態。
(8) (可選)配置端口的LLDP黑洞探測報文的發送時間間隔。
lldp timer blackhole-detection-interval interval
缺省情況下,LLDP黑洞探測報文的發送時間間隔為2秒。
(9) (可選)配置端口的LLDP黑洞探測報文的接收超時時間。
lldp timer rx-blackhole-timeout timeout
缺省情況下,端口LLDP黑洞報文的接收超時時間為(端口LLDP黑洞探測報文的發送時間間隔×3+10)秒。
在圖1-6所示的網絡中,Device A和Device B屬於不同的分支網絡,在Device A和Device B之間如果存在連接,則可能導致網絡環路。配置LLDP跨域探測功能後,網絡管理員可以人為地把設備劃分在不同的域中,通過LLDP功能探測LLDP鄰居是否與自身屬於同一個域,並阻塞通往不同域鄰居的鏈路,以消除潛在的環路風險。
圖1-6 LLDP跨域探測功能應用場景圖
LLDP跨域探測功能為LLDP定義了一類私有TLV——跨域探測TLV,該TLV用於向對端LLDP鄰居通告本端所屬的域。執行lldp global cross-domain-detection enable或lldp cross-domain-detection命令開啟LLDP跨域探測功能後,端口的跨域探測功能才能生效,在發送LLDP報文時,會為其攜帶跨域探測TLV。
跨域探測TLV中的關鍵信息是域ID,這說明了發送該跨域探測TLV的端口屬於哪個域。在端口下通過lldp cross-domain-detection domain-id命令指定域ID後,該端口發送的跨域探測TLV中攜帶的域ID則一定為該指定的域ID。域ID信息可以進行傳遞,如果端口下未指定域ID,則端口發送的跨域探測TLV中攜帶的域ID為設備收到的跨域探測TLV中攜帶的域ID;如果設備收到過多個攜帶不同域ID的跨域探測TLV,則設備會比較這些跨域探測TLV的優先級,在自身發送跨域探測TLV時僅為其攜帶收到的最優跨域探測TLV的域ID,並且阻塞收到攜帶其他域ID的非最優跨域探測TLV的端口,以消除網絡中可能出現的環路,如圖1-7所示。被LLDP跨域探測功能阻塞的端口,在LLDP跨域探測功能關閉或者不再收到攜帶不同域ID的跨域探測TLV後,恢複正常轉發狀態。
圖1-7 域ID傳遞過程示意圖
建議在域ID的始發設備上(Spine-Leaf架構中通常為Spine設備)僅開啟接口下的LLDP跨域探測功能,不要開啟全局下的LLDP跨域探測功能,否則LLDP跨域探測功能可能無法正常生效。
未配置LLDP跨域探測功能的域ID、或未開啟端口發布攜帶跨域探測TLV的能力時,端口的跨域探測功能無法生效,此時,設備無法識別LLDP報文中攜帶的跨域探測TLV,並且無法為LLDP報文攜帶跨域探測TLV。
lldp global cross-domain-detection enable和lldp cross-domain-detection命令均可以開啟端口的跨域探測功能。端口下未配置lldp cross-domain-detection命令時,使用全局lldp global cross-domain-detection enable命令的配置;端口下配置lldp lldp cross-domain-detection命令時,以端口下lldp cross-domain-detection命令的配置為準。
(1) 進入係統視圖。
system-view
(2) 全局開啟LLDP跨域探測功能。
lldp global cross-domain-detection enable
缺省情況下,全局LLDP跨域探測功能處於關閉狀態。
(3) 進入二層以太網接口視圖。
interface interface-type interface-number
(4) 配置LLDP跨域探測功能的域ID。
lldp cross-domain-detection domain-id domain-id
缺省情況下,未配置LLDP跨域探測功能的域ID。
(5) 配置端口是否開啟LLDP跨域探測功能。
lldp cross-domain-detection { enable | disable }
缺省情況下,端口是否開啟LLDP跨域探測功能,以全局lldp global cross-domain-detection enable命令的配置為準。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後LLDP的運行情況,通過查看顯示信息驗證配置的效果。
表1-6 LLDP顯示和維護
命令 |
|
顯示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 ] ] |
顯示LLDP的統計信息 |
display lldp statistics [ global | [ 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 } ] |
顯示接口上可發送的可選TLV信息 |
display lldp tlv-config [ 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,網絡管理係統)與Switch A相連,Switch A通過接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2分別與MED設備和Switch B相連。
· 通過在Switch A和Switch B上配置LLDP功能,使NMS可以對Switch A與MED設備之間、以及Switch A與Switch B之間鏈路的通信情況進行判斷。
圖1-8 LLDP基本功能配置組網圖
(1) 配置Switch A
# 全局開啟LLDP功能。
<SwitchA> system-view
[SwitchA] lldp global enable
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上分別開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟),並配置LLDP工作模式為Rx。
[SwitchA] interface ten-gigabitethernet 3/0/1
[SwitchA-Ten-GigabitEthernet3/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet3/0/1] lldp admin-status rx
[SwitchA-Ten-GigabitEthernet3/0/1] quit
[SwitchA] interface ten-gigabitethernet 3/0/2
[SwitchA-Ten-GigabitEthernet3/0/2] lldp enable
[SwitchA-Ten-GigabitEthernet3/0/2] lldp admin-status rx
[SwitchA-Ten-GigabitEthernet3/0/2] quit
(2) 配置Switch B
# 全局開啟LLDP功能。
<SwitchB> system-view
[SwitchB] lldp global enable
# 在接口Ten-GigabitEthernet3/0/1上開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟),並配置LLDP工作模式為Tx。
[SwitchB] interface ten-gigabitethernet 3/0/1
[SwitchB-Ten-GigabitEthernet3/0/1] lldp enable
[SwitchB-Ten-GigabitEthernet3/0/1] lldp admin-status tx
[SwitchB-Ten-GigabitEthernet3/0/1] quit
# 顯示Switch A上全局和所有接口的LLDP狀態信息。
[SwitchA] 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 [Ten-GigabitEthernet3/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 [Ten-GigabitEthernet3/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
由此可見,Switch A的接口Ten-GigabitEthernet3/0/1上連接了一個MED鄰居設備,Ten-GigabitEthernet3/0/2上則連接了一個非MED鄰居設備,且這兩個接口的LLDP工作模式都為Rx,即隻接收而不發送LLDP報文。
# 將Switch A和Switch B間的鏈路斷掉後,再顯示Switch A上所有接口的LLDP狀態信息。
[SwitchA] 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 [Ten-GigabitEthernet3/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 [Ten-GigabitEthernet3/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
由此可見,Switch A的接口Ten-GigabitEthernet3/0/2上已經沒有任何鄰居設備了。
在圖1-9所示的Spine-Leaf結構網絡中,Device A、Device C、Device D和Device G屬於同一分支網絡,Device B、Device E、Device F和Device H屬於同一分支網絡,為了防止設備間錯誤接線導致環路,需要實現隻有同一分支網絡的設備間可以交互數據流量。本配置舉例通過LLDP跨域探測功能實現該需求,通過將Device A及其下行設備劃分為一個域,將Device B及其下行設備劃分為另一個域後,不同域之間相連的端口會被阻塞,以實現阻隔不同分支網絡數據流量的目的。
圖1-9 LLDP跨域探測功能配置組網圖
(1) 配置Device A
# 全局開啟LLDP功能。
<DeviceA> system-view
[DeviceA] lldp global enable
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上分別開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceA] interface ten-gigabitethernet 3/0/1
[DeviceA-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceA-Ten-GigabitEthernet3/0/1] quit
[DeviceA] interface ten-gigabitethernet 3/0/2
[DeviceA-Ten-GigabitEthernet3/0/2] lldp enable
[DeviceA-Ten-GigabitEthernet3/0/2] quit
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上配置LLDP跨域功能的域ID為1,並且開啟LLDP跨域探測功能。
[DeviceA] interface ten-gigabitethernet 3/0/1
[DeviceA-Ten-GigabitEthernet3/0/1] lldp cross-domain-detection domain-id 1
[DeviceA-Ten-GigabitEthernet3/0/1] lldp cross-domain-detection enable
[DeviceA-Ten-GigabitEthernet3/0/1] quit
[DeviceA] interface ten-gigabitethernet 3/0/2
[DeviceA-Ten-GigabitEthernet3/0/2] lldp cross-domain-detection domain-id 1
[DeviceA-Ten-GigabitEthernet3/0/2] lldp cross-domain-detection enable
[DeviceA-Ten-GigabitEthernet3/0/2] quit
(2) 配置Device B
# 全局開啟LLDP功能。
<DeviceB> system-view
[DeviceB] lldp global enable
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上分別開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceB] interface ten-gigabitethernet 3/0/1
[DeviceB-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceB-Ten-GigabitEthernet3/0/1] quit
[DeviceB] interface ten-gigabitethernet 3/0/2
[DeviceB-Ten-GigabitEthernet3/0/2] lldp enable
[DeviceB-Ten-GigabitEthernet3/0/2] quit
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上配置LLDP跨域功能的域ID為2,並且開啟LLDP跨域探測功能。
[DeviceB] interface ten-gigabitethernet 3/0/1
[DeviceB-Ten-GigabitEthernet3/0/1] lldp cross-domain-detection domain-id 2
[DeviceB-Ten-GigabitEthernet3/0/1] lldp cross-domain-detection enable
[DeviceB-Ten-GigabitEthernet3/0/1] quit
[DeviceB] interface ten-gigabitethernet 3/0/2
[DeviceB-Ten-GigabitEthernet3/0/2] lldp cross-domain-detection domain-id 2
[DeviceB-Ten-GigabitEthernet3/0/2] lldp cross-domain-detection enable
[DeviceB-Ten-GigabitEthernet3/0/2] quit
(3) 配置Device C
# 全局開啟LLDP功能。
<DeviceC> system-view
[DeviceC] lldp global enable
# 全局開啟LLDP跨域探測功能。
[DeviceC] lldp global cross-domain-detection enable
# 在接口Ten-GigabitEthernet3/0/1上開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceC] interface ten-gigabitethernet 3/0/1
[DeviceC-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceC-Ten-GigabitEthernet3/0/1] quit
(4) 配置Device D
# 全局開啟LLDP功能。
<DeviceD> system-view
[DeviceD] lldp global enable
# 全局開啟LLDP跨域探測功能。
[DeviceD] lldp global cross-domain-detection enable
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceD] interface ten-gigabitethernet 3/0/1
[DeviceD-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceD-Ten-GigabitEthernet3/0/1] quit
[DeviceD] interface ten-gigabitethernet 3/0/2
[DeviceD-Ten-GigabitEthernet3/0/2] lldp enable
[DeviceD-Ten-GigabitEthernet3/0/2] quit
(5) Device G的配置步驟與Device D完全相同,本步驟省略。
(6) 配置Device E
# 全局開啟LLDP功能。
<DeviceE> system-view
[DeviceE] lldp global enable
# 全局開啟LLDP跨域探測功能。
[DeviceE] lldp global cross-domain-detection enable
# 在接口Ten-GigabitEthernet3/0/1和Ten-GigabitEthernet3/0/2上開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceE] interface ten-gigabitethernet 3/0/1
[DeviceE-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceE-Ten-GigabitEthernet3/0/1] quit
[DeviceE] interface ten-gigabitethernet 3/0/2
[DeviceE-Ten-GigabitEthernet3/0/2] lldp enable
[DeviceE-Ten-GigabitEthernet3/0/2] quit
(7) Device H的配置步驟與Device E完全相同,本步驟省略。
(8) 配置Device F
# 全局開啟LLDP功能。
<DeviceF> system-view
[DeviceF] lldp global enable
# 全局開啟LLDP跨域探測功能。
[DeviceF] lldp global cross-domain-detection enable
# 在接口Ten-GigabitEthernet3/0/1上開啟LLDP功能(此步驟可省略,LLDP功能在接口上缺省開啟)。
[DeviceF] interface ten-gigabitethernet 3/0/1
[DeviceF-Ten-GigabitEthernet3/0/1] lldp enable
[DeviceF-Ten-GigabitEthernet3/0/1] quit
# 在Device H上,查看全局和所有接口上的LLDP狀態信息。
[DeviceG] 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, 2 minutes, 28 seconds
Transmit interval : 30s
Fast transmit interval : 1s
Transmit max credit : 5
Hold multiplier : 4
Reinit delay : 2s
Trap interval : 30s
Fast start times : 4
LLDP status information of port 2 [Ten-GigabitEthernet3/0/1]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : TX_RX
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 : 12
Number of received unknown TLV : 16
Neighbor protection status : Port not protected
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 : 0
Number of received unknown TLV : 0
Neighbor protection status : Port not protected
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 : 0
Number of received unknown TLV : 0
Neighbor protection status : Port not protected
LLDP status information of port 3 [Ten-GigabitEthernet3/0/2]:
LLDP agent nearest-bridge:
Port status of LLDP : Enable
Admin status : TX_RX
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 : 12
Number of received unknown TLV : 17
Neighbor protection status : Port blocked (diffrent domain)
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 : 0
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 : 0
Number of received unknown TLV : 0
可以看到,Device H的Ten-GigabitEthernet3/0/2接口被跨域探測功能阻塞。
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主要應用於基於RoCE(RDMA over Converged Ethernet,基於以太網的RDMA技術)的數據中心網絡,一般工作在接入層交換機上,以實現交換機對服務器或存儲設備網卡的控製,從而達到簡化配置以及保證配置一致性的目的。作為LLDP協議的一種擴展應用,DCBX使用IEEE 802.1組織定義的TLV(即DCBX TLV)來傳遞各種參數信息,在預標準版1.0和預標準版1.01中使用包括ETS和PFC(Priority-based Flow Control,基於優先級的流量控製)在內的兩種參數信息,在標準版中使用包括ETS Configuration(增強傳輸選擇配置)、ETS Recommendation(增強傳輸選擇推薦)和PFC(Priority-based Flow Control,基於優先級的流量控製)在內的三種參數信息。H3C設備隻能向服務器或存儲設備網卡發布這些參數,而不能接受這些參數。
與DCBX相關的協議規範有:
· DCB Capability Exchange Protocol Specification Rev 1.0
· DCB Capability Exchange Protocol Base Specification Rev 1.01
DCBX配置任務如下:
(2) 配置DCBX版本
(3) 配置ETS參數
b. 配置分組WRR隊列
(4) 配置PFC參數
在全局和接口上都開啟LLDP功能並允許接口發布DCBX TLV,從而使設備可通過該接口來發布ETS和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版本由兩端端口自協商決定。
ETS用於實現承諾帶寬:設備通過ETS參數與服務器網卡進行協商,控製服務器網卡上指定類型數據的發送帶寬,保證其在接口的承諾帶寬範圍之內,從而不會因流量擁塞而導致數據丟失。
在配置發布ETS參數時,需要配置以下內容:
(1) 配置802.1p優先級到本地優先級的映射。通過優先級映射表實現。有關優先級映射表命令的詳細介紹,請參見“ACL和QoS命令參考”中的“QoS”。
(2) 配置分組WRR隊列,以實現帶寬的分配。有關WRR隊列命令的詳細介紹,請參見“ACL和QoS命令參考”中的“QoS”。
(1) 進入係統視圖。
system-view
(2) 進入報文出方向上802.1p優先級到本地優先級映射表視圖。
qos map-table dot1p-lp
(3) 配置指定優先級映射表參數,創建優先級映射規則。
import import-value-list export export-value
缺省優先級映射表請參見“ACL和QoS配置指導”中的“QoS”。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖。
interface interface-type interface-number
(3) 開啟WRR隊列。
qos wrr byte-count
缺省情況下,接口使用SP隊列調度算法。
(4) 配置WRR隊列。請選擇其中一項進行配置。
¡ 配置WRR優先組1的WRR隊列調度權重。
qos wrr queue-id group 1 byte-count schedule-value
¡ 配置端口隊列采用嚴格優先級調度算法。
qos wrr queue-id group sp
當要求指定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通過接口Ten-GigabitEthernet3/0/1與數據中心服務器(DC server)的RDMA網卡相連。
· 實現Switch A與DC server之間轉發的RoCE報文無丟包。
假定Switch A和DC server都支持DCBX預標準版1.01。
圖2-2 DCBX功能配置組網圖
(1) 開啟LLDP並允許發布DCBX TLV
# 全局開啟LLDP功能。
<SwitchA> system-view
[SwitchA] lldp global enable
# 在接口Ten-GigabitEthernet3/0/1上開啟LLDP功能,並允許發布DCBX TLV。
[SwitchA] interface ten-gigabitethernet 3/0/1
[SwitchA-Ten-GigabitEthernet3/0/1] lldp enable
[SwitchA-Ten-GigabitEthernet3/0/1] lldp tlv-enable dot1-tlv dcbx
(2) 配置DCBX版本
# 配置接口Ten-GigabitEthernet3/0/1的DCBX版本為預標準版1.01。
[SwitchA-Ten-GigabitEthernet3/0/1] dcbx version rev101
[SwitchA-Ten-GigabitEthernet3/0/1] quit
(3) 配置ETS參數
# 在接口Ten-GigabitEthernet3/0/1上開啟WRR隊列,並按照每次輪詢可發送的字節數進行計算,同時配置端口隊列3采用嚴格優先級調度算法。
[SwitchA] interface ten-gigabitethernet 3/0/1
[SwitchA-Ten-GigabitEthernet3/0/1] qos wrr byte-count
[SwitchA-Ten-GigabitEthernet3/0/1] qos wrr 3 group sp
(4) 配置PFC參數
# 在接口Ten-GigabitEthernet3/0/1上配置PFC功能的開啟模式為自動協商模式,並對802.1p優先級3開啟PFC功能。
[SwitchA-Ten-GigabitEthernet3/0/1] priority-flow-control auto
[SwitchA-Ten-GigabitEthernet3/0/1] priority-flow-control no-drop dot1p 3
服務器端查看,未觀察到丟包。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!