飛行派工作日誌《三》

雖然簡單的 PoE injector 與 splitter 並沒有什麼 LLDP-MDI 電源管理機能,假使為了『不時之需』,先知道什麼是 LLDP

鏈路層發現協定

鏈路層發現協定Link Layer Discovery Protocol,LLDP)是一種資料鏈路層協定,網路裝置可以通過在本地網路中傳送LLPDU(Link Layer Discovery Protocol Data Unit)來通告其他裝置自身的狀態。是一種能夠使網路中的裝置互相發現並通告狀態、互動資訊的協定 。

……

Link Layer Discovery Protocol

The Link Layer Discovery Protocol (LLDP) is a vendor-neutral link layer protocol in the Internet Protocol Suite used by network devices for advertising their identity, capabilities, and neighbors on an IEEE 802 local area network, principally wired Ethernet.[1] The protocol is formally referred to by the IEEE as Station and Media Access Control Connectivity Discovery specified in IEEE 802.1AB[2] and IEEE 802.3-2012 section 6 clause 79.

LLDP performs functions similar to several proprietary protocols, such as Cisco Discovery Protocol, Foundry Discovery Protocol, Nortel Discovery Protocol and Link Layer Topology Discovery.

Information gathered

Information gathered with LLDP is stored in the device as a management information database (MIB) and can be queried with the Simple Network Management Protocol (SNMP) as specified in RFC 2922. The topology of an LLDP-enabled network can be discovered by crawling the hosts and querying this database. Information that may be retrieved include:

  • System name and description
  • Port name and description
  • VLAN name
  • IP management address
  • System capabilities (switching, routing, etc.)
  • MAC/PHY information
  • MDI power
  • Link aggregation

Applications

The Link Layer Discovery Protocol may be used as a component in network management and monitoring applications. One such example is its use in data center bridging requirements.[3]

The Data Center Bridging Capabilities Exchange Protocol (DCBX) is a discovery and capability exchange protocol that is used for conveying capabilities and configuration of the above features between neighbors to ensure consistent configuration across the network.[4]

 

也許也有好處??

於是乎順道查詢了一下

lldpd: implementation of IEEE 802.1ab (LLDP)

Features

LLDP (Link Layer Discovery Protocol) is an industry standard protocol designed to supplant proprietary Link-Layer protocols such as Extreme’s EDP (Extreme Discovery Protocol) and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an inter-vendor compatible mechanism to deliver Link-Layer notifications to adjacent network devices.

lldpd implements both reception and sending. It also implements an SNMP subagent for net-snmp to get local and remote LLDP information. The LLDP-MIB is partially implemented but the most useful tables are here. lldpd also partially implements LLDP-MED.

lldpd supports bridge, vlan and bonding.

The following OS are supported:

  • FreeBSD
  • GNU/Linux
  • OS X
  • NetBSD
  • OpenBSD
  • Solaris

Windows is not supported but you can use WinLLDPService as a transmit-only agent.

 

目前建制之狀況。

了解了一下 raspbian jessie 的支援情形︰

sudo apt-get install lldpd

cat /etc/default/lldpd
# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol

DAEMON_ARGS=”-x -c -s -e”

 

總是『書有用時,讀不嫌早』的耶!!

pi@raspberrypi:~ lldpcli  [lldpcli] show neighbors
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
[lldpcli] show configuration ------------------------------------------------------------------------------- Global configuration: ------------------------------------------------------------------------------- Configuration:   Transmit delay: 30   Transmit hold: 4   Receive mode: no   Pattern for management addresses: (none)   Interface pattern: (none)   Interface pattern for chassis ID: (none)   Override description with: (none)   Override platform with: (none)   Override system name with: (none)   Advertise version: yes   Update interface descriptions: no   Promiscuous mode on managed interfaces: no   Disable LLDP-MED inventory: yes   LLDP-MED fast start mechanism: yes   LLDP-MED fast start interval: 1   Source MAC for LLDP frames on bond slaves: local   Portid TLV Subtype for lldp frames: unknown ------------------------------------------------------------------------------- [lldpcli] show statistics
-------------------------------------------------------------------------------
LLDP statistics:
-------------------------------------------------------------------------------
Interface:    eth0
  Transmitted:  149
  Received:     0
  Discarded:    0
  Unrecognized: 0
  Ageout:       0
  Inserted:     0
  Deleted:      0
-------------------------------------------------------------------------------
[lldpcli] </pre>   <pre class="lang:default decode:true">pi@raspberrypi:~ sudo tcpdump -s0 -vv -pni eth0 ether dst 01:80:c2:00:00:0e
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:18:39.814059 LLDP, length 178
	Chassis ID TLV (1), length 7
	  Subtype MAC address (4): b8:27:eb:8a:12:64
	  0x0000:  04b8 27eb 8a12 64
	Port ID TLV (2), length 7
	  Subtype MAC address (3): b8:27:eb:8a:12:64
	  0x0000:  03b8 27eb 8a12 64
	Time to Live TLV (3), length 2: TTL 120s
	  0x0000:  0078
	System Name TLV (5), length 11: raspberrypi
	  0x0000:  7261 7370 6265 7272 7970 69
	System Description TLV (6), length 91
	  Raspbian GNU/Linux 8 (jessie) Linux 4.4.32-v7+ #926 SMP Fri Nov 18 13:40:49 GMT 2016 armv7l
	  0x0000:  5261 7370 6269 616e 2047 4e55 2f4c 696e
	  0x0010:  7578 2038 2028 6a65 7373 6965 2920 4c69
	  0x0020:  6e75 7820 342e 342e 3332 2d76 372b 2023
	  0x0030:  3932 3620 534d 5020 4672 6920 4e6f 7620
	  0x0040:  3138 2031 333a 3430 3a34 3920 474d 5420
	  0x0050:  3230 3136 2061 726d 7637 6c
	System Capabilities TLV (7), length 4
	  System  Capabilities [Bridge, WLAN AP, Router, Station Only] (0x009c)
	  Enabled Capabilities [Station Only] (0x0080)
	  0x0000:  009c 0080
	Management Address TLV (8), length 12
	  Management Address length 5, AFI IPv4 (1): 5.168.168.19
	  Interface Index Interface Numbering (2): 2
	  0x0000:  0501 05a8 a813 0200 0000 0200
	Port Description TLV (4), length 4: eth0
	  0x0000:  6574 6830
	Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
	  Link aggregation Subtype (3)
	    aggregation status [supported], aggregation port ID 0
	  0x0000:  0012 0f03 0100 0000 00
	Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
	  MAC/PHY configuration/status Subtype (1)
	    autonegotiation [supported, enabled] (0x03)
	    PMD autoneg capability [10BASE-T hdx, 10BASE-T fdx, 100BASE-TX hdx, 100BASE-TX fdx, Pause for fdx links, Asym PAUSE for fdx] (0x6cc0)
	    MAU type 100BASETX fdx (0x0010)
	  0x0000:  0012 0f01 036c c000 10
	End TLV (0), length 0
16:19:09.814842 LLDP, length 178
	Chassis ID TLV (1), length 7
	  Subtype MAC address (4): b8:27:eb:8a:12:64
	  0x0000:  04b8 27eb 8a12 64
	Port ID TLV (2), length 7
	  Subtype MAC address (3): b8:27:eb:8a:12:64
	  0x0000:  03b8 27eb 8a12 64
	Time to Live TLV (3), length 2: TTL 120s
	  0x0000:  0078
	System Name TLV (5), length 11: raspberrypi
	  0x0000:  7261 7370 6265 7272 7970 69