Link Layer Discovery Protocol (LLDP)は、ネットワークデバイスが、IEEE 802(主に有線イーサネット)に基づいてLAN上で自ノードの情報(ID、機能、隣接ノードの情報)を広告するために使用する、ベンダニュートラルなリンク層プロトコルである。

このプロトコルはIEEE 802.1ABで定義され、規格上はStation and Media Access Control Connectivity Discoveryと呼ばれている。IEEE 802.3の6章79節で追加対応されている。IEEEで標準化される以前にメーカ独自実装されたプロプライエタリ・プロトコルである、Cisco Discovery Protocol(CDP)、Foundry Discovery Protocol(FDP)、Nortel Discovery Protocol'NDP)、Link Layer Topology Discovery(LLTD)などと同様の機能を有する。また、LLDPの拡張規格としてLLDP-MED (LLDP for Media Endpoint Discovery)があり、2006年4月にANSI/TIA-1057として公開されている。

LLDP対応機器は、システム・接続ポート・VLAN名・管理IP・PoE・リンクアグリゲーションの情報などをネットワークに通知する。これらの情報はSNMPでMIB情報として取得することができ、LLDP対応機器を巡回収集することでネットワークトポロジを検出することができる。

## 収集する情報

LLDPで収集された情報は、デバイス管理情報ベース(MIB)に保存され、RFC 2922 で規定されているSimple Network Management Protocol(SNMP)を使用して照会することができる。ホストをクロールしてこのデータベースを照会することで、LLDP対応ネットワーク・トポロジを発見することがでる。LLDPで取得できる情報には以下のようなものがある。

- システムの名前と説明
- ポートの名前と説明
- VLANの名前
- IP管理アドレス
- システムの能力(スイッチング、ルーティングなど)
- MACとPHYの情報
- MDIで供給できる電力
- リンクアグリゲーション

## 応用

LLDPは、ネットワーク管理・ネットワーク監視アプリケーションの一部として使用することができる。例えば、データセンターのブリッジング要件での使用がある。Data Center Bridging Capabilities Exchange Protocol(DCBX、データセンター・ブリッジング能力交換プロトコル)は、ネットワーク全体で一貫した構成を確保するために、隣接ノード間で機能と構成を伝達するために使用されるプロトコルである。

LLDPはpower over Ethernet(PoE)能力の広告や電力供給の要求・ネゴシエートにも使用される。

### LLDP-MED

LLDP-MED(LLDP-Media Endpoint Discovery)はLLDPの拡張であり、次の機能を提供する。

- ネットワークを介したプラグアンドプレイを可能にするための、LANポリシー(VLAN、レイヤ2プライオリティ、DiffServの設定など) の自動検出。
- デバイスの位置情報を検出して位置情報データベースを作成する。VoIPの場合は、拡張911(緊急用電話)で利用可能である。
- PoEエンドポイントの拡張と自動化された電源管理。
- インベントリ管理により、ネットワーク管理者がネットワークデバイスを追跡し、その特性(メーカー、ソフトウェアやハードウェアのバージョン、シリアル番号または資産番号)を決定する。

LLDP-MEDプロトコル拡張は、2006年4月に電気通信工業会(TIA)により正式に承認され、ANSI/TIA-1057として公開された。

## フレーム書式

LLDP情報は、ネットワーク機器から定期的に以下のイーサネットフレームの形式で送信される。

| 宛先MAC | 送信元MAC | EtherType | 機器ID | ポートID | TTL | その他情報 | 終了 | FCS |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 以下のいずれか 01:80:c2:00:00:0e  01:80:c2:00:00:03  01:80:c2:00:00:00 | 機器MACアドレス | 0x88CC | TLV (Type=1) | TLV (Type=2) | TLV (Type=3) | TLV (任意) | TLV (Type=0) |  |

宛先MACアドレスは、IEEE 802.1D準拠のブリッジ転送されない特殊なマルチキャストアドレスが一般的に用いられるが、他のマルチキャストアドレスやユニキャストの宛先MACを用いてもよい。

LLDPのデータユニット(LLDPDU)はType-Length-Value (TLV)構造であり、Type値が7ビット、Length値が9ビット、Value値が511バイト以下の任意長で構成される。その書式は以下の通り。

LLDPDU TLVタイプ一覧

| Type | 内容 | 要不要 | Value書式 |
| --- | --- | --- | --- |
| 0 | 終了 | 必須 | なし (Length=0) |
| 1 | 機器ID (Chassis ID) | 必須 | サブタイプ(1バイト)+値(255バイト以下) |
| 2 | ポートID (Port ID) | 必須 | サブタイプ(1バイト)+値(255バイト以下) |
| 3 | Time To Live | 必須 | 0〜65535[秒] (Length=2) |
| 4 | ポート概要 | 任意 | 任意英数字(255バイト以下) |
| 5 | システム名 | 任意 | 任意英数字(255バイト以下) |
| 6 | システム概要 | 任意 | 任意英数字(255バイト以下) |
| 7 | システム機能種別 | 任意 | 下記の組合せで実装の有無と有効化状態をそれぞれ示す (Length=4) リピータ・スイッチ・無線AP・ルータ・IP電話・DOCSIS対応機・無線LAN端末・その他 |
| 8 | 管理アドレス | 任意 | 管理IPアドレス、I/F番号、OIDを含む |
| 127 | カスタムTLV | 任意 | OUI(3バイト)+サブタイプ(1バイト)+値(507バイト以下) IEEE 802.3によるMAC/PHY設定・PoE・リンクアグリゲーション・EEEなどの拡張はこのタイプで記述される。 |

カスタムTLVは、TLV type 127として提供される。カスタムTLVの値は、24ビットの組織固有識別子(Organizationally Unique Identifier)と、1バイトの組織定義サブタイプ(organizationally defined subtype)の後にデータが続く。組織固有のTLVの基本フォーマットを以下に示す。

組織固有TLV

| Type | Length | Organizationally unique identifier (OUI) | Organizationally defined subtype | Organizationally defined information string |
| --- | --- | --- | --- | --- |
| 7 bits—127 | 9 bits | 24 bits | 8 bits | 0-507 octets |

IEEE Std 802.1AB、§9.6.1.3によると、組織固有識別子は、IEEE Std 802-2001で定義された組織のOUIを含まなければならない。各組織は、そのサブタイプを管理する責任がある。