组播ip与组播mac的映射
什么是组播?让我们一起解密组播协议(IGMP、PIM)

什么是组播?让我们⼀起解密组播协议(IGMP、PIM)写在前⾯:本⼈是⼀名计算机系⼤⼆的学⽣,会不定时的将我的学习笔记分享给⼤家!如果需要更多的学习资源可以通过我的⾃⾏下载!⽬录组播技术传统的点到点单播存在的问题重复流量过多消耗设备资源、带宽资源难以保证传输质量概述信息发送者:组播源接受相同的信息接受这过程⼀个组播组,并且接受者都是定义:⼀点发出,多点接应优势提⾼效率优化性能分布式应⽤缺点基于udp尽⼒⽽为报⽂重复报⽂失序缺少拥塞避免机制61、ip组播(1) 对于IP 组播,需要关注下列问题:组播源将组播信息传输到哪⾥?即组播寻址机制;⽹络中有哪些接收者?即主机注册;这些接收者需要从哪个组播源接收信息?即组播源发现;组播信息如何传输?即组播路由。
(2) IP 组播属于端到端的服务,组播机制包括以下四个部分:寻址机制:借助组播地址,实现信息从组播源发送到⼀组接收者;主机注册:允许接收者主机动态加⼊和离开某组播组,实现对组播成员的管理;组播路由:构建组播报⽂分发树(即组播数据在⽹络中的树型转发路径),并通过该分发树将报⽂从组播源传输到接收者;组播应⽤:组播源与接收者必须安装⽀持视频会议等组播应⽤的软件,TCP/IP 协议栈必须⽀持组播信息的发送和接收。
为了让组播源和组播组成员进⾏通信,需要提供⽹络层组播地址,即IP 组播地址。
同时必须存在⼀种技术将IP 组播地址映射为链路层的组播MAC 地址。
(3) IP 组播地址IANA(Internet Assigned Numbers Authority,互联⽹编号分配委员会)将D类地址空间分配给IPv4组播使⽤,范围从224.0.0.0到239.255.255.255,具体分类及其含义如下表所⽰。
组播地址D类地址范围含义224.0.0.0-224.0.0.255为路由协议预留的永久组地址224.0.1.0-231.255.255.255 /233.0.0.0-238.255.255.255⽤户可⽤的asm临时组地址,全⽹范围有效232.0.0.0-232.255.255.255⽤户可⽤ssm临时组地址,全⽹范围内有效239.0.0.0-239.255.255.255⽤户可⽤的asm临时组地址,尽在特定的本地管理域内有效,陈伟本地管理组播地址D类地址范围含义IPv4 组播地址的范围及含义说明:组播组中的成员是动态的,主机可以在任何时刻加⼊或离开组播组。
组播IP地址与组播MAC地址之间的换算方法与例子

组播IP地址与组播MAC地址之间的换算方法与例子1个oui 有2 的24方个MAC地址组播地址:2的28次方,224.0.0.0-239.255.255.255可用组播范围:0100.5E00.0000----0100.5E07.FFFFMAC由48bit组成:前24位是OUI ,后24位由厂商定义共需要:16个OUI才可以与一个IP来一一对应。
32个IP才可以与一个oui来一一对应典故:Dr.Steve Deering此人研究出来的,当时因为分他的OUI是(0100.5E 0)所以这7个不变。
算法:最笨的方法,也是最安全的方法,就是把IP地址,换成二进制数。
再把二进制换成16进制,第4个8位,不用,因为有组播MAC的限制已经规定是0100.5E开头,第3个8位中的第8位规定为0.所以当不为0时,要改成0来换算。
Example:源IP 224.1.1.1换算成二进制11100000.00000001.00000001.00000001再换成16进制01 .01 .01加上组播MAC头0100.5E最后形成:0100.5E01.01.01可用的其它31个组播IP地址:224.129.1.1225.1.1.1 225.129.1.1226.1.1.1 226.129.1.1227.1.1.1 227.129.1.1228.1.1.1 228.129.1.1229.1.1.1 229.129.1.1230.1.1.1 230.129.1.1231.1.1.1 231.129.1.1232.1.1.1 232.129.1.1233.1.1.1 233.129.1.1234.1.1.1 234.129.1.1235.1.1.1 235.129.1.1236.1.1.1 236.129.1.1237.1.1.1 237.129.1.1238.1.1.1 238.129.1.1239.1.1.1 239.129.1.1加上:224.1.1.1 刚好32个。
组播介绍(V1,V2,V3,IGMP)

