Multicast test suite Code
Status: Alpha
Brought to you by:
dropletzhu
| File | Date | Author | Commit |
|---|---|---|---|
| Makefile | 2010-09-13 | dropletzhu | [r28] |
| README | 2009-06-29 | dropletzhu | [r8] |
| downalias.sh | 2009-06-29 | dropletzhu | [r8] |
| icmploop.sh | 2010-12-14 | dropletzhu | [r34] |
| mgroup.sh | 2009-06-22 | dropletzhu | [r5] |
| mlistener.c | 2009-08-20 | dropletzhu | [r17] |
| mlistener6.c | 2009-10-12 | dropletzhu | [r22] basic ipv6 working version |
| mpim_rp.sh | 2009-06-22 | dropletzhu | [r5] |
| mpim_source.sh | 2009-06-23 | dropletzhu | [r6] |
| msender.c | 2009-08-24 | dropletzhu | [r19] |
| msender6.c | 2009-10-12 | dropletzhu | [r22] basic ipv6 working version |
| msource.sh | 2009-06-22 | dropletzhu | [r5] |
| pim_listener.c | 2009-08-20 | dropletzhu | [r17] |
| pim_sender.c | 2009-08-20 | dropletzhu | [r17] |
| pim_types.sh | 2009-09-27 | dropletzhu | [r20] Add ipv6 multicast support |
| tcpclient.c | 2010-09-13 | dropletzhu | [r27] |
| tcploop.sh | 2010-12-14 | dropletzhu | [r34] |
| tcpserver.c | 2010-09-13 | dropletzhu | [r27] |
| udpclient.c | 2010-09-13 | dropletzhu | [r30] |
| udploop.sh | 2010-12-14 | dropletzhu | [r34] |
| udpserver.c | 2010-11-30 | dropletzhu | [r32] |
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