APP下载

网络音视频会议中的IP组播技术研究

2021-11-30黄丽波

科学与信息化 2021年24期
关键词:接收者音视频路由器

黄丽波

92524部队 浙江 宁波 315020

1 IP网络中数据包传递的三种方式

在IP网络中,数据包主要有三种传递方式:单播,广播和组播。传统的IP网络中主要以点对点单播通信应用为主,此时信息的接收和传递在两个节点之间进行。数据源发送多份数据,链路上传递多份数据,中间网络设备转发多份数据,需要数据的接收者都会接收到数据,但是浪费网络带宽。在广播通信中数据源只发送一份数据,网络设备在子网内部对数据进行无条件转发,子网内部的所有主机都可以接收到该数据。由于广播会导致网络设备不堪重负,所以一般都是将广播限制在二层交换机的局域网范围内,路由器上是禁止广播数据通过的。组播通信则是数据源仅发送一份数据,中间网络设备根据需要只给加入组播组的成员转发数据,非组播组成员不接收数据[1]。

2 音视频会议的特点适合使用组播协议

在组播通信中,数据源和骨干路由设备之间只需要发送一份数据,主机主动申请加入组播组,数据源只会被路由设备转发给需要数据的组播组成员,没有加入组播组的主机不会被转发。这种按需转发的规则特别适合音视频会议的场合。因为在音视频会议中,一般是一个主会场对应多个分会场,一对一组的通信方式。而组播恰好又是一对一组的通信协议。主会场只需要在骨干网络上发送一份数据,在分支路由器上再进行数据转发到达分会场即可。组播网络中,即使组播用户数量成倍增长,骨干网络中网络带宽不会增加,只需要一份数据通过,极大降低了骨干网带宽消耗[2]。

3 组播技术体系

组播技术涉及组播地址分配,二层的组播监听IGMP SNOOPING协议,主机与路由器之间的组成员管理协议IGMP和路由协议。

3.1 组播IP地址

组播IP地址不同于用来标识一台主机的单播地址,组播地址不是任何主机或者组播源的地址,它仅仅用于标识一个IP组播组,相当于一个组号码,仅仅是属于该组播组的成员都会接收到组播源发送过来的消息。

3.1.1 组播地址属于D类地址。组播地址第一个字节的前4位,用二进制1110来识别。

字节1 字节2 字节3 字节4

1110XXXX XXXXXXXX XXXXXXXX XXXXXXX

3.1.2 组播地址分类:

224.0.0.0—224.0.0.255:永久组地址,预留出来给协议使用。

224.0.1.0—224.0.1.255:公用组播地址。

224.0.2.0—238.255.255.255:用户可用的地址。

239.0.0.0—239.255.255.255:本地管理组播地址。

3.1.3 组播地址与MAC地址的换算。单播IP报文在网络中传输时,目的MAC地址使用的是接收者的MAC地址。但组播报文的接收者不是单一的,是在组播组里的全部成员,所以不能用单个IP对应的MAC,而应该用组播MAC。组播MAC地址的计算方法如下:组播MAC地址=组播MAC标识(0x01005E)+第25位为0+组播IP地址后23位对应的二进制位。因为组播MAC地址的前25位是固定的,后23位和组播IP地址的后23位相同,组播IP地址的前四位是固定的0100,那么就会有32-23-4=5个二进制位的IP地址也就是32个多播地址对应的MAC地址是相同的。

3.2 二层组播协议为IGMP SNOOPING

IGMP组成员管理协议是针对第三层的,但是在实际网络情况中,组播报文要经过一些二层交换机进行转发,如果不对二层交换机进行一些设置,组播数据就会在第二层数据链路层进行扩散,会造成广播风暴。IGMP SNOOPING的出现解决了这个问题,其工作机理为二层交换机根据侦听到的主机发向路由器的IGMP成员报告消息形成组成员和交换机的接口之间的对应关系,交换机则根据此对应关系将收到的组播数据包只转发给连接组成员的接口。IGMP SNOOPING解决了二层交换机中的广播风暴问题,但是要求交换机具有提取三层信息的能力,并且在监听组播报文的时候大量占用了交换机CPU的资源。

3.3 三层组播协议

