因特网组管理协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章因特网组管理协议(IGMP)2§7-1引言IP通信可用到两种类型的通信中:单播和多播。单播是在一个发送器和一个接收器之间的通信。它是一对一的通信。多播是一个发送器将同样的报文同时发送给大量的接收器。是一对多的通信。IP编址方法支持多播。以1110开始的32位地址是多播地址。多播地址只能用作目的地址。多播地址也叫做groupid。3硬件广播许多硬件技术都包含同步(或接近同步)向多个目的站发送分组的机制。广播交付意味着网络向每个目的站交付一个分组的副本,其实现方式并不一样•类似以太网的总线技术•由交换机和点到点连接构成的网络中。广播地址(BroadcastAddress),在大多数硬件技术中采用保留地址中的特殊地址。广播的主要缺点是对资源的消耗,除了使用网络带宽外,还消耗所有计算机上的计算资源。所以,TCP/IP使用单播选路和类似ARP的地址绑定机制来消除广播交付。4组播的硬件起源组播(multicasting)是一种多点交付,允许每个系统选择是否参与组播。地址机制保留有较大数目的组播地址,参加组播的站点选择一个特定的组播地址用于通信。配置好网络接口硬件后,现在站点将可以识别和接收:–单播、广播、和多播分组。5从概念层次看,单播和广播都可以看作组播的特殊形式。但是,尽管组播具有明显的一般性,也不能替代传输的常规形式。因为实现转发和交付的底层硬件有根本的差别:–单播和广播根据网络拓扑结构进行转发。–组播必须转发给所有网络段。6以太网组播以太网提供了硬件组播的最好的实例:以太网地址用G/L位(高位八位组的地位比特)区别常规单播地址(置0)和组播地址(置1)。点分十六进制表示为:–01.00.00.00.00.00以太网接口板初始化后,可接收单播和广播地址。使用设备驱动程序软件后进行重新配置后,可以识别一个或多个组播地址。7IP组播IP组播(IPmulticasting)是对硬件组播的互联网抽象。IP组播允许到一系列计算机子集的传输,这些子集被允许跨越互联网上任意物理网络,在IP术语中,称为组播群(multicastinggroup)。IP组播具有下列一般特性:–群组地址(D类地址,由Internet管理机构分配,永久、临时)–群组数(228实际受选路表大小,而非编制约束)–动态组播成员(任意加入和退出群组,加入任意多个群组)–硬件的使用(若底层不支持硬件组播,则用广播或单播来交付)–网络间转发(因群组跨越网络,需要组播路由器)–交付机制(与IP数据报交付使用相同的尽最大努力交付机制)–成员和传输(任意主机可向任意群组发送,群组只确定接收)8概念性组成部分一般的目的互联网组播系统需要三个概念性组成部分:1.组播编址方法2.有效的通知和交付机制3.有效的网络间转发工具9IP组播地址永久地址:又称为熟知的(well-known),用于Internet上的主要服务以及基础结构维护(例如,组播选路协议)临时地址:又称为瞬变的(transientmulticastgroup),需要时创建,群组成员为0时丢弃。考虑两个相互冲突的目标:–允许分配地址时的本地自治,同时定义具有全局含义的地址IP组播使用数据报目的地址来规定数据报为组播交付,采用D类地址:•1110+群组标识•224.0.0.0~239.255.255.25510两个重要的通常用于控制协议,而非数据传交付的永久组播地址:224.0.0.1永久分配给全系统群组(allsystemgroup)224.0.0.2永久分配给全路由器群组(allroutersgroup)11组播地址机制IP组播地址不能用作源地址,不能出现在源路由或记录路由选项中。不会生成关于组播数据报的ICMP差错报文。如发往组播地址的Ping得不到回答。组播使用TTL字段限制数据传播。12IP组播映射到以太网组播IP组播标准并没覆盖所有类型的网络硬件,但能映射到以太网组播地址上。–将IP组播地址的低23位放到特殊的以太网组播地址01.00.5E.00.00.0016的低23比特上。这种映射并不唯一,因为IP组播地址有28个有效比特用来表示组播群组,可能有多个群组同时映射到一个以太网组播地址。所以主机可能接收到目的不是本机的某些组播数据报,因此IP软件必须检查所有到达的数据报的地址。13主机和组播交付IP组播可用在单个物理网络上,也可在互联网上。在单个物理网络上,主机直接把数据报放在一帧中并使用接收方在监听的组播地址,发送给目的主机。在互联网上,组播路由器负责在网络间转发组播数据报。主机把组播数据报转发给组播路由器,使用本地网络硬件的组播能力,而非单播、广播时所用选路技术。组播路由器监听所有IP组播,根据需要转发。所以,本地组播和非本地组播的主要区别在于组播路由器,而不在主机。14组播作用域组播群组的作用域(scope)指群组成员的范围。–如果群组成员全部在同一物理网络内,认为作用域限制在一个网络内。类似,若在同一机构内,认为作用域限制在一个机构内。除了群组作用域,每个组播数据报也有一个作用域,定义为某数据报传播通过的网络集合。数据报的作用域称为它的范围(range)。15IP使用两种技术限制组播作用域:–TTL字段控制范围–管理辖区(administrativescoping)如限制同一网络内主机和路由器通信的控制报文在本网络内,可设置TTL=1;同一主机内的两进程使用IP组播进行处理器间的通信,可设置TTL=0;路由器厂商配置本地网点的路由器以限制TTL15的数据报。管理辖区,用于控制辖区,地址空间包括用于某网点的或用于某机构的本地群组的部分。–239.192.0.0~239.251.255.255作用域限制在一个机构内–239.252.0.0~239.255.255.255作用域限制在一个网点内16把主机软件扩展为可处理组播参与IP组播的主机可具有以下所示三种级别中的一种:–级别含义–0主机不能发送也不能接收IP组播–1主机能发送但不能接收IP组播–2主机能发送和接收IP组播改进为能发送:使主机IP软件允许应用程序指定组播地址为目的地址,网络接口软件能把组播地址映射为相应的硬件组播地址(若硬件不支持组播,就使用广播技术)17改进为能接收:–IP软件必须有一个API,允许应用程序声明加入或退出某个组播群组。–如果有多个应用程序加入同一群组,则IP软件必须为每个应用程序传送一份收到的发往该群组的数据报。–如果所有应用程序退出该群组,主机必须记住不再参与该群组工作。–主机必须运行一个协议(IGMP),把自己的群组成员状态通知给本地组播路由器。18Internet群组管理协议IGMP的工作分为两个阶段:1.当主机加入一个新的组播群组时,发送一个IGMP报文给群组的组播地址,宣布其成员。本地组播路由器接收到这个报文后,向互联网上其它组播路由器传播找个群组成员信息,以建立必要的路由。2.为适应动态的成员,本地组播路由器周期性的轮询本地网络上的主机,以便确定现在各个群组中有哪些主机。如经过若干次轮询后,某个群组中始终没有成员,组播路由器则认为该群组中不再有本网络中的主机,于是停止向其它组播路由器通告该群组的成员信息。19IGMP的实现1.主机与组播路由器之间的所有通信都使用IP组播。–携带ICMP报文的数据报在传输过程中尽量利用硬件的组播能力。在支持硬件组播的网络上,不参与IP组播的主机就不会收到ICMP报文。2.当轮询确定群组成员时,组播路由器不会为每个群组发送单独报文,而是发送单个查询请求得到关于所有群组的信息。默认的轮询间隔是125秒。3.如果多个组播路由器连接在同一网络,它们会迅速而有效的选择一个路由器轮询主机成员。204.主机不会同时响应路由器的ICMP查询,每个查询包含一个N值,指定了最大响应时间(默认值是10秒)。当查询到达时,主机选择一个0至N之间的随机时延,在这个时延之后发送响应报文。–实际上如果某个主机时多个群组的成员,就会为每个群组选择不同的随机响应时延,这样,主机对路由起的响应就会在10秒内随机分布。5.每台主机监听群组中其它主机的响应,并抑止那些不必要的通信量。–因为发送到全系统地址的查询到达每个群组成员,每个主机随机响应。实际上,只有最小时延的那台主机用群组的组播地址响应,其它成员收到副本,取消定时器并抑止传输。–组播路由器不需要保留群组的确切记录,只需要知道网络中是否有一台主机是群组的成员。21群组成员状态的转换ICMP必须记住主机所属的每个组播群组的状态。主机保留一个记录群组成员信息的表。每当一个应用程序加入一个新的群组,ICMP软件就为之分配一项并填入关于该群组的信息。在这些信息中,维护着一个群组参照计数器(groupreferencecounter),其初始值为1。–每当新应用程序加入群组,就把相应项的计数器加1。反之,如果一个应用程序退出一个群组,则减1。–当计数器为1时,主机通知组播路由器它将退出该群组。22§7-2IGMPIGMPInternetGroupManagementProtocol(因特网组管理协议)设计IGMP是为了帮助多播路由器识别在局域网上的一些主机,而这些主机是一个多播组的成员。IGMP和IP协议配合使用。23IGMP报文IGMP报文的类型ICMP有两种类型的报文:报告和查询。报告报文是从主机发送到路由器。查询报文是从路由器发送到主机。ReportQuery24IGMP报文格式版本(1)类型未使用检验和在报告中的组地址,在查询中是全08bits8bits16bits类型:查询(1)报告(2)25IGMP报文格式中各字段说明:版本:4比特字段。定义了协议的版本,现在是版本1。类型:4比特字段。定义了报文的类型。1是查询报文,2是报告报文。检验和:16比特字段。组地址:定义了在报告报文中的组地址,在查询报文中这个字段填入0。26组播转发和选路信息前面描述的IGMP和组播编址方法指定了主机怎样和本地路由器交互,如何通过单个网络传送组播数据报,但没有指定路由器怎样交换群组成员信息,或者怎样确保每个数据报的副本能够到达所有群组成员。现在没有同一的标准协议来传播组播选路信息。组播选路比较复杂和困难,它与常规选路在基本方法上是不同的。在下图简单的网络拓扑结构中,存在与常规选路的差异。27网络3R网络1网络2ABCDEFG281.对动态选路的需求–在单播选路中,只有当拓扑结构改变或设备出故障时才会发生路由改变,而组播路由则不同,应用程序加入或者退出一个组播群组就会发生组播路由的改变。•例如,网络2有一个主机加入组播群组“×”,则路由器R要把网络2包括进去。然而开始时,到“×”的组播不会传播到网络2中去。2.目的选路的不足之处–组播转发需要路由器检查多个目的地址。•例如,在上图中路由器R到任一群组的转发有三种动作。3.任意发送方–组播数据报可以从非组播群组成员的计算机上发起,并且可以路由通过没有任何组播成员的网络。29基本组播选路组播路由器使用多个目的地址转发数据报,因此产生一个问题,“决定如何转发数据报时,组播路由器到底使用什么信息呢?”组播路由器必须依靠数据报的源地址。反向路径转发RPF(ReversePathForwarding),使用数据报的源地址来避免数据报反复通过一个环路。–组播路由器有一个常规选路表,其中有到每个目的站的最短路径–当数据报到达时,路由器提取出源地址–在本地选路表中查找出I,I是对应源地址的接口–如果数据报是通过接口I到达的,路由器就给其它接口转发一份副本,否则就丢弃30优点:RPF基本方法能够保证组播群组中的每个成员都能接收组播数据报。缺点:RPF浪费了没有群组成员的网络的带宽。为了避免传输不需要的组播数据报,引进了RPF的修改版本,称为截尾反向路径转发TRPF(TruncatedReversePathForwarding)或截尾反向路径广播TRPB(Truncate

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功