组播与IGMP
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以太网帧三种传输方式:单播、组播、广播
单播Unicast
广播Broadcast:(比如ARP请求)
交换机收到广播数据帧后,会向其所有端口进行复制转发。广播帧仅在第二层传送,无法穿透路由器或三层交换机。广播MAC地址为全1,即FF:FF:FF:FF:FF:FF。
组播Multicast:(应用最多的在于视频会议和网络教学,使用传输
层的UDP进行传输,发送源对接收者/组成员的情况一无所知)
组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。
组播相对于单播和广播的优点:
提高了数据传送效率,降低了服务器负载,节省网络带宽,用户规模
灵活变换。(组播可跨越多个网段,不局限于一个局域网)
组播mac地址是和组播ip地址对应的,组播mac地址的高24bit为01:00:5e,mac 地址的低23bit为组播ip地址的低23bit。
例1,OSPF IP组播地址是224.0.0.5, 转换为相应的MAC组播地址:(1) 把IP地址(32位)用二进制表现11100000: 00000000: 00000000: 00000101。
(2) 然后抽出最右边的23位:0000000: 00000000: 00000101,暂称为A。
(3) 把01:00:5e(24位,即00000001:00000000:01011110) 作为MAC的高24位,暂称为B。
(4)合成相应的MAC组播地址如下:连接B,0,A。B有24位,在左边;0是一位,在中间;A有23位,在右边。共48位。二进制是00000001:00000000:01011110:00000000: 00000000: 00000101 十六进制是01:00:5e:00:00:05
例2:将224.10.10.10转为MAC组播地址01:00:5e:0a:0a:0a
IP协议把224.0.0.0 ~ 239.255.255.255之间的IP地址都用做IP组播地址(D类地址)。对应的MAC地址为01:00:5e:00:00:00 --- 01:00:5e:7f:ff:ff:ff。
●局域网组播地址:224.0.0.0~224.0.0.255,预留的组播地址(永久
组地址),路由器不转发属于此范围的IP包;永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。
●预留组播地址:224.0.1.0~238.255.255.255,用于全球范围或网络
协议;
●224.0.2.0~238.255.255.255用户可用的组播地址(临时组地址),
全网范围内有效;
●管理权限地址:239.0.0.0~239.255.255.255,组织内部使用,用于
限制组播范围;
一些组播地址列表如下:
224.0.0.0 基准地址(保留)
224.0.0.1 所有主机组地址(包括所有路由器地址)即所有具有组播能力的主机均会加入该组。
224.0.0.2 所有组播路由器的地址
224.0.0.3 不分配
224.0.0.4 dvmrp路由器
...
224.0.0.12 dhcp 服务器/中继代理
...
组播与IGMP协议(现版本为IGMPv2)
IGMP,Internet Group Management Protocol,组成员关系协议,该协议用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系,所有参与组播的主机必须实现IGMP。
IGMP在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。
IGMP作为TCP/IP第三层的协议,被封装在IP数据包中进行传输。IGMP的报文格式是固定的,共8个字节,如下图所示。
IGMP V2包::支持包类型三种, query,report和Leave。增加Leave包的目的是,当组中最后一个成员离开时,通知路由器,快速收敛.而且Query包也分为两种, 一为正常的Query,查询所有的组是否有成员;一种为特殊的query,在收到Leave包后, 路由器所发出的只查询该组的query包;
一个典型的组播过程是这样的:
1.IP主机的一个进程可随时加入和离开主机接口的一个组播组,该主
机需要维护接口的一张表,该表包含了有那些组以及这些组中的进程数量。此时主机需要发送一个IGMP报告
2.路由器会定时发送IGMP查询报文,此时报文中的组地址为0
3. IP主机回应路由器的IGMP查询报文,对于一个主机,如果它加入了多个组,则需要为每个组返回一个IGMP报告。
4.路由器根据这些信息,会对每个接口维护一张表,表中说明了该接口的组。
这个过程中的报文,可见下图