naoki86star

インターネットの片隅でなにかしら書いてみる

Link Layer Discovery Protocol

 vMXでevpn-vxlan試していたときとか、ICMP58再現のときにcumulus使ってみていたら、LLDPってプロトコルが脇からよく目に入ってきた。ナンデスカこれってことで調べた。

 junosの設定exampleみるとよく set protocols lldpとか入っていた。cumulus(3.7.0)つないでtcpdumpみていたら定期的にlldpってプロトコルを流している。

Link Layer Discovery Protocol - Wikipedia

自分的な理解としては、Ethertypeに値が割り当てられている「ご近所さん認識プロトコル」
なるほど、便利そうな気がする。昔のシステム構築の仕事で使ってみても面白かったのかもしれない。Linuxだとlldpdてので動かすみたい。


[Linux]---[vcumulus]---[vMX]
な構成で、vMXにもset protocols lldp allとかいれておく(Linuxには今回lldpいれてない)
LinuxにvMXのlldpパケットはhopされてこない。

(vMX)

root> show lldp neighbors
Local Interface    Parent Interface    Chassis Id          Port info          System Name
ge-0/0/0           -                   50:05:00:06:00:00   swp2               cumulus

(vcumulus)

root@cumulus:~# lldpcli
[lldpcli] # show neighbors
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface:    swp2, via: LLDP, RID: 1, Time: 0 day, 00:05:59
  Chassis:
    ChassisID:    mac 00:05:86:78:e6:c0
    SysDescr:     Juniper Networks, Inc. vmx internet router, kernel JUNOS 17.1R1.8, Build date: 2017-02-27 22:49:51 UTC Copyright (c) 1996-2017 Juniper Networks, Inc.
    Capability:   Bridge, on
    Capability:   Router, on
  Port:
    PortID:       local 518
    PortDescr:    ge-0/0/0
    TTL:          120
-------------------------------------------------------------------------------
[lldpcli] #

 パケットのtcpdump -vvvみるとTLVってキーワードが見えるType-Length-Value、snmpのMIBとかを構成する構造。でもlldpのtypeは別にOIDとかでなく、このプロトコルで決められてる値(7bit値)をつかうみたい。*1


クラウド/VPSだと使い道ない、と思った。

*1:typeでさらにカスタム値も定義できる。もし監視情報とか押し込んでみたら便利だろうか。