多播中的源发现与接收组成员发现

呵呵~ 这几天研究一个多播的问题,主要是如何发现多播的发送方和组成员确定的问题,也就是多播的发送方想知道到底是哪些组成员会接受这个包,因为刚接触这个不久,就这个问题请教了久仰大名的droplet,呵呵~ 把邮件贴出来~~~
按照邮件的新旧顺序::)
----------------------------------------------------------------------------------------------------
droplet:你在router上snoop igmp应该可以得到所有的receiver的mac;在router上抓from souce的包,可以得到源的mac。从包里面是没法得到receiver的mac的。所以说,在router上抓包可以满足你的要求。
你能把这些邮件贴到kernelchina.org上吗,这样别人也可以学习一下,相同的问题就不用问多次了。
---------------------------------------------------------------------------------------------------
senseb: 那既然这样子是receiver能够接受到这个广播包,那么为何通过tcpdump看不到receiver接收到的这个包呢?
这几天看了一些多播的相应文档,但对多播理解还是不够。
我目前的多播的top图大体如下:
192.168.201.59 192.168.201.0/24 192.168.201.3
+--------+ +---------+ +----------+
| source |--------| router |--------| receiver1|
+--------+ +---------+ +----------+
|
|
| 192.168.201.58
+---------+
|receiver2|
+---------+
也就是说其中涉及到的计算机室属于同一个子网,连在一个交换机/路由器上。
可以给您描述下现在我的应用场景:
在一台计算机上有多个虚拟机存在,而上面的source receiver都是虚拟机,一台物理机器上可能有多个虚拟
机存在,那我现在就需要判断这些source和receiver是不是在同一台物理机器上,而这些虚拟机的mac地址都是
已知给定的,而在网络层就需要判断这些有哪些source和receiver是分布在同一台物理机器上的。也就是说需要
解析出这个多播的发送方和所有接收方的mac地址。
呵呵~ 大体是这样子的
---------------------------------------------------------------------------------------------------
droplet: Ip 层的多播映射到mac层的广播,mac地址是0x01xxxxxxxxxx,没有哪一个receiver会设置这个mac地址的,在以太网上,这就是一个广播包。Mlistener能收到包,说明发送接收没问题啊。不知道你想要的结果是什么样?听起来像是snooping,但不是很确定。
把你的拓扑贴出来,你想在什么地方抓包?
-------------------------------------------------------------------------------------------------
senseb: 最近在做一个关于如何在网络层透明截获多播的发送源和接收方的ip以及mac地址的小东西。在sf上看到您做的Multicast test suite项目,试着用了一下其中的多播发送和接收包的程序。有些方面不是很清楚,不知道能不能请教下您?
我测试中用到的网络top结构如下:(相当于您在http://www.kernelchina.org/?q=node/292 中提到的p2mp测试)
source: 192.168.201.59
receiver1: 192.168.201.58
receiver2: 192.168.201.4
其中主机都配置了其对ip多播的支持。
现在在receiver启动接收程序,source启动发送程序,其结果如下
这说明发送和接收都是成功的。
可是我用tcpdump程序截取网络中的发送和接收包时,却发现只能看到source的发包,以及对source对广播地址225.0.0.225的发送数据,无法看到receiver端接收到的数据,那是不是就是说receiver端没有成功接收到数据,可是在上面的图中分明receiver1已经接收到这个广播包了,不是吗?那样我能否成功在接收方监听到这个广播包呢?
p.s.:我目前的目的是在网络层透明截获多播的发送源和接收方的mac地址,不知道您认为上面的这个方法可以实现这个功能吗?您认为有什么另外的策略实现这个功能。
我的网络环境就是一个子网,比如说是192.168.201.0这个网络。
----------------------------------------------------------------------------------------
END.
p.s.:不知道怎么贴图的~~ 其中的图片不见了~ 呵呵~

最新评论
6 小时 11 分钟 前
13 小时 54 分钟 前
1天 9 小时 前
2 天 7 小时 前
5 天 5 小时 前
5 天 5 小时 前
5 天 10 小时 前
1周 10 小时 前
1周 13 小时 前
2 周 1天 前