Skip to content

dropletzhu/msuite

Repository files navigation

1: Purpose
 The msuite is a suite of tools for multicast test.

2: Topology
2.1: Topology 1

  1.0.0.201/8  1.0.0.200/8  2.0.0.200/8   2.0.0.201/8
  +--------+        +---------+        +----------+
  | source |--------| gateway |--------| receiver1|
  +--------+        +---------+        +----------+
                        | 3.0.0.200/8
						|
						| 3.0.0.201/8
					+---------+
					|receiver2|
					+---------+

  				Topology 1

  - turn on igmp on source and receiver
  - turn on igmp and pim on gateway

2.2: Topology 2

                              Receiver 2
                                 |
                                 |
                                 RP
                             ----------
                            /           \
                           /             \
                       IR I              IR II
                         /                 \
                        /                   \
  Receiver 1 --- Source DR ----- IR III ----- Receiver DR --- Receiver 3
                       |                        |
                       |                        |
                    Source                    Receiver 4 
                Topology 2
 
  - turn on igmp on source and receiver
  - turn on igmp and pim on gateway

3: Examples

3.1: p2p, use topology 1
  1) on receiver1
  	./mlistener -s 2.0.0.201 -g 224.1.1.1 -p 5000
  2) on source
  	./msender -s 1.0.0.201 -g 224.1.1.1 -p 5000 -t 32

	route add -net 224.0.0.0 netmask 224.0.0.0 gw 1.0.0.200

3.2: p2mp, use topology 1
  1) on receiver1
    ./mlistener -s 2.0.0.201 -g 224.1.1.1 -p 5000
  2) on receiver2
    ./mlistener -s 3.0.0.201 -g 224.1.1.1 -p 5000
  3) on source
    ./msender -s 1.0.0.201 -g 224.1.1.1 -p 5000 -t 32

3.3: multiple source to one group
  1) on receiver1
    ./mlistener -s 2.0.0.201 -g 224.1.1.1 -p 5000
  2) on receiver2
    ./mlistener -s 3.0.0.201 -g 224.1.1.1 -p 5000
  3) on source
    ./msource.sh 224.1.1.1 100

	the source range is 1.0.0.1 ~ 1.0.0.100, it would setup 100 
	streams to 224.1.1.1

3.4: one source to multiple group
  1) on receiver1
    ./mgroup.sh listener 2.0.0.201 100

	the group range is 224.1.1.1 ~ 224.1.1.100

  2) on receiver2
    ./mgroup.sh listener 3.0.0.201 100

	the group range is 224.1.1.1 ~ 224.1.1.100

  3) on source
    ./mgroup.sh sender 1.0.0.201 100

	the group range is 224.1.1.1 ~ 224.1.1.100

3.5: PIM basic cases
  1) on receiver1
    ./pim_listener -r 2.0.0.201

  2) on source
    ./pim_sender -i 1.0.0.201 -r 2.0.0.201 -t 1 ( NULL register )
	./pim_sender -i 1.0.0.201 -r 2.0.0.201 -t 2 -s 1.0.0.201 -g 224.1.1.1 -p 5000 ( Register )
	./pim_sender -i 1.0.0.201 -r 2.0.0.201 -t 3 -s 1.0.0.201 -g 224.1.1.1 ( Register-stop )

3.6: One multicast from multiple source
  1) on receiver1 
    ./pim_listener -r 2.0.0.201
  2) on source
    ./mpim_source unicast 2.0.0.201 100

	pim source range is 1.0.0.1 ~ 1.0.0.100

3.7: Multiple multicast to one RP
  1) on receiver1
    ./pim_listener -r 2.0.0.201
  2) on source
    ./mpim_source multicast 2.0.0.201 100

	multicast source range is 1.0.0.1 ~ 1.0.0.100

3.8: Multiple multicast from multiple source
  1) on receiver1
    ./pim_listener -r 2.0.0.201
  2) on source
    ./mpim_source both 2.0.0.201 100

	pim source range is 1.0.0.1 ~ 1.0.0.100
	multicast source range is 1.0.0.1 ~ 1.0.0.100

3.9: One multicast send to multple RP
  1) on receiver2
    ./mpim_rp listener 100

	RP address range 3.0.0.1 ~ 3.0.0.100
  2) on source
    ./mpim_rp sender 100

	pim source 1.0.0.201; multicast source 1.0.0.201, multicast group
	224.1.1.1 port 5000

3.10: Test fragment case
  1) on receiver1
    ./mlistener -s 2.0.0.201 -g 224.1.1.1 -p 5000 -l 5000

  2) on source
    ./msender -s 1.0.0.201 -g 224.1.1.1 -p 5000 -t 32 -l 5000

	send 5000 bytes packet

4: Faqs
4.1: Why default ttl is 1?
  Gateway should not forward packet which's ttl is 1.

5: Author information
  dropletzhu@gmail.com

About

multicast test suite

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published