三层组播协议分为两类,第一类为主机-路由器之间的组成员关系协议IGMP。第二类为路由器-路由器之间的组播路由协议,其中包括域内(PIM-SM等)和域间(MBGP)组播路由协议。

3.3.1 主机-路由器之间的组成员关系协议IGMP。IGMP协议运行于主机和与主机直接相连的组播路由器之间,该协议使得本地路由器获知主机希望加入某个特定组播组的信息。组播路由器也通过此协议周期性查询局域网内某个已知的组成员的活动状态,也就是该网段是否还有属于某个组播组的成员,这样就实现了所有组播组的组成员关系的收集和维护。组播路由器通过IGMP协议建立起一张表,其中包含了路由器各个端口以及在端口上所对应的子网上都有哪些组成员。当路由器接收到某个组Group的数据报文后,只向那些有Group的成员端口上转发数据报文,其他端口不转发。IGMP建立并且维护路由器直联网段的组成员关系信息。IGMP协议不负责数据报文在路由器之间如何转发则由路由协议决定。域内组播路由协议PIM-SM根据IGMP维护的这些组播组成员关系表通过一定的组播路由算法构造组播分发树进行组播数据包转发。

3.3.2 域内组播路由协议PIM-SM的数据分发机制。目前应用最多的域内组播路由协议是PIM-SM稀疏模式协议无关组播。在PIM-SM域中,运行PIM-SM协议的路由器周期性发送HELLO消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行指定路由器(DR)的选举。这里,DR负责为其直连组成员朝着组播分发树根节点的方向发送消息,或者是将直连组播源的数据发向组播分发树。PIM-SM通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以组Group的RP(Rendezvous Point汇聚点)为根的共享树RPT和以组播源为根的最短路径树SPT(Short Path Tree)。PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。当DR(指定路由器)收到一个发自接收端的加入(Join),它就会向着组Group的RP方向逐跳组播发出一个(*,G)加入信息用以加入共享树RPT,其中“*”指的是RP。源主机向组播组发送组播数据时,源的数据被封装在注册消息内,并由其DR单播至RP,RP再将源的解封装数据包沿着共享树转发到各个组成员。RP朝着源方向向第一跳路由器发送(S,G)加入信息,用以加入此源的最短路径树,这样源的数据包将沿着其最短路径树不加封装地发送到RP。当第一个组播数据沿此树到达时,RP向源的DR发送注册停止消息,以使DR停止注册封装过程,此后,这个源的组播数据不再注册封装,而是沿着源的源的最短路径树发送到RP,再由RP将其沿着共享树转发到各成员,当不再需要组播数据时,DR向着组G的RP逐跳组播剪枝消息用以剪枝共享树。

对服务人员从普洱茶养生原理、效果和养生之法等方面进行培训,培养一支具普洱茶养生特色创新性的服务团队。其次,与高校建立实习合作基地,挑选养生旅游针对性较强的导游,对养生旅游起到实质性的作用。此外,结合傣医与普洱茶养生,邀请傣医专家定期举行养生讲座,为游客提供养生咨询。以双赢合作理念充分结合当地居民为游客提供各民族的普洱茶盛宴,既提供就业机会又促使游客有直接的体验。使当地居民成为普洱茶养生的形象大使。

3.3.2.1 RPT向SPT的切换。PIM-SM组播网络中有两棵树,一棵是从组播源到RP的SPT,另外一颗是从RP到组播接收者的RPT,为获得更加小的延迟,接收者侧的DR会发起从RPT到SPT的转换,当接收者侧的DR收到第一个组播报文时,就会知道组播源的位置,在单播路由表中查询到达源的路由,明确到达源的出接口和下一跳地址,然后向组播源直接发送特定源组的join消息,join消息将沿着DR指向组播源的单播路由逐跳发送,最后到达组播源侧的DR,沿途每一台路由器都会建立(S,G)表项,这时,网络中组播源会有两条路径到达组播接收者,一条是沿着SPT到达,另一条是沿着RPT的路径到达,这时,会丢弃从RP接收到的报文,并向RP发送prune消息(在RP的(S,G))表项的出接口为空的条件下,证明下面没有接收者)最终形成组播源到组播接收者的SPT。

