请原谅我在网络方面的有限知识。
我正在尝试设置两个小程序作为客户端和服务器,它们加入到特定的多播组。服务器向组发送一些任意数据,客户端在侦听组时接收数据。
这当然可以用我已经完成的UDP
程序。但是我需要使用MAC地址而不是IP
s。我对此有几个问题:
是否可以为我的多播应用程序修复一系列MAC地址?据我所知,MAC地址中第一个八位字节的最低有效位表示它是否是多播。因此,组播MAC应该看起来像01:*:*:*:*:*
。所以我想,应该有一些方法可以使用各种MAC地址(保留的除外)。
许多地方都写成All multicast MAC addresses begin with: 0100.5e
。它总是如此吗? AFAIK此前缀固定在MAC地址中,为此处的其余IP地址位留出空间。但是,如果我的应用程序不关心IP地址并根据MAC地址监听多播组(如果可能的话),该怎么办?
我不能将第一个八位字节保留为01
并使用大范围进行多播寻址吗?
如何将数据包发送到组播组并仅根据MAC地址监听组播组,而不考虑IP?即,组播组地址是基于MAC定义的。
我希望我的问题有道理。
答案 0 :(得分:0)
如果您没有使用IP(或UDP),那么将IP地址映射到mac地址的默认方式可能对您没有任何附加价值。这些映射在例如:
中指定如果你坚持使用layer2和多播,它可能足以发送具有第一个八位字节集的LSB的帧(多播位,ref:http://en.wikipedia.org/wiki/File:MAC-48_Address.svg)。并将您自己的映射置于其上。但你应该考虑到:
考虑到使用UDP的简易性,这可能需要做很多工作。