IGMP培训课件
组播(二)---IGMP
组播(⼆)---IGMP⽬录组播(⼆)---IGMP组播⾥⾯⾮常重要的两个协议 IGMP和PIM,我们先学⼀个简单的那就IGMP,IGMP运⾏于终端与最后⼀跳路由器中间(注意是终端与最后⼀跳路由器,⽽不是第⼀跳路由器)。
IGMP有三个版本,V1/V2/V3,V1最为简陋,我们要从V1开始学起,V2弥补了V1的⼀些坑,使⽤的频率⽐较⼴,V3最⼤特点是⽀持SSM,SSM还记得吗?SSM是特定组播源的意思,换句话说V1和V2是不⽀持SSM的。
IGMP的全称是internet group management protocol,名字叫的点⼤,互联⽹组管理协议,我们先从第⼀个版本聊起。
IGMP是构建在IP报⽂的基础上IGMP和ICMP协议看着有点像,是否还记得⼀张OSI七层参考模型的图,在⽹络层这个地⽅,有IP,然后有ICMP和IGMP,IGMP和ICMP们于IP之上,但⼜位于传输层之下,当时不理解这是什么意思,⼯作多年后才发现,ICMP和IGMP都是在IP基本上,也就说数据的结构这样的:帧头--IP头---IGMP报⽂,我们也可以再进⼀步,IP头是晚于IGMP或ICMP封装的,也就是我们可以通过IP的头部的字段来判断出上层协议是什么?如上图所⽰,在IP层的protocol字段当中显⽰为1,意味着他的上层协议是ICMP,如果这个字段是2呢?2其实就是代表上层协议是IGMP,那arp报⽂是什么样?arp是建⽴IP报⽂之上吗?其实arp并不是建⽴在IP之上的,⽽应该在IP之下,所以arp到底是⼆层协议还是三层协议,从这个⾓度来看,arp协议应该是⼆层协议。
IGMPV1IGMPV1的报⽂⽐较简单,就两种类型的报⽂,请求和通告,请求报⽂是周期性发送的,默认是60秒。
请求报⽂是路由器发送的,发送给谁呢?发送给终端,其实就是路由器问⼀下当前接⼝下有没有组员,如果有组员的话,组员通过特定的MAC地址就会收到路由器请求的报⽂,然后组员会通过通告报⽂,告诉路由器(其实也就是⽹关)⾃⼰所属的组,然后路由器会记录下来,知道⾃⼰所连接的某⼀个接⼝下有⼀个组播组,收到这个组的流量要转发到此接⼝;如果没有组员呢?其实没有组员,路由器就收不到通告,路由器悻悻⽽归,知道了⾃⼰的接⼝下没有主机属于某个组,当到了某个组的流量,也不会转发,⽆动于衷。
详解IGMP(Internet组管理协议)报文及协议
1引言本文将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。
它让一个物理网络上的所有系统知道主机当前所在的多播组。
多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。
IGMP在RFC 1112中定义[Deering 1989].正如ICMP一样,IGMP 也被当作IP 层的一部分。
IGMP报文通过IP数据报进行传输。
不像我们已经见到的其他协议,IGMP有固定的报文长度,没有可选数据。
图13-1显示了IGMP报文如何封装在IP数据报中。
IGMP(Internet组管理协议)报文及协议(图一)IGMP报文通过IP首部中协议字段值为2来指明。
2 IGMP报文图1 3 - 2显示了长度为8字节的IGMP报文格式。
IGMP(Internet组管理协议)报文及协议(图二)这是版本为1的IGMP.IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。
检验和的计算和ICMP协议相同。
组地址为D类IP地址。
在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。
在下一节中,当介绍IGMP如何操作时,我们将会更详细地了解它们。
3 IGMP 协议3.1 加入一个多播组多播的基础就是一个进程的概念(使用的术语进程是指操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。
在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。
这里所指的进程必须以某种方式在给定的接口上加入某个多播组。
进程也能离开先前加入的多播组。
这些是一个支持多播主机中任何API所必需的部分。
使用限定词“接口”是因为多播组中的成员是与接口相关联的。
一个进程可以在多个接口上加入同一多播组。
Stanford大学伯克利版Unix中的IP 多播详细说明了有关socket API的变化,这些变化在Solaris 2.x和ip(7)的文档中也提供了。
这里暗示一个主机通过组地址和接口来识别一个多播组。
IGMP协议原理
PC1 希望接收来 自S = 1.1.1.1 而 非来自 S = 2.2.2.2的数据
通过IGMPv3, 指 定源可以枝剪掉 来自S = 2.2.2.2 的数据
R3
IGMPv3: JOIN 1.1.1.1, 224.1.1.1 LEAVE 2.2.2.2, 224.1.1.1
PC1 组224.1.1.1的成员
PC1
主机发送IGMP成员关 系报告,表示希望加入 组播组。
PC3
PC2
224.1.1.1
报告
RTA
Page9
IGMPv1查询与响应
PC1
PC2首先发送成员关 系报告。(目的地址 224.0.0.1)
PC2 224.1.1.1
PC3
报告
IGMPv1 查询器
查询
RTA 224.0.0.1
IGMP查询器周期性地 向子网内所有主机 (224.0.0.1)发送成 员关系查询信息 60S。
[RTB]multicast routing-enable [RTB]interface ethernet0/1 [RTB-Ethernet0/1]ip address 172.16.1.1 255.255.255.0 [RTB-Ethernet0/1]igmp enable [RTB-Ethernet0/1]igmp version 2
7
15
类型 最大响应时间
31 校验和
组地址
类型 成员关系查询(0x11) 常规查询:用于确定哪些组播组是有效的,即该组是否还有成员 在使用,常规查询地址由全零表示; 指定组查询:用于查询特定的组播组是否还有组成员。 版本2成员关系报告(0x16) 版本1成员关系报告(0x12) 离开组消息(0x17)
IGMP协议介绍课件
• IGMP Snooping • IGMP Proxy • IGMP 测试方法 • 应用场景
内容
单播和广播
• 传统的IP 通信有两种方式: 单播(unicast)和广播(broadcast) • 单播数据包只能被一台目的主机接收,广播数据
包被物理网络内的所有主机接收 • 单播数据包和广播数据包的区别就是目的IP地址
• 多播MAC地址就是范围 在01:00:5E:00:00:00到01:00:5E:7F:FF:FF内的MAC地址;
• 多播IP地址和MAC地址之间的映射关系; 将MAC地址的前25位强行规定位01.00.5e,而后23位对应 IP地址的后23位,而组播IP地址的前4位均相同。如: IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx. xxxxxxxx
• 一对多通信的应用包括视频会议、在线直播、网 络电视、远程教育、网络电台等。
• 如果用单播实现,则源主机要分别给所有目的主 机发送数据包,显然会造成网络资源的浪费。
• 如果用广播实现,由于路由器不会转发广播数据 包,所以目的主机不能分布在不同的网络中。而 且由于不需要数据包的主机也会收到数据包,会 加重这些主机的负担。
1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX
多播(2)
• 组播地址的分类; • 保留——224.0.0.0 ~ 224.0.0.255 • 用户组播地址——224.0.1.0 ~ 238.255.255.255 • 本地管理组——239.0.0.0 ~ 239.255.255.255 (用于 私人组播领域,类似私有IP地址)
Chap10IGMP
TCP/IP Protocol Suite
3
Note:
IGMP is a group management protocol. It helps a multicast router
create and update a list of loyal members related to each router
The topics discussed in this section include: Message Format
TCP/IP Protocol Suite
5
Figure 10.2 IGMP message types
TCP/IP Protocol Suite
6
Figure 10.3 IGMP message format
IP Layer Data Link Layer Netstat Utility
TCP/IP Protocol Suite
20
Figure 10.9 Encapsulation of IGMP packet
TCP/IP Protocol Suite
21
Note:
The IP packet that carries an IGMP packet has a value of 2 in its protocol field.
TCP/IP Protocol Suite
13
Note:
The general query message does not define a particular group.
TCP/IP Protocol Suite
14
Figure 10.7 General query message
IGMP
IGMP的含义:Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。
IGMP是一个用于在单个网络上特定多播组中主机和网关间建立主机成员关系的协议。
网关在连接一个多播路由协义时使用此信息以支持通过Internet的IP多播。
IGMP被用在IP主机和它们的紧接的邻机多点播送代理之间支持临时组的生成,添加和删除一个组的成员,定期证实组员身份。
IGMP是一个不对称协议而且这里从一个主机观点出发而非一个多播代理来加以说明。
IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2。
IGMP的用途:和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IGMP不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。
所有参与组播的主机必须实现IGMP。
参与IP的主机可以在任意位置、任意时间、成员总数不受限制地加入或退出组播组。
组播路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP每个接口连接的网段上检测在某个组播组的接收者,即组成员。
而主机方只需要保存自己加入了哪些组播组。
IGMP在主机与路由器之间是不对称的:主机需要响应组播路由器的IGMP查询报文,即以IGMP membership report报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(IGMP版本2),以确定某个特定组是否已无成员存在。
多播路由器发送主机成员关系查询信息(下文中称为查询)来发现在哪些主机组在它们附属的本地网络上有成员.查询被写入所有主机组地址(地址是224.0.0.1),携带的IP 生存时间是1.IGMP具有三种版本: IGMP v1、v2 和 v3。
IGMPv1:主机可以加入组播组。
没有离开信息(leave messages)。
组播基础(IGMP)要点
地址范围
224.0.0.0-224.0.0.255 224.0.1.0-238.255.255.255 239.0.0.0-239.255.255.255 用户组播地址
含义
为路由协议预留的永久组地址
All rights reserved
Page 8
组播的应用
多媒体
流媒体 培训、联合作业场合的通信
视频/音频会议
IPTV、BTV
数据仓库
金融应用(股票)
任何的“点到多点”数据发布应用
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 15
组播协议分类
主机-路由器之间的组成员关系协议
IGMP(Internet Group Management Protocol)
路由器-路由器之间的组播路由
协议。
HUAWEI TECHNOLOGIES CO., LTD.
2018/10/5
内部公开
课程编码 组播基础
ISSUE 2.0
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
随着流媒体、视频等业务在 Internet 上的相继开展, IP 组播技 术和应用开始快速发展。本文主要 分析 IP 组播技术的产生背景、应 用、基本概念和特点,以及相关的 组播技术与基本配置。
HUAWEI TECHNOLOGIES CO., LTD.
第十章IGMP协议
站点加入群组的流程
进程P申请加入群组MG
站点检查群组MG的成员关系表
MG在成员关系表 中? 否 站点发送群组成员关系报告
是
<P,MG>加入站点的群组成员 关系表
Membership report
Host or Router
0x16
0
Router
Group address
The protocol requires that the membership report be sent twice, one after the other within a few moments. In this way, if the first one is lost or damaged, the second on replaces it.
G1 G1,S1 S1 S1,G1 S1,G1 G1 G1,S1 S1,G1 S1,G1 G1 G1,S1
S1,G1
S1,G1
G1
发送者
接收者
其它主机 组播路由器
Multicast applications
Access to distributed databases访问分布式数据库 Information dissemination信息传播 Dissemination of news传播新闻 Teleconferencing电视会议 Distance learning远程学习
IGMP is a group management protocol. It helps a Multicast router create and update a list of loyal members related to each router interface.
《ICMP和IGMP协议》课件
Part
02
IGMP协议概述
IGMP协议定义
总结词
IGMP(Internet
Group
Management Protocol)是用
于IPv4网络中的组播协议,用于
管理多播组成员资格。
详细描述
IGMP协议定义了一种机制,使主 机能够动态地告诉路由器其感兴 趣的多播组,以便路由器能够将 多播流量路由到这些主机。
多播通信
IGMP协议用于主机和路由器之间的 多播组成员资格报告和查询,使路由 器能够知道哪些主机希望接收多播数 据。
视频会议
实时游戏
IGMP协议支持实时游戏中的多播通 信,使玩家能够接收来自游戏服务器 的实时数据。
通过IGMP协议,视频会议应用程序 可以动态加入和离开多播组,实现高 效的视频流传输。
ICMP主要应用于网络诊断和故障排除,例如ping命令 和traceroute命令。
IGMP应用场景
通过IGMP协议,路由器可以知道哪些主机属于同一个 组播组,从而将组播数据只发送给这些主机,提高了数 据传输效率。
Part
04
ICMP和IGMP在实际网络中 的应用
ICMP在网络中的实际应用
故障排除
IGMP主要用于主机与路由器之间的组播成员关系报告与 查询。
在此添加您的文本16字
通过IGMP协议,主机可以向路由器发送加入或离开组播 组的请求,路由器则可以周期性地查询组成员关系。
协议应用场景差异
ICMP应用场景
在某些情况下,ICMP还可以用于实现IPSec等安全协议 。
IGMP主要用于支持组播通信,适用于视频会议、在线 直播等需要大量数据传输的场景。
ICMP协议工作原理
13、 IGMP协议原理
3
低IP地址的路由 器成为查询器
Page17
IGMPv2组成员离开
PC1
PC2
主机向224.0.0.2 发送离开组消息
224.1.1.1
PC3
离开组报告 224.0.0.2
路由器向这个组 (224.1.1.1)发 送特定组查询
特定组查询 224.1.1.1
X2 RTA
在查询的最大响应时间内(默认 为1秒)没有收到该组的报告,再 次发送特定组查询
混合版本
PC1 IGMPv2
PC2 IGMPv1
PC3 IGMPv1
IGMPv1 RTA
IGMPv2 IGMPv1 RTB
Page21
IGMP基本配置
RTA
RTB
IGMPv2
PC
[RTA]multicast routing-enable [RTA]interface ethernet0/0 [RTA-Ethernet0/0]ip address 172.16.1.3 255.255.255.0 [RTA-Ethernet0/0]igmp enable [RTA-Ethernet0/0]igmp version 2
Page11
IGMPv1组成员离开
PC1
3次查询仍没有收 PC2
到响应,则路由 器认为没有组播 成员。
主机悄悄离开组 (不发送报告)。
PC3
成员关系查询
X3
RTA
路由器没有收到该组的IGMP报 告,则再发送成员关系信息 (共3次查询)
路由器发送成员 关系查询信息
Page12
IGMPv2报文格式
0
[RTB]multicast routing-enable [RTB]interface ethernet0/1 [RTB-Ethernet0/1]ip address 172.16.1.1 255.255.255.0 [RTB-Ethernet0/1]igmp enable [RTB-Ethernet0/1]igmp version 2
IGMP基础知识
• Membership Report是主机发向想要加入的组播组,目的地址是某个 具体的组播组
Leave Group
• 当主机退出一个组时,它用Leave Group来通知本地的路由器
不再向该组发送组播数 据
• Leave Group是发向子网中所有路由器的,目的地址是224.0.0.2 • 不管是Membership Report还是Leave Group消息,它们的组地址都
Membership Report
• Membership Report用于指示一台主机希望加入一个组播组,当主机 首次加入到一个组播组时,它会主动向该组发送一个Membership Report
• Membership Report还用来响应本地路由器发出的General Query和 Group-Specific Query
• 如果主机与路由器之间运行的是IGMP v1或IGMP v2,Host B加入组播 组G时无法对组播源进行选择,无论Host B是否需要,来自Source1和 Source2的组播数据都将传递给Host B
• 当主机与路由器之间运行了IGMP v3后,Host B就可以要求只接收来自 Source1而拒绝来自Source2的组播数据
IGMP v2:支持三种包类型,Membership Query,Membership Report和Leave Group。其中,Membership Query又包括两种,分别 是正常的Query,类似于v1,查询所有的组是否有成员,还有一种是 特殊的Query,在收到主机发往某组播组的Leave Group后,路由器 所发的只查询该特定组的Query
IGMP v3工作机制
IGMPv3在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主 机的控制能力,并增强了查询和报告报文的功能
IGMP使用详解教学文案
I G M P使用详解IGMP一、Internet 组管理协议IGMP 是Internet 组管理协议(Internet Group Management Protocol)的缩写。
IGMP 在TCP/IP 协议中的位置:应用层协议(FTP,HTTP,SMTP)TCP UDP ICMP IGMPIPARP RARPMACPHY在了解IGMP 协议的之前,我们首先看看以太网对报文的处理方法。
我们知道,目前使用的以太网(ethernet)有一个特点,当一个报文在一条线路上传输时,该线路上的所有主机都能够接收到这个报文。
只是当报文到达MAC 层时,主机会检测这个报文是不是发送给自己的,如果不是该报文就会被丢弃。
常用的抓包软件ethereal, sniffer 都可以捕获当前物理线路上的所有报文,不管该报文的目的地址是不是自己。
以太网中有一种特殊的报文广播包其目的mac 地址全为0xff,所有的主机都必须接收。
说到IGMP 不能不提“组播”的概念。
假如现在一个主机想将一个数据包发给网络上的若干主机,有什么方法可以做到呢?一个方法是采用广播包发送,这样网络上的所有主机都能够接收到,另一种方式是将数据包复制若干份分别发给目的主机。
这两个方法都存在问题:方法一,广播的方法导致网络上所有的主机都能接收到,占用了网络上其他主机的资源。
方法二,由于所有目的主机接收的报文都是相同的,采用单播方式显然效率很低。
为了解决上面所述的问题,人们提出了“组播”的概念,控制一个报文发送给对该报文感兴趣的主机,IGMP 就是组播管理协议。
我们来看一个简单的组播应用场景PC,如何处理呢?首先STB 要发起一个连接请求,也就是IGMP report 报文,加入到电视直播的组播组中。
同样当STB 要断开连接的时候就发送一个IGMP leave 报文。
Router 也需要知道当前有哪些STB 加入了组播组,防止有的STB 异常掉线了,却依然占用系统资源。
IGMP协议原理
1.1 因特网组管理协议1.1.1 IGMP简介IGMP——ÏîÉÔÊø¬é¶Ü½íÍÏél IGMPÍÏéÇÄÓð¸úÐë¿«ÐÆÃðÓ®¹ä˨ϸ;îÍÏél RFC1112¶æ´¨¾ÈIGMP V1£¨Ó§±Ówindows95£¦l RFC2236¶æ´¨¾ÈIGMP V2£¨Ó§±Ówindows·Ê²ï´ÇýUnix¬îÍ¿³Á«þËñü£¦©l Draft-ietf-idmr-igmp-v3-03.txt¶æ´¨¾È¬îÍ¿³ÁIGMP V3IGMP协议运行于主机与和主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
IGMP协议介绍课件
• 4)Group Address 組播地址。
IGMP V2報文舉例
IGMP V2:查詢器選舉過程
1.路由器啟動,主動發出所有組播系統組的(224.0.0.1)IGMPV2常 規資訊查詢
2.收到常規查詢資訊的路由器,會把此信息的源ip地址和接收的ip地 址作比較,擁有最低IP地址的路由器被選舉為IGMP查詢路由器。
• IGMPv2報文格式為:
報文格式分析 • 1)Type
IGMP的消息類型,IGMP V2有三種消息類型 0x11:type值為0x11表示IGMP V2組成員查詢(Query)報文。查詢 報文又分為一般查詢報文和特定查詢報文,一般查詢報文用來查詢 哪些組在所連接的網路上有組成員;而特定查詢則用來查詢指定組 在所連接的網路上是否有組成員。一般查詢報文和特定查詢報文時 這麼區分的:如果Group Address字段值為0,就是一般查詢報文, 否則就是特定查詢報文。
• 多播MAC地址就是範圍 在01:00:5E:00:00:00到01:00:5E:7F:FF:FF內的MAC地址;
• 多播IP地址和MAC地址之間的映射關係; 將MAC地址的前25位強行規定位01.00.5e,而後23位對應 IP地址的後23位,而組播IP地址的前4位均相同。如: IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx. xxxxxxxx
1)0x11 成員查詢 3)0x12 IGMP V1的Report消息 5)0x17 IGMP V2的Leave消息 IGMP V3的查詢消息格式為
IGMP协议
IGMP协议协议名称:Internet组管理协议(IGMP)1. 引言1.1 目的1.2 背景1.3 范围2. 术语和定义2.1 术语定义3. 协议概述3.1 功能3.2 适合范围3.3 协议特点4. 协议规范4.1 消息格式4.2 消息类型4.3 消息处理4.4 路由器行为4.5 主机行为5. 协议实现5.1 IGMP版本5.2 IGMP报文封装5.3 IGMP报文处理5.4 路由器实现5.5 主机实现6. 协议安全性6.1 防止欺骗攻击6.2 防止拒绝服务攻击6.3 加密和认证7. 性能优化7.1 IGMP查询优化7.2 IGMP报文压缩7.3 IGMP缓存管理8. 互操作性8.1 路由器互操作性8.2 主机互操作性8.3 IGMP与其他协议的互操作性9. 错误处理和故障恢复9.1 错误码定义9.2 错误处理流程9.3 故障恢复机制10. 协议测试10.1 测试环境10.2 测试用例10.3 测试结果11. 协议管理11.1 版本控制11.2 更新和修订11.3 协议发布12. 参考文献1. 引言1.1 目的IGMP(Internet组管理协议)是用于在IPv4网络中管理多播组成员关系的协议。
本协议旨在规范IGMP的功能、消息格式、路由器和主机的行为以及相关安全性、性能优化、互操作性等方面的内容。
1.2 背景随着互联网的发展,多播技术被广泛应用于视频、音频、实时通信等场景。
为了有效管理多播组成员关系,IGMP协议应运而生。
IGMP协议允许主机加入和离开多播组,并与路由器进行通信以实现多播数据的传输。
1.3 范围本协议适合于所有支持IGMP协议的路由器和主机设备。
2. 术语和定义2.1 术语定义- IGMP:Internet组管理协议,用于管理IPv4网络中的多播组成员关系。
- 路由器:在网络中转发数据包的设备,支持IGMP协议。
- 主机:连接到网络的设备,可以加入和离开多播组。
- 多播组:一组具有相同IP地址的主机,可以接收多播数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• IGMP Proxy下面的所有主机加入组的请求 都由它统一发给组播路由器;组播路由器 发出的组播数据都由它统一下发给下面的 主机。
IGMP Proxy
组播路由器 服务器
Proxy 接口2 接口3
主机 组播路由器
接收者A 接收者B
接收者C 接收者D
IGMP Proxy
一个例子:
1、主机B为了加入组234.5.6.7而发送报告报文,Proxy记录 接口2下有组234.5.6.7的成员,并向组播路由器发送报告 报文。此时Proxy以主机的身份加入了组234.5.6.7。
单播和广播
• 传统的IP 通信有两种方式:单播(unicast)和广 播(broadcast)。
• 单播数据包只能被一台目的主机接收,广播数据 包被物理网络内的所有主机接收。
• 单播数据包和广播数据包的区别就是目的IP地址 和目的物理地址类型不同。例如,地址 10.28.105.69是一个单播IP地址,地址 10.255.255.255是一个广播IP地址,地址 00:01:02:03:04:05是一个单播MAC地址,地址FF:FF:FF:FF:FF:FF是一个广播MAC地址 。
单播
服务器
广播
一对多通信
路由器
接收者
接收者
接收者
服务器
路由器
路由器 接收者
多播
• 为了解决一对多的通信问题,引入多播技术,多 播(multicast)也称为组播。
• 多播数据包和单播、多播的区别也是目的IP地址 和目的物理地址的类型不同。例如,地址 234.5.6.7就是一个IP多播地址,地址 01:00:5E:01:02:03就是一个多播MAC地址。实际 上,多播IP地址就是范围在224.0.0.0到 239.255.255.255内的IP地址,多播MAC地址就 是范围在01:00:5E:00:00:00到01:00:5E:7F:FF:FF 内的MAC地址,并且多播IP地址和MAC地址之间 存在一定的对应关系。
2、等待一段时间后,主机C也想加入234.5.6.7,同样发送 了报告报文,Proxy记录接口3下也有组234.5.6.7的成员 。不同的是,现在不向组播路由器发送报告报文,这是因 为Proxy已经加入到组234.5.6.7了。
3、当Proxy收到组播数据后,通过查表知道接口2和3包含组 234.5.6.7的成员,所以将组播数据包向这两个接口转发。
IGMP Snooping
查询消息
报告消息
服务器
组播 路由器
端口1 端口2
端口3 端口4
交换机
组MAC地址
端口列表
01:00:5E:01:02:03 端口1,3
接收者A 接收者B
接收者C 接收者D
IGMP Proxy
• IGMP Proxy处于组播路由器和主机之间, 对组播路由器来说,它是一台主机,对主 机来说,它却是组播路由器。
IGMP
• IGMP主要有两种消息,查询消息和报告消 息,报告消息也称为加入消息。
• 查询消息是组播路由器向主机发送的,用 来查询接口所在的网络存在那些组的成员 。
• 报告消息是主机向组播路由器发送的,用 来报告主机当前加入了那些组。
查询消息 报告消息
IGMP
服务器
接口2 接口1
接口3
组IP地址 接口列表 234.5.6.7 接口2
IGMP培训
议程
• 组播 • IGMP协议 • IGMP Snooping • IGMP Proxy
背景知识
• IP地址:互联网使用IP对所有主机进行标识 • MAC地址:又称物理地址,在同一物理网络内对
主机进行标识 • 数据收发:主机在发送数据包时,先给数据包加
上IP地址,再给它加上物理地址;在接收数据包 时,先判断物理地址是否正确,不正确就丢弃, 然后再判断IP地址是否正确,不正确也丢弃。 • 路由器和交换机:路由器用来连接不同的物理网 络,交换机用来连接物理网络内的不同网段。它 们都是用来转发数据包的,不同的是,路由器通 过目的IP地址转发,而交换机通过目的物理地址 转发。
一对多通信
• 一对多通信就是一台源主机发数据包给多 台目的主机,但不一定是所有主机。
• 一对多通信的应用包括视频会议、在线直 播、网络电视、远程教育、网络电台等。
一对多通信
• 如果用单播实现,则源主机要分别给所有 目的主机发送数据包,显然会造成网络资 源的浪费。
• 如果用广播实现,由于路由器不会转发广 播数据包,所以目的主机不能分布在不同 的网络中。而且由于不需要数据包的主机 也会收到数据包,会加重这些主机的负担 。
接收者A 接收者B
接收者C 接收者D
IGMP Snooping
• 默认情况下,交换机在收到组播数据后会 向所有端口转发。显然,向那些不需要组 数据的端口发送是多余的。
• IGMP Snooping的作用就是统计哪些端口 加入了那些组,这样当收到组播数据时, 它就知道需要向哪些端口转发了。
• IGMP Snooping是通过监视IGMP消息来得 知那些端口加入了那些组的。
• 多播数据包可以由多播路由器转发。
多播
组播路 由器
服务器
多播
接收者A 接收者B 接收者C 接收者D
接收者E
IGMP
• IGMP是Internet Group Management Protocol的简写。
• 目前IGMP有三个版本,用的最多的是版本 2。
• IGMP的作用就是让组播路由器知道其每个 接口所在的物理网络中还存在哪些多播组 成员,这样,当多播路由器收到组播数据 时就知道需要向那些接口转发了。