本文对IPv6组播技术的原理进行了详细分析,实现了在校园网IPv6环境下,配置组播路由器的PIM、MLD协议,利用VLC开源软件发布和访问视频,搭建校园网视频组播系统。
1 引言
随着CNGI高校驻地网的发展,众多高校都建立了校内IPv6站点资源,应用非常丰富,例如FTP、BBS、VOD、IPTV等,其中以流媒体技术为主导的网络应用颇受学校师生的欢迎,通过在线观看学习和娱乐节目,丰富了校园的教学和文化生活。IPv6的出现,不仅解决了IPv4地址枯竭的问题,其路由优化、增强的组播特性可以更好地支持流媒体应用,使音频视频流在网络中通畅传输,节省网络带宽,减轻网络负载。
2 IPv6 组播技术
2.1 组播的概念
所谓组播,是指组播源只向加入组播组中的组成员并发发送单一数据包的网络技术,组播组是一个用IPv6组播地址进行标识的接收者集合。利用组播,网络中任何一条链路只传输一个数据包,从而克服了单播重复发送数据包和广播无选择发送数据包的缺点,减轻了服务器和网络设备的负载,提高了网络带宽的利用率,因此非常适合流媒体的传输;同时,组播组的节点可以在同一个局域网或者是IPv6全球地址空间中的任何一个节点,这就为网络流媒体服务提供了更大的灵活性。
2.2 IPv6 组播地址
为了让组播源和组播成员进行通信,需要提供IPv6组播地址,IPv6 组播地址格式如图 1所示,高8位为“11111111”,4位标识字段中,高3位设置为0并保留,第4位标识组地址是永久分配(设为0)或暂时分配(设为1);4位范围字段表示组播地址的范围,0和F被保留,已定义的范围值有:1—节点本地;2—链路本地;4—管理本地;5—站点本地;8—机构本地;E—全球;同一后面预留了112 位的组标识符,用于标识组地址。IPv6 组播地址仅用作组播数据包的目的地址,组播源地址只能是单播地址,发送方只需要发送数据给该组播地址,就可以实现对多个节点发送数据。
11111111
|
4位标识
|
4位范围
|
112位组ID
|
图1 IPv6组播地址格式
2.3 IPv6 组播协议
2.3.1 MLD,Multicast Listener Discovery Protocol(组播侦听者发现协议)
MLD用于在主机与三层组播设备之间建立和维护组播组成员关系。IPv6 组播路由器通过周期性发送MLD查询报文(Query Message)获知直连链路上是否有组播组侦听主机,并收到主机发送的MLD成员关系报告报文(Multicast Listener Report Message)宣告其属于哪一组。当网络存在多台IPV6组播路由器时,所有组播路由器向网络中的所有主机和路由器发送MLD普遍组查询报文(目的地址为FF02::1),通过比较,选举一台IPV6地址最小的路由器作为MLD查询器,其它路由器为非查询器,并启动一个定时器,在定时器超时前收到MLD查询报文,则重置定时器,否则认为原查询器失效,并重新进行查询器选举过程。
2.3.2 PIM,Protocol Independent Multicast for IPv6(IPv6协议无关组播)
PIM运行在三层组播设备之间,任务就是构造组播转发树,建立从组播源到多个接收端的数据传输路径。根据对网络中的组播成员的分布和使用的不同,组播路由协议分为密集模式PIM-DM和稀疏模式PIM-SM。
PIM-DM 采用“扩散-剪枝”机制维护路由树,假如所有网络节点都需要接收数据,数据就被扩散到整个网络,然后对没有组播数据转发的分支进行剪枝(Prun),当被剪枝的分支出现组播组成员时,可以使用嫁接(Graft)机制恢复成转发状态。PIM-DM数据包的转发路径是有源树,以IPV6组播源为根,由于有源树使用IPV6组播源到接收者的最短路径,因此也称作SPT(最短路径树)。PIM-DM适用于组播源和接收节点距离较近;组播源较少,接收者很多的情况。PIM-SM路由树,假定域内所有网点都不需要接收组播数据,只向提出请求的主机转发数据。PIM-SM选择PIM域中某台路由器作为RP(汇聚点),构造RPT(共享树),当IPV6组播源发送组播数据时,首先由IPV6组播源侧DR(指定路由器)向RP发送注册报文进行注册,并建立SPT,之后数据沿着SPT发向RP,到达RP后沿着RPT发送给接收者。PIM-SM适用于IPv6组播组成员分布相对分散、范围较广的大中型网络。
3 IPv6对流媒体的支持
3.1 地址结构的优化
IPv6采用128位地址,有效解决IPV4地址枯竭问题,同时IPV6简化了IP包的报头格式,只有6个域和2个地址空间,减少了处理过程中不必要的内存开销;而且报头长度固定,减轻了路由器处理数据包的负载,提高了路由选择的效率,适合流媒体大数据包的传输需求。
3.2 流媒体服务质量(QoS)的增强
在 IPv6 的包头结构中,采用业务流(Traffice Class)和流标签(Flow Label)控制数据流的传输。业务流字段长度为 1 个字节,可以为不同的业务数据流提供 256 个级别的优先级,通过给组播源主机和路由器的数据包上加上Traffice Class标记,从而保证了各种服务质量。来自同一个数据流的所有数据包采用相同的流标签,这样路由器在转发此类数据包时只需要依照原来的路径发送,而不要去重新计算选择路由,从而提高了数据包转发的效率,减轻了路由器的负担。
4 流媒体技术
流媒体技术是连续的音频和视频数据在服务器端经过压缩编码后,用户可以通过网络一边下载一边观看视频节目,而无需下载完整文件的即时播放技术。目前广泛使用的流媒体系统主要有Microsoft 公司的 WindowsMedia 系统,RealNetWorks 公司的 RealSystem 系统,Apple 公司的 Quick Time 系统。Apple在国内用户太少;Windows Media 系统具有安装方便、配置简单等优点,支持包括RTSP、MMS和HTTP控制协议,缺点是只支持asf、wma、wmv等部分视频格式,而且不能跨平台发布;而RealSystem 系统可以在 Windows 平台和Linux平台运行,并且支持各种视频格式,但不是免费的。VLC(VideoLAN Client)既是一个支持大量媒体文件格式,跨多种平台的开源多媒体播放器,也可以同时作为高性能的可以支持IPv4/IPv6单播/组播的视频流媒体服务器来使用,因此我们首选VLC软件,目前官网上最新的版本是1.0.5。
5 组播实验
实验的网络拓扑图如下,新校区的Cisco6513与老校区的Cisco6509万兆相连,与下行的计算机学院Cisco6509Trunk互联。视频组播服务器直连Cisco6513,接收端A直连老校区Cisco6509,接收端B连接计算机学院的接入层。VLC把组播流发送到校园网的各个角落,需要组播路由器和二层,三层交换机的互相配合。
图2 网络拓扑图
5.1 路由器配置
新校区Cisco6513配置:
ipv6 multicast-routing //启用IPv6组播路由协议
ipv6 pim rp-address 2001:da8:100d:1::2 //指定rp路由器
ipv6 route ::/0 2001:da8:100d:1::2 //IPv6静态默认路由
interface GigabitEthernet 2/45
ipv6 enable //启用IPv6协议
ipv6 address 2001:da8:100d:aa::1 //与组播源直连地址
ipv6 pim //启用PIM协议
interface GigabitEthernet 2/46
ipv6 address 2001:da8:100d:1::1 //与老校区6509三层对接地址
ipv6 pim //启用PIM协议
interface GigabitEthernet 2/47
switchport trunk encapsulation dot1q
switchport mode trunk //与计算机学院6509 Trunk互联
interface vlan 888 //计算机学院VLAN
ipv6 enable //启用IPv6协议
ip address 202.119.119.1 255.255.255.0
ipv6 address 2001:da8:100d:ab::1/64
ipv6 pim //启用PIM协议
老校区Cisco6509配置:
ipv6 multicast-routing //启动IPv6组播路由协议
ipv6 route ::/0 2001:da8:100d:1::1 //IPv6静态默认路由
interface GigabitEthernet 3/46
ipv6 address 2001:da8:100d:1::2 //与6513三层对接地址
ipv6 enable //启动IPv6协议
Interface GigabitEthernet 3/47
ipv6 address 2001:da8:100d:3::1/64 //与接收端A直连地址
ipv6 mld //启动MLD协议
5.2 服务器配置
首先配置IPv6协议,在命令行提示符下输入ipv6 install命令加载ipv6协议,然后输入netsh interface ipv6 add address “本地连接” 2001:da8:100d:aa::106命令设置IPV6地址,输入netsh interface ipv6 add route ::/0“本地连接” 2001:da8:100d:aa::1命令设置路由。接着进行VLC设置,VLC支持的媒体来源有本地媒体文件、光盘、网络和采集卡捕获的实况流,这里我们选择了服务器本地的rmvb格式的电影。VLC输出方式选择“本地播放”(监控是否正常)和RTP(组播)两种方式,RTP地址使用FF08::1,端口默认设置为1234,VLC提供了多种音频、视频编码选项,我们选用默认选项。
5.3 客户端访问
在客户端A和B中配置IPv6地址及网关的方法与服务器端类似,配置过后,打开VLC播放器,选择“媒体—打开网络串流—网络—RTP”,地址栏输入组播地址RTP://FF08::1,端口设为1234,就可以通过组播收看电影。
6 结束语
利用IPv6组播特性可以很好应用于视频点播、IPTV等流媒体业务,给用户带来畅快淋漓的视觉体验。IPv6在服务质量、传输安全、数据组播等方面比IPv4有了很大的改进,我们相信其前景是广阔和深远的。
参考文献
[1] 袁潮等.基于IPv6的视频广播点播系统[J].计算机工程与应用,2002(14)
[2] 马戈芳,徐明伟.IPV6组播技术综述[J].电信技术,2003(7)
[3] 彭春燕.基于IPV6组播技术的校园流媒体的研究与设计[J].甘肃科技,2007(4)
顶一下
(0)
0%
踩一下
(0)
0%
版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.