1、TCP/IP协议分析IPv4支持单播、多播和广播方式三种类型IPv6 支持单播(Unicast)、多播(Multicast)以及任意播(Anycast)三种类型没有统一的定义,但是它是一种新的网络应用,它能够支持把同样的地址可以分配给多个节点去提供特定服务的地址,发送给任播地址的分组最终只交付到惟一的接口,该接口与源站在路由距离上最近。单播单播:每个数据报使用唯一的每个数据报使用唯一的IPIP地址,一次只给一个节点传送地址,一次只给一个节点传送单目标广播服务单目标广播服务:把相同的信息传输给把相同的信息传输给N N个目标站点,须传输个目标站点,须传输N N个拷贝,即要传输个拷贝,即要传输N N
2、次。次。缺点:浪费链路带宽,在链路上要传送多个相同的拷贝缺点:浪费链路带宽,在链路上要传送多个相同的拷贝 大大地加重了服务器的负担大大地加重了服务器的负担 把消息一次性地同时传输给把消息一次性地同时传输给N N个目标站点个目标站点,叫做多播。,叫做多播。特点:特点:实现了真正的分布式实现了真正的分布式信息传输服务信息传输服务大大减轻网络上出现的拥挤和服务器的负担大大减轻网络上出现的拥挤和服务器的负担可用于声音和影视的实时广播,例如,因特网电话会议,因可用于声音和影视的实时广播,例如,因特网电话会议,因特网电视会议特网电视会议IPIP多播路由协议比较多播路由协议比较好地满足了在好地满足了在IPI
3、P网络上网络上实现多播的实现多播的功能功能效率效率多播比单播更加有效多播比单播更加有效 减少网络传输开销减少网络传输开销 降低网络带宽使用量降低网络带宽使用量时延时延多播比单播具有更小的时延多播比单播具有更小的时延 减少接收者观测到的延迟,群组成员越多,优势越明显。减少接收者观测到的延迟,群组成员越多,优势越明显。可扩展性可扩展性发送者将数据一次发送给无限个接收者。发送者将数据一次发送给无限个接收者。硬件多播:硬件多播:在物理网络上实现的多播。有一个限制条件,就在物理网络上实现的多播。有一个限制条件,就是这一组站点只能在同一个物理网络是这一组站点只能在同一个物理网络(网段网段)上。路由器隔离了
4、上。路由器隔离了硬件多播和广播。硬件多播和广播。如:以太多播。在以太网中,一台硬件地址的一半保留用于硬件多播,使如:以太多播。在以太网中,一台硬件地址的一半保留用于硬件多播,使用高位字节中的最低位来区别单播地址(置用高位字节中的最低位来区别单播地址(置0 0)和多播地址(置)和多播地址(置1 1)。)。01.00.5e.00.00.0001.00.5e.ff.ff.ff 01.00.5e.00.00.0001.00.5e.ff.ff.ff IPIP多播:多播:是对硬件多播的推广。最主要的区别在于该组目的站是对硬件多播的推广。最主要的区别在于该组目的站可以位于互联网上的任意物理网络上,这一组目的
5、站称为多播可以位于互联网上的任意物理网络上,这一组目的站称为多播群组群组(multicast group)(multicast group),或简称群组。,或简称群组。IPIP多播要解决的问题多播要解决的问题 1 1、多播编址、多播编址除了给群组提供足够的地址之外,除了给群组提供足够的地址之外,IPIP多播编址还必须满足:可以在本多播编址还必须满足:可以在本地网络分配群组地址,同时该地址又能在全互联网中使用。地网络分配群组地址,同时该地址又能在全互联网中使用。2 2、有效的通知和交付机制、有效的通知和交付机制需要解决站点如何发送和接收需要解决站点如何发送和接收IPIP多播分组的问题,即站点需要
6、一种通多播分组的问题,即站点需要一种通知机制把自己参与的群组知机制把自己参与的群组通知通知给路由器,路由器需要一种交付机制把给路由器,路由器需要一种交付机制把IPIP多播分组多播分组传输传输给站点。另外,应尽量有效利用硬件多播,同时也允给站点。另外,应尽量有效利用硬件多播,同时也允许许IPIP多播能够在不支持硬件多播的网络上交付。多播能够在不支持硬件多播的网络上交付。3 3、有效的网间转发机制(多播路由选择协议)、有效的网间转发机制(多播路由选择协议)多播路由选择协议应该能够沿着最短路径路由多播分组,而不应该沿多播路由选择协议应该能够沿着最短路径路由多播分组,而不应该沿无法到达群组成员的路径发
7、送多播分组,并且应该允许站点在任何时无法到达群组成员的路径发送多播分组,并且应该允许站点在任何时刻参加或退出群组。刻参加或退出群组。1、IP多播地址格式 使用多播目的地址:1110群组标识0 8 16 24 312 2、编址机制、编址机制(1 1)地址分两类:)地址分两类:永久分配地址:用于互联网上的主要服务以及基础结构维护永久分配地址:用于互联网上的主要服务以及基础结构维护(如多播路由协议)。(如多播路由协议)。临时分配地址:对应于临时群组,需要使用时创建,群组成临时分配地址:对应于临时群组,需要使用时创建,群组成员为零时则丢弃。员为零时则丢弃。(2 2)每个多播群组对应一个唯一的)每个多播
8、群组对应一个唯一的D D类地址类地址(3 3)地址没有结构,也没有管理信息)地址没有结构,也没有管理信息(4 4)多播地址只能用作目的地址)多播地址只能用作目的地址多播IP地址:多播地址范围224.0.0.0224.0.0.0239.255.255.255239.255.255.255224.0.0.1224.0.0.1永久分配给一个物理子网上包含所有主机和永久分配给一个物理子网上包含所有主机和路由器的群组。路由器的群组。224.0.0.2224.0.0.2永久分配给一个物理子网上包含所有路由器永久分配给一个物理子网上包含所有路由器的群组。的群组。此两组用于控制协议,不用于通常的分组交付。此两
9、组用于控制协议,不用于通常的分组交付。多播MAC地址:以太网:以太网:01.00.5E.00.00.00-01.00.5E.FF.FF.FF01.00.5E.00.00.00-01.00.5E.FF.FF.FF多播路由器支持。多播路由器支持。转发转发IPIP多播分组需要特殊的多播路由器多播分组需要特殊的多播路由器群组地址。群组地址。IPIP最多可提供最多可提供2 22828个个多播地址。多播地址。动态群组成员。动态群组成员。群组成员是动态的,可随时加入或离开群组成员是动态的,可随时加入或离开 成员和传输。成员和传输。任意站点都可以向任何群组发送任意站点都可以向任何群组发送IPIP分组,群分组,
10、群组成员只用于确定站点是否接收发往群组的组成员只用于确定站点是否接收发往群组的IPIP分组。分组。交付机制。交付机制。IPIP多播与其它多播与其它IPIP分组交付使用同样的尽最大努分组交付使用同样的尽最大努力交付机制。力交付机制。底层硬件使用底层硬件使用。如果底层网络支持硬件多播,则可以使用如果底层网络支持硬件多播,则可以使用硬件多播发送硬件多播发送IPIP多播。如果硬件不支持多播,则使用广播或多播。如果硬件不支持多播,则使用广播或单播来实现单播来实现IPIP多播。多播。任意主机可向任何群组发送数据任意主机可向任何群组发送数据 。当一个多播路由器收到一个当一个多播路由器收到一个D D类地址的类
11、地址的IPIP分组时,它就检查它分组时,它就检查它的表,寻找组地址的匹配。若找到,则将该分组封装成帧,并的表,寻找组地址的匹配。若找到,则将该分组封装成帧,并将它发送到目的站。为此,它需要物理地址。一般共有两种情将它发送到目的站。为此,它需要物理地址。一般共有两种情况:况:1 1)物理地址能够支持多播,)物理地址能够支持多播,2 2)不支持。)不支持。情况情况1 1:物理地址支持:物理地址支持如:如:IPIP多播地址到以太网多播地址的映射多播地址到以太网多播地址的映射以太网中前以太网中前2525位标识一个多播地址,剩下位标识一个多播地址,剩下2323位定义一个群组。位定义一个群组。将将IPIP
12、多播地址的低多播地址的低23bit23bit映射到以太多播地址的低映射到以太多播地址的低23bit23bit1110低23位083101011110低23位001.00.复制D类IP地址以太网地址u映射不唯一,可能32个多播组号被映射为一个以太网地址。u例如:多播地址224.128.64.32(十六进制e0.80.40.20)和224.0.64.32(十六进制e0.00.40.20)都映射为同一以太网地址01:00:5e:00:40:20。u解决:网卡驱动程序或IP层过滤。硬件多播地址:以太网硬件多播地址:以太网(1 1)单播:)单播:MACMAC地址地址(2 2)广播:)广播:4848位全位
13、全“1”1”(3 3)多播:)多播:01.00.5e.00.00.0001.00.5e.ff.ff.ff 01.00.5e.00.00.0001.00.5e.ff.ff.ff 6.2Internet6.2Internet组管理协议组管理协议IGMP是IP层的一部分。它和IP协议配合使用的。IGMPv2,支持特定组查询,为主流版本IGMPIGMP协议与其他协议在网络层中的位置关系协议与其他协议在网络层中的位置关系类型:类型:8bit8bit,定义报文类型。,定义报文类型。最长响应时间:最长响应时间:8bit8bit,定义查询必须在多长时间内回答。以,定义查询必须在多长时间内回答。以1/101/1
14、0秒秒为单位,在查询报告报文中,值不为为单位,在查询报告报文中,值不为0 0,其它两种报文中为,其它两种报文中为0.0.校验和:校验和:16bit16bit,检验和在,检验和在8B8B的报文上计算。的报文上计算。群组地址:群组地址:在一般查询报告报文中此字段值为在一般查询报告报文中此字段值为0 0,在特定查询报告,在特定查询报告报文、群组成员关系报告报文及退出报告报文中,定义群组地址报文、群组成员关系报告报文及退出报告报文中,定义群组地址类型最长响应时间校验和群组地址 IGMPIGMP报文在封装成报文在封装成IPIP数据报时,其协议值是数据报时,其协议值是2 2,TTL TTL的值的值必须置为
15、必须置为1 1。保证。保证IGMPIGMP报文不能发送到本网络外。报文不能发送到本网络外。查询查询报文是多播,使用多播地址报文是多播,使用多播地址224.0.0.1224.0.0.1。报告报文。报告报文也也是多是多播,使用的目的地址等于被报告的多播地址。这就保播,使用的目的地址等于被报告的多播地址。这就保证了对每一个网络的每一个组地址只产生一个证了对每一个网络的每一个组地址只产生一个报告。报告。1 1、加入一个群组:群组成员关系报告报文、加入一个群组:群组成员关系报告报文(类型(类型0 x160 x16)说明:说明:是主机上的某应用加入群组是主机上的某应用加入群组 (1 1)得知多播地址,进程
16、)得知多播地址,进程P P向群组向群组MGMG的的多播地址表的站点发送申请。多播地址表的站点发送申请。(2 2)站点检查群组成员关系表。)站点检查群组成员关系表。(3 3)若申请的群组在群组成员关系表)若申请的群组在群组成员关系表,则把,则把PMG加入站点的群组成员关系加入站点的群组成员关系表中。否则,执行(表中。否则,执行(4 4)。)。(4 4)站点发送群组成员关系报告。)站点发送群组成员关系报告。即此站点新增加的一个群组。即此站点新增加的一个群组。否是MG在成员关系表中?站点检查群组MG的成员关系表进程P申请加入群组MG站点发送群组成员关系报告加入站点的群组成员关系表否是在指定时间内收到
17、应答?多播路由器发送MG的查询报告收到站点退出群组MG的报告删除群组MG不删除群组MG1.1.当当站点(主机)发现站点(主机)发现一个群组一个群组MGMG中没有进程中没有进程时,就时,就发送退出发送退出群组群组MGMG的的报告报告。2.2.多播路由器收到该报告。多播路由器收到该报告。不不立即删除群组立即删除群组MGMG,发送针对发送针对MGMG的查询报文。的查询报文。3.3.若在指定的时间内没有收到站点对该群组的若在指定的时间内没有收到站点对该群组的成员关系报告,就意味着本网络上没有该群成员关系报告,就意味着本网络上没有该群组的成员,删除这个群组;否则,向下执行。组的成员,删除这个群组;否则,
18、向下执行。4.4.不删除这个群组。不删除这个群组。2 2、删除一个群组:退出群组报告报文、删除一个群组:退出群组报告报文(类型(类型0 x170 x17)3 3、监视群组成员关系:、监视群组成员关系:情形:在一个群组中仅有一个成员(主机),但这台主机情形:在一个群组中仅有一个成员(主机),但这台主机因异常而关机,即没有发送退出群组报告。事实上,多播因异常而关机,即没有发送退出群组报告。事实上,多播路由器讲永远收不到退出群组报告。路由器讲永远收不到退出群组报告。1.站点收到多播路由器发送的一般查询报文。2.站点查看群组成员关系表,判断是否有群组MG,若有则执行3,否则不做任何处理。3.启动随机计
19、数器,并监听是否有其他站点对群组MG的成员关系报告4.若计时器时间到,仍没有收到其他站点对群组MG的成员关系报告,则本站点发送群组成员关系报告,否则,不发送成员关系报告。无有无是否有站点接收多播路由器发送的一般查询报告(群组MG)站点中有群组MG?启动随机数计时器计时器计时时间到?监听其它站点对群组MG的报告群组MG成员关系报告?站点发送群组MG的成员关系报告结束功能:确认群组中是否有成员功能:确认群组中是否有成员 成员查询报文成员查询报文(类型(类型0 x110 x11)IGMP和多播地址方法解决了同一物理网络上传送多播分组的问题。路由器间如何交换群组成员关系,确保多播分组的副本能够达到群组
20、所有成员?1 1、动态性、动态性:2 2、转发动作不一致性、转发动作不一致性:发往同一群组的数据报转发动作可能不同。发往同一群组的数据报转发动作可能不同。多播转发需要路由器检查多个目的地址。多播转发需要路由器检查多个目的地址。3 3、其它路由器支持、其它路由器支持:多播分组可以从非群组成员的主机上发起,并多播分组可以从非群组成员的主机上发起,并且可以通过任何没有群组成员的网络。且可以通过任何没有群组成员的网络。RBCDEAFG网络1网络2网络3RRHI网络4网络5 群组的每一个成员只能收到一个多播分组的副本,不允许群组的每一个成员只能收到一个多播分组的副本,不允许收到多个副本。收到多个副本。非
21、群组成员不能收到副本。非群组成员不能收到副本。路由选择中没有回路。(即一个多播分组通过某个路由器路由选择中没有回路。(即一个多播分组通过某个路由器至多一次)至多一次)从源站到每一个目的站的路径必须是最佳的。从源站到每一个目的站的路径必须是最佳的。2.2.群组共享树群组共享树 每一个群组共享同样的树。如果在整个网络中有每一个群组共享同样的树。如果在整个网络中有N N个群组,那么就有个群组,那么就有N N棵树,棵树,每一棵树对应于一个群组。每一棵树对应于一个群组。使用群组共享树的多播路由选择协议有:使用群组共享树的多播路由选择协议有:核心基干树核心基干树(Core Based Trees。CBT)
22、协议无关多播协议无关多播-密集方式密集方式(Protocol-Independent Multicast-Sparse Mode,PIM-SM)。1.1.源站基准树源站基准树 源站基准树定义为一系列通过多播路由器的路径,这些路径从源站可源站基准树定义为一系列通过多播路由器的路径,这些路径从源站可以到达群组的所有成员。以到达群组的所有成员。使用源站基准树的多播路由选择协议有:使用源站基准树的多播路由选择协议有:距离向量多播路由协议距离向量多播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)多播开放最短路径优先协议多播开放最短路径优先协议
23、(Multicast Open Shortest Path First,MOSPF)协议无关多播协议无关多播-密集方式密集方式(Protocol-Independent Multicast-Dense Mode,PIM-DM)在此类树中,是群组确定树,不同的群组对应不同的树。在此类树中,是群组确定树,不同的群组对应不同的树。对同一群组,不管源站是否改变,对应的树不变。对同一群组,不管源站是否改变,对应的树不变。根据网络中群组成员的分布,可分为两类:根据网络中群组成员的分布,可分为两类:1 1)密集型网络:网络中大多数子网都至少包含一)密集型网络:网络中大多数子网都至少包含一个群组成员,而且网络
24、带宽足够大。如:个群组成员,而且网络带宽足够大。如:DVMRPDVMRP、MOSPFMOSPF、PIM-DM.PIM-DM.2 2)稀疏型网络)稀疏型网络:群组成员在网络中是稀疏分布的,群组成员在网络中是稀疏分布的,并且网络不能提供足够的传输带宽。如:并且网络不能提供足够的传输带宽。如:CBTCBT、PIM-SM.PIM-SM.DVMRP是基于源站的路由选择协议,允许多播路由器之间是基于源站的路由选择协议,允许多播路由器之间传递群组成员关系和路由信息。传递群组成员关系和路由信息。当路由器收到发往一个群组的分组时,通过源站基准树中各当路由器收到发往一个群组的分组时,通过源站基准树中各分支的网络链
25、路发送分组的副本。分支的网络链路发送分组的副本。反向路径转发(反向路径转发(RPMRPM)RPFRPF思想:利用多播数据报源地址避免环路。思想:利用多播数据报源地址避免环路。算法步骤:算法步骤:(1 1)当收到一个组播报时,记下源地址)当收到一个组播报时,记下源地址S S和入口和入口I I (2 2)查单播路由表,若)查单播路由表,若I I是通向是通向S S的最短路径,则的最短路径,则在除在除I I以外的所有接口上转发。以外的所有接口上转发。(3 3)否则,丢弃该组播数据报。)否则,丢弃该组播数据报。以得到用来转发多播数据报的多播转发树。以得到用来转发多播数据报的多播转发树。RPMRPM的工作
26、原理:的工作原理:1 1)源站使用广播方式向互联网中的所有网络发送第)源站使用广播方式向互联网中的所有网络发送第一个分组,确保所有群组成员都接收到一个副本。一个分组,确保所有群组成员都接收到一个副本。2 2)每一个网络的多播路由器使用)每一个网络的多播路由器使用IGMPIGMP维护本网络的维护本网络的群组成员关系,一旦多播路由器发现对某个群组没群组成员关系,一旦多播路由器发现对某个群组没有兴趣,就向上游路由器发送修剪报文。上游路由有兴趣,就向上游路由器发送修剪报文。上游路由器就停止在此接口上给该群组发送多播分组。器就停止在此接口上给该群组发送多播分组。3 3)如果某路由器已经发送了修剪报文,但
27、通过)如果某路由器已经发送了修剪报文,但通过IGMPIGMP又发现要加入某个群组,此时就发送移植报文。又发现要加入某个群组,此时就发送移植报文。剪枝剪枝接枝接枝1 1)第第1 1次转发时,消息到达路由器次转发时,消息到达路由器MR1MR1。2 2)第)第2 2次转发时,消息到达路由器次转发时,消息到达路由器MR2MR2、3 3和和4 4。3 3)第)第3 3次转发时,消息到达路由器次转发时,消息到达路由器MR5MR5、6 6和和8 8,MR3MR3和和4 4交换交换消息消息4 4)第)第4 4次转发时,消息到达路由器次转发时,消息到达路由器MR7MR7。它认识到这是一个叶子路由。它认识到这是一
28、个叶子路由器,此子网上没有广播组的成员,所以它就回送一个剪除消息给器,此子网上没有广播组的成员,所以它就回送一个剪除消息给MR6MR6。MR6MR6回送一个剪除消息给回送一个剪除消息给MR4MR4。MR3MR3也回送一个剪除消息给也回送一个剪除消息给MR1MR1在子网上密布有多播组的情况下,在子网上密布有多播组的情况下,DVMRPDVMRP工作得很好,工作得很好,但组播组稀疏分布在广域网上的情况下,周期性地广播但组播组稀疏分布在广域网上的情况下,周期性地广播行为会使网络的性能严重下降,行为会使网络的性能严重下降,DVMRP DVMRP不能支持大型网不能支持大型网络中稀疏分布的群组。络中稀疏分布
29、的群组。由于新成员可在任何时候加入到广播组,且新成员可能由于新成员可在任何时候加入到广播组,且新成员可能是在某一个被剪除的分支上加入,因此,是在某一个被剪除的分支上加入,因此,DVMRPDVMRP就周期就周期性地重新启动跨越广播树的构造进程。性地重新启动跨越广播树的构造进程。使用多播链路状态路由选择创建源站基准树。使用多播链路状态路由选择创建源站基准树。MOSPFMOSPF依赖于单播路由协议依赖于单播路由协议OSPFOSPF。OSPFOSPF是单目标广播路由协议是单目标广播路由协议u沿着最低成本路径传递消息沿着最低成本路径传递消息u最低成本则使用链路状态最低成本则使用链路状态(link-sta
30、te)(link-state)来衡量:来衡量:负荷平衡信息,例如,对通信量小的链路,其成本就比较低,负荷平衡信息,例如,对通信量小的链路,其成本就比较低,对交通量大的链路,其成本就比较高,这样做是为了平衡网络上对交通量大的链路,其成本就比较高,这样做是为了平衡网络上的交通;的交通;要求的服务质量,例如,对要求时延低的服务,其成本就比较要求的服务质量,例如,对要求时延低的服务,其成本就比较高,对要求使用卫星链路的服务,其成本就比较高,等等高,对要求使用卫星链路的服务,其成本就比较高,等等 过程:每台每台MOSPFMOSPF路由器通过路由器通过IGMPIGMP周期性地收集群组成员的信息。周期性地收
31、集群组成员的信息。信息和链路状态信息一起传送到区域中所有的其他路由器。信息和链路状态信息一起传送到区域中所有的其他路由器。由于每个路由器都了解整个网络的拓扑结构,就能够独立地由于每个路由器都了解整个网络的拓扑结构,就能够独立地计算出一颗最小代价树,源站和群组成员分别作为树的根和计算出一颗最小代价树,源站和群组成员分别作为树的根和叶,这棵树定义了多播分组从源站发送到群组成员的路径。叶,这棵树定义了多播分组从源站发送到群组成员的路径。由于所有路由器都周期性地共享链路状态信息,因此它们计由于所有路由器都周期性地共享链路状态信息,因此它们计算得到的广播树将完全相同。算得到的广播树将完全相同。MOSPF
32、只能在一个区域内向所有路由器发送所有群组成员关系信息,不能将其规模扩大到任意互联网。故MOSPF定义了区域间多播路由。计算计算步骤如下:步骤如下:MR1MR1计算的树:经由计算的树:经由IGMPIGMP知道组的知道组的成员,因此就知道通往成员,因此就知道通往MR4MR4的路径要的路径要经经MR2MR2,通往,通往MR8MR8的路径要经的路径要经MR5MR5,等,等等。等。MR2MR2计算的树:确定通往计算的树:确定通往MR4MR4的路径的路径是直接的,通往是直接的,通往MR8MR8的路径要经的路径要经MR5MR5MR3MR3计算的树:确定通往计算的树:确定通往MR9MR9的路径的路径是直接的。
33、是直接的。MR5MR5计算的树:确定通往计算的树:确定通往MR8MR8的路径的路径是直接是直接的的。OSPFOSPF指定一个区域中的一个或多个路由器作为区域边界路由器,然指定一个区域中的一个或多个路由器作为区域边界路由器,然后此类路由器把路由信息传播给其他区域。类似地,后此类路由器把路由信息传播给其他区域。类似地,MOSPFMOSPF指定一指定一个或多个个或多个ABRABR作为多播区域边界路由器,此类路由器把群组成员关作为多播区域边界路由器,此类路由器把群组成员关系信息传播给主干区域,但不从主干区域向外传播信息。系信息传播给主干区域,但不从主干区域向外传播信息。CBTCBT避免进行广播。当站点
34、使用避免进行广播。当站点使用IGMPIGMP加入一个特定群组时,加入一个特定群组时,本地路由器在转发多播分组之前必须通知其它路由器。本地路由器在转发多播分组之前必须通知其它路由器。CBTCBT构建多播转发树时,为了能够适应不同的网络规模,把构建多播转发树时,为了能够适应不同的网络规模,把互联网划分成区域,每个区域的大小由网络管理员确定。互联网划分成区域,每个区域的大小由网络管理员确定。核心基干树核心基干树(CBT)(CBT)构造一棵由所有组员共享的树,整个组的多构造一棵由所有组员共享的树,整个组的多播交通都在这棵相同的树上发送和接收,而不管它们的广播源。播交通都在这棵相同的树上发送和接收,而不
35、管它们的广播源。使用共享树可以明显节省在路由器中存储的组播状态信息的数量使用共享树可以明显节省在路由器中存储的组播状态信息的数量 站点站点A A要想加入这棵核心树,接受该站点请求的本地路由器要想加入这棵核心树,接受该站点请求的本地路由器L L发送发送一个一个CBTCBT加入请求到核心路由器,表示它准备加入核心树。加入请求到核心路由器,表示它准备加入核心树。到核心的路径上的每个中间路由器都对这个请求进行检查,当核到核心的路径上的每个中间路由器都对这个请求进行检查,当核心路由器心路由器R R接收到加入申请时,它返回一个确认,把群组成员传给接收到加入申请时,它返回一个确认,把群组成员传给自己的上层路
36、由器,并开始转发群组的通信量。这样就形成一个树自己的上层路由器,并开始转发群组的通信量。这样就形成一个树的分支。的分支。CBT把互联网或分成区域,并为每个区域指定一个核心路由器,区域中的其他路由器通过给核心发送加入请求,动态地建立群组共享树。CRRL主机A PIM PIM有两种运行模式:有两种运行模式:密集型密集型分布分布的多播组的多播组群群PIM-DMPIM-DM协议无关多播协议无关多播-密集型路由协议密集型路由协议PIM-DMPIM-DM与与DVMRPDVMRP相类似相类似,使用保留,使用保留路径组播技术路径组播技术(RPM)(RPM)构造构造广播树广播树PIM-DMPIM-DM和和DVM
37、RPDVMRP之间的差别之间的差别是:是:PIMPIM完全独立于单目标路由广播协议完全独立于单目标路由广播协议PIM-DMPIM-DM比比DVMRPDVMRP简单。简单。为为稀疏型分布稀疏型分布的组播组的组播组群群PIM-SM协议无关多播协议无关多播-稀疏稀疏型路由协议型路由协议协议无关多播协议无关多播(PIM)(PIM)路由协议的目标:路由协议的目标:开发一个标准的组播路由协议开发一个标准的组播路由协议不依赖于任何特殊的单目标广播路由协议提供的方法不依赖于任何特殊的单目标广播路由协议提供的方法用可增减路由域数目的域间组播的行程安排用可增减路由域数目的域间组播的行程安排使用情况:使用情况:当群
38、组成员在广泛区域内稀疏分布时,就需要稀疏模当群组成员在广泛区域内稀疏分布时,就需要稀疏模式多播路由协议将多播流量控制在连接到群组成员的式多播路由协议将多播流量控制在连接到群组成员的链路路径上,而不会链路路径上,而不会“泄漏泄漏”到不相关的链路路径上。到不相关的链路路径上。广播广播源源1(Source 1)1(Source 1)在在会合点上会合点上的组播路由器的组播路由器RPtRPt处登记处登记。接收端加入路由器接收端加入路由器RPtRPt;现在是一个比较大的共享现在是一个比较大的共享树。树。接收接收端接收来自广播源端接收来自广播源1 1的数据,然后发送一个明的数据,然后发送一个明确的加入消息到
39、广播源确的加入消息到广播源1 1,这样就构造了一条最短,这样就构造了一条最短的路径。的路径。组播源 1 聚合点 RP R1 R2 R5 R3 接收者 1 R6 接收者 2 一个组有一个聚合点RP,组播源沿最短路径向RP发送数据,再由RP 沿最短路径将数据发送到各个接收端。IPIP多播是对硬件多播的推广,可以有效的将一个分组交付多播是对硬件多播的推广,可以有效的将一个分组交付到多个目的站,并允许目的站位于互联网上的任意物理网到多个目的站,并允许目的站位于互联网上的任意物理网络上,一组目的站点称为多播群组。络上,一组目的站点称为多播群组。IGMPIGMP有三种类型的报文:查询报告报文、群组成员关系报有三种类型的报文:查询报告报文、群组成员关系报告报文、退出群组报告报文。告报文、退出群组报告报文。站点可在任何时候加入或退出群组。对于本地多播,站点站点可在任何时候加入或退出群组。对于本地多播,站点只需要具有收发多播分组的能力。只需要具有收发多播分组的能力。多播协议使用两种类型的多播转发树:源站基准树和群组多播协议使用两种类型的多播转发树:源站基准树和群组共享树。共享树。多播路由协议分为两类:密集模式(多播路由协议分为两类:密集模式(DVMRPDVMRP、MOSPFMOSPF、PIM-PIM-DMDM),稀疏模式(),稀疏模式(CBT CBT、PIM-SM PIM-SM)。)。