目前,網絡設備的種類日益繁多且各自的配置錯綜複雜,為了使不同廠商的設備能夠在網絡中相互發現並交互各自的係統及配置信息,需要有一個標準的信息交流平台。
LLDP(Link Layer Discovery Protocol,鏈路層發現協議)就是在這樣的背景下產生的,它提供了一種標準的鏈路層發現方式,可以將本端設備的的主要能力、管理地址、設備標識、接口標識等信息組織成不同的TLV(Type/Length/Value,類型/長度/值),並封裝在LLDPDU(Link Layer Discovery Protocol Data Unit,鏈路層發現協議數據單元)中發布給與自己直連的鄰居,鄰居收到這些信息後將其以標準MIB(Management Information Base,管理信息庫)的形式保存起來,以供網絡管理係統查詢及判斷鏈路的通信狀況。
封裝有LLDPDU的報文稱為LLDP報文,其封裝格式有兩種:Ethernet II和SNAP(Subnetwork Access Protocol,子網訪問協議)。
(1) Ethernet II格式封裝的LLDP報文
圖 1 Ethernet II格式封裝的LLDP報文
如圖 1所示,是以Ethernet II格式封裝的LLDP報文,其中各字段的含義如下:
l Destination MAC address:目的MAC地址,為固定的組播MAC地址0x0180-C200-000E。
l Source MAC address:源MAC地址,為端口MAC地址或設備橋MAC地址(如果有端口地址則使用端口MAC地址,否則使用設備橋MAC地址)。
l Type:報文類型,為0x88CC。
l Data:數據,為LLDPDU。
l FCS:幀檢驗序列。
(2) SNAP格式封裝的LLDP報文
圖 2 SNAP格式封裝的LLDP報文
如圖 2所示,是以SNAP格式封裝的LLDP報文,其中各字段的含義如下:
l Destination MAC address:目的MAC地址,為固定的組播MAC地址0x0180-C200-000E。
l Source MAC address:源MAC地址,為端口MAC地址或設備橋MAC地址(如果有端口地址則使用端口MAC地址,否則使用設備橋MAC地址)。
l Type:報文類型,為0xAAAA-0300-0000-88CC。
l Data:數據,為LLDPDU。
l FCS:幀檢驗序列。
LLDPDU就是封裝在LLDP報文數據部分的數據單元。在組成LLDPDU之前,設備先將本地信息封裝成TLV格式,再由若幹個TLV組合成一個LLDPDU封裝在LLDP報文的數據部分進行傳送。
如圖 3所示,每個LLDPDU共可攜帶28種TLV,其中深藍色的Chasis ID TLV、Port ID TLV、TTL TLV和End TLV這四種是必須攜帶的,其餘的TLV則為可選攜帶。
TLV是組成LLDPDU的單元,每個TLV都代表一個信息。LLDP可以封裝的TLV包括基本TLV、802.1組織定義TLV、802.3組織定義TLV和LLDP-MED(Media Endpoint Discovery,媒體終端發現) TLV。
基本TLV是網絡設備管理基礎的一組TLV,802.1組織定義TLV、802.3組織定義TLV和LLDP-MED TLV則是由標準組織或其他機構定義的TLV,用於增強對網絡設備的管理,可根據實際需要選擇是否在LLDPDU中發送。
(1) 基本TLV
在基本TLV中,有幾種TLV對於實現LLDP功能來說是必選的,即必須在LLDPDU中發布,如表 1所示。
TLV名稱 | 說明 | 是否必須發布 |
End of LLDPDU | 標識LLDPDU結束 | 是 |
Chassis ID | 發送設備的橋MAC地址 | 是 |
Port ID | 標識LLDPDU發送端的端口。當設備不發送MED TLV時,內容為端口名稱;當設備發送MED TLV時,內容為端口的MAC地址,沒有端口MAC時使用橋MAC | 是 |
Time To Live | 本設備信息在鄰居設備上的存活時間 | 是 |
Port Description | 以太網端口的描述字符串 | 否 |
System Name | 設備的名稱 | 否 |
System Description | 係統描述 | 否 |
System Capabilities | 係統的主要功能以及已使能的功能項 | 否 |
Management Address | 管理地址,以及對應的接口號和OID(Object Identifier,對象標識) | 否 |
(2) 802.1組織定義TLV
IEEE 802.1組織定義TLV的內容如表 2所示。
表 2 IEEE 802.1組織定義的TLV
TLV名稱 | 說明 |
Port VLAN ID | 端口的VLAN ID |
Port And Protocol VLAN ID | 端口的協議VLAN ID |
VLAN Name | 端口VLAN的名稱 |
Protocol Identity | 端口支持的協議類型 |
(3) 802.3組織定義TLV
IEEE 802.3組織定義TLV的內容如表 3所示。
表 3 IEEE 802.3組織定義的TLV
TLV名稱 | 說明 |
MAC/PHY Configuration/Status | 端口的速率和雙工狀態、是否支持端口速率自動協商、是否已使能自動協商功能以及當前的速率和雙工狀態 |
Power Via MDI | 端口的供電能力 |
Link Aggregation | 端口是否支持鏈路聚合以及是否已使能鏈路聚合 |
Maximum Frame Size | 端口支持的最大幀長度,取端口配置的MTU(Max Transmission Unit,最大傳輸單元) |
(4) LLDP-MED TLV
LLDP-MED TLV為VoIP(Voice over IP,在IP上傳送語音)提供了許多高級的應用,包括基本配置、網絡策略配置、地址信息以及目錄管理等,滿足了語音設備的不同生產廠商在成本有效、易部署、易管理等方麵的要求,並解決了在以太網中部署語音設備的問題,為語音設備的生產者、銷售者以及使用者提供了便利。LLDP-MED TLV的內容如表 4所示。
TLV名稱 | 說明 |
LLDP-MED Capabilities | 當前設備的MED設備類型以及在LLDPDU中可封裝的LLDP-MED TLV類型 |
Network Policy | 端口的VLAN ID、支持的應用(如語音和視頻)、應用優先級以及使用策略等 |
Extended Power-via-MDI | 當前設備的供電能力 |
Hardware Revision | MED設備的硬件版本 |
Firmware Revision | MED設備的固件版本 |
Software Revision | MED設備的軟件版本 |
Serial Number | MED設備的序列號 |
Manufacturer Name | MED設備的製造廠商 |
Model Name | MED設備的模塊名 |
Asset ID | MED設備的資產標識符,以便目錄管理和資產跟蹤 |
Location Identification | 位置標識信息,供其它設備在基於位置的應用中使用 |
管理地址是供網絡管理係統標識網絡設備並進行管理的地址。管理地址可以明確地標識一台設備,從而有利於網絡拓撲的繪製,便於網絡管理。管理地址被封裝在LLDP報文的Management Address TLV中向外發布。
LLDP有以下四種工作模式:
l TxRx:既發送也接收LLDP報文。
l Tx:隻發送不接收LLDP報文。
l Rx:隻接收不發送LLDP報文。
l Disable:既不發送也不接收LLDP報文。
當端口的LLDP工作模式發生變化時,端口將對協議狀態機進行初始化操作。為了避免端口工作模式頻繁改變而導致端口不斷執行初始化操作,可配置端口初始化延遲時間,當端口工作模式改變時延遲一段時間再執行初始化操作。
當端口工作在TxRx或Tx模式時,設備會周期性地向鄰居設備發送LLDP報文。如果設備的本地配置發生變化則立即發送LLDP報文,以將本地信息的變化情況盡快通知給鄰居設備。但為了防止本地信息的頻繁變化而引起LLDP報文的大量發送,每發送一個LLDP報文後都需延遲一段時間後再繼續發送下一個報文。
當設備的工作模式由Disable/Rx切換為TxRx/Tx,或者發現了新的鄰居設備(即收到一個新的LLDP報文且本地尚未保存發送該報文設備的信息)時,該設備將自動啟用快速發送機製,即將LLDP報文的發送周期縮短為1秒,並連續發送指定數量的LLDP報文後再恢複為正常的發送周期。
當端口工作在TxRx或Rx模式時,設備會對收到的LLDP報文及其攜帶的TLV進行有效性檢查,通過檢查後再將鄰居信息保存到本地,並根據TTL(Time To Live,生存時間) TLV中TTL的值來設置鄰居信息在本地設備上的老化時間,若該值為零,則立刻老化該鄰居信息。