学习目标:*理解组播的概念及技术*掌握IGMP协议及配置*掌握PIM协议及配置为什么要强调组播,因为在现实情况中,越来越多的一些应用都是基于一个特定群组。
这里要注意的是它不是全部用户,而是特定组,一组用户,这些特定群组的应用包括多媒体会议、数据群发、游戏、视频点播等,在这种情况下,如果使用以前所说的单播也好,广播也好,都不符合实际应用的情况,不管是单播还是广播都会大大的增加网络冗余的一些数据流量,为了实现这么一个特定群组的服务,最好的方式就是根据实际情况将应用的成员划分到一个群组里面,而数据的分发仅限于群组内部,这样就可以以尽可能少的数据流来实现群组的应用,这就是我们所说的组播技术。
组播的定义:组播是介于单播和广播之间的一种通讯方式,是主机向一组主机发送信息,这一组主机可以是全部主机也可以不是全部主机,主要看是否所有主机都需要接收这组信息,存在于某个组的所有主机都可以接收到组发送的信息,是一种点到多点的通讯方式,单播是点到点,广播是点到所有点,所以这三者是有区别的。
从这个意义上来说呢,可以这样认为:广播是一个最大化的组播。
当然两者还是有区别的,路由器在处理这两种数据包的处理方式是不同的,广播是不会被路由器所转发的,但是组播是可以穿越不同的网段。
另外广播发出后主机是被默认为是接收者,组播不一样,组播我发不发给你,你能不能去收,是需要看用户有没有一个加入行为,你要加入这个组才能接收这个组的信息。
单播与组播实现点对多点传输的比较:在没实现组播之前,我们是采用单播或者广播来实现,单播可以通过建立多个点到点的连接来实现点到多点的传输,这样的话,在中间节点的路由器,在针对单播传输的时候,都要维持一个会话,当然也就需要占用一份带宽,也就是说从发送方开始,就有多份数据发向不同的接收点,这种方式最大的网络负荷在服务器端,它增大了对服务器性能的要求,同时还会在网络中造成非常大的流量,从而增加了网络的负载。
那么如果我们采用广播的花会有什么问题呢,广播在通讯的时候有个特性,它只在有分叉的时候才会被复制并传输,但是广播缺省认为所有终端都要接收这个数据,这就会造成某个用户根本就不需要这个数据流,但是通过广播发送的数据流还是会转发一份给他,那么这也就浪费了有关的带宽。
组播MAC地址和各类IP地址

组播MAC地址和各类IP地址MAC地址是以太⽹⼆层使⽤的⼀个48bit(6字节⼗六进制数)的地址,⽤来标识设备位置。
MAC地址分成两部分,前24位是组织唯⼀标识符(OUI, Organizationally unique identifier),后24位由⼚商⾃⾏分配。
MAC地址有单播、组播、⼴播之分。
单播地址(unicast address)表⽰单⼀设备、节点,多播地址或者组播地址(multicast address、group address)表⽰⼀组设备、节点,⼴播地址(broadcast address)是组播的特例,表⽰所有地址,⽤全F表⽰:FF-FF-FF-FF-FF-FF。
当然,三层的IP地址也有单播、组播、⼴播之分。
48bit的MAC地址⼀般⽤6字节的⼗六进制来表⽰,如XX-XX-XX-XX-XX。
IEEE 802.3规定:以太⽹的第48bit(2012-04-11修改为The first bit) ⽤于表⽰这个地址是组播地址还是单播地址。
如果这⼀位是0,表⽰此MAC地址是单播地址,如果这位是1,表⽰此MAC地址是多播地址。
见IEEE 802.3 3.2.3 Address fields:“The first bit (LSB) shall be used in the Destination Address field as an address type designation bit to identify the Destination Address either as an individual or as a group address. If this bit is 0, it shall indicate that the address field contains an individual address. If this bit is 1, it shall indicate that the address field contains a group address that identifies none, one or more, or all of the stations connected to the LAN. In the Source Address field, the first bit is reserved and set to 0.”以太⽹线路上按“Big Endian”字节序传送报⽂(也就是最⾼字节先传送,关于字节序请参考相关⽂档),⽽⽐特序是”Little Endian”(也就是最低位先传送)。
ip地址和mac地址

