[英]Multicast over layer 2
请原谅我有限的网络知识。
我正在尝试设置两个小的程序作为客户端和服务器,它们加入了特定的多播组。 服务器向该组发送一些任意数据,而客户端在侦听该组时会接收数据。
我已经完成的UDP
程序当然可以做到这一点。 但是,我需要使用MAC地址而不是IP
。 我对此有一些疑问:
是否可以为我的多播应用程序固定一定范围的MAC地址? 据我了解,MAC地址中第一个八位位组的最低有效位表示它是否是组播的。 因此,组播MAC应该看起来像01:*:*:*:*:*
。 因此,我想应该有某种方法可以使用广泛的MAC地址(保留的除外)。
All multicast MAC addresses begin with: 0100.5e
。 总是这样吗? AFAIK此前缀固定在MAC地址中,从而为其余IP地址位留出空间在此处进行映射。 但是,如果我的应用程序不关心IP地址,而是侦听基于MAC地址的多播组(如果可能)怎么办? 我不能将第一个八位位组保持为01
并为我的多播寻址使用广泛的范围吗?
如何仅基于MAC地址且不考虑IP,将数据包发送到多播组并侦听多播组? 即,基于MAC来定义多播组地址。
我希望我的问题有道理。
如果您不使用IP(或UDP),则将IP地址映射到mac地址的默认方式可能没有任何附加价值。 这些映射例如在以下示例中指定:
如果您坚持使用layer2并进行多播,则可能足以发送具有第一个八位位组的LSB的帧(多播位,请参阅: http : //en.wikipedia.org/wiki/File : MAC-48_Address。 svg )。 并在此之上放置您自己的映射。 但是您应该考虑到以下几点:
考虑到仅使用UDP的简便性,这可能需要大量工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.