IPv6 multicast router konfiguráció *bsd rendszerek pim6sd segítségével

Bevezetés

A pim6sd kódja eredetileg a Kame BSD stack-hez lett kifejlesztve a Wide konzorcium által. Ez az idők folyamán külön fejlődésnek indult. Először az M6Bone project fejlesztett hozzá Linux támogatást, amely elérhető a PIM6SD Linux oldalon. A fejlesztés ezek után a sourceforge-ra került át. Elérhető a http://mcast-tools.sourceforge.net/ címen.

Alapvető funckiók

M6Bone által hozzá fejlesztések

Sourceforge fejlesztések

Konfigurációs lépések

  1. IPv6 stack aktiválás
     #in file /etc/rc.conf"
     ipv6_enable="YES"
  2. IPv6 routing engedélyezés
     #in file /etc/rc.conf
     ipv6_gateway_enable="YES"
  3. Router Advertisement letiltása - ha nem ez a rendes router is....
     #in file /etc/rc.conf
     rtadvd_enable="NO"
  4. Manuális IPv6 cím konfigurálás az interfészre on an interface
  5. Default route beállítása
     #in file /etc/rc.local
     route add -inet6 default @ipv6_default_router%xl0
  6. IPv6 PIM Sparse-Mode (pim6sd) daemon installálása Installálás port-ból:
     cd /usr/ports/net/mcast-tools/ && make install clean
    Installálás package-ként:
     pkg_add -r mcast-tools
  7. Configuration of PIM SM A pim6sd.conf manuálja minden opciót leír.
    #The timer granularity.
    #More this value is small,more pim6sd will be accurate
    #default if not specified : 5
    #BE SURE to have to same granularity on ALL routers,
    #otherwise....
    
    #granularity 5;
    
    #syntax : phyint <interface> <disable> <metric> [metric] <preference> [preferenc
    e]
    #metric and pref are for the asserts messages
    #samples :
    
    #phyint ed1 disable;
    #phyint de0 disable;
    #phyint ed0 disable;
    #phyint gif0 disable;
    
    #---------------Protocol timer specifications---------------------------#
    #Notes : theses value are the default spec value!
    #do not touch it if you don't know what you do!!
    #you MUST change theses values according to the granularity value!
    #syntax :  'hello_period <number> <coef>'.
    # number is the period in second between 2 hello messages
    # and coef is the coef to determine the hello holdtime=hello_period*coef
    # default if not specified: 30 3.5
    
    #hello_period 30 3.5;
    
    #syntax :  'join_prune_period <number> <coef>'.
    # number is the period in second between 2 join/prune messages
    # and coef is the coef to determine the join/prune holdtime=join_prune_period*co
    ef
    # default if not specified : 60 3.5
    
    #join_prune_period 60 3.5;
    
    #syntax :  'data_timeout <number>'.
    # number is the time after which (S,G) state for a silent source will be deleted
    # default if not specified  : 210
    
    #data_timeout 210;
    
    #syntax :  'register_suppression_timeout <number>'.
    # This is the mean interval between receiving a Register-Stop and allowing
    #Register to be send again.
    # default if not specified  : 60
    
    #register_suppression_timeout 60;
    
    #syntax :  'probe_time <number>'.
    #This is the time between sending a null Register and the Register-Suppression-T
    imer
    #expiring unless it is restarted by receiving a Register-Stop.
    #default if not specified : 5
    
    #probe_time 5;
    
    #syntax :  'assert_timeout <number>'.
    #this is the interval between the last time an Assert is received and the time a
    t which the
    #assert is timeout
    #default if not specified : 180
    
    #assert_timeout 180;
    #syntax : <cand_rp> <interface> <time> [time] <priority> [priority]
    #and time can't be <  10
    #you can just type cand_rp,
    #samples :
    #cand_rp;
    #cand_rp de0;
    #cand_rp ed0 priority 0 time 6;
    
    #syntax : <group_prefix> <multicast address>/<prefix length>
    #group_prefix ff06::15
    #default if not specified : ff00::/8
    #samples:
    #group_prefix ff1e::15/128;
    #group_prefix ff2e::/16;
    
    #syntax : <cand_bootstrap_router> <interface> <priority> [priority] <time> [time
    ]
    #Typically, you can simply set cand_bootstrap_router for a candidate bootstrap
    #router. All other parameters are optional.
    #the bootstrap period is configurable, BUT the holdtime of a bootstrap
    #router is not in the fields of a bootstrap message : it is hard-coded
    #in the pim6sd include file!
    #So be sure to have a time < PIM_BOOTSTRAP_TIMEOUT (file pimd.h )
    #cand_bootstrap_router de0 priority 15 time 5;
    
    #syntax : <switch_register_threshold> <rate> [number] <interval> [number]
    #default rate = 50000 interval = 20s
    #samples :
    #TODO : not tested
    #switch_register_threshold rate 54389 interval 45;
    #switch_register_threshold;
    
    #syntax : <switch_data_threshold> <rate> [number] <interval> [number]
    #default rate = 50000 interval = 20s
    #TODO : not tested
    #samples:
    #switch_data_threshold interval 100 rate 1000;
    
    #syntax : <default_source_metric> [number]
    
    #default_source_metric 1243;
    #syntax : <default_source_preference> [number]
    
    #default_source_preference 123 ;
  8. IPv6 PIM Sparse-Mode (pim6sd) daemon futtatása

Campus6: ipv6multicastrouter_bsd_pim6sd (last edited 2008-04-10 15:29:41 by localhost)