Manual:IP/Neighbor discovery: Difference between revisions

From MikroTik Wiki
Jump to navigation Jump to search
No edit summary
 
(15 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Versions| v5 +}}
{{Versions| v5 +}}
{{Warning|This manual is moved to https://help.mikrotik.com/docs/display/ROS/Neighbor+discovery}}


__TOC__
__TOC__


==Overview==
==Summary==


MikroTik Neighbor Discovery protocol (MNDP) allows to "find" other devices compatible with MNDP or CDP (Cisco Discovery Protocol)  in Layer2 broadcast domain.
MikroTik Neighbor Discovery protocol (MNDP) and LLDP allows to "find" other devices compatible with MNDP or CDP (Cisco Discovery Protocol) or LLDP in Layer2 broadcast domain.


==Neigbors==
==Neigbours==


<p id="shbox"><b>Sub-menu:</b> <code>/ip neighbor</code></p>
<p id="shbox"><b>Sub-menu:</b> <code>/ip neighbor</code></p>




This sub-menu lists all discovered neighbors in Layer-2 broadcast domain. It shows to which interface neighbor is connected, shows it's ip/MAC addresses and several Mikrotik related parameters. List is read-only.
This sub-menu lists all discovered neighbours in Layer-2 broadcast domain. It shows to which interface neighbour is connected, shows its IP/MAC addresses and several MikroTik related parameters. List is read-only.
 
Starting from ROS v6.45 amount of neighbour entries are limited to (total RAM in megabytes)*16 per interface to avoid memory exhaustion.


As an example, you can see several RouterBoards and two Cisco routers:
As an example, you can see several RouterBoards and two Cisco routers:
Line 28: Line 32:


'''Properties'''
'''Properties'''
{{Mr-arg-table-h
{{Mr-arg-table-h
|prop=Property
|prop=Property
Line 99: Line 101:
|type=string
|type=string
|desc=RouterOS software ID on a remote device. Applies only to devices installed with RouterOS.  
|desc=RouterOS software ID on a remote device. Applies only to devices installed with RouterOS.  
}}
{{Mr-arg-ro-table
|arg=system-caps
|type=string
|desc=System capabilities reported by the Link-Layer Discovery Protocol (LLDP).
}}
{{Mr-arg-ro-table
|arg=system-caps-enabled
|type=string
|desc=Enabled system capabilities reported by the Link-Layer Discovery Protocol (LLDP).
}}
}}


Line 120: Line 135:
}}
}}


==Discovery configuration==


<p id="shbox"><b>Sub-menu:</b> <code>/ip neighbor discovery-settings</code></p>


==Discovery configuration==
In this menu, it is possible to change the state of the interface whether it participates in neighbor discovery or not. If it does, it will send out basic information about system and process received discovery packets broadcasted in Layer-2 network. List of interfaces is automatically managed by RouterOS. Items in the list cannot be removed nor added. Default settings depend on interface type and current state.


<p id="shbox"><b>Sub-menu:</b> <code>/ip neighbor discovery</code></p>
Removing an interface from this menu configuration will disable both the discovery of neighbours on this interface, and also the possibility of discovering this device itself on that interface.


Since RouterOS v6.44 a neighbor discovery is working on individual slave interfaces. Whenever master interface (e.g. bonding or bridge) is included in the discovery interface list, all its slave interfaces will automatically participate in neighbor discovery. It is possible to allow neighbor discovery only to some slave interfaces. To do that, include the particular slave interface in the list and make sure that the master interface is not included.


In this menu is possible to change state of the interface whether it participates in neighbor discovery or not. If it does, it will send out basic information about system and process received discovery packets broadcasted in Layer-2 network. List of interfaces is automatically managed by RouterOS. Items in the list cannot be removed nor added. Default settings depend on interface type and current state.
<pre>
/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
</pre>


