Difference between revisions of "Manual:Routing/IGMP-Proxy"

From MikroTik Wiki
Jump to: navigation, search
(IGMP-Proxy)
Line 1: Line 1:
==IGMP-Proxy==
+
==Summary==
  
IGMP-Proxy works by IGMP frame forwarding and commonly is used when there is no need to use more advanced protocol e.g. PIM-SM.
+
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.
  
Internet Group Management Protocol Proxy allows users to proxy non-standard IGMP implementations IGMP traffic over to other networks behind the router, thus allowing proprietary solution to distribute their content over network where network devices does not know anything about used inner workings of proprietary solution.
+
IGMP Proxy allows users to proxy non-standard IGMP implementations IGMP traffic over to other networks behind the router, thus allowing proprietary solution to distribute their content over network where network devices does not know anything about used inner workings of proprietary solution.
  
'''IGMP-Proxy features:'''
+
'''IGMP proxy features:'''
  
* Distribute different IGMP based solution packets over network
+
* The simplest way how to do multicast routing;
* Manage distribution of IGMP based solutions
+
* Can be used in topologies where PIM-SM is not suitable for some reason;
* On less powerful hardware when PIM-SM would be too heavy to run for it
+
* Takes slightly less resources than PIM-SM;
* Ease of configuration
+
* Ease of configuration.
  
'''Resources on the internet'''
+
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.
  
[http://www.ietf.org/rfc/rfc4605.txt RFC 4605 IGMP-Proxy]
+
MikroTik RouterOS IGMP proxy supports IGMP version 2 (RFC 2236).
  
==routing igmp-proxy==
+
==/routing igmp-proxy==
  
* '''query-interval''' (integer[s|m|h] in range from 00:00:01 to 01:00:00) : it can be set as, an example, 685 or 685s or 00:11:25 sends you queries on interfaces that are not upstream for clients that want to join some IGMP groups
+
General configuration.
* '''query-response-interval''' (integer[s|m|h] in range from 00:00:01 to 01:00:00) : it can be set as, an example, 685 or 685s or 00:11:25 time when query failes
 
* '''quick-leave''' (yes|no) : should router itself stop sending igmp data stream or should it forward igmp leave request forward, so next IGMP aware device tops sending igmp data stream after leave command was initiated.
 
  
==routing igmp-proxy interface==
+
* '''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
  
It is used to configure what interfaces will participate as IGMP proxy interfaces on router. If interface is not configured as IGMP proxy interface, then all IGMP traffic received on port will be ignore.
+
==/routing igmp-proxy interface==
  
* '''alternative-subnets''' (ip address/subnet) : if IGMP data source comes from other network then configure on interface with upsrteam=yes then you have to set up this field to network, or address of source.
+
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.
* '''comment''' (text) : commentary on the entry in the entry in imgp-proxy interface list
 
* '''disabled''' (yes|no) : is interface disabled
 
* '''interface''' (interface name) : interface that this entry is set up for
 
* '''rate-limit''' (integer) : does not work, will be omitted in the future
 
* '''threshold''' (integer) : minimal TTL
 
* '''upstream''' (yes|no) : set to yes if a proxy device's interface in the direction of the root of the tree, if no then a proxy device's interfaces that is not in the direction of the root of the tree. Router should have one and only one upstream interface. Upstream interface is responsible for forwarding IGMP membership requests.
 
  
==routing igmp-proxy mfc==
+
* '''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
Here you can see what active group streams are going through the router
+
* '''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.
  
* '''group''' (IP address) : IGMP group that is the owner of the data pasing
+
==/routing igmp-proxy mfc==
* '''source''' (IP address) : router that these packets are originating from
+
 
 +
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
 
* '''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
 
* '''outgoing-interface''' (interface name) : packet stream is going out of router through this interface
 +
 +
==References==
 +
 +
[http://www.ietf.org/rfc/rfc4605.txt RFC 4605 IGMP/MLD - Based Multicast Forwarding]
  
 
[[Category:Manual]]
 
[[Category:Manual]]
 
[[Category:Unfinished]]
 
[[Category:Unfinished]]

Revision as of 13:15, 23 December 2008

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 allows users to proxy non-standard IGMP implementations IGMP traffic over to other networks behind the router, thus allowing proprietary solution to distribute their content over network where network devices does not know anything about used inner workings of proprietary solution.

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).

/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
  • 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