组播路由技术.docx
《组播路由技术.docx》由会员分享,可在线阅读,更多相关《组播路由技术.docx(34页珍藏版)》请在冰豆网上搜索。
![组播路由技术.docx](https://file1.bdocx.com/fileroot1/2022-10/29/0292f1c6-d99f-47a8-aeae-95968a98a524/0292f1c6-d99f-47a8-aeae-95968a98a5241.gif)
组播路由技术
组播路由技术
目录
第1章简介1
第2章组播介绍2
2.1IP组播相关术语解释2
2.2IP组播地址3
2.2.1IP组播地址的空间划分3
2.2.2IP组播地址到MAC地址的映射3
2.3IP组播特性4
2.4IP组播路由协议4
2.4.1因特网组播管理协议4
2.4.2组播路由协议5
2.4.3IP组播报文转发6
2.5IP组播应用7
2.5.1信息分配7
2.5.2数据广播7
第3章IGMP协议相关术语解析8
第4章IGMP协议介绍9
4.1IGMP协议原理9
4.2IGMP版本110
4.2.1报文格式10
4.2.2查询-响应过程10
4.2.3响应报文抑制11
4.2.4主动加入过程11
4.2.5离开组播组过程11
4.3IGMP版本211
4.3.1与版本1相比的改进11
4.3.2报文格式11
4.3.3查询-响应过程12
4.3.4IGMPv2离开组信息13
4.4版本1和版本2的互操作13
4.4.1路由器充当组播主机13
4.4.2路由器是组播路由器13
4.5IGMP版本313
4.5.1与版本1和2相比的改进13
4.5.2报文格式14
4.5.3查询-响应过程17
4.5.4路由器上的IGMP状态信息17
4.5.5IGMP版本3与版本1和2的兼容性18
第5章PIM-SM协议相关术语解释19
第6章PIM-SM协议介绍20
6.1PIM-SM在TCP/IP协议栈中的基本层次结构20
6.2PIM-SM协议20
6.2.1DR的选举22
6.2.2BSR(自举路由器)的选择23
6.2.3RP(汇聚点)的选择23
6.2.4PIMSSM简介24
第7章PIM-DM协议介绍25
7.1PIM-DM协议25
7.1.1邻居建立过程26
7.1.2业务报文扩散和剪枝过程26
7.1.3嫁接过程26
7.1.4声明过程27
7.1.5状态刷新过程27
第8章DVMRP协议介绍28
8.1DVMRP协议简述28
8.2DVMRP邻居发现28
8.3DVMRP路由建立29
8.4DVMRP扩散剪枝30
8.5DVMRP嫁接30
第9章MVPN协议介绍31
9.1MVPN协议简述31
9.2组播VRF32
9.3组播隧道32
9.4PE路由器之间的自动发现33
9.5组播报文的封装34
9.6DATAMDT34
第10章MSDP协议介绍36
10.1MSDP协议简述36
10.2MSDPpeer对等建立过程37
10.3SourceActive消息发送过程37
10.4MSDP应用37
10.4.1域间MSDP37
10.4.2域内MSDP39
第1章简介
本章主要讲述IP组播的原理和相关的组播协议。
IGMP(InternetGroupManagementProtocol,Internet组管理协议)主要用于主机和路由器之间组成员关系的管理。
动态组播路由协议用于维护全网一致的组播路由表。
组播公共部分则维护一张根据组播路由表计算得到的组播转发表。
当接收到组播业务报文时,路由器查询组播转发表,确定是否转发以及如何转发这些报文。
本章主要内容:
●组播介绍
●IGMP协议相关术语解析
●IGMP协议介绍
●PIM-SM协议相关术语解析
●PIM-SM协议介绍
●PIM-DM协议介绍
●DVMRP协议介绍
●MVPN协议介绍
●MSDP协议介绍
第2章组播介绍
当信息(包括数据、语音和视频)传送的目的地址是网络中的一组用户时,可以采用多种传送方式。
例如,可以采用单播(Unicast)方式,为每个用户单独建立一条数据传送通路;又如采用广播(Broadcast)方式,把信息传送给网络中的所有用户,不管他们是否需要,都会接收到广播来的信息。
以上两种方式都浪费了大量宝贵的带宽资源,而且广播方式也不利于信息的安全和保密。
IP组播技术有效地解决了这个问题。
组播源仅发送一次信息,信息在网络关键节点处被复制和分发,因此信息能被准确高效地传送到每个需要它的用户。
简单地说,IP组播是一种保存带宽的技术,它把一个单独的信息流同时传送到多个接收者那里,减少了网络流量。
如果网络中有不支持组播的路由器,组播路由器可以采用隧道方式将组播包封装在单播IP包中发送给相邻路由器,相邻的组播路由器再将单播IP头剥掉,然后继续进行组播传输,直至到达目的地。
2.1IP组播相关术语解释
ipmulticasting――IP组播。
在RFC1112和RFC2236中定义了IP组播概念,即如何向一个主机组发送报文。
一个主机组是指共享单独一个IP地址的多个设备。
IP组播传送与IP单播相同,都使用“尽力(best-effort)”传输机制发送报文。
这意味着对于该组中的所有主机,都不能保证数据包能够正确无误地、按顺序地接收。
multicastaddress――组播地址。
目前,保留给IP组播的地址空间是D类地址,范围从224.0.0.0到239.255.255.255。
这些地址的高位比特都被定义为“1110”。
multicastdistributiontree――组播分布树。
在组播模型中,源主机可以向任一加入组播组的主机传送信息。
IP组播业务报文在网络中经过的路径成为组播分布树。
它可以分为有源树和共享树两种类型。
sourcetree――有源树。
树的根是组播信息源,分枝形成了通过网络到达接收站点的分布树。
有源树以最短的路径贯穿网络,因此它也常被称为最短路径树(SPT)。
sharedtree――共享树。
不使用信息源作为树根,而是使用位于网络中的某些可选择点作为公用根。
此根称为汇聚点(RP)。
reversepathforwarding――逆向路径转发。
当组播业务包到达路由器时,路由器对报文执行RPF(检查组播包是否在可返回源站点接口上到达)检查。
如果检查通过,转发该数据包,否则丢弃该包。
multicastcache――组播转发缓存。
又称为组播路由表项。
它包含了组播业务报文的合法输入、输出接口信息,是RPF检查的依据。
组播转发缓存由组播路由协议生成并更新。
2.2IP组播地址
IP组播地址用于标识一个IP组播组。
IANA把D类地址空间分配给组播使用,范围从224.0.0.0到239.255.255.255。
IP组播地址的前四个比特均为“1110”。
2.2.1IP组播地址的空间划分
整个IP组播地址的空间是这样划分的:
224.0.0.0到224.0.0.255地址范围被IANA预留,地址224.0.0.0保留不做分配。
其他地址供路由协议及拓扑查找和维护协议使用。
该范围内的地址属于局部范畴,不论生存时间字段TTL值是多少,都不会被路由器转发,也就是只能在局域网里传送。
224.0.1.0到238.255.255.255地址范围作为用户组播地址,在全网范围内有效。
组播地址239.0.0.0到239.255.255.255地址范围为本地管理组播地址(administrativelyscopedaddresses),仅在特定的本地范围内有效。
2.2.2IP组播地址到MAC地址的映射
IANA将MAC地址范围01:
00:
5E:
00:
00:
00~01:
00:
5E:
7F:
FF:
FF分配给组播使用,这就要求将28位的IP组播地址空间映射到23位的MAC地址空间中。
具体的映射方法是将组播地址中的低23位放入MAC地址的低23位如下图所示:
图21组播地址到MAC地址的映射
由于IP组播地址的后28位中只有23位被映射到MAC地址,这样会有32个IP组播地址映射到同一MAC地址上。
2.3IP组播特性
在一般的TCP/IP路由中,一个数据包传输的路径是从源地址路由到目的地址,利用Hop-by-Hop的原理在IP网络中传输。
然而在IP组播环境中,数据包的目的地址不是一个而是一组,形成组地址。
所有的信息接收者都加入到一个组内,并且一旦加入之后,流向该组地址的数据立即开始向接收者传输。
组中的所有成员都能接收到该数据包,因此为了接收数据包,必须首先成为组播组的成员,而数据包的发送者并不需要是组中的成员。
在组播环境中,数据发送给组中的所有成员,不是组中成员的用户不会收到这些数据。
总的来说:
IP组播具有如下特性:
(1)对组成员所处的位置和成员的数量没有限制。
也就是说:
独立的主机可以在任意时间自由地加入或离开组播组;这些成员可以处在Internet的任何地方;一台主机在同一时刻也可以是一个以上组播组的成员。
(2)一台主机可发送数据包到一个组播组,即使该主机不是这个组中的成员。
向一个组播组内的所有主机传送组播报文如同单播一样,只需要向组地址发送一份报文即可。
(3)路由器不需要保存所有主机的成员关系,它只需知道物理接口所在的网段上是否已经有主机属于某个组播组;主机需要保存已经加入的各个组播组信息。
2.4IP组播路由协议
组播协议包括两个部分:
一部分作为IP组播基本信令协议的因特网组播管理协议(IGMP);另一部分是实现IP组播选路的组播路由协议(例如:
DVMRP、PIM-SM、PIM-DM)。
2.4.1因特网组播管理协议
IGMP定义了主机与路由器(也适用于路由器与路由器之间)之间组播成员关系的建立和维护机制,是整个IP组播的基础。
IGMP通知路由器组成员信息,路由器使用IGMP来获知与路由器相连的子网上是否存在组播组的成员。
特定的应用程序能知道是来自哪个数据源的信息发送到了哪个组播组中:
如果一个局域网中有一个用户通过IGMP宣布加入某个组播组,则局域网中的组播路由器就将该信息通过组播路由协议进行传播,最终将该局域网作为一个分枝加入组播树。
当主机作为某个组的成员开始收到信息后,路由器就会周期性地对该组进行查询,检查组内的成员是否还参与其中,只要还有一个主机仍在参与,路由器就继续转发数据。
当局域网中的所有用户退出该组播组后,相关的分枝就从组播树中删掉。
2.4.2组播路由协议
因为组播中的组地址是虚拟的,所以不可能像单播那样,直接从数据源一端路由到特定的目的地址。
组播应用程序将数据包发送给一组希望接收数据的接收者(组播地址),而不是仅仅传送给一个接收者(单播地址)。
组播路由协议建立了一个从数据源端到多个接收端的无环数据传输路径。
组播路由协议的任务就是构建组播分发树。
组播路由器能采用多种方法来建立数据传输的路径,即分发树。
根据网络的实际情况,组播路由协议可以分成两大类:
密集模式和稀疏模式。
(1)密集模式组播
密集模式组播路由协议适用于小型网络。
它假设网络中的每个子网都存在至少一个对组播组感兴趣的接收站点。
因此,组播数据包被扩散(“推”)到网络中的所有点。
与此伴随着相关资源(带宽和路由器的CPU等)的消耗。
为了减少这种宝贵网络资源的消耗,密集模式组播路由协议对没有组播数据转发的分枝进行剪枝操作,只保留包含接收站点的分枝。
为了使剪掉的分枝中有组播数据转发需求的接收站点可以接收组播数据流,剪掉的分枝可以周期性地恢复成转发状态。
为了减少等待剪枝分枝恢复转发状态的延时时间,密集模式组播路由协议使用嫁接机制主动加入组播分布树。
这种周期性的扩散和剪枝现象是密集模式协议的特征。
一般说来,密集模式下数据包的转发路径是“有源树”――以“源”为根、组员为枝叶的一棵树。
典型的密集模式组播路