Manual:Routing/IGMP-Proxy

From MikroTik Wiki
< Manual:Routing
Revision as of 06:56, 21 October 2009 by Marisb (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Version.png

Applies to RouterOS: 3, v4

  • Packages required: multicast
  • Incompatible with: routing-test (v3)

Summary

Internet Group Management Protocol (IGMP) proxy can be used to implement multicast routing. It works by IGMP frame forwarding, and commonly is used when there is no need to use more advanced protocol, for example PIM.

IGMP proxy features:

  • The simplest way how to do multicast routing;
  • Can be used in topologies where PIM-SM is not suitable for some reason;
  • Takes slightly less resources than PIM-SM;
  • Ease of configuration.

On the other hand, IGMP proxy is not well suited for complicated multicast routing setups. In contrast to PIM based solutions, with IGMP proxy there can be no more than one upstream interface, and routing loops are not detected and avoided.

MikroTik RouterOS IGMP proxy supports IGMP version 2 (RFC 2236).

Example

To forward all multicast data coming from ether1 interface to all other interfaces, where there are subscribers:

[admin@MikroTik] /routing igmp-proxy> interface add interface=ether1 upstream=yes
[admin@MikroTik] /routing igmp-proxy> interface add interface=all
[admin@MikroTik] /routing igmp-proxy> interface print
Flags: X - disabled, I - inactive, D - dynamic, U - upstream
 #    INTERFACE                                                             THRESHOLD
 0  U ether1                                                                1
 1    all                                                                   1
 2 D  ether2                                                                1
 3 D  ether3                                                                1

/routing igmp-proxy

General configuration.

  • query-interval (time, 00:00:01 - 01:00:00) : how often to send out IGMP Query messages on upstream interface
  • query-response-interval (time, 00:00:01 - 01:00:00) : how long to wait for responses to an IGMP Query message
  • quick-leave (yes|no) : specifies action on IGMP Leave message. If quick-leave is on, then an IGMP Leave message is sent upstream as soon as a leave is received from the first client on downstream interface

/routing igmp-proxy interface

Used to configure what interfaces will participate as IGMP proxy interfaces on router. If an interface is not configured as IGMP proxy interface, then all IGMP traffic received on it will be ignored.

  • alternative-subnets (list of IP prefixes) : by default, only packets from directly attached subnets are accepted. alternative-subnets can be used to specify a list of alternative valid packet source subnets, both for data or IGMP packets. Particularly important for the upstream interface, since the source of multicast data often is in a different IP network. Note that this feature have only effect if used on upstream interface, other way - it is ignored.
  • interface (interface name) : RouterOS interface
  • threshold (integer) : minimal TTL; packets received with a lower TTL value are ignored
  • upstream (yes|no) : interface is called "upstream" if it's in the direction of the root of the multicast tree. An IGMP forwarding router must have exactly one upstream interface configured. The upstream interface is used to sent out IGMP membership requests.

/routing igmp-proxy mfc

Multicast forwarding cache (MFC) status.

  • group (IP address) : IGMP group address
  • source (IP address) : multicast data originator address
  • incoming-interface (interface name) : packet stream is coming in router through this interface
  • outgoing-interface (interface name) : packet stream is going out of router through this interface

References

RFC 4605 IGMP/MLD - Based Multicast Forwarding