SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
LLDP機能の概要LLDP機能の概要
木本雅彦 <kimoto@soum.co.jp>
<kimoto@ohnolab.org>
株式会社創夢 第三開発部 シニアプロジェクトマネージャ
初版:2005年7月作成、改定版:2015年3月作成
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
スイッチネットワークというもの
スイッチを用いたネットワーク構築
LAN/WANでEthernetが中心に
L2で冗長性, 仮想LAN, 帯域制御, リンク集約を実現する
単純な機器を用いるので故障しにくい
L2スイッチの高機能化とL3スイッチの登場
レイヤーごとの差異があいまいになりつつある
1/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
L2トポロジーを把握する方法
SNMP
ping, traceroute
CDP(Cisco Discovery Protocol)
LLDP(Link Layer Discovery Protocol)
2/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
Link Layer Discovery Protocol
スイッチ同士での情報交換のためのプロトコル
現状ではベンダ独自で類似機能を持つ
IEEE 802.1abで標準化される予定
3/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
Link Layer Discovery Protocol
隣接したスイッチ間で情報を教え合う
4/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
Link Layer Discovery Protocol
SNMPでトポロジー情報などを収集する
5/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
LLDPの機能
隣接装置識別情報の収集
隣接ポート識別 ・ 構成情報の収集
隣接装置systemMIBの一部の収集
隣接装置のIPアドレスの収集
ベンダ独自情報の収集
6/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
LLDPの動作
隣接装置に情報を送るだけ(要求はできない)
送信側 :
一定間隔(30秒)で情報を送信する
インタフェースが落ちる時に情報を送信する
一定間隔以上(2秒)では送らない
受信側 :
ポート単位で隣接機器の情報を格納する
一定時間(120秒)過ぎた情報は破棄する
得られた情報はSNMP経由で参照できるようにする
7/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
LLDPDU
リンク層のパケットである
8/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
TLV (Type & Length & Value)
LLDPで使うTypeの例
シャーシID (必須)
ポートID (必須)
TTL (必須)
ポートの説明
システム名
システムの説明
管理アドレス
End of LLDPDU(必須)
9/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
実装の際の注意点
L2パケットなので、BPFとかPACKET socketを使う
リンクアップ・ダウンのイベントを効率よく検知する必要
がある
ポートごとに複数の対向ノードのデータを管理する必要
があるかどうかで、実装の面倒さが変わる
組込プログラミングは、なるべく動作中にmallocしたくない
最初に固定バッファを確保したほうがよい
snmpdに対してMIBを追加する方法
net-snmpだと外部プロセスで追加MIBを処理する方法があるのだ
が、当時まともなドキュメントとサンプルコードがなかった
ASN.1でMIBを記述し、コンバータが生成したコードをベースにして頑
張った
10/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
現在のLLDPの使われかた
CISCOの場合はいまだにCDPが一般的なようだ
OpenFlowでLLDPを使うので、そこそこ実装は普及し
ている
Linuxだとlldpdかopenlldp(lldpad)が多いようだ
11/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
実装状況
http://www.kempgen.net/voip/lldp-
agents.html
lldpd
http://vincentbernat.github.io/lldpd/
Linux, OpenBSD, NetBSD, FreeBSD, Mac OS X
ISC Licence
openlldp (lldpad)
http://openlldp.sourceforge.net/
Linux, NetBSD, FreeBSD, Mac OS X
BSD style Licence
12/13
(c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6
おわりに
LLDPのプロトコル仕様と機能について概説した
実装上の注意点をちょっとだけ触れた
その昔はLinuxなどで動く実装がなかったのですが、最
近は結構実装があるんですね
でもスクラッチから作れと言われたら作りますよ
13/13

Más contenido relacionado

La actualidad más candente

197x Timer with Your Messages
197x Timer with Your Messages197x Timer with Your Messages
197x Timer with Your Messages
Kuniaki Igarashi
 

La actualidad más candente (10)

katagaitaictf11_misc_ysk
katagaitaictf11_misc_yskkatagaitaictf11_misc_ysk
katagaitaictf11_misc_ysk
 
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めようTurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
 
Try new transport protocol SRT (ver. 2)
Try new transport protocol SRT  (ver. 2)Try new transport protocol SRT  (ver. 2)
Try new transport protocol SRT (ver. 2)
 
197x Timer with Your Messages
197x Timer with Your Messages197x Timer with Your Messages
197x Timer with Your Messages
 
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNAライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
 
Ruby on cygwin (2019/8月号)
Ruby on cygwin (2019/8月号)Ruby on cygwin (2019/8月号)
Ruby on cygwin (2019/8月号)
 
TFUG_yuma_matsuoka__distributed_GPU
TFUG_yuma_matsuoka__distributed_GPUTFUG_yuma_matsuoka__distributed_GPU
TFUG_yuma_matsuoka__distributed_GPU
 
20210705 sd#26 kitazaki
20210705 sd#26 kitazaki20210705 sd#26 kitazaki
20210705 sd#26 kitazaki
 
Try new transport protocol SRT
Try new transport protocol SRTTry new transport protocol SRT
Try new transport protocol SRT
 
Open-hardware and Japan
Open-hardware and JapanOpen-hardware and Japan
Open-hardware and Japan
 

Similar a LLDP機能の概要

無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
Hisaya Okada
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
Hisaya Okada
 
第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1
Tatsuya Ueda
 

Similar a LLDP機能の概要 (20)

ブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイントブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイント
 
リモート先へログインする時環境あるある
リモート先へログインする時環境あるあるリモート先へログインする時環境あるある
リモート先へログインする時環境あるある
 
Osc 2009 tokyo_moblin_20091030
Osc 2009 tokyo_moblin_20091030Osc 2009 tokyo_moblin_20091030
Osc 2009 tokyo_moblin_20091030
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
 
無線LANでロボットを動かす話
無線LANでロボットを動かす話無線LANでロボットを動かす話
無線LANでロボットを動かす話
 
ベアメタルプロビジョニング(Ironic)について
ベアメタルプロビジョニング(Ironic)についてベアメタルプロビジョニング(Ironic)について
ベアメタルプロビジョニング(Ironic)について
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
TTN_KAGOSHIMA#1 20171222
TTN_KAGOSHIMA#1 20171222TTN_KAGOSHIMA#1 20171222
TTN_KAGOSHIMA#1 20171222
 
0912 第3回東京softlayer勉強会
0912 第3回東京softlayer勉強会0912 第3回東京softlayer勉強会
0912 第3回東京softlayer勉強会
 
SORACOM を使いこなすために 「1年のアップデートを一言解説」「サポートのより良い活用方法」 | SORACOM UG Explorer 2019
SORACOM を使いこなすために 「1年のアップデートを一言解説」「サポートのより良い活用方法」 | SORACOM UG Explorer 2019SORACOM を使いこなすために 「1年のアップデートを一言解説」「サポートのより良い活用方法」 | SORACOM UG Explorer 2019
SORACOM を使いこなすために 「1年のアップデートを一言解説」「サポートのより良い活用方法」 | SORACOM UG Explorer 2019
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
 
第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1
 
mruby/c適用期待分野20160329
mruby/c適用期待分野20160329mruby/c適用期待分野20160329
mruby/c適用期待分野20160329
 
20191010 Blockchain GIG #5 石原様資料
20191010 Blockchain GIG #5 石原様資料20191010 Blockchain GIG #5 石原様資料
20191010 Blockchain GIG #5 石原様資料
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
 
楽天ネットワークエンジニアたちが目指す、次世代データセンターとは
楽天ネットワークエンジニアたちが目指す、次世代データセンターとは楽天ネットワークエンジニアたちが目指す、次世代データセンターとは
楽天ネットワークエンジニアたちが目指す、次世代データセンターとは
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 

LLDP機能の概要

  • 1. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 LLDP機能の概要LLDP機能の概要 木本雅彦 <kimoto@soum.co.jp> <kimoto@ohnolab.org> 株式会社創夢 第三開発部 シニアプロジェクトマネージャ 初版:2005年7月作成、改定版:2015年3月作成
  • 2. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 スイッチネットワークというもの スイッチを用いたネットワーク構築 LAN/WANでEthernetが中心に L2で冗長性, 仮想LAN, 帯域制御, リンク集約を実現する 単純な機器を用いるので故障しにくい L2スイッチの高機能化とL3スイッチの登場 レイヤーごとの差異があいまいになりつつある 1/13
  • 3. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 L2トポロジーを把握する方法 SNMP ping, traceroute CDP(Cisco Discovery Protocol) LLDP(Link Layer Discovery Protocol) 2/13
  • 4. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 Link Layer Discovery Protocol スイッチ同士での情報交換のためのプロトコル 現状ではベンダ独自で類似機能を持つ IEEE 802.1abで標準化される予定 3/13
  • 5. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 Link Layer Discovery Protocol 隣接したスイッチ間で情報を教え合う 4/13
  • 6. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 Link Layer Discovery Protocol SNMPでトポロジー情報などを収集する 5/13
  • 7. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 LLDPの機能 隣接装置識別情報の収集 隣接ポート識別 ・ 構成情報の収集 隣接装置systemMIBの一部の収集 隣接装置のIPアドレスの収集 ベンダ独自情報の収集 6/13
  • 8. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 LLDPの動作 隣接装置に情報を送るだけ(要求はできない) 送信側 : 一定間隔(30秒)で情報を送信する インタフェースが落ちる時に情報を送信する 一定間隔以上(2秒)では送らない 受信側 : ポート単位で隣接機器の情報を格納する 一定時間(120秒)過ぎた情報は破棄する 得られた情報はSNMP経由で参照できるようにする 7/13
  • 9. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 LLDPDU リンク層のパケットである 8/13
  • 10. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 TLV (Type & Length & Value) LLDPで使うTypeの例 シャーシID (必須) ポートID (必須) TTL (必須) ポートの説明 システム名 システムの説明 管理アドレス End of LLDPDU(必須) 9/13
  • 11. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 実装の際の注意点 L2パケットなので、BPFとかPACKET socketを使う リンクアップ・ダウンのイベントを効率よく検知する必要 がある ポートごとに複数の対向ノードのデータを管理する必要 があるかどうかで、実装の面倒さが変わる 組込プログラミングは、なるべく動作中にmallocしたくない 最初に固定バッファを確保したほうがよい snmpdに対してMIBを追加する方法 net-snmpだと外部プロセスで追加MIBを処理する方法があるのだ が、当時まともなドキュメントとサンプルコードがなかった ASN.1でMIBを記述し、コンバータが生成したコードをベースにして頑 張った 10/13
  • 12. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 現在のLLDPの使われかた CISCOの場合はいまだにCDPが一般的なようだ OpenFlowでLLDPを使うので、そこそこ実装は普及し ている Linuxだとlldpdかopenlldp(lldpad)が多いようだ 11/13
  • 13. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 実装状況 http://www.kempgen.net/voip/lldp- agents.html lldpd http://vincentbernat.github.io/lldpd/ Linux, OpenBSD, NetBSD, FreeBSD, Mac OS X ISC Licence openlldp (lldpad) http://openlldp.sourceforge.net/ Linux, NetBSD, FreeBSD, Mac OS X BSD style Licence 12/13
  • 14. (c) Masahiko KIMOTO, Ph.D. - http://www.earthlight.jp/ Powered by Rabbit 2.1.6 おわりに LLDPのプロトコル仕様と機能について概説した 実装上の注意点をちょっとだけ触れた その昔はLinuxなどで動く実装がなかったのですが、最 近は結構実装があるんですね でもスクラッチから作れと言われたら作りますよ 13/13