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](https://i1.twwiki.net/cover/w200/ma/a/maa1d692318ef5239ddd422e147624d4e.jpg)
LLDP
Rx:只接收不發送LLDP報文。
Disable:既不發送也不接收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 TLV | Port ID TLV | Time to live TLV | 可選 TLV | End of LLDPDU TLV |
---|---|---|---|---|---|---|---|
01-80-C2-00-00-0E 或 01-80-C2-00-00-03 或 01-80-C2-00-00-00 | 源MAC | 0x88cc | 零或多個可選的TLV | 表示LLDP結束 |
● 目的MAC地址
● LLDP協議的目的MAC地址總是是固定的幾個值之一。
名稱 | 目的MAC地址 | 意義 |
---|---|---|
Nearest bridge | 01-80-C2-00-00-0E | 包被限制在本地網路中,無法被任何橋或路由設備轉發 |
Nearest non-TPMR bridge | 01-80-C2-00-00-03 | 包只被Two-Port MAC Relay (TPMR)轉發,其他的任何橋或路由設備都不轉發該數據包 |
Nearest Customer Bridge | 01-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 type | TLV name | 是否必須存在 |
---|---|---|
End Of LLDPDU | 必須 | |
1 | Chassis ID | 必須 |
2 | Port ID | 必須 |
3 | Time To Live | 必須 |
4 | Port Description | 可選 |
5 | System Name | 可選 |
6 | System Description | 可選 |
7 | System Capabilities | 可選 |
8 | Management Address | 可選 |
9–126 | Reserved for future standardization | — |
127 | Organizationally Specific TLVs | 可選 |