Neighbor Discovery
邻居发现协议可用于在二层广播域中发现与 MNDP、CDP 或 LLDP 兼容的设备,显示已连接邻居的 IP/MAC 地址和接口。配置选项包括协议选择、发现间隔调整,以及用于 QoS 和 VLAN 共享的 LLDP TLV。
邻居发现
邻居发现协议允许您在二层广播域中发现与 MNDP(MikroTik Neighbor Discovery Protocol)、CDP(Cisco Discovery Protocol)或 LLDP(Link Layer Discovery Protocol)兼容的设备。它们可用于绘制您的网络拓扑。
所有只读邻居参数记录在 /ip/neighbor CLI 参考中。
通过 LLDP 发现的邻居显示在一个单独的只读菜单 /ip/neighbor/lldp 中。
与聚合来自所有发现协议(MNDP、CDP 和 LLDP)邻居的通用 /ip/neighbor 菜单不同,/ip/neighbor/lldp 仅显示通过 LLDP 发现的条目。
lldpRemTable SNMP 表仅报告通过 LLDP 发现的邻居。仅由 CDP 或 MNDP 发现的条目被排除在 SNMP LLDP-MIB 之外。
发现设置配置在 /ip/neighbor/discovery-settings 菜单中。
您可以使用接口列表更改接口是否参与邻居发现。如果接口包含在发现接口列表中,它将发送有关系统的基本信息,并处理在二层网络中广播的接收到的发现数据包。从接口列表中移除接口将同时禁用此接口上的邻居发现,以及在该接口上发现此设备本身的可能性。
邻居发现在各个从接口上工作。当主接口(例如 bonding 或 bridge)包含在发现接口列表中时,其所有从接口将自动参与邻居发现。若仅允许在某些从接口上进行邻居发现,请将特定的从接口包含在列表中,并确保主接口未被包含。
/interface/bonding
add name=bond1 slaves=ether5,ether6
/interface/list
add name=only-ether5
/interface/list/member
add interface=ether5 list=only-ether5
/ip/neighbor/discovery-settings
set discover-interface-list=only-ether5
现在邻居列表显示主接口以及接收到发现消息的实际从接口:
[admin@R2] > ip neighbor print
# INTERFACE ADDRESS MAC-ADDRESS IDENTITY VERSION BOARD
0 ether5 192.168.88.1 CC:2D:E0:11:22:33 R1 6.45.4 ... CCR1036-8G-2S+
bond1
LLDP-MED 网络策略 VLAN 示例
此示例为级联 PC 的 VoIP 电话配置交换机端口。电话使用带标签流量传输语音,通过 LLDP-MED Network Policy TLV 分配。PC 使用无标签流量,由桥接端口 PVID 分配到不同的 VLAN。
在此设置中:
- ether1 是上行 trunk 端口,将所有 VLAN 以带标签方式承载到路由器。
- ether2 是电话端口。VoIP 电话直接连接,PC 通过电话连接。
- 语音流量使用 VLAN 100(带标签),通过
lldp-med-net-policy-vlan通告。 - 来自 PC 的数据流量使用 VLAN 200(在电话端口上无标签),由桥接端口
pvid分配。
- 语音流量使用 VLAN 100(带标签),通过
创建 bridge 并添加端口:
/interface/bridge
add name=bridge1 frame-types=admit-only-vlan-tagged
/interface/bridge/port
add bridge=bridge1 interface=ether1 frame-types=admit-only-vlan-tagged
add bridge=bridge1 interface=ether2 pvid=200
创建 bridge VLAN 表。trunk 端口以带标签方式承载两个 VLAN。电话端口以带标签方式承载语音 VLAN。PC 的数据 VLAN 由桥接端口 pvid 分配,它会动态添加无标签成员关系——不需要显式的 untagged=ether2:
/interface/bridge/vlan
add bridge=bridge1 tagged=ether1,ether2 vlan-ids=100
add bridge=bridge1 tagged=ether1 vlan-ids=200
启用 LLDP-MED 并设置语音 VLAN。禁用 CDP 以避免干扰 LLDP-MED:
/ip/neighbor/discovery-settings
set lldp-med=yes lldp-med-net-policy-vlan=100 protocol=lldp,mndp
在 bridge 上启用 VLAN 过滤:
/interface/bridge/set bridge1 vlan-filtering=yes
说明
LLDP-MED Network Policy TLV 仅在发现支持 LLDP-MED 设备的接口上发送。它不会在没有任何支持 MED 邻居的接口上广播。 信息
有关 bridge VLAN 配置的更多详细信息,请参阅 Bridge VLAN Filtering。
LLDP
根据 RouterOS 配置,LLDP 消息中可以发送不同的类型-长度-值(TLV)。这包括:
- 机箱 ID(MAC 地址)。
- 端口 ID(接口名称)。
- 生存时间(Time To Live)。
- 系统名称(系统身份)。
- 系统描述(平台 - MikroTik,软件版本 - RouterOS 版本,硬件名称 - RouterBoard 名称)。
- 管理地址(端口上配置的所有 IP 地址)。
- 系统能力(已启用的系统能力,例如 bridge 或 router)。
- 端口描述(如果发送接口是 bridge 或 bond 的一部分,则为组合接口名,如 "bridge/ether1",否则为与端口 ID 相同的接口名称)。
- IEEE 802.1 Port VLAN ID。
- IEEE 802.1 Port And Protocol VLAN ID。
- IEEE 802.1 VLAN Name。
- IEEE 802.3 MAC/PHY Configuration/Status。
- IEEE 802.3 Power Via MDI。
- IEEE 802.3 Maximum Frame Size。
- LLDP-MED Media Capabilities(MED 能力列表)。
- LLDP-MED Network Policy(为语音流量分配的 VLAN ID)。
- LLDP-MED Extended Power via MDI。
- End of LLDPDU。