[Xorp-users] Basic querry: PIM TEST SUITE

Bruce Simpson bms at incunabulum.net
Thu May 28 07:52:23 PDT 2009


bhavin81 at iitb.ac.in wrote:
> Hello friends,
>
>        I have got one basic querry. By using xorp we make a pc
>  act like a router. Then in the case of multicasting how are we
>  going to involve nodes as mentioned in test suite of pim-sm?
>   

OK, there is no existing test suite in the source tree that I can find 
for XORP's PIM-SM implementation, so I'm assuming from your subject that 
you intend to create one.
Excellent, thank you. I had some trouble understanding this from the 
context of your message.

> Tell me whether following statement is correct or not?If we involve nodes
>  then and only then igmp join or prune will be send? If yes then how
> can we send igmp join from any node(pc) to xorp router?
>
> What i mean to say is:
>    PC1 ----> XORPROUTER1(XORP RUNNING ON PC2)-----> XORPROUTER2(XORP
> RUNNING ON PC3)----->XORPROUTER3(XORP RUNNING ON PC4)WHICH may be RP.
>
>   The querry is how pc1 is going to send igmp join message to XORPROUTER1.
> Are we going to run Xorp on it and run only up to IGMP i.e. PIM-SM is not
> enabled on that interface or Do we need separte mechanism for sending igmp
> join messages to XORPROUTER1?
>   

You need IGMP in any IPv4 PIM deployment where hosts (not routers) are 
involved, as it is the means by which PIM routers learn about the hosts.

    XORP itself only implements the router portion of the IGMP protocol. 
The host portion of the IGMP protocol is usually part of the operating 
system on an end-station. It is possible to simulate it fairly easily, 
e.g. using a toolkit such as Packet Construction Set 
(pcs.sourceforge.net) which is a Python-based, object-oriented library 
for working with network protocols.

    For IGMP to work, you need to simulate a multicast-capable link. It 
doesn't matter if this link is Ethernet, Point-to-Point, or NBMA; what 
matters is that you can send IGMP traffic over it to the next-hop 
multicast router.
    Whilst multicast forwarding can happen on a completely different set 
of routers from normal IPv4/IPv6 unicast forwarding, multicast routers 
*do* need to know the unicast routing topology for PIM's internal uRPF 
checks to work. These are a necessary part of the PIM protocol to 
prevent multicast forwarding loops.

    You don't specify how you intend to implement the simulation of each 
network node in the topology, so I assume you intend run a virtual 
instance of an operating system. In this case, the host part of the IGMP 
protocol will be implemented by whichever OS you use (e.g. FreeBSD, 
Linux etc).

    I highly recommend moving to IGMPv3 for this. IGMPv2 is a very 
different protocol, and IGMPv1 may be regarded as historical. IGMPv3 has 
a number of features in it which potentially reduce interrupt load on 
multicast routers, as well as having a degree of robustness over lossy 
links through retransmissions. It is also necessary if you want to 
implement the Source-Specific Multicast (SSM) model, rather than the old 
Any-Source Multicast (ASM) model.

    I also recommend you find a copy of the book "Interdomain Multicast 
Routing", as pointed out in previous replies, as it explains all of the 
above (i.e. how IPv4 multicast infrastructure works) in great technical 
detail.

thanks,
BMS



More information about the Xorp-users mailing list