4. IGMP协议(Internet Group Management Protocol)

4.1 什么是组播(多播)

(1)单播同一个视频要发送90个副本,但支持收看者“快进”和“倒退”。

(2)组播:同一个多播组的90个成员只需发送一次,路由器在转发分组时复制成多个副本转发出去,即在因特网范围内的多播是靠路由器来实现的,能够运行多播协议的路由器称为多播路由器。当分组到达目的局域网时,由于局部网具有硬件多播功能因此不需要复制分组,在局部网上的多播组成员都能收到这个视频分组。

4.2 组播IP和组播MAC地址

(1)组播分为两种

  ①只在本局域上进行硬件组播(使用组播MAC地址)

  ②在因特网范围进行组播(使用组播IP)

(2)组播IP

D类地址

说明

备注

224.0.0.0

基地址(保留)

INAN指派的永久组地址,不能随意被使用!

224.0.0.1

在本子网上的所有参加多播的主机和路由器

224.0.0.2

在本子网上的所有参加多播的路由器

224.0.0.4

DVMP路由器

……

224.0.1.0

238.255.255.255

全球范围都可使用的多播地址

239.0.0.0

239.255.255.255

限制在一个组织的范围

  ①组播数据报的目的地址不能为某个具体的主机IP,而是多播组的标识符,然后将加入到这个多播组的主机IP与多播组的标识符关联起来。

  ②多播组的标识符就是D类地址每一个D类地址标志一个多播组。D类地址范围是224.0.0.0至239.255.255.255,共可标志238个多播组。

  ③组播数据报使用IGMP协议,“尽最大努力交付”数据报,但并不保证一定能够交付给多播组内的所有成员。

  ④组播地址只能用于目的地址,而不能用于源地址。此外,组播数据报不产生ICMP差错报文。因此,若ping一个多播地址,将永远得不到响应。

(2)组播MAC地址

  ①目标地址是组播IP地址的数据包到达以太网,就要使用组播MAC地址进行封装。组播MAC地址使用组播IP地址构造。

  ②组播MAC地址区间:01-00-5E-00-00-00到01-00-5E-7F-FF-FF。这是一个由48位组成的MAC地址,其中高25位是固定的,而低23位由IP多播地址的低23位直接映射而来

  ③组播IP和组播MAC地址的映射关系不是唯一的。如组播IP(224.168.64.32)和(224.0.64.32)构造出来的MAC地址都是01-00-5E-00-40-20。当收到组播数据报的主机,还要在IP层利用软件根据IP地址进行过滤,把不是本主机要接收的数据报丢弃。

4.3 IGMP:组播管理协议

(1)IGMP协议工作的两个阶段

  ①当某个主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给因特网上的其他多播路由器

  ②在多播过程中,一个多播组中的成员是动态变化的。随时会有主机加入或离开这个多播组。本地多播路由器要周期性地查询本地局域网上的主机,以便知道这些主机是否继续是组的成员。只要有一个主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,多播路由器就认为本网络上主机己经离开了这个组。因此,也就不再把这个组的成员关系转发给其他多播路由器。

(2)多播路由选择协议

  ①连接在局域网上的多播路由器还必须与因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传递给所有的组成员。这需要使用多播路由选择协议。

  ②多播路由选择实际上就是找出以源主机为根节点的多播转发树。在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)

  ③多播路由选择协议的实现有三种方法:洪泛与剪除、隧道技术和基于核心的发现技术等。

4.4 实战:跨网段观看组播视频

(1)网络拓扑图

(2)在Win2003虚拟机上架设流媒体多播服务器

  ①安装Window Media Services组件。(为方便,这里简称为“WMS”)

  ②打开“WMS”,新建发布点,这里使用默认的“Sample_Broadcast”。

  ③在“属性”选项卡→“多播流”→启用“WMS多播数据写入器”。然后查看该写入器的属性,可以看到所使用的多播地址、端口和多播数据包的TTL。

  ④发布公告:在“公告”选项卡→“运行多播公告向导” →……→“添加流格式”中通过浏览找到“racecar_300.wmv”,然后继续设置直到完成。注意,会生成一个“Sample_Broadcast.nsc”文件。

  ⑤将“Sample_Broadcast.nsc”文件从Win2003虚拟机拷贝到WinXP,双击运行可观看在Win2003流媒体服务器上正在多播的视频。

(3)路由器配置

  ①R1启用多播路由,接口为密集模式。R2路由器配置方法相同