ip地址和mac地址ip地址就是你的机器在网络上面的门牌号码,子网掩码的作用就是告诉网络你的机器是处在哪一个小的子网络中。
网关是你的机器通过什么服务器来访问的网络。
mac地址是网卡在出厂的时候,制造商给网卡赋予的唯一的一个地址标识ip地址就是你的机器在网络上面的门牌号码,子网掩码的作用就是告诉网络你的机器是处在哪一个小的子网络中。
网关是你的机器通过什么服务器来访问的网络。
mac地址是网卡在出厂的时候,制造商给网卡赋予的唯一的一个地址标识MAC地址MAC地址1212一,MAC(Media Access Control, 介质访问控制)MAC地址是烧录在Network Interface Card(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位是由厂家自己分配.24-47位,叫做组织唯一标志符(oganizationally unique ,是识别LAN(局域网)节点的标识。
其中第40位是组播地址标志位。
网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。
比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。
以太网地址管理机构(IEEE)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
如何获取本机的MAC?对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。
组播技术

IGMP Snooping(IGMP侦听)可以实现组播数据帧在数据链路层的转发和控制。
使能IGMP Snooping功能后,二层设备会侦听主机和路由器之间交互的IGMP报文。通过分析报文中携带的信息(报文类型、组播组地址、接收报文的接口等),建立和维护二层组播转发表,从而指导组播数据帧在数据链路层按需转发。
(S,G)路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。
(*,G)路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。
PIM路由器上可能同时存在两种路由表项。当收到源地址为S,组地址为G的组播报文,且RPF检查通过的情况下,按照如下的规则转发:
2.最大响应时间:表示主机响应查询返回报告的最大时间。
对于普遍组查询,最大响应时间默认为10秒。
对于特定组查询,最大响应时间默认为1秒。
3.组地址:
普遍组查询报文中,组地址设置为0。
特定组查询报文中,组地址为需要查询的组地址。
在成员报告或离开组的消息中,组地址为需要报告或离开的组地址。
落败一方的下游接口称为Assert Loser,后续不会对该网段转发组播报文,PIM路由器也会将其从(S,G)表项下游接口列表中删除。
PIM-SM
使用“拉(Pull)模式”转发组播报文。
建立RPT(Rendezvous Point Tree,汇聚点树也称共享树)。
建立SPT(Shortest Path Tree,最短路径树)。
IGMPv3没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达。
查询报文中不仅包含普遍组查询报文和特定组查询报文,还新增了特定源组查询报文(Group-and-Source-Specific Query)。该报文由查询器向共享网段内特定组播组成员发送,用于查询该组成员是否愿意接收特定源发送的数据。
组播IP与组播Mac的对应关系

组播IP与组播Mac的对应关系
1.IPv4组播MAC地址
IANA规定,IPv4组播MAC地址的高24位为0x01005E,第25位为0,低23位为IPv4组播地址的低23位。
IPv4组播地址与MAC 地址的映射关系如下图所示。
由于IPv4组播地址的高4位是1110,代表组播标识,而低28位中只有23位被映射到IPv4组播MAC地址,这样IPv4组播地址中就有5位信息丢失。
于是,就有32个IPv4组播地址映射到了同一个IPv4组播MAC地址上,因此在二层处理过程中,设备可能要接收一些本IPv4组播组以外的组播数据,而这些多余的组播数据就需要设备的上层进行过滤了。
VRRP4的组播IP:224.0.0.18 组播Mac:0100-5e00-0012
2、IPV6对应的MAC地址
映射规则:组播MAC地址的前16位固定为0x3333,将组播IPV6地址的后32位直接映射到组播MAC地址的后32位就可以了。
如:IPV6地址为--FF12::1234:5678/64
对应的组播MAC地址为--3333:1234:5678
VRRP6的组播IP:FF02::12组播Mac:3333-0000-0012。
MAC地址的介绍(单播、广播、组播、数据收发)

MAC地址的介绍(单播、⼴播、组播、数据收发)MAC地址组成⽹络设备的MAC地址是全球唯⼀的。
MAC地址长度为48⽐特,通常⽤⼗六进制表⽰。
MAC地址包含两部分:前24⽐特是组织唯⼀标识符(OUI,OrganizationallyUniqueIdentifier),由IEEE统⼀分配给设备制造商。
例如,华为的⽹络产品的MAC地址前24⽐特是0x00e0fc。
后24位序列号是⼚商分配给每个产品的唯⼀数值,由各个⼚商⾃⾏分配(这⾥所说的产品可以是⽹卡或者其他需要MAC地址的设备)。
MAC地址有单播、⼴播、组播之分单播局域⽹上的帧可以通过三种⽅式发送。
第⼀种是单播,指从单⼀的源端发送到单⼀的⽬的端。
每个主机接⼝由⼀个MAC地址唯⼀标识,MAC地址的OUI中,第⼀字节第8个⽐特表⽰地址类型。
对于主机MAC地址,这个⽐特固定为0,表⽰⽬的MAC地址为此MAC地址的帧都是发送到某个唯⼀的⽬的端。
在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现⽬的地址与本地MAC地址不⼀致后会丢弃收到的帧,只有真正的⽬的主机才会接收并处理收到的帧。
⼴播第⼆种发送⽅式是⼴播,表⽰帧从单⼀的源发送到共享以太⽹上的所有主机。
⼴播帧的⽬的MAC地址为⼗六进制的FFFFFFFFFFFF,所有收到该⼴播帧的主机都要接收并处理这个帧。
⼴播⽅式会产⽣⼤量流量,导致带宽利⽤率降低,进⽽影响整个⽹络的性能。
当需要⽹络中的所有主机都能接收到相同的信息并进⾏处理的情况下,通常会使⽤⼴播⽅式。
组播第三种发送⽅式为组播,组播⽐⼴播更加⾼效。
组播转发可以理解为选择性的⼴播,主机侦听特定组播地址,接收并处理⽬的MAC地址为该组播MAC地址的帧。
组播MAC地址和单播MAC地址是通过第⼀字节中的第8个⽐特区分的。
组播MAC地址的第8个⽐特为1,⽽单播MAC地址的第8个⽐特为0。
当需要⽹络上的⼀组主机(⽽不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使⽤组播⽅式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组播ip与组播mac的映射
IP组播和单播的目的地址不同,IP组播的目的地址是组地址——D类地址.
D类地址是从224.0.0.0到239.255.255.255之间的IP地址
其中224.0.0.0到224.0.0.255是被保留的地址
224.0.0.1表示子网中所有的组播组
224.0.0.2表示子网中的所有路由器
224.0.0.5表示OSPF(Open Shortest Path First)路由器
224.0.0.6表示OSPF指定路由器
224.0.0.12表示DHCP(Dynamic Host Configuration Protocol)服务器.
D类地址是动态分配和恢复的瞬态地址.每一个组播组对应于动态分配的一个D类地址;当组播组结束组播时,相对应的D类地址将被回收,用于以后的组播.在D类地址的分配中,IETF建议遵循以下的原则:
全球范围:224.0.1.0~238.255.255.255;
有限范围:239.0.0.0~239.255.255.255;
本地站点范围:239.253.0.0~239.253.0.16;
本地机构范围:239.192.0.0~239.192.0.14.
2层的MAC地址是如何与3层的IP地址进行映射的呢?通过将MAC地址的前25位强行规定位0100.5e,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:IP地址:1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx
MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx
例如:组播IP地址224.215.145.230应该映射到下列哪个组播MAC地址?( )
(A)01-00-5e-57-91-e6(B)01-00-5e-d7-91-e6
(C)01-00-5e-5b-91-e6(D)01-00-5e-55-91-e6
用二进制来换算,将215.145.230换算成1101,0111,1001,0001,1110,0110,取最后23位放到MAC地址中的23位可以计算得出答案是A。
显然有32个IP地址(有5个y可以不一样)对应一个MAC地址,所以要避免在同
一网络中使用的多个组播IP地址对应一个MAC地址。