IPTV中的关键技术.docx
《IPTV中的关键技术.docx》由会员分享,可在线阅读,更多相关《IPTV中的关键技术.docx(6页珍藏版)》请在冰豆网上搜索。
IPTV中的关键技术
IPTV中关键技术
描述了IPTV在目前宽带网络上具体实现方法,并结合IPTV特点,阐述了IPTV所涉及儿个关键技术,并对每种技术作了概括性介绍。
关键词IPTV宽带接入组播编码
1、IPTV实现方法
宽带网络数字电视,又称IPTV或BTV,即交互式网络电视,是一种利用宽带互联网、多媒体等多种技术于一体,向家庭用户提供包括数字电视在内多种交互式服务崭新技术。
它能够很好地适应当今网络E速发展趋势,充分有效地利用现有宽带网络资源。
在目前商用宽带网络中,用户在家中可以通过两种方式享受IPTV服务:
(1)计算机:
在第这种方式下,用户在通过电脑上网同时,可以收听广播节目或欣赏音乐,也可以直接在电脑上收看电视或电影等视频节目。
(2)网络机顶盒(STB)+普通电视机。
用户家里新增网络机顶盒(STB),由机顶盒提供AV接口,直接和普通电视机相连,用户通过控制机顶盒选择收看宽带网络电视节目。
如图1所示,为通过综合接入设备(MSA)上xDSL宽带线路为用户提供视频业务框图。
用户既可以通过PC宇受传统INTERNET数据服务和网络游戏,也可以通过专门转换设备STB,用普通电视收看电视、电影等宽带视频节目。
2、IPTV中关键技术
IPTV应用实质是流媒体在宽带网络上传输和分发,因此IPTV应用和发展是以下儿种关键技术同时应用结果。
(1)宽带接入技术:
快速发展宽带接入技术,为媒体流传送提供了通路。
在目前所使用宽带接入技术中,DSL是一种能够通过普通电话线提供宽带数据业务技术。
大家常用
ADSL(AsymmetricalDigitalSubscriberLine,非对称数字用户环路)技术可以提供下行8M带宽,ITU-TG.992.1中对ADSL标准已经有详细定义。
而随着技术快速发展,ITU-T又分别在2002年6月和2003年1月推出了两个新一代ADSL标准:
ADSL2(G.992.3)和ADSL2+(G.992.5)。
ADSL2支持最大上下行速率1.3M/15M,而ADSL2+支持最大上下行速率可达1.3M/24W更高带宽为传输大量流媒体传输成为可能。
(2)IP组播路由技术:
流媒体分发强大支持。
IP组播路由技术实现了IP网络中点到多点高效数据传输。
可以有效节约网络带宽、降低网络负载。
组播是一种允许一个或多个发送者(组播源)同时发送相同数据包给多个接受者一种网络技术,是一种能够在不增加骨干网负载情况下,成倍增加业务用户数量有效方案,因此成为当前大流量视频业务首选方案。
在IPTV应用中,利用IP组播路由技术,可以有效分发媒体流,减少网络流量。
目前接入设备通过IGMPProxy功能,实现了用户按需加入、离开等功能,这样既实现了媒体流按需分发。
而且减少了组播对带宽过渡占用。
随着IP组播技术在综合接入设备上应用,大多数设备都支持IGMPsnooping和IGMPProxy功能。
IGMPsnooping是解决IP组播在二层网络设备上广播泛滥一种基本解决方法。
通过在二层网络设备上帧听用户端和组播路由设备间IGMP协议消息,获取组播业务用户列表信息,将组播数据根据当前用户信息进行转发,从而达到抑制二层组播泛滥目。
IGMPproxy通过代理机制为二层设备组播业务提供了一种完整解决方案。
实现了IGMPproxy二层网络设备,对用户侧承担Server角色,定期查询用户信息,对于网络路由侧又承担Client角色,在需要时将当前用户信息发送给网络。
不仅能够达到抑制二层组播泛滥目,更能有效地获取和控制用户信息,同时在减少网络侧协议消息以降低网络负荷方面起到一定作用。
(3)数字编码技术:
传输可靠性技术支持。
在网络上传输音/视频等多媒体信息要涉及流媒体可靠实时传输。
因此,数字编解码技术是IPTV关键技术之一。
目前宽带网络环境下适用编码标准有:
MPEG-4、AC-1和H.264等。
MPEG-4是ISO/IEC标准,由MPEG制订,目前应用是MPEG-4Part2;H.264是ITU-TVCEG和ISO/IECMPEG联合视频组JVT开发视频编码标准,它既是ITU-TH.264,也是IS0/IECMPEG-4Partl0:
AC-1是微软视频编码标准,是WV9向编解码标准组织提交资料后釆用编码标准名称。
而网络带宽不断提升,例如应用ADSL2或ADSL2+技术,可以提高用户上下行速率达到1.3M/24M。
而如果采用ITU-TH.264或WMV9进行媒体流编码,800K码速率已经可以提供接近DVD画质质量,完全满足目前用户要求。
因此,两者结合为IPTV媒体流传输可靠性做出了保证。
虽然,目前还没有相应国家标准规定IPTV采用数字编码技术,但无论是MPEG-4,H.264,还是WMV9编码技术都已经达到IPTV应用要求。
如果配合新宽带接入技术,完全可以实时传输任何编码流媒体视频节目。
3、小结
IPTV作为一个新应用出现,并不简单是宽带网络上一个应用。
而是在网络传输技术、IP组播路由技术以及流媒体编码技术发展下产生,是这儿种关键技术有力结合应用结果。
IPTV将为宽带运营商和节目提供商注入新活力。
宽带运营商除了能给用户提供通信和资讯方面服务外,还能通过IPTV为用户提供丰富、个性化电视节目,对于吸引用户、提高用户满意度有很大帮助。
组播、IGMP、IGMPSnooping
通过组播,可以实现一个主机同时向组内多台主机发送数据,节省网络带宽。
组播ip地址范围是224.0.0.0239.255.255.255,其中224.0.0.0—
---224.0.0.255是有特殊用途保留地址,239.0.0.0239.255.255.2
55是私网地址,224.0.1.0238.255.255.255是用于公网上组播地址。
组播有一系列协议支持包括:
1、用于主机和路由器之间IGMP协议。
实现主机加入、离开组播组等功能。
2、路由器之间组播协议有:
PIM-SM.PIM-DMo实现嫁接、剪枝等功能。
还有一个IGMPSnooping,用在交换机上。
开启IGMPSnooping功能交换机可以对经过它IMGP报文进行解析,建立组播转发表,这样一来,交换机就可以根据组播转发表转发组播数据。
如果没有开启IGMPSnooping功能,交换机只能广播组播数据。
IGMPSnooping实际应用意义是:
减少了网络上主机由于接受到不必要组播报文而产生处理负荷。
IGMPSnooping并不是一个协议,只能算是一个实现细节,一种应用。
IGMPSnooping分两种,一种是passive方式,另一种是active方式。
passive方式只解析组播报文,不对报文进行过滤。
active方式会过滤掉一些对路由器没有意义组播报文。
比如交换机下面有两个主机都加入了同一个组,这样交换机上面路由器中就会有一条表项与之对应。
如果一个主机想离开这个组,它就会发送离开报文给路由器(经过交换机转发)。
但是此时,即使路由器收到了离开报文,它也并不会删除那条表项,因为还有另一个主机在组播组中。
active方式IGMPSnooping使交换机可以过滤掉此类报文。
下面说说IGMP工作原理:
IGMP目前有三个版本,分别是IGMPV1.IGMPV2、IGMPV3,功能逐渐增强
IGMPV1中定义了加入报文、查询报文、响应报文三种报文。
1、当主机加入某组播组时,会向路由器发送加入报文,告诉路由器自己加入了一个组播组,路由器会记录一条组播表项。
2、查询路由器(IP最小路由器)会定时从所有端口向外发送查询报文(按VLAN查询,如果该端口加入了多个VLAN,则发送多次查询报文),检查这些端口下是否有主机属于某组播组
3、主机收到查询报文后,如果自己没有加入任何组播组,则不进行响应;
如果自己已经加入了某组播组,则会发现响应报文
4、主机离开组播组时,不发送任何报文,悄悄离开;路由器中纪录该组播表项会因查询超时而白动老化
5、查询报文目地址是224.0.0.1(表示所有路由器和支持IGMP主机),组地址是0(表示查询所有组播组)
6、响应报文目地址是主机所在组地址,组地址也是主机所在组地址。
如果网络上有多个主机加入了同一个组,那么只有一台主机(随机选取)会发送响应报文。
由于响应报文目地址是主机所在组地址,所以响应报文会被发送到主机所在组内所有主机,其他主机在收到该报文后,发现己经有人向路由器进行报告了,于是他们就不会再额外发送响应报文了。
IGMPV2中多定义了一种离开报文,当主机离开某组播组时,会向路由器发送离开报文。
路由器收到离开报文后,会发送查询报文,查询是否还有其它主机属于该组播组,如果没有就删除组播表项,有则不删除。
需要注意是,此时路由器发送查询报文组地址已经不是0了,而是特定组地址(发送离开报文主机所在组)。
因为此时路由器只想知道该特定组内是否有主机存在。
这一点也是IGMPV2对IGMPV1改进,名称叫特定组查询,IGMPV1中没有该功能。
注意:
1、不论是IGMPV1还是IGMPV2,所有加入报文和离开报文都要被上报到查询路由器
2、非查询路由器收到查询报文后,从所有端口转发该报文
3、非查询路由器收到特定组查询报文后,根据组播表进行转发
4、特定组查询报文目地址是要查询组地址
5、离开报文目地址是224.0.0.2(表示所有路由器)
IGMP报文格式:
8位报文类型-8最大响应时间-16位校验和-32位组地址
报文类型:
0x11表示查询报文,包括普通查询和特定组查询报文
0x16表示加入报文
0x17表示离开报文
0x12表示IGMPV1查询报文
IGMPV3待续。
。
。
二层组播协议IGMPproxy或IGMPSnooping
二层组播协议IGMPproxy或IGMPSnooping,采取基本方法是对每个组播数据包分组传送,下面分析这两种协议实现方式。
一、IGMPSnooping
IGMPSnooping和IGMP协议一样,两者都用于组播组管理和控制,它们都使用IGMP报文。
IGMP协议运行在网络层,而IGMPSnooping则运行在链路层,当二层以太网交换机收到主机和路由器之间传递IGMP报文时,IGMPSnooping分析IGMP报文所带信息,在二层建立和维护MAC组播地址表,以后从路由器下发组播报文就根据MAC组播地址表进行转发。
IGMPSnooping只有在收到某一端口IGMP离开报文或者某一端口老化时间定时器超时时候才会主动向端口发IGMP特定组查询报文,除此之外,它不会向端口发任何IGMP报文。
IGMPSnooping是靠侦听用户与路由器之间通信IGMP报文维护组播地址和VLAN对应表对应关系,它将同一组播组活动成员映射为一个VLAN,在收到组播数据包后,仅向该组播组所对应VLAN成员转发。
主要操作流程如下:
(1)主机与BAS进行PPPoE协商,通过PPPoE认证。
(2)主机向路由器发送IGMP成员报告包,BAS监听到该包,并从PPPoE数据包中得到组播组地址,将该用户添加到对应VLAN,如果该用户是组播组第一个用户,则为这个组播组产生一个组播条目,并将该报文转发至上层路由器以更新组播路由表。
(3)BAS收到路由器组播数据报文时,根据组播MAC地址和组播IP地址对应关系,找到对应VLAN,然后将数据包封装成PPPoE会话包,向VLAN内成员转发。
(4)当收到来自主机申请离开组播组包时,BAS把收到该包端口从相应VLAN中删除,若该用户是组播组最后一个用户(此时VLAN为空),则把该VLAN删除,并把该包内容通过上行端口转发出去。
IGMPSnooping规则比较简单,下行方向透传查询包,上行方向根据需要转发加入或离开包,但要求BAS必须有3层提取功能,它对于主机和路由器是透明。
二、IGMPProxy
IGMPProxy是靠拦截用户和路由器之间IGMP报文建立组播表,Proxy设备上联端口执行主机角色,下联端口执行路由器角色。
下面是简要流程:
(1)主机与BAS进行PPPoE协商,通过PPPoE认证。
(2)上联端口执行主机角色,响应来自路由器查询,当新增用户组或者某组最后一个用户退出时,主动发送成员报告包或者离开包。
(3)下行方向业务包按照组播表进行转发。
(4)下联端口执行路由器角色,完全按照IGMPV2中规定机制执行,包括查询者选举机制,定期发送通用查询信息,收到离开包时发送特定查询等。
IGMPProxy在两个端口分别实现不同功能,工作量相对较大,其优点是当网络中没有路由器时,IGMPProxy设备可以起到查询者作用,而且如果要扩展组播路由功能,Proxy比Snooping方便。
考虑到BAS复制PPPoE多播数据对底层设备造成巨大压力,而且当前交换机和部分DSLAM(尤其是以IP为内核DSLAM)已经开始支持二层组播,所以从发展角度看采用IGMPProxy更好一些。
IGMPsnooping实现机理是:
交换机通过侦听主机向路由器IGMP成员报告消息方式,形成组成员和交换机接口对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员接口。
IGMPProxy与IGMPSnooping实现功能相同但机理相异:
IGMPSnooping只是通过侦听IGMP消息来获取有关信息,而IGMPProxy则拦截了终端用户IGMP请求并进行相关处理后,再将它转发给上层路由器