The neighbor list now shows a master interface and actual slave interface on which a discovery message was received.
<pre>
[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   
</pre>


'''Properties'''
{{Mr-arg-table-h
{{Mr-arg-table-h
|prop=Property
|prop=Property
Line 135: Line 170:
}}
}}


{{Mr-arg-table
{{Mr-arg-table-end
|arg=comment
|arg=discover-interface-list
|type=string
|type=string
|default=
|default=!dynamic
|desc=Short description of an entry
|desc=Interface list on which members the discovery protocol will run on
}}
 
{{Mr-arg-table
|arg=disabled
|type=yes {{!}} no
|default=
|desc=Whether item is disabled and do not participate in sending/receiving of discovery information. Added in v5.x
}}
 
{{Mr-arg-table-end
|arg=discover
|type=yes {{!}} no
|default=
|desc=Whether to participate in sending/receiving of discovery information. Since v5.x left for compatibility with older scripts.
}}
}}


==LLDP==


RouterOS sends out:


<p id="shbox"><b>Sub-menu:</b> <code>/ip neighbor discovery settings</code></p>
Chassis subtype (MAC)
 


{{Mr-arg-table-h
* Port subtype (interface name)
|prop=Property
* TTL
|desc=Description
* System name (system identity)
}}
* Sys description ({platform} RouterOS {osvers} {boardName})
 
* All IP addresses configured on the port
{{Mr-arg-table-end
|arg=default
|type=yes {{!}} no
|default=yes
|desc=Whether to allow sending/receiving discovery information on dynamic interfaces. Added in v6.x
}}


RouterOS accepts and processes:


* identity (LLDP_TYPE_SYS_NAME)
* interfaceName (depending on the priority, if one is empty checks the next: LLDP_TYPE_CHASSIS_ID, LLDP_TYPE_PORT_ID, LLDP_TYPE_PORT_DESC)
* ip4 (first entry of IPv4 LLDP_TYPE_MANAGEMENT_ADDR)
* ip6 (first entry of IPv6 LLDP_TYPE_MANAGEMENT_ADDR)
* TTL (LLDP_TYPE_TTL)
* MAC (Source - 6-11 byte)


{{cont}}
{{cont}}

Latest revision as of 13:40, 7 September 2020

Version.png

Applies to RouterOS: v5 +


Summary

MikroTik Neighbor Discovery protocol (MNDP) and LLDP allows to "find" other devices compatible with MNDP or CDP (Cisco Discovery Protocol) or LLDP in Layer2 broadcast domain.

Neigbours

Sub-menu: /ip neighbor


This sub-menu lists all discovered neighbours in Layer-2 broadcast domain. It shows to which interface neighbour is connected, shows its IP/MAC addresses and several MikroTik related parameters. List is read-only.

Starting from ROS v6.45 amount of neighbour entries are limited to (total RAM in megabytes)*16 per interface to avoid memory exhaustion.

As an example, you can see several RouterBoards and two Cisco routers:

[admin@MikroTik] /ip neighbor> print 
 # INTERFACE ADDRESS         MAC-ADDRESS       IDENTITY   VERSION    BOARD      
 0 ether13   192.168.33.2    00:0C:42:00:38:9F MikroTik   5.99       RB1100AHx2
 1 ether11   1.1.1.4         00:0C:42:40:94:25 test-host  5.8        RB1000   
 2 Local     10.0.11.203     00:02:B9:3E:AD:E0 c2611-r1   Cisco I...                    
 3 Local     10.0.11.47      00:0C:42:84:25:BA 11.47-750  5.7        RB750  
 4 Local     10.0.11.254     00:0C:42:70:04:83 tsys-sw1   5.8        RB750G    
 5 Local     10.0.11.202     00:17:5A:90:66:08 c7200      Cisco I...


Properties

Property Description
address (IP) Highest IP address configured on a discovered device
address6 (IPv6) IPv6 address configured on a discovered device
age (time) Time interval since last discovery packet
board (string) RouterBoard model. Displayed only to devices with installed RouterOS
identity (string) Configured system identity
interface (string) Interface name to which discovered device is connected
interface-name (string) Interface name on the neighbor device connected to the L2 broadcast domain. Applies to CDP.
ipv6 (yes | no) Shows whether device has IPv6 enabled.
mac-address (MAC) Mac address of remote device. Can be used to connect with mac-telnet.
platform (string) Name of the platform. For example "MikroTik", "cisco" ... etc.
software-id (string) RouterOS software ID on a remote device. Applies only to devices installed with RouterOS.
system-caps (string) System capabilities reported by the Link-Layer Discovery Protocol (LLDP).
system-caps-enabled (string) Enabled system capabilities reported by the Link-Layer Discovery Protocol (LLDP).
unpack (none|simple|uncompressed-headers|uncompressed-all) Shows discovery packet compression type.
uptime (time) Uptime of remote device. Shown only to devices installed with RouterOS.
version (string) Version number of installed software on a remote device

Discovery configuration

Sub-menu: /ip neighbor discovery-settings

In this menu, it is possible to change the state of the interface whether it participates in neighbor discovery or not. If it does, it will send out basic information about system and process received discovery packets broadcasted in Layer-2 network. List of interfaces is automatically managed by RouterOS. Items in the list cannot be removed nor added. Default settings depend on interface type and current state.

Removing an interface from this menu configuration will disable both the discovery of neighbours on this interface, and also the possibility of discovering this device itself on that interface.

Since RouterOS v6.44 a neighbor discovery is working on individual slave interfaces. Whenever master interface (e.g. bonding or bridge) is included in the discovery interface list, all its slave interfaces will automatically participate in neighbor discovery. It is possible to allow neighbor discovery only to some slave interfaces. To do that, include the particular slave interface in the list and make sure that the master interface is not included.

/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

The neighbor list now shows a master interface and actual slave interface on which a discovery message was received.

[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    

Properties

Property Description
discover-interface-list (string; Default: !dynamic) Interface list on which members the discovery protocol will run on

LLDP

RouterOS sends out:

Chassis subtype (MAC)

  • Port subtype (interface name)
  • TTL
  • System name (system identity)
  • Sys description ({platform} RouterOS {osvers} {boardName})
  • All IP addresses configured on the port

RouterOS accepts and processes:

  • identity (LLDP_TYPE_SYS_NAME)
  • interfaceName (depending on the priority, if one is empty checks the next: LLDP_TYPE_CHASSIS_ID, LLDP_TYPE_PORT_ID, LLDP_TYPE_PORT_DESC)
  • ip4 (first entry of IPv4 LLDP_TYPE_MANAGEMENT_ADDR)
  • ip6 (first entry of IPv6 LLDP_TYPE_MANAGEMENT_ADDR)
  • TTL (LLDP_TYPE_TTL)
  • MAC (Source - 6-11 byte)

[ Top | Back to Content ]