R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#ip multicast-routing //启用多播路由协议
R1(config)#interface fastEthernet /
R1(config-if)#ip pim dense-mode //接口为密集模式
R1(config-if)#exit
R1(config)#interface serial /
R1(config-if)#ip pim dense-mode //接口为密集模式
R1(config-if)#exit

  ②查看R2多播路由表

R2#show ip mroute
(192.168.10.30, 239.192.2.67), ::/::, flags: T //多播路由
Incoming interface: Serial2/, RPF nbr 172.16.0.1 //R2要请求239.192.2.67多播数据流,就要找172.16.0.1
Outgoing interface list:
FastEthernet0/, Forward/Dense, ::/::

  ③查看接口绑定的组播地址

R2#show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter Group Accounted
239.255.255.250 FastEthernet0/ :: :: 192.168.80.50
239.192.2.67 FastEthernet0/ :: :: 192.168.80.50 //流媒体多播组(IP:239.192.2.67),接收者192.168.80.50
224.0.1.40 FastEthernet0/ :: :: 192.168.80.10

  ④查看启用IGMP协议的接口

R2#show ip igmp interface //本例中会fast0/0和serial2/0接口的启用IGMP的信息

  ⑤查看IGMP协议工作过程、主机加入和离开组播的报告

R2#debug ip igmp  //查看
R2#undebug all //取消

第7章 网络层协议(4)_IGMP协议的更多相关文章

  1. 《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  2. 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)

    一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端   24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器    想体验服务的时候 ...

  4. 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识

    第33章      SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...

  5. 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识

    第25章      DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...

  6. (71)一篇文章带你熟悉HTTP协议

    作者:涤生_Woo链接:http://www.jianshu.com/p/6e9e4156ece3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本篇文章篇幅比较长,先 ...

  7. 第一篇 网站基础知识 第5章 自己动手实现HTTP协议

    第5章 自己动手实现HTTP协议 我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在第4章NioServer的基础上自己做一 ...

  8. 第五章Web应用与应用层协议

    Web应用与应用层协议 本篇博文中的主要参考文献是<计算机网络高级教程>,分别是吴功宜老先生和吴英教授合著.这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容 ...

  9. 【知识强化】第四章 网络层 4.3 IP

    这节课我们来学习一下IP数据报的格式.那之所以把路由算法这一小节跳过呢,就是因为我们之后会要讲到路由的选择协议.那在路由选择协议这一块讲路由算法,我觉得是比较合适的.那我们先来看一下这节课要讲的知识. ...

  10. TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

随机推荐

  1. DevExpress控件使用方法:第一篇 gridControl详解

    GridControl (1)层次设计器 有五种视图模式,banded gridview多行表头,数据还是一行一组,最靠近数据的表头与数据一一对应:advanced banded gridview多行 ...

  2. 决策树原理实例(python代码实现)

    决策数(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种.看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉“亲切”许多. ...

  3. laravel 事务处理

    //開啟事務 DB::beginTransaction(); try { //賬號密碼同步到後台登錄表 $user = new \App\Models\User; $user->name = $ ...

  4. 深入理解ASP.NET MVC(5)

    系列目录 回顾 系列的前4节深入剖析了ASP.NET URL路由机制,以及MVC在此基础上是如何实现Areas机制的,同时涉及到inbound和outbound很多细节部分.第2节中提到MvcRout ...

  5. Oracle存储过程和自定义函数笔记

    学习地址:https://www.imooc.com/learn/370 存储过程和存储函数定义:指存储在数据库中供所有用户程序调用的子程序叫做存储过程 .存储函数. 相同点:完成特定功能的程序.区别 ...

  6. 代码编辑器之sublime text插件

    sublimetext 学习资源:http://www.jianshu.com/p/d1b9a64e2e37 Sublime SFTP CTags – 让Sublime Text支持CTags. Si ...

  7. Delphi:窗体的扩展样式GWL_EXSTYLE用于SetWindowLong

    SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_ ...

  8. C#中全局处理异常方式

    using System; using System.Configuration; using System.Text; using System.Windows.Forms; using ZB.Qu ...

  9. WPF Demo19 命令、UC

    命令系统的基本元素和关系WPF命令系统的组成要素:A.命令(command):WPF命令实际上就是实习了ICommand接口的类.平时使用最多的就是RoutedCommand类.B.命令源(comma ...

  10. ipconfig/all详解

    Ipconfig/all(win+R-->cmd-->ipconfig/all)最常用的就是显示自己主机的ip了,可以让我们了解自己的计算机是否成功的租用到一个IP地址.但是ipconfi ...