1. 当前位置: 网站首页 >  路由器百科 >  组播是什么意思?电视看4K直播不占宽带,我抓包看了一眼才搞明白

组播是什么意思?电视看4K直播不占宽带,我抓包看了一眼才搞明白

组播是什么意思:单播广播组播三种送法对比与IGMP Snooping交换机工作示意

上礼拜家里电视开着IPTV放4K直播频道,我顺手在电脑上跑了个测速——941兆,纹丝不动。同一台电视换成盒子里的直播App看同一个频道,测速立马掉到910上下。同一个频道,一种看法不占带宽、另一种占,差就差在送法上:IPTV走的是组播,盒子里的App走的是单播。这篇就把组播这件事掰开讲明白,顺便给你看我抓的包。

先把单播、广播、组播这三种送法分清

网络上送数据就三种路数,拿快递和报纸打比方最直观。

单播是一对一快递。你看视频,服务器给你家发一份,运费你家出(占宽带)。邻居家也在看,服务器再单独给他发一份,各走各的。家里九成的流量——刷网页、看视频、下载——全是单播。好处是精准,坏处是人一多服务器累、宽带挤。

广播是村里大喇叭。一个包发出去,同一个网段里所有设备都得听一遍。ARP找人靠广播喊话,DHCP上门牌号也是广播。这类包个头小,喊一声就完,平时不碍事;真出事是大喇叭被网线环卷进去无限循环,那是交换机那篇讲过的环路坑,这里不展开。

组播是订报。报社只印一份,邮路上只送一份,到了你家门口,谁订了谁领,没订的设备理都不用理。IPTV直播频道、投屏设备互相发现,走的都是这条路。

组播的地址长得很有辨识度。IPv4地址里224.0.0.0到239.255.255.255这一整段被划给了组播,普通设备的IP永远不长这样,所以抓包的时候一眼就能认出来。运营商的IPTV频道大多用239开头的地址,对应的组播MAC地址统一以01:00:5e开头——这个前缀后面还会说到,它是交换机犯迷糊的根源。

为什么电视看直播不占宽带兆数

先算单播的账。盒子里的直播App是单播:平台服务器把流一路一路推给每家,你家收一路4K,宽带池子就少十几二十兆。看的人越多,服务器和沿途链路越挤,所以晚高峰有些台会卡。

组播的账完全不一样。运营商在城里把每个频道的流只推一份,沿着它的网一路分发到小区,谁家想看,机顶盒发个「我要订」的报文,这份流就近分你一路。一百户看春晚和一户看春晚,城域网里跑的都是那一份流。这份流走的是运营商给IPTV单独划的通道,不经过你家宽带那条逻辑链路,所以我测速941兆纹丝不动——池子根本没动。

对比项盒子直播App(单播)IPTV直播(组播)
流的份数一家一份全城一份,就近分发
占不占宽带占,4K一路约15~25兆不占,走独立通道
晚高峰表现看服务器和CDN脸色稳定,跟看的人多少无关
走哪个口随便,有网就行光猫IPTV口或专用VLAN

这也是为什么我以前算宽带装多少兆时敢把IPTV从账里剔掉,而自己买的OTT盒子必须算进去——两种送法占不占池子是两码事。电信后来推的软终端是折中:不用机顶盒了,但走的是你家宽带,4K一样占二三十兆,办两台电视的时候这笔账得算清。

IGMP Snooping:交换机在中间偷偷干的活

机顶盒「订报」用的协议叫IGMP。你按到CCTV5,机顶盒往网络里发一个IGMP加入报文,说我要订239.x.x.x这一组;换台时再发一个离开报文,退订旧的。这份报文一路向上,沿途的运营设备就知道这份流要往哪儿送了。

麻烦出在你家里。组播流进了家门,得由你家交换机分给机顶盒那个口。可交换机转发靠的是MAC地址表,组播地址是「一组人」不是「一台设备」,表里查不到对应口——怎么办?傻瓜交换机的处理方式是洪泛:所有口都发一份。反正组播MAC以01:00:5e开头,交换机一看不是普通单播,干脆全屋广播。

