组播虚拟调度实现的基本原理
组播虚拟调度是用户级的调度。当组播复制点在下游设备上时,BRAS设备上只复制一份流量到下游,而不是按用户复制该组播流量,这就使得组播流量在BRAS设备上不能进入用户队列与用户的单播流量一起调度,单播流量仍按照用户的最大带宽进行转发,这就导致在下游设备复制组播流量时,复制后的组播流量带宽无法得到保证。为了使用户组播流量带宽得到保证,当用户加入某组播组时,就需要在BRAS设备上将该用户的单播带宽减掉该组播组的带宽,使得总带宽不变,从而保证组播流量宽。当用户离开该组播组时,再将该用户的单播带宽还原,从而最终实现用户单播带宽与组播带宽的联动,保证BTV业务的质量和用户的体验。
如图所示DSLAM到用户的最大带宽受距离限制,假设最大只能3M。正常上网时使用了全部的3M带宽,此时用户又点播了2M的组播节目,单播流量加上组播流量共5M大于用户的3M带宽,在DSLAM到LAN Switch之间发生拥塞造成丢包。由于DSLAM不具备QoS能力会随机丢包,组播流量被丢弃导致组播节目质量没保障。因此在BRAS设备上根据组播流量带宽动态调节单播流量。DSLAM将用户的IGMP Report报文通过用户VLAN发送到BRAS设备,BRAS收到IGMP Report消息后知道用户点播了组播节目,则会将用户的单播流量减少到1M,此时满足组播流量为2M且用户总带宽为3M,保证了组播节目的质量。