GithubHelp home page GithubHelp logo

jackiexie168 / msuite Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 145 KB

multicast/networking test suites for Mac OS X.

Home Page: https://github.com/dropletzhu/msuite

Makefile 1.74% Shell 10.79% C 82.21% Python 5.26%

msuite's Introduction

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
  [email protected]

msuite's People

Contributors

dropletzhu avatar

Watchers

James Cloos avatar Jackie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.