LLDP

數據鏈路層協議

鏈路層發現協議(Link Layer Discovery Protocol,LLDP)是一種數據鏈路層協議。

產生背景


目前,網路設備的種類日益繁多且各自的配置錯綜複雜,為了使不同廠商的設備能夠在網路中相互發現並交互各自的系統及配置信息,需要有一個標準的信息交流平台。
LLDP(Link Layer Discovery Protocol,鏈路層發現協議)就是在這樣的背景下產生的,它提供了一種標準的鏈路層發現方式,可以將本端設備的的主要能力、管理地址、設備標識、介面標識等信息組織成不同的TLV(Type/Length/Value,類型/長度/值),並封裝在LLDPDU(Link Layer Discovery Protocol Data Unit,鏈路層發現協議數據單元)中發布給與自己直連的鄰居,鄰居收到這些信息后將其以標準MIB(Management Information Base,管理信息庫)的形式保存起來,以供網路管理系統查詢及判斷鏈路的通信狀況。

簡介


網路設備可以通過在本地網路中發送LLDPDU(Link Layer Discovery Protocol Data Unit)來通告其他設備自身的狀態。是一種能夠使網路中的設備互相發現並通告狀態、交互信息的協議。

工作模式


TxRx:既發送也接收LLDP報文。
LLDP
LLDP
Tx:只發送不接收LLDP報文。
Rx:只接收不發送LLDP報文。
Disable:既不發送也不接收LLDP報文。
當埠的LLDP工作模式發生變化時,埠將對協議狀態機進行初始化操作。為了避免埠工作模式頻繁改變而導致埠不斷執行初始化操作,可配置埠初始化延遲時間,當埠工作模式改變時延遲一段時間再執行初始化操作。

LLDP報文


概念

封裝有LLDPDU的報文稱為LLDP報文,其封裝格式有兩種:Ethernet II和SNAP(Subnetwork Access Protocol,子網訪問協議)。

發送機制

當埠工作在TxRx或Tx模式時,設備會周期性地向鄰居設備發送LLDP報文。如果設備的本地配置發生變化則立即發送LLDP報文,以將本地信息的變化情況儘快通知給鄰居設備。但為了防止本地信息的頻繁變化而引起LLDP報文的大量發送,每發送一個LLDP報文後都需延遲一段時間后再繼續發送下一個報文。
當設備的工作模式由Disable/Rx切換為TxRx/Tx,或者發現了新的鄰居設備(即收到一個新的LLDP報文且本地尚未保存發送該報文設備的信息)時,該設備將自動啟用快速發送機制,即將LLDP報文的發送周期縮短為1秒,並連續發送指定數量的LLDP報文後再恢復為正常的發送周期。

接收機制

當埠工作在TxRx或Rx模式時,設備會對收到的LLDP報文及其攜帶的TLV進行有效性檢查,通過檢查后再將鄰居信息保存到本地,並根據TTL(Time To Live,生存時間) TLV中TTL的值來設置鄰居信息在本地設備上的老化時間,若該值為零,則立刻老化該鄰居信息。

特性


這個協議很成熟,也已經是一個真正的標準(IEEE 802.1AB),而且它能夠顯示的信息還不僅僅只有來自不同供應商的互連網路基礎架構的信息。有許多VoIP電話和模擬終端適配器都支持LLDP,另外一些CCTV(閉路電視)攝像頭及工具類網路主機也支持。這是在交換機配置過程中很容易被忽略的特性之一,因為它默認是禁用的,但是只要開始使用它,它就會在故障修復和環境映射上發揮巨大作用。

內容


LLDP協議屬於鏈路層協議,它的以太類型為0x88cc。一個標準的LLDP幀格式如下:
標準LLDP協議幀格式
目的MAC地址源MAC地址以太類型Chassis ID TLVPort ID TLVTime to live TLV可選 TLVEnd of LLDPDU TLV
01-80-C2-00-00-0E 或
01-80-C2-00-00-03 或
01-80-C2-00-00-00
源MAC0x88cc零或多個可選的TLV表示LLDP結束
● 目的MAC地址
● LLDP協議的目的MAC地址總是是固定的幾個值之一。
名稱目的MAC地址意義
Nearest bridge01-80-C2-00-00-0E包被限制在本地網路中,無法被任何橋或路由設備轉發
Nearest non-TPMR bridge01-80-C2-00-00-03包只被Two-Port MAC Relay (TPMR)轉發,其他的任何橋或路由設備都不轉發該數據包
Nearest Customer Bridge01-80-C2-00-00-00只在兩個Customer Bridge之間傳播。
● TLV
● TLV是type, length, value的縮寫,是LLDP中主要的數據格式。該數據類型的格式為:
TLV類型
(7bits)
TLV數據部分長度
(9bits)
TLV數據部分
(0至511位元組)
TLV的類型部分的取值中,0~8以及127是規範中已經明確佔用的數值,9~126則是預留的數值,其詳細定義如下:
TLV類型部分定義
TLV typeTLV name是否必須存在
End Of LLDPDU必須
1Chassis ID必須
2Port ID必須
3Time To Live必須
4Port Description可選
5System Name可選
6System Description可選
7System Capabilities可選
8Management Address可選
9–126Reserved for future standardization
127Organizationally Specific TLVs可選