PIM-DM一般适合于规模较小、组播成员比较密集的网络。
PIM-DM主要采用扩散-剪枝的方式来转发组播数据流。对于组播成员稀少的网络,PIM-DM会产生大量的剪枝报文,如果网络报文过大,则扩散-箭枝的周期就会比较长。
注意事项
各个被剪枝的节点同时还提供了超时机制,当剪枝超时后(默认为210s)将重新开始扩散-剪枝过程。被裁剪的分支如果临时有组播数据转发需求,也可以使用嫁接(Graft)机制主动请求恢复组播数据的转发。
周期性的扩撒-剪枝行为是PIM-DM的一个重要特征,通过这样的行为,PIM-DM可以构建并动态地维护一棵从组播源到组成员的单向无环的SPT(Shortest Path Tree)。
SPT是以组播源为根、组播组成员为枝叶的组播源到组成员的一棵最短路径树,此树也就是组播数据的转发路径。组播数据的转发中会出现上游接口和下游接口这两个概念,路由器收到组播数据的接口称为上游接口,转发组播数据的接口称为下游接口。
这就要有PIM(Protocol Independent Multicast,协议无关组播组)协议的支持,就必须在Linux环境下安装Pimd软件协议包。 安装补丁文件 安装Pimd软件协议包需要两个补丁文件:pimkern-freebsd-4.6.patch和netstat-freebsd-4.6.patch。安装步骤如下: 首先将两个补丁文件拷贝到/usr/src/目录下,并执行以下命令:#patch -p2 <netstat-freebsd-4.6.patch #patch -p2 <pimkern-freebsd-4.6.patch 执行以下命令,编译并安装netstat:#cd /usr/src/usr.bin/netstat #make #make install 重新编译内核 执行以下命令,修改multi配置文件:#cd /usr/src/sys/i386/conf/ #cp GENRIC multi #vi multi 在multi配置文件中,加入下列两行代码:options MROUTING options PIM 保存并退出vi编辑器。 在当前multi配置文件所在的目录执行以下命令:#config multi #cd /usr/src/sys/compile/multi/ #make depend #make #make install 至此,新内核编译完毕。 备份Kernel文件 新内核编译完毕后,在重新启动前,要先将根目录下原有的Kernel文件进行备份。#cd / #mv kernel kernel.old 若提示“operation not permitted”,则需要先执行以下命令:#chflags noschg /kernel 备份Kernel文件后执行以下命令:#cp /usr/src/sys/compile/multi/kernel /kernel 在系统重新启动后,默认选择的便是新编译的内核。 安装Pimd软件协议包 Linux下Pimd软件协议包代码的起源有两个地方,一个是日本的KAME项目组,另一个是南加州大学信息科学学院。到这两个组织的主页上都可以下载所需要的pimd-current.tar.gz 协议包和上面提到的两个补丁。 用以下命令解压缩 pimd-current.tar.gz 软件包,并安装:#tar zxf pimd-current.tar.gz #cd pimd-2.1.0-alpha29.16 #make #make install 以上命令执行过程中可能会出现错误,需要手工将其完成,拷贝当前目录下的pimd文件:#cp pimd /usr/local/bin/ #chmod 755 pimd #cp pimd.conf /etc/ 至此,Pimd软件协议包安装完毕。还需要打开Linux系统的路由转发功能,才能实现组播包的转发,即在配置文件rc.conf中增加以下代码,重启后生效。作者:龙宇翔 苑庆国开启pim的接口会有pim dense mode在sparse mode里边有rp
sparse-dense-mode好像是思科自己搞出来的一种模式,现在好像是公有化了,它的组播数据和sparse mode一样,但是要考densemode选举活着传递rp信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)