您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > TCPIP协议第11章IP组播
第11章IP组播11.1IP组播概念11.2IP组播模型★11.3Internet组管理协议(IGMP)★11.4组播路由11.5组播路由协议★1988年Deering提出在IP层引入组播功能机制的体系结构,称之为IP组播。IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送。11.1IP组播概念传统的IP通信有两种方式:单播unicast——在一台源IP主机和一台目的IP主机之间进行。广播broadcast——在一台源IP主机和网络中所有其它的IP主机之间进行。考虑将信息发送给网络中的多个主机而非所有主机的情形,根据上述两种通信方式:1.采用广播方式,这种方法不仅会将信息发送给不需要的主机而浪费带宽,也可能由于路由回环引起严重的广播风暴。2.采用单播方式,源主机分别向那些多个主机以单播方式发送IP包,但IP包的重复发送会浪费掉大量带宽,也增加了网络服务设备的负载。问题:无论采用广播方式还是单播方式,都不能有效地解决单点发送多点接收的问题。IP组播:源主机只发送一份数据,这份数据中的目的地址为组播组地址(D类地址)。组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的目标主机可以接收该数据。S1,G1S1,G1S1,G1S1,G1S1,G1S1G1G1,S1G1,S1G1,S1G1G1G1S1,G1IP组播的主要优点:1.降低主机和CPU负荷,增强网络效率;2.控制网络流量,消除流量冗余,优化网络性能;3.支持分布式应用。•应用的实例包括:视频会议、共享公告板、“推送”技术(例如广告和信息订阅等)、远程学习、财务数据发布、服务器复制、分布式数据库等等。返回11.2IP组播模型标准IP组播模型定义了主机组和IP组播路由应有的功能机制,以及为上层服务的组播业务形式。•主机组(hostgroup)是IP组播模型的核心。主机组由多个主机组成,其中,源主机构造以一个D类IP地址(即IP组播地址)为目的地址的数据包,以IP数据报尽力而为方式转发到对应主机组的各个主机。D类的地址空间是专为IP组播组地址而定义的。每个组播组地址都落在从224.0.0.0到239.255.255.255的空间范围内。这个地址空间中的一部分地址被保留,被某些特殊的组功能、一些人们熟知的组播应用以及某些管理范畴的组播程序所使用。其余的地址部分可以在需要进行组播传送的时候动态分配。(224.0.0.1该子网内所有系统组;224.0.0.2该子网内所有路由组;224.0.0.9RIPv2)如果主机组所在网络是以太网、类似根据IEEE802.2标准实现的环形网和总线网,它们都直接支持组播,可以直接处理组播。•以太网支持IP组播地址到以太网组播地址的映射,映射方法:将IP组播地址的低23位代替特定的以太网地址01.00.5e.00.00.00(16进制)中的低23位。例如:IP组播地址224.66.60.89(其2进制为:11100000.01000010.00111100.01011001)映射到以太网的地址为:01.00.5e.42.3c.59(16进制)。•按此规则,IP组播地址范围为224.0.0.0~239.255.255.255,映射到以太网组播地址为01.00.5E.00.00.00~01.00.5E.7F.FF.FF。多对一映射•如果主机组所在网络支持网络广播而不支持组播的网络,则将IP组播地址简单映射为本地广播地址。•同一般路由器一样,组播路由器的作用是组播数据的寻路和转发控制,这类路由器及链路在网络中形成了一个控制组播数据传送的逻辑结构,称为组播传递结构(deliverystructure),这种结构一般是树形的结构,称为传递树。IP组播模型如图12-2所示。发送者路由器3路由器1路由器2路由器5接收者图12-2IP组播模型接收者路由器6组播路由协议组成员管理协议在IP组播模型中:1)若干个接收者构成一个主机组,并定义一个组地址,每个组地址代表发送者与接收者之间的一个会话(session)。2)主机组中的主机可以采用系统所定义的组播地址告诉其所在组播路由器,实现加入(退出)某个组播组。3)由组播路径上的路由器建立一棵从发送者为根的组播传递树,传递树延伸到所有的、其中至少有一个组播组成员的网络中。4)发送者使用组播组地址发送以相应组播组地址为其目的地址的单个IP分组。返回11.3Internet组管理协议(IGMP)•按照协议的作用范围,组播协议分为主机-路由器之间的组管理协议,以及路由器-路由器之间的各种组播路由协议。•Internet组管理协议(IGMP)在RFC1112中定义。RFC2236定义了IGMP版本2,它引入了一些增强的新功能来提高IGMP的效率。•主机使用组播地址发送IGMP消息通知本地的边缘组播路由器想加入的组,组播路由器通过IGMP协议来维护一个组播成员列表,并且定期发送“成员询问”消息以确认各个成员是否仍然存在。1.IGMP报文IGMP是IP层的一部分。IGMP报文通过IP数据报进行传输。IGMP报文长度固定,没有可选项。图12-3显示了IGMP报文如何封装在IP数据报中。IP首部中协议字段值为2表示所携带的是IGMP报文。IP首部IGMP报文20字节8字节IGMP类型最大响应时间校验和8163132位组播地址特殊查询和离开报告这两个报文是IGMPv2新加的报文。这两条报文可以使组播查询者能够查询任何一个属于某特定组播组的主机,并且可使主机能够立即离开一个指定的组播组而不需要等待一个超时时间,也就降低了脱离延迟。IGMP报文成员报告离开报告查询一般查询特殊查询IGMP类型:0x11一般或特殊查询;0x16成员报告;0x17离开报告。最大响应时间:只用于成员查询报文,它规定了发送一个响应报文的最大的允许时间,以1/10秒为单位。校验和:为了计算校验和,该字段首先应该清0。组播地址:在一个成员查询报文中,当发送一个普通查询时该字段置0,当发送特定组查询时,该字段置为要查的组地址。在成员报告或离开组报文中,该字段保留了被报告或离开的IP组播地址。2.IGMP协议工作过程1)加入组播组•运行IGMP的路由器为其直接连接的主机申请组成员资格,主机也可以用来通知其直接连接且支持组播的路由器,表示该主机希望接收地址为某个特定组播组地址的IP分组。•路由器通过IGMP查询和报告报文,对每个接口维护一个表,表中记录接口上相关主机的组播组信息。•加入组播组就是一个进程在该主机的给定接口上同某组播组相关,给定接口上的组播组中的成员主机是动态的。2)IGMP报告和查询路由器首先利用一个可寻址到所有主机的组地址(即224.0.0.1)发送一条IGMP主机成员资格查询(IGMPHostMembershipQuery)报文。组播路由器主机1主机2主机31#组1#组,2#组子网组成员资格查询主机报告1#组主机报告2#组若一个主机希望加入某个组播组,它就利用该组播组的组地址回应一条IGMP主机成员资格报告报文。在前面的例子中,1号主机利用主机成员资格报告报文回应了查询报文,并指明它属于“1号组”。3号主机用同样方式指明它属于“2号组”。每个组播组路由器只需要接收一条主机成员资格报告。一种消息抑制算法可以防止相同子网上在已经有主机发送的情况下其他主机再次发送某特定组的主机成员资格报告,它采用随机的延迟防止了来自同一个组播组的重复的成员资格报告把LAN和路由器的接口淹没。3.改善IGMP实现的技术•具体实现IGMP协议时,有许多实现改善该协议效率的技术。主机发送IGMP报文间隔在为0-10秒范围内随机选择。主机对路由器IGMP查询报文并不立即响应,也是经过一定的时间间隔后才发出,这样可以减少响应报文,减轻网络负荷。返回11.4组播路由•组播源向组播组发送数据包,组播路由器必须将组播数据包转发到多个外部接口上,以便处于不同组播组的成员都能接收到各自的数据包。组播目标:1.每个组成员应该收到一个且仅一个组播包的拷贝。2.非组成员收不到组播包的拷贝。3.组播路由中不应存在环路。4.从源到目的地的路径应该最优(最短路径)。生成树(SpanningTree):通常是以源为根以组成员为叶子的树。最短路径生成树。用于组播的树通常有两种:1.基于源的树每个组中的每个源对应一棵树。源和组的组合决定了生成树的个数。若有N个组,每个组有M个不同的源,则对应有N×M棵生成树。(M1+M2+…+MN)当一个源发送一个组播包到225.80.18.35,然后再发送一个组播包到229.10.9.23时。将形成两棵以同一源为根的不同的树。采用基于源的方法的协议有:–DVMRP(距离向量组播路由协议)–MOSPF(OSPF的扩展)–PIM-DM(协议无关组播-密集模式)。2.组共享树组共享树是组中所有成员所共享的生成树。组决定了生成树。组中的一个路由器被选作聚合点/核心点,以此路由器为根,其它组成员为叶构成全组共享的生成树。(不同源相同组)若有N个组,则对应有N棵生成树。(与每个组中的成员无关)采用基于组共享树方法的协议有:–CBT(基于核心的树)–PIM-SM(协议无关组播-稀疏模式)。返回11.5组播路由协议•组播路由协议的主要任务就是构造组播的分布树,使组播分组能够传送到相应的组播组成员。组播路由协议基于源的树组共享树DVMRPMOSPFPIM-DMPIM-SMCBTPIM11.5.1距离向量组播路由协议DVMRP距离向量组播路由协议DVMRP是基于源的路由协议。是DVRP用于组播的扩展。在DVRP中,每个路由器并不知道最短路径树的情况,但知道去往某目的地的最佳接口。路由是在包的传递过程中逐步形成的。在DVMRP中,最优树也是在包的转发过程中逐步形成的。(一个路由器可能向多个接口转发)协议必须保证:–避免形成环路–避免重复包–路径最短–支持动态组成员⑴反向通路转发(RPF)反向通路转发(RPF)是泛洪方式的改进。在RPF中,路由器只转发来自从源到此路由器的最短路径的包。其它包丢弃。注意:RPF也是基于DVRP路由表,而路由表中的信息是目的地和接口,组播中只知道源地址。(方法:将源地址作为目的地址处理)RPF避免了环路。最短路径非最短路径转发不转发RPF算法十分简单:当一个组播分组到达路由器的一个接口时,如果这个接口是用于向发送者发送单播分组的接口,那么就把这个组播分组转发到所有其他的接口上。否则,丢弃该分组。例:一个组播路由器的路由表如下,若该路由器从接口2接收到一个源地址为198.134.5.22,目的地址为225.35.56.7的包,它是将其转发还是丢弃?目的接口111.0.0.01169.23.0.02198.134.5.03问题:虽然RPF避免了环路,但路由器会收到重复包。原因:基于源地址(2)反向通路广播(RPB)。反向通路广播(RPB)保证每个网络只收到组播包的一个拷贝。产生一个最短路径广播树。方法:解决一个路由器有多个父节点的问题。对于特定的源,路由器只接收指定父路由器来的组播包。网络2网络1RPF网络3网络2网络1RPB网络3问题:泛洪广播,没有组成员的网络也会收到组播包。原因:产生树时没有考虑组成员问题。(3)反向通路组播(RPM)。反向通路组播(RPM)保证组播包只到达包含活动组成员的网络。反向通路组播对RPB增加了修剪和嫁接操作使得能够产生支持动态组成员变化的最短路径树。修剪(Pruning)利用IGMP协议,当路由器发现它所连接的网络中没有组成员时,便向上游路由器(向树根方向)发修剪消息,上游路由器将该路由器从树中修剪掉。当路由器发现它所连接的树的分枝中没有组成员时,也作同样的操作。嫁接(Grafting)当路由器发出了修剪消息后,又发现它所连接的网络中有成员希望接收组播包时,路由器会发送嫁接消息,使网络能够重新接收到上游路由器的组播包。网络2网络3网络1网络2网络3网络1网络2网络3网络1网络2网络3网络1RPFRPBRPM(修剪后)RPM(嫁接后)11.5.2开放式组播最短路径优先协议MOSPF开放式组播最
本文标题:TCPIP协议第11章IP组播
链接地址:https://www.777doc.com/doc-2851558 .html