我家那台8口千兆傻瓜交换机就这样。我在NAS的网口上抓包看了下,机顶盒开着的时候,命令是这一行:

tcpdump -i eth0 net 239.0.0.0/8 -c 20

结果NAS口每秒都能截到239开头的包,一路4K十几兆的流量白白淌给一个根本没在看电视的硬盘柜。这就是为什么当初写IPTV单线复用时我提过一嘴IGMP Snooping:支持这个功能的交换机会「偷听」IGMP报文,记下哪个口订了哪个组,往后组播只发订过的口,别的口干干净净。我把机顶盒挪到表弟那台带Snooping的管理型交换机上试,NAS口立刻安静了,十几兆的洪泛消失。

顺便解释一个老疑问: IPTV换台为什么要等一两秒?拆开是三段等待——机顶盒先发退订,设备要确认你没手滑,默认等两三秒的查询;再发加入,报文逐级往上报,每跳都有延迟;流到了机顶盒还得预读缓冲、等下一个关键帧才能出画面。厂商优化无非是缩短查询、加快离开、预加相邻频道,但一两秒这个量级是机制决定的,等它,不是卡了。

为什么IPTV要单独占一个口、还要一个VLAN

看到这你应该能推出原因了:组播一旦离开运营商的网进了你家,就是家里的流量,洪泛起来谁都躲不掉。所以运营商干脆给IPTV划了独立摊子——光猫上单独的IPTV口,或者一条单独的VLAN,跟上网的流量隔开,井水不犯河水。

这个设计解释了几个常见现象。一是光猫后台WAN连接表里那条写着OTHER或IPTV的连接,就是组播通道的入口,改桥接时把它弄丢,电视就黑屏,救回来靠的就是把VLAN抄回去。二是有些路由器支持IPTV绑定,比如小米后台藏着的IPTV开关,本质是把这条组播通道在路由器里也隔出来。三是路由器默认不跨网段转发组播——组播想跨网段得靠专门的组播路由协议,家用路由器一概不配。所以机顶盒必须跟IPTV口或对应VLAN直通,你没法把它挪到随便一个路由器后面就看。

家里还有谁在用组播:投屏为什么能互相搜到

IPTV之外,家里还有一堆东西悄悄在用组播,最常见的是投屏。

手机一点投屏,电视就冒出来——它俩靠的是SSDP发现协议,报文发往239.255.255.250这个固定组播地址的1900端口,同网段里支持投屏的设备都蹲在这个「频道」上听。苹果系的AirPlay和打印机的发现走mDNS,地址是224.0.0.251。换句话说,你家里每一次投屏,背后都是一次组播喊话。

这直接解释了两件烦心事。第一件,连了访客网络或AP隔离的WiFi就搜不到电视——隔离把组播拦了,喊话过不去,设备互相装瞎。第二件,我把家里划了VLAN分区之后投屏也断了——组播不跨网段,A区的喊话B区听不见,要么把要投屏的设备挪回同一个区,要么在网关上配mDNS反射器专门转发放大这些喊话。原理跟IPTV跨不过路由器是同一个:组播天生不出网段。

跟组播有关的三个毛病,对号入座

症状病根怎么办
直播黑屏,点播回看都正常组播通道断了:VLAN或IPTV口没接对查光猫WAN表OTHER那条和VLAN号,对照改回来
换台要等一两秒退订加入加缓冲的机制延迟属正常,别折腾
NAS等设备口白白淌十几兆流量傻瓜交换机组播洪泛换带IGMP Snooping的交换机,或把机顶盒单独接IPTV口

排查顺序给个顺手的:先看直播黑不黑屏,黑屏走VLAN那条线;不黑屏但全网卡,翻交换机,看看是不是洪泛;都正常就别动了,组播这东西知道它在干活就行。到头来一句话:单播是一对一快递,广播是大喇叭,组播是订报——电视看直播不占宽带、换台等一两秒、投屏只在同一个网里好使,全是这份「报纸」的规矩。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《组播是什么意思?电视看4K直播不占宽带,我抓包看了一眼才搞明白》
本文地址:https://www.shunot.com/lybk/1055.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注