组播和IGMP协议ppt课件
- 格式:ppt
- 大小:191.50 KB
- 文档页数:28
学习目标:*理解组播的概念及技术*掌握IGMP协议及配置*掌握PIM协议及配置为什么要强调组播,因为在现实情况中,越来越多的一些应用都是基于一个特定群组。
这里要注意的是它不是全部用户,而是特定组,一组用户,这些特定群组的应用包括多媒体会议、数据群发、游戏、视频点播等,在这种情况下,如果使用以前所说的单播也好,广播也好,都不符合实际应用的情况,不管是单播还是广播都会大大的增加网络冗余的一些数据流量,为了实现这么一个特定群组的服务,最好的方式就是根据实际情况将应用的成员划分到一个群组里面,而数据的分发仅限于群组内部,这样就可以以尽可能少的数据流来实现群组的应用,这就是我们所说的组播技术。
组播的定义:组播是介于单播和广播之间的一种通讯方式,是主机向一组主机发送信息,这一组主机可以是全部主机也可以不是全部主机,主要看是否所有主机都需要接收这组信息,存在于某个组的所有主机都可以接收到组发送的信息,是一种点到多点的通讯方式,单播是点到点,广播是点到所有点,所以这三者是有区别的。
从这个意义上来说呢,可以这样认为:广播是一个最大化的组播。
当然两者还是有区别的,路由器在处理这两种数据包的处理方式是不同的,广播是不会被路由器所转发的,但是组播是可以穿越不同的网段。
另外广播发出后主机是被默认为是接收者,组播不一样,组播我发不发给你,你能不能去收,是需要看用户有没有一个加入行为,你要加入这个组才能接收这个组的信息。
单播与组播实现点对多点传输的比较:在没实现组播之前,我们是采用单播或者广播来实现,单播可以通过建立多个点到点的连接来实现点到多点的传输,这样的话,在中间节点的路由器,在针对单播传输的时候,都要维持一个会话,当然也就需要占用一份带宽,也就是说从发送方开始,就有多份数据发向不同的接收点,这种方式最大的网络负荷在服务器端,它增大了对服务器性能的要求,同时还会在网络中造成非常大的流量,从而增加了网络的负载。
那么如果我们采用广播的花会有什么问题呢,广播在通讯的时候有个特性,它只在有分叉的时候才会被复制并传输,但是广播缺省认为所有终端都要接收这个数据,这就会造成某个用户根本就不需要这个数据流,但是通过广播发送的数据流还是会转发一份给他,那么这也就浪费了有关的带宽。
组播(⼆)---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协议1 IGMP概述简介IGMP(Internet Group Management Protocol,互联网组管理协议)是TCP/IP协议族中负责IPv4组播成员管理的协议。
IGMP用来在接收者主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系。
IGMP通过在接收者主机和组播路由器之间交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。
协议号2,TTL字段为1.目的IP组播通信的特点是报文从一个源发出,被转发到一组特定的接收者。
在组播通信模型中: * 发送者不关注接收者的位置信息,只是将数据发送到约定的目的组播地址。
* 接受者不受限制地加入组播组,只需要控制加入与退出。
* 组播路由器不需要保存加入的主机,保存组播网段信息。
IGMP是用来在接收者主机和与其所在网段直接相邻的组播路由器之间建立、维护组播组成员关系的协议。
组成员关系建立过程•接收者向共享网络报告组播的成员关系。
•处于同一网段的能使用IGMP功能的路由器选举查询器,查询器周期性地向共享网段发送组播成员查询消息。
•主机接收到该查询消息后进行响应,报告组成员关系。
•查询器接收的响应刷新组成员的存在信息。
查询器通过IGMP了解每个接口连接的网段上是否存在某个组播组的接收者。
2.1 IGMPv1报文ICMPv1报文类型•成员关系查询报文(General Query):查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。
•成员关系报告报文(Report):主机向查询器发送的报告报文,用于申请加入某个组播组或者应答查询报文。
IGMPv1报文格式字段说明Version IGMP版本,值为1。
Type 报文类型。
该字段有以下两种取值:0x11:表示成员关系查询报文。
0x12:表示成员关系报告报文。
Unused 在IGMPv1中,该字段在发送时被设为0,并在接收时被忽略。
Checksum IGMP报文的校验和。