3.3.2.2 PIM-SM中的RPF逆向转发机制。组播转发机制和单播转发机制不同,单播转发机制查看的是报文的目的地址,用目的地址去查找路由表,进行转发,而在组播转发中,环路是比较致命的,组播转发机制为了防止环路查看的是报文的源地址,有源地址去查找单播的IP路由表,查找到下一跳的出接口,与接收到的组播报文的接口相比,如果是同一个接口,则正常转发,如果不是则丢弃,这就是组播的逆向转发机制,组播转发下想要找到下一跳的出接口,那么可以通过组播转发表项(S,G)来进行查找,其中包含了源地址和组播地址还有出接口以及入接口。以组播报文的源地址作为IP单播的地址查找路由表,找到下一跳的出接口,如果出接口与接收到的组播报文的接口一致,那么RPF检查通过,否则直接丢弃,每一台路由器都会进行RPF检查,确保路径是最优的,在SPT中报文源就是组播源,在RTP中RP到组播接收者的这段路径上,组播源是RP,在组播源到RP的路径上,报文源是组播源。

3.3.3 域间组播路由协议。域间组播路由协议MBGP在各自治域之间发布具有组播能力的路由信息及组播源信息,以使组播数据在域间进行转发。MBGP是在目前使用最广泛的单播路由协议BGP-4上做了一些增强和改进,MBGP不仅能携带单播路由协议,还能携带包括组播在内的网络层协议,在MBGP中,单播路由信息和组播路由信息可以在同一进程中进行交换,但他们分别存在于各自的单播路由表和组播路由表中。MBGP兼容BGP-4的策略和常见配置方法。

4 组播的实际配置与组播路由查看

二层交换机的配置:igmp snooping enable//组播抑制

三层交换机的配置:以三层交换机SwitchA上的vlan2接口为例:

[SwitchA]multicast routing enble//使能组播路由功能

[SwitchA-vlan2]pimsm //在vlan2接口下使能pimsm协议

[SwitchA-vlan2]igmp enable //若该vlan接口下有组播用户要使能igmp协议,因为igmp是主机和与其直接相连的组播路由器之间的协议。

查看组播路由的命令是[SwitchA]display pim routing-table。通过此条命令返回的组播路由表中的(*,G)、(S,G)以及Upstream interface和Downstream interface来判断网络上是否形成了正确的组播路由表。此条命令是发生组播故障时检查的重要依据,可以快速定位故障位置。一般在网络音视频会议中,如果单播正常,但是组播不正常,基本上可以判断故障是出在组播路由上,可以在平时组播转发正常的时候备份一个正确的组播路由表,将出现故障时通过display pim routing-table命令查询出来的组播路由表与之对照,看是否与组播转发正常时的组播路由表一致,如果不一致,则要查找在网络上是否有单位近期对路由配置进行了改动。一般来说,如果RP的下游部分的路由器的组播路由(*,G)这一项还没有建立,那么组播转发故障基本上是在已经建立(*,G)和还没有建立(*,G)这一项的路由器之间。很有可能是因为网络安全防护类设备如防火墙或者加密设备出现问题,导致(*,G)无法向RP发送加入申请消息。如果路由器的(*,G)、(S,G)项与组播能正常转发时一致,中游路由器能收到组播包,但是下游路由器收不到组播包,那么故障原因很有可能是组播源的TTL值过小,数据包在还没4有到达下游路由器时就被丢弃了。这时候只需要修改TTL的数值就可以了。

5 结束语

组播是IP通信的一种不同于单播的数据传递方式,在网络音视频会议中得到了广泛应用,大大减轻了骨干网的传输压力。与传统的音视频会议系统相比,网络音视频会议系统又多了一个组播技术,组播技术涉及地址分配,组成员管理协议,域内域间路由协议等,单播正常组播不正常的故障排查需要对组播技术有深入研究。对组播技术的深入研究有助于提高网络音视频会议的保障水平。

猜你喜欢

接收者音视频路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
基于SDN的组播安全机制
功能翻译理论视角下英语翻译技巧探讨
3KB深圳市一禾音视频科技有限公司
可撤销用户动态更新广播加密方法的研究
WIFI音视频信号传输的关键问题探究