Labs 导读
数据在网络中传输主要有三种通讯模式,即单播、广播和组播。目前以单播和广播的形式较为常见,组播出现时间最晚,同时也兼具单播和广播的优点,因此最具发展前景,已广泛应用于流媒体业务的传输领域。本文将重点介绍组播的定义、组播技术在业务场景应用中的问题以及Wi-Fi组播技术的工作流程。
作者:魏飞
单位:中国移动智慧家庭运营中心
一、什么是组播?
组播(multicast),也叫多播、多点广播或群播,允许把信息同时传递给一组指定目的地址。组播传输方式非常适合一对多的通信模型(例如视频业务传输),只有加入到特定组播组的成员,才会收到该组播数据。组播网络通信数据流向如图1所示。当存在多个接收组播业务数据的终端时,视频服务器仅需发送一份数据即可,组播网络设备会依据网络协议按需拷贝,按需发送。组播的数据报文在网络传输层链路上只需要传递一次,仅在遇到链路分叉的时候,组播消息报文才会被复制。因此,使用组播方式,可以解决单播条件下出现的数据重复传输的问题,同时也避免了广播条件下带宽资源的浪费。
图1 组播通信数据流向
当然组播传输方式也不是尽善尽美,一般情况下,组播数据包都基于UDP协议,采用尽力而为的传输方式,缺少拥塞避免机制,数据传输过程中容易出现报文重复、丢失或失序的现象,但上述缺点都有成熟的解决方案。因此使用组播方式已成为网络视频业务最主要的承载方式,中国移动也逐步从单播(OTT模式)向组播(IPTV模式)进行快速切换。
二、组播技术在业务场景应用中的问题
在网络高清视频的传输中,使用组播协议可以有效减少视频服务器传输重复的报文数量,降低视频服务器的压力。但是在家庭内网领域内,由于Wi-Fi无法有效承载组播业务包,家庭视频一般均要求采用有线接入,这极大地影响了电视终端接入能力,提高了家庭第二台电视的布置难度。
当前,在家庭内网网络进行组播数据传输时,一般采用广播方式。这种传播方式可以保证所有组播组成员都接收到组播数据。家庭内网环境下,更多用户并不需要接受组播数据流,也都收到了组播信息,使得网络内所有节点都需要参与到传输过程中,造成无谓开销。同时,使用广播的方式将无法对组播数据提供可靠性保证机制,在无线环境自身丢包率较高的环境中,网络丢包将会对视频流的传输质量产生明显影响,造成视频传输过程中出现卡顿,影响实际传输效果。
针对组播数据流在家庭内网中传输的不足,我们在组网终端侧做数据转换,通过路由器对组播业务流的识别,并自动将组播数据转成单播数据,以单播数据分别传输给加入组播组的STA节点,路由器根据不同的STA节点之间信号的强弱选择合适的发射功率和速率协商,降低STA对信道资源占用。
三、Wi-Fi组播技术方案介绍
Wi-Fi组播技术方案的思路是避免组播数据流在家庭内网中传输,要求AP终端将接收到的组播数据转换为组播组成员的单播数据,而后通过单播数据实现家庭网络内部的传输。
图2为组播转单播网络示意图,图中STA节点为组播组成员节点,主路由(Controller)节点为整个Mesh网络中的主节点,由该节点实现组播数据流向单播数据流的转化,从路由1(Agent)和从路由2(Agent)直连连接STA。主路由和从路由1、从路由2节点之间通过Wi-Fi Mesh网络相连。设置主路由作为IGMP查询节点。
图2 组播转单播网络示意图
组播转单播的实现方案,要求主路由在网络中通过IGMP Snooping协议获取IGMP信息、成员报文信息后,依据组播组地址和加入该组播组STA地址,在自身内部建立组播组地址到组播组成员地址对应映射关系的地址转换表。
主路由(Controller)收到组播数据后,当满足组播转单播条件时,主路由(Controller)查询家庭内网的地址转换表,将组播数据流的目的地址替换为到家庭内网节点地址,同时Mesh地址格式中MDA地址设置为真正的组播组地址然后将组播数据从主路由(Controller)处通过单播方式传输到对应的从路由(Agent)处。从路由(Agent)终端收到从主路由(Controller)传输的数据后,判断MDA地址为组播数据,同样查询地址转换表,同所有加入该组播组的STA 节点建立连接,将数据单播到组播组成员节点。
Wi-Fi组播技术工作流程如如图3所示:
组播数据通过网络到达主路由(Controller)后,Mesh网络内组播转单播的流程如下:
第一步:主路由(Controller)通过广播报文建立起到Wi-Fi Mesh网络内从路由1(Agent)和从路由2(Agent)的双向路由。然后,主路由(Controller)周期广播IGMP查询报文,通知网络内需要加入组播组的STA节点,STA节点响应并回复IGMP成员报文。
第二步:STA的IGMP Report报文发送给邻近从路由1(Agent)或从路由2(Agent)。从路由1(Agent)或从路由2(Agent)收到IGMP Report报文后,通过IGMP Snooping机制,建立转发表,存放组播组的MAC地址,并发送IGMP Report报文的STA节点地址以及从路由1(Agent)或从路由2(Agent)节点下组播组STA成员计数值。
第三步:从路由1(Agent)或从路由2(Agent)节点将IGMP Report报文的地址头进行替换,目的地址修改为主路由(Controller)的地址。在Wi-Fi Mesh网络内,将IGMP Report报文通过单播形式传输给主路由(Controller)。
第四步:在主路由(Controller)运行IGMP Snooping的机制,建立转发表。主路由(Controller)转发表存放组播组MAC地址,从路由1(Agent)或从路由2(Agent)地址以及在主路由(Controller)连接组播组成员的MAP节点计数值。
第五步:数据从视频服务器(Server)发出后,通过组播的方式进行数据传输,当组播数据到达在主路由(Controller)后,在主路由(Controller)首先判断是否已经开启组播转单播功能,若开启,则查找地址转换表进行目的地址的替换。对于每一个同组播组成员STA节点直接连接的MAP节点,在主路由(Controller)节点复制一份数据,将目的地址替换为该MAP节点地址,以单播的形式转发出去。
第六步:在从路由1(Agent)或从路由2(Agent)节点收到主路由(Controller)转发的组播报文后,取出组播地址,通过查找本地存储的地址转换表,将数据报文的目的地址替换为加入组播组的STA地址,并同STA建立连接,将组播数据通过单播的方式发送给STA节点。至此,通过Wi-Fi Mesh网络建立了组播转单播方案,组播数据流可以在Wi-Fi中进行快速且可靠的传输。
图3 组播转单播流程图
四、总结
随着无线局域网的广泛应用,目前已深入千万普通用户家庭,成为家庭刚需产品。Wi-Fi组播技术在家庭环境下通过Wi-Fi进行视频业务承载,简化家庭高清直播视频的业务传输,降低产品的入户门槛,满足家庭用户部署多台电视的需求,提升家庭用户满意度。
标签: 组播客户端加入