组播IP转换为组播MAC地址【转载】

链接:https://www.zhihu.com/question/36730567/answer/83083851
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

组播IP转换为组播MAC地址是一种32:1的映射关系。
组播IP地址:
IANA将D类地址空间分配给IP组播地址。该空间的地址用二进制表示并且第一个八位组的前4位用1110表示,

因此IP组播地址的范围从224.0.0.0到239.255.255.255 。

组播MAC地址:IEEE MAC地址规定了第一个八位组的Octet 0的bit 0指明了目标地址是广播/组播地址,还是单播地址。

如果此位被置位,那么MAC的帧即可以被定为任意的主机组(组播),也可以被定义为网络的所有主机(广播)。第2层IP组播利用此功能传送IP组播信息包到局域网段的主机组(即组播IP到组播MAC的映射)。

以太网组播MAC地址映射:
就以太网而言,IP组播帧都使用以0x0100.5Exx.xxxx的24位前缀开始MAC层地址。剩下24位地址由于某些原因只有这些MAC地址的一半(即后23位)可以被IP组播使用。因剩下的MAC地址空间的23位作为第3层IP组播地址进入第2层MAC地址的映射使用。因为所以的第3层IP组播地址必须把32位的前4位设成0x1110,剩下28位作为有意义的IP组播地址信息。这28位必须映射成可用的只有23位的MAC地址。
因为第3层IP组播地址信息的全部28位不能映射进入只有23位可用的MAC地址空间,所以在映射过程中丢失了5位地址信息。将导致第3层IP地址映射成第2层IEEE MAC地址时2^5或32个IP组播地址映射成同一个组播MAC地址。这意味着每一个IEEE IP组播MAC地址能表示32个IP组播地址。

-------------------------------------------------------------------
以上内容摘抄自《IP组播网络设计开发(第1卷)》Beau Williamson著

时间: 2024-08-27 02:15:37

组播IP转换为组播MAC地址【转载】的相关文章

C#获取外网IP、本机MAC地址及Ping的实现

原文 获取外网IP, C#获取本机的MAC地址,C#通过编程方式实现Ping 获取外网IP地址 思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表达式提取出IP来 class Program { static void Main(string[] args) { Console.WriteLine(GetExportIP()); Console.ReadKey(); } public static string GetExportIP() {

第29篇ip地址,mac地址 IPV4 IPV6 TCP UDP协议

回顾 2018-12-31 或者 2018.12.31 或者 2018*12*31 的正则表达式: [1-9]\d{3}(?P<sep>.)(1[12]|0?[1-9])(?P=sep)([12]\d|3[01]|0?[1-9])内容总览: ip地址 mac地址 IPV4 IPV6 TCP UDP协议 同一台机器的两个程序通讯-->文件 两台机器的两个程序之间通讯 -->网络 mac 每一台计算机的网卡 上面会有一个mac地址,也就是相当于改计算机在网络上的唯一身份表示 xx-xx

深度技术W10系统中绑定MAC地址和IP地址的设置技巧

深度技术W10系统中绑定MAC地址和IP地址的设置技巧分享给大家,感兴趣的用户,请一起来了解下,以备以后作参考,具体如下:1.点击“开始——搜索”,输入CMD命令,然后在CMD上右键选择以管理员身份运行.2.在打开的命令行窗口中,输入 netsh i i show in运行,在以上显示内容中找到你用来上网连接的Idx号码,在下面命令中使用 (比如小编这里上网的网卡是“WLAN”所以Idx为5). 3.在命令提示符窗口输入:arp -a 查看各个IP与对应的mac地址 4.输入netsh -c "

交换机安全(2)- MAC地址泛洪

MAC层攻击 – MAC地址泛洪 常见的二层攻击或交换机攻击是MAC泛洪,入侵者使用大量无效的源MAC地址,这会导致交换机的CAM表溢出,由于交换机在MAC地址表中找不到目的MAC地址对应的端口,从而导致交换机向其它所有端口定期泛洪数据帧.交换机不会再接收新的合法条目,这会影响到网络中的所有用户的传输速度. 攻击者可通过MAC泛洪实现DOS攻击,也可能会获取全网的数据包. CAM表的容量依据交换机的型号有所不同,常用的Catalyst 接入层交换机为8192,可通过以下的命令查看. Switch

飞塔 (Fortinet) 防火墙配置-绑定 MAC 地址 (基于接口)

IP / MAC 绑定需求 将MAC地址与IP地址进行绑定,可以防止IP地址欺骗的网络攻击,IP欺骗攻击试图从不同的电脑使用一个可信计算机的IP地址连接并通过防火墙,IP地址可以很方便的改动,但MAC地址是在工厂生产时就添加到以太网卡里,很难改变,受信任的主机同时注册IP和MAC地址,就可以避免欺诈连接. 飞塔防火墙绑定MAC地址有两种方式,一种是基于接口,这个需要用命令行进行配置,另一种是基于DHCP,可以在Web页面上完成.  IP / MAC 绑定接口 要想IP/MAC绑定起作用,首先需要

Linux 网络编程——原始套接字实例:MAC 地址扫描器

如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip.port.使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 MAC 地址是必须要有的.那么怎样才能知道对方的 MAC 地址?答案是:它通过 ARP 协议来获取对方的 MAC 地址. ARP(Address Resolution Protocol,地址解析协议),是 TCP/IP 协议族中的一个,主要用于查询指定 ip 所对应的的 MAC(通过 ip 找 MA

局域网内两台9303 的管理vlan mac地址冲突解决方法

公司内网是由多台9306组成的环形传输网络,近几天增加一个新的节点,将设备加入环网内发现 管理 vlan 99 下的 10.9.9.12 和 10.9.9.76(新增节点)在管理设备时 经常掉线,非常不稳定,通过排查发现 只有管理vlan 99 存在这个现象  其它业务vlan正常,业务也未受任何 影响,当时割接结束.过了几天问题越发严重,甚至有时这两台设备都无法管理,再次进行排查发现,是由于10.9.9.76 10.9.9.12 使用了相同的mac,导致同一个vlan 下的两个Ip 具有相同的

获取MAC地址的几种方式

.NET 后台中 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Runtime.InteropServices; namespace WebApplication3 { public partial class a1 : System.Web

Java/JSP获得客户端网卡MAC地址的三种方法解析

java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向137的端口发送查询指令的方法.(java/jsp) 简介: 第一种方法,在真正用到时候不知道为什么获得mac地址的指令阻塞了,不往下继续执行.而且速度是这三种方法中最慢的一种. 代码如下: String sip=""; String smac=""; sip = requ