论文部分内容阅读
【摘 要】论文首先阐述了组播技术的特点,组播、单播、广播之间的区别,然后对组播技术的实现以及组播报文的转发机制进行介绍。
【关键词】组播地址;IGMP;PIM;RPF
1.组播概述
1.1组播技术的背景
随着Internet网络的不断发展,一方面网络中交互的各种数据、语音和视频信息越来越多,另外新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务逐渐兴起。这些服务对信息安全性、有偿性、网络带宽提出了要求。组播技术做为一种有效的IP传输解决方案显示出其特有的优势,可以更好的实现资源发现和点对多点的IP传输。
1.2组播技术的特点
单播是相互感兴趣的主机双方进行通信的方式,属于点对点通信。广播是主机向子网内所有主机发送信息,属于点对所有点的通信。
如果要实现点对多点通信,即介于单播和广播两者之间的通信,主机向一组主机发送信息,存在于某个组的所有主机(不限于特定子网)都可以接收到信息,不属于该组的主机则接收不到信息,而这恰恰就是组播。
当网络中的某些用户需求特定信息时,组播信息发送者(即组播源)仅发送一次信息,借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。
相比单播来说,不论接收者有多少,相同的组播数据流在每一条链路上最多仅有一份。相比广播来说,组播数据流仅会流到有接收者的地方,不会造成网络资源的浪费。
在组播方式中,信息的发送者称为“组播源”。接收相同信息的接收者,构成一个组播组,并且每个接收者都是“组播组成员”,提供组播功能的路由器称为“组播路由器”。IP组播路由器不仅提供组播路由功能,也提供组成员管理功能。同时,自己本身也可以是一个或多个组播组的接收成员。同一组播组的成员可以广泛分布在网络中的任何地方,即“组播组”关系没有地域限制。
组播源不一定属于组播组,它向组播组发送数据,自己不一定是接收者。可以同时有多个源向一个组播组发送报文。
网络中可能有不支持组播的路由器,组播路由器可以使用隧道方式将组播包封装在单播IP包中,经由单播路由器转发,传送到隧道另一端的组播路由器。这时,组播路由器再将单播IP头剥掉,然后继续进行组播传输。组播隧道传输避免了对网络结构进行较大的改动。
2.组播技术的实现
2.1组播的构成机制
IP组播技术虽然模型复杂,但是其根本用途是以组播方式将信息从组播源传输到接收者手中,同时满足接收者对信息的各种需求。IP组播属于一种端到端服务,按照协议层从下往上划分,组播机制包括寻址机制、主机注册、组播路由、组播应用四个部分。
寻址机制:借助组播地址,实现信息从组播源发送到一组接收者。
主机注册:允许主机动态加入和离开某组播组,实现组播成员管理。
组播路由:构建报文分发树进行组播路由,从组播源传输报文到接收者。
组播应用:组播源必须支持视频会议等组播应用软件,TCP/IP协议栈必须支持组播信息的发送和接收。
2.2组播地址
组播报文的目的地址使用D类IP地址,范围是从224.0.0.0到239.255.255.255。D类地址不能出现在IP报文的源IP地址字段。
单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP网络中传输。然而在IP组播环境中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包。组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。
组播IP地址只为组播源分配,组播源主机应该为其上运行的每个组播流分配1个组播IP,比如,在视频服务器上,每个频道都需要分配单独的组播IP,通过客户端软件选择不同的组播源IP,便可以收看相应的频道。
以太网传输单播IP报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播报文时,传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播MAC地址。组播MAC地址是和组播IP地址对应的。IANA(Internet Assigned Number Authority)规定,组播MAC地址的高24bit为0x01005e,MAC地址的低23bit为组播IP地址的低23bit。
2.3组播协议
IP组播协议主要有用于主机注册的组播组管理协议,和用于组播选路转发的组播路由协议。
2.3.1组播组管理协议
在接收者主机和组播路由器之间通常采用组播组管理协议IGMP(Internet Group Management Protocol),该协议定义了主机与路由器之间建立和维护组播成员关系的机制。
IGMP目前包含三个版本,分别是v1、v2和v3,而且新版本完全兼容旧版本。其中,IGMPv1和v2适用于ASM模型,而SSM模型必须要得到IGMPv3的支持。
2.3.2组播路由协议
组播路由器之间运行组播路由协议,组播路由协议用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了一个从数据源端到多个接收端的无环数据传输路径,即构建分发树结构。
对于ASM模型,可以按照单播路由一样将组播路由也分为域内和域间两大类。域内组播路由目前已经相当成熟,在众多的域内路由协议中,PIM(Protocol Independent Multicast)是目前应用最多的协议,通过发现组播源并构建组播分发树,将信息传递到接收者。按照接收者紧密程度,PIM分为密集模型、稀疏模型两种。
在ASM模型中,域间路由的首要问题是路由信息如何在自治系统AS(Autonomous System)之间传递。由于不同自治系统可能属于不同的运营商,因此需要一种机制能发现其他域内的组播源,这就需要域间路由协议MSDP(Multicast Source Discovery Protocol)和MPBGP (MultiProtocol Border Gateway Protocol)的组播扩展MBGP (Multicast BGP)。
对于SSM模型,没有域内和域间的划分,由于接收者预先知道组播源的具体位置,因此只需要借助稀疏PIM构建的通道即可实现组播信息传输。
3.组播报文的转发机制
在组播模型中,源主机向IP数据包目的地址字段内的组播组地址所表示的主机组传送信息。和单播模型不同的是,组播模型必须将组播数据包转发到多个外部接口上以便能传送到所有接收站点,因此组播转发过程比单播转发过程更加复杂。
为了保证组播信息包在网络中传输,组播必须依靠单播路由表或者单独提供给组播使用的单播路由表进行转发,同时为了避免接口上收到来自不同对端的相同组播信息,对组播信息包的接收接口进行一定的检查,这种检查机制就是大部分组播路由协议进行组播转发的基础——RPF(Reverse Path Forwarding)检查。组播路由器以组播源地址或RP地址为目的地址查找单播路由表,将对应的单播报文出接口指定为此组播报文应该到达的入接口。RPF检查通过比较组播报文实际到达的接口和应该到达的接口来确定报文入接口是否正确。如果该路由器在SPT有源樹上,则接收到的组播报文应该到达的接口朝向组播源;若该路由器在RPT共享树上,则接收到的组播报文应该到达的接口将朝向RP。当组播数据包到达路由器时,如果RPF检查通过,数据包则按照组播转发项进行转发;否则,数据包被丢弃。■
【关键词】组播地址;IGMP;PIM;RPF
1.组播概述
1.1组播技术的背景
随着Internet网络的不断发展,一方面网络中交互的各种数据、语音和视频信息越来越多,另外新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务逐渐兴起。这些服务对信息安全性、有偿性、网络带宽提出了要求。组播技术做为一种有效的IP传输解决方案显示出其特有的优势,可以更好的实现资源发现和点对多点的IP传输。
1.2组播技术的特点
单播是相互感兴趣的主机双方进行通信的方式,属于点对点通信。广播是主机向子网内所有主机发送信息,属于点对所有点的通信。
如果要实现点对多点通信,即介于单播和广播两者之间的通信,主机向一组主机发送信息,存在于某个组的所有主机(不限于特定子网)都可以接收到信息,不属于该组的主机则接收不到信息,而这恰恰就是组播。
当网络中的某些用户需求特定信息时,组播信息发送者(即组播源)仅发送一次信息,借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。
相比单播来说,不论接收者有多少,相同的组播数据流在每一条链路上最多仅有一份。相比广播来说,组播数据流仅会流到有接收者的地方,不会造成网络资源的浪费。
在组播方式中,信息的发送者称为“组播源”。接收相同信息的接收者,构成一个组播组,并且每个接收者都是“组播组成员”,提供组播功能的路由器称为“组播路由器”。IP组播路由器不仅提供组播路由功能,也提供组成员管理功能。同时,自己本身也可以是一个或多个组播组的接收成员。同一组播组的成员可以广泛分布在网络中的任何地方,即“组播组”关系没有地域限制。
组播源不一定属于组播组,它向组播组发送数据,自己不一定是接收者。可以同时有多个源向一个组播组发送报文。
网络中可能有不支持组播的路由器,组播路由器可以使用隧道方式将组播包封装在单播IP包中,经由单播路由器转发,传送到隧道另一端的组播路由器。这时,组播路由器再将单播IP头剥掉,然后继续进行组播传输。组播隧道传输避免了对网络结构进行较大的改动。
2.组播技术的实现
2.1组播的构成机制
IP组播技术虽然模型复杂,但是其根本用途是以组播方式将信息从组播源传输到接收者手中,同时满足接收者对信息的各种需求。IP组播属于一种端到端服务,按照协议层从下往上划分,组播机制包括寻址机制、主机注册、组播路由、组播应用四个部分。
寻址机制:借助组播地址,实现信息从组播源发送到一组接收者。
主机注册:允许主机动态加入和离开某组播组,实现组播成员管理。
组播路由:构建报文分发树进行组播路由,从组播源传输报文到接收者。
组播应用:组播源必须支持视频会议等组播应用软件,TCP/IP协议栈必须支持组播信息的发送和接收。
2.2组播地址
组播报文的目的地址使用D类IP地址,范围是从224.0.0.0到239.255.255.255。D类地址不能出现在IP报文的源IP地址字段。
单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP网络中传输。然而在IP组播环境中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包。组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。
组播IP地址只为组播源分配,组播源主机应该为其上运行的每个组播流分配1个组播IP,比如,在视频服务器上,每个频道都需要分配单独的组播IP,通过客户端软件选择不同的组播源IP,便可以收看相应的频道。
以太网传输单播IP报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播报文时,传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播MAC地址。组播MAC地址是和组播IP地址对应的。IANA(Internet Assigned Number Authority)规定,组播MAC地址的高24bit为0x01005e,MAC地址的低23bit为组播IP地址的低23bit。
2.3组播协议
IP组播协议主要有用于主机注册的组播组管理协议,和用于组播选路转发的组播路由协议。
2.3.1组播组管理协议
在接收者主机和组播路由器之间通常采用组播组管理协议IGMP(Internet Group Management Protocol),该协议定义了主机与路由器之间建立和维护组播成员关系的机制。
IGMP目前包含三个版本,分别是v1、v2和v3,而且新版本完全兼容旧版本。其中,IGMPv1和v2适用于ASM模型,而SSM模型必须要得到IGMPv3的支持。
2.3.2组播路由协议
组播路由器之间运行组播路由协议,组播路由协议用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了一个从数据源端到多个接收端的无环数据传输路径,即构建分发树结构。
对于ASM模型,可以按照单播路由一样将组播路由也分为域内和域间两大类。域内组播路由目前已经相当成熟,在众多的域内路由协议中,PIM(Protocol Independent Multicast)是目前应用最多的协议,通过发现组播源并构建组播分发树,将信息传递到接收者。按照接收者紧密程度,PIM分为密集模型、稀疏模型两种。
在ASM模型中,域间路由的首要问题是路由信息如何在自治系统AS(Autonomous System)之间传递。由于不同自治系统可能属于不同的运营商,因此需要一种机制能发现其他域内的组播源,这就需要域间路由协议MSDP(Multicast Source Discovery Protocol)和MPBGP (MultiProtocol Border Gateway Protocol)的组播扩展MBGP (Multicast BGP)。
对于SSM模型,没有域内和域间的划分,由于接收者预先知道组播源的具体位置,因此只需要借助稀疏PIM构建的通道即可实现组播信息传输。
3.组播报文的转发机制
在组播模型中,源主机向IP数据包目的地址字段内的组播组地址所表示的主机组传送信息。和单播模型不同的是,组播模型必须将组播数据包转发到多个外部接口上以便能传送到所有接收站点,因此组播转发过程比单播转发过程更加复杂。
为了保证组播信息包在网络中传输,组播必须依靠单播路由表或者单独提供给组播使用的单播路由表进行转发,同时为了避免接口上收到来自不同对端的相同组播信息,对组播信息包的接收接口进行一定的检查,这种检查机制就是大部分组播路由协议进行组播转发的基础——RPF(Reverse Path Forwarding)检查。组播路由器以组播源地址或RP地址为目的地址查找单播路由表,将对应的单播报文出接口指定为此组播报文应该到达的入接口。RPF检查通过比较组播报文实际到达的接口和应该到达的接口来确定报文入接口是否正确。如果该路由器在SPT有源樹上,则接收到的组播报文应该到达的接口朝向组播源;若该路由器在RPT共享树上,则接收到的组播报文应该到达的接口将朝向RP。当组播数据包到达路由器时,如果RPF检查通过,数据包则按照组播转发项进行转发;否则,数据包被丢弃。■