IP组播
在ADSL上实现IPTV业务是基于IP组播技术的。组播技术是一种点到多点的网络技术,其目的是减轻网络负载和媒体服务器的负担。组播方式分为静态组播和动态组播,由于实际应用中用户的需求总是变化的,所以在IPTV中一般采用动态组播。 1. 组播协议 从协议角度讲,在IP组播中用到的协议由两部分组成:运行在主机与组播路由器之间的路由协议IGMP(Internet Group Management Protocol)和运行在各个组播路由器之间的组播路由协议,如PIM-SM、PIM-DM、MSDP和DVMRP等。 IP组播的实现主要是基于IGMP协议的,IGMP协议是第三层协议,是TCP/IP的标准之一,所有接收IP组播的机器都需要IGMP。 2. 组播地址
图1 IP地址和MAC组播地址的映射
从通信层次上讲,IP组播分为两个层面:IP组播和以太网组播。根据IANA(Internet Assigned Number Authority)规定,组播报文的地址使用D类IP地址,其范围从224.0.0.0到239.255.255.255。组播MAC地址的高24bit固定为0x015e,同时需要注意的是组播地址都只能作为目的地址,而不能作为源地址来使用。IP组播地址和MAC地址以一种映射关系相关联,MAC地址的低23位映射为组播MAC的低23位,如图一所示。组播MAC地址和组播IP地址的这种映射关系不是唯一对应的,因为在32位IP组播地址可以变化的28bit中只映射了其中的23bit,还剩下5bit是可以自由变化的,所以每32个IP组播地址映射一个组播MAC地址。
DSLAM上实现IP组播基本原理
1. DSLAM简介 DSLAM(数字用户线路接入复用器)是ADSL系统中的局端设备,其功能是接纳所有的DSL线路,汇聚流量,相当于一个二层交换机。其在ADSL系统中的位置如图二所示。
图2 G.lite标准ADSL结构图
DSLAM从产生到现在大致经历了三个阶段,各阶段的区别在于交换内核,上联口以及由此引起的不同QoS,具体如表一所示。
表1 各种DSLAM比较
2. IGMP Proxy和IGMP Snooping 由于采用了不同的交换内核和上联口,因此在DSLAM上进行IP组播可以采用IGMP Proxy和IGMP Snooping两种方式。 IGMP Proxy的实现机理:DSLAM靠拦截用户和路由器之间的IGMP报文建立组播表,Proxy设备的上联端口执行主机的角色,下联端口执行路由器的角色; IGMP Snooping的实现机理:DSLAM以侦听主机发向路由器IGMP成员报告消息的方式,形成组成员和交换机端口的对应关系,DSLAM则根据该对应关系,将收到的组播数据包转发到组成员的端口。 早期的基于纯ATM交换内核的DSLAM,由于PVC的终结是在BAS上,DSLAM支持数据的透传,不能对数据进行任何的处理,所以只能实现IGMP Snooping功能,而不能支持IGMP Proxy功能。现在基于纯IP交换的第三代DSLAM,可以同时支持IGMP Proxy和IGMP Snooping功能。 3. DSLAM上实现IP组播的一般流程 组播系统由视频组播业务系统、IP城域网、接入网络和家庭网络四部分组成。如图三所示。
图3 组播系统组成
DSLAM下行与ADSL Modem之间为ATM 信元方式,现在的Modem虽然一般都支持8条PVC,但只用到了3条,一条用于组播业务,一条用于单播业务,一条用于信令,而且一般不提供PVC和端口的绑定。当用户打算要加入组播组时,流程如下: 1) STB(Set-top Box)通过发送DHCP报文获得一个IP地址; 2) 对STB上报的用户名和密码进行验证,获得电子节目表; 3) 用户进行节目选择; 4) 选中节目后,STB就发送一个IGMP加入报文,在组播路由器上建立组播映射表(组和VLAN相对应)和DSLAM上建立组播转发表(组和用户板端口对应),同时建立组播业务和PVC的绑定; 5) 用户观看组播节目。 其中关键的是要在组播路由器中建立组播映射表和DSLAM上建立组播转发表。具体实现因IGMP Proxy和IGMP Snooping的不同而不同。以下的部分将以第三代DSLAM为例进行说明。 在IGMP Proxy模式下当用户板端口收到IGMP申请加入报文后,启动IGMP Proxy功能,截获这个申请报文。然后是鉴权,鉴权通过后进行以下逻辑检查:若申请的组是DSLAM中还没有的,那么DSLAM就向上层路由器发送一个IGMP加入请求,并建立组播转发表;如果在DSLAM内已经存在一个这样的组播组,则直接将该用户加入DSLAM上的组播转发表,不再向上层路由器发送IGMP加入报文,同时建立组播业务和PVC的对应表。 在IGMP Snooping模式下当用户板端口收到IGMP加入报文后,DSLAM通过侦听获得组播转发表消息,但对IGMP报文而言,它是透传经过DSLAM的。 在路由器上根据对IGMP报文的分析来建立组播组和VLAN的映射表,通过VLAN划分不同的组,可以防止泛洪同时也增强了不同组用户间的安全性。 4. DSLAM上实现IP组播性能的衡量 DSLAM上实现IP组播性能的衡量主要分为功能和性能两部分。 功能方面包括: 1) DSLAM组播流的转发。DSLAM能按组播转发表正确转发。 2) 多个组成员的加入不会影响到组内其它成员收看组播节目;同样的,单个组成员的离开和单个组的离开也不会影响到组内其它成员和其它组的成员观看组播节目。 3) 对组播权限的控制。对权限的控制应该是基于端口号、MAC地址或者IP地址的灵活控制,而且控制的颗粒度应能控制某个用户可以加入此组播组但是不能加入彼组播组。 4) IPTV频道切换时延。时延要在用户能接收的范围内,与电视频道切换时间相当是比较理想的。 性能方面主要包括: 1) 组成员Join/Leave的时延。Join时延是指从待测路由器收到指定组播组的Join消息到它开始向该指定组播组转发组播流的时延; Leave时延是指从待测路由器收到组的Leave消息到它停止向该指定组转发组播流的时延。 2) 在单/多PVC下多业务的QoS。保证在同一条PVC或者多条PVC上能传送不同的业务。 3) 单板组播性能。该性能用于表征单用户板满配情况下最大无差错转发时的组播流速率,速率的大小关系到组播源可以向用户提供的业务类型,如果速率不够大就有可能会限制某些业务的开展。 5. 实际运用中还需要注意的问题 在DSLAM上开展IP组播作为一项新的宽带视频业务,在即将走向大规模商用之际还存在不少的问题。 由于采用了IP城域网作为组播流承载网,那么IP固有的QoS问题就将成为需要首先解决的问题之一。QoS涉及方面较多,对在DSLAM上实现IP组播来讲,其影响主要有以下几个方面: ADSL带宽:在现有编码技术下,要获得如DVD(采用MPEG4/H.264编码技术)效果的画面需要的带宽大约为2M左右,而目前ADSL通常只提供512K~1M的接入速率。 设备: DSLAM设备自身的发展还是一个逐步完善,逐步走向商用的过程。 QoS实现方式:由于采用了基于IP交换内核和IP上联,那么以前ATM特有的QoS实现方式就不能应用了。在这种情况下,想通过对业务的识别来保证其QoS,就要采用如IEEE802.1P的优先级划分协议等来实现不同业务的QoS。 要开展IP组播业务,接入认证也是一个很重要的方面,现在主流的接入认证方式有PPPoE和DHCP+Web 认证。组播流要经由BAS才能到达DSLAM,这无疑会加重BAS的负担,容易使BAS成为瓶颈,所以PPPoE接入认证限制了多播协议的存在,有悖于组播要减轻网络负载的初衷,影响多播视频业务的开展。在这种情况下,组播流旁路BAS,经过边缘L3交换机或路由器直接到DSLAM,使用DHCP+Web认证。DHCP+Web认证不用在用户主机和BRAS之间建立类似PPP的通道,因此不会加重BAS的负担,不存在对多播协议的限制。 此外计费和对用户的管理也是要重点考虑的问题。
总结
综上所述,本文首先介绍了IP组播的协议和组播地址;然后对DSLAM进行了简单的描述,并在此基础上阐明了DSLAM上实现IP组播的一般流程;最后再对在DSLAM上实现IP组播的衡量指标和存在的问题进行了简单的说明。相信在不久的将来,基于DSLAM实现IP组播的IPTV业务必会带给用户更多的惊喜的同时,也会给运营商带来不小的收益。