客户端操作:
服务器操作:
客户端操作:
既有基于TCP的RTP,也有基于UDP的RTP,但抓包发现,VLC的RTP是基于UDP的。
操作模式与UDP一致。
VLC的http方式搭建的流媒体服务器是用TCP方式进行数据传输的,操作方式与RTSP一致。
MLD(multicast listener discover)组播侦听者发现协议,主要是ipv6路由器在其直连网段上发现组播侦听者。
路由器使用 IPv6单播链路本地地址作为源地址 发送MLD报文。MLD使用ICMPv6(Internet Control Message Protocol for IPv6,针对IPv6的互联网控制报文协议)报文类型。和IGMP协议一样,所有的MLD报文被限制在本地链路上,跳数为1。解释一下:单播链路本地地址前缀为FE80::/64,这个概念类似于ipv4中,当DHCP分配失败时自动生成的169.254.XXX.XXX这样的地址,凡是源地址或目的地址中含有link-local address的报文,路由器都不应当转发它。这样的报文只能在一个LAN中互通。
简单介绍一下MLD两个版本:MLDv1和MLDv2,详见百度。
MLDv1协议是从IGMPv2协议中派生出来的,其运行机制和IGMPv2协议相同,专门用于IPv6组播群组的管理,其主要是应用于ASM(Any Specific Multicast)模式组播路由协议的组管理工作。主要功能有查询路由器的选举、查询报文、响应抑制、报告报文、离开报文、特定组查询报文、快速离开。
MLDv2从IGMPv3中发展过来,和MLDv1相比,增加了源过滤功能,不仅能够支持ASM模式组播路由协议,而且还能够支持基于IPv6的SSM(Source Specific Multieast)模式组播路由协议。
重点介绍一下如何测试MLD Snooping?针对我们自研的RTK switch
MLDv1测试环境搭建——采用vlc
vlc的一些版本支持ipv6组播服务器的搭建与点播,步骤和ipv4组播服务器的搭建一样,只需要将ipv4的组播地址改成ipv6组播地址,在客户端上输入的网络url格式为rtp://@[ff1e::1]:5004这样的即可。
这里涉及到ipv6的组播地址,要想了解ipv6组播地址更多内容请参见文章《IPv6的组播地址(掌握IPv6通信原理的关键知识点)》http://blog.51cto.com/7658423/1337745
上图这套环境看着像我们的RTK switch是个proxy,实际不然。因为我们的RTK switch现在不支持MLD Query,所以只好借助于H3C带有MLD Query功能的交换机来搭vlc的环境,让RTK Switch可以转发query报文。并且我们的RTK Switch也不支持proxy功能。
MLDv1测试环境搭建——采用TSC
1、MLD Querier device建立
2、MLD客户端device建立
3、在MLD Querier device端口上建立一条绑定流
4、开启device,开始发流吧
打开“媒体——流”选项
点击“添加”按钮选择流媒体文件,然后点击“串流”按钮
点击“下一个”后,在“目标设置”界面选择“RTSP”,然后点击添加 + 按钮
填上目标ip地址,并在“转码选项”中选择相应的编码类型(这个视情况而定),目标IP地址就是PC机器本机的IP地址
客户端, 点击“媒体——打开网络串流”,在弹出的框中输入“rtsp://192.168.1.2:1234/tcp1”,点击“播放”按钮即可。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)