光猫是如何处理 vlan 数据的

253 天前
 eccentric579
2291 次点击
所在节点    宽带症候群
17 条回复
2067
253 天前
直觉认为,untagged 只表示从这个端口转发出的时候去标签,并不表示从这个端口入的时候认为属于这个 vlan ,对应入端口的配置叫做 pvid 。虽然这两个配置一般是一样的,理论上也只推荐配置一个 untagged vlan ,但是实际上配置多个 untaggedvlan 加一个 pvid 也是“可能可行”的。

至于 igmp 如何控制组播,这个不熟,问了一下 ai ,回答让我不十分满意,就不乱说了,蹲坑学习
anncor
253 天前
推荐先抓光猫到机顶盒的包看一下整体的 igmp 过程是不是最简单的 igmpv2 ,是的话只需要光猫桥接组播 vlan 出来,在路由器上建一个对应的 wan 口,随便配置个地址,再设置内核 igmp 版本与运营商一致就可以在路由器上转单播了,不是的话就会很复杂
eccentric579
253 天前
@2067 受教了,我想这应该就解释通了为什么 op 上的 wan 即使没有指定 vlan 1206 也能成功 pppoe 拨号
msmmbl
253 天前
@eccentric579 我这 iptv 是可以 adb 的,进去后运行 ifconfig 可以发现有 eth0 和 eth0.85 ,所以感觉和你那的光猫还不一样。我这里的机顶盒是可以处理 vlan 数据的。
ming404
253 天前
最近也在研究单线复用,理解还比较粗浅,op 描述的没完全懂。猫 itv 口绑定了 lan 口,流量是
ming404
253 天前
最近也在研究单线复用,理解还比较粗浅,op 描述的没看懂。
说下我粗浅的理解:猫 itv 口绑定了 lan 口,流量是 untagged ,但猫本质是一个交换机,直接根据 lan 口区分流量,最终到光纤那边出口是 tagged 的。单线复用要解决的问题是如何在 openwrt 那将 itv 和其他流量区分开,网上很多解决方法是让猫建立用户侧的 vlan 规则,openwrt 到猫的流量 tagged ,猫区分后再重新封装出口。
不确定对 op 是否有用,献丑了
eccentric579
253 天前
@msmmbl 这样啊,这倒是挺出乎我的意料的。我这边抓包机顶盒和光猫之间是不带 tag 的。
anncor
253 天前
光猫不是纯二层设备,所以可能的情况会有很多,从描述看,你的光猫使用的方案可能是对下行端口配置组播 VLAN ,端口模式 hybird ,default vlan(pvid) 1206 ,untag vlan 43 ,指定组播 VLAN 43 。

这种配置的行为是:下行口收到 igmp 报文会打 VLAN tag 43 往上行口发送,然后上行口收到的组播报文在下行口处去掉 VLAN tag ,直接发送到设备。

可以试下盒子能不能插光猫任意接口,可以的话尝试路由器上不建子接口,直接使用 wan 作为上行口。

我用的猫棒,基本没有管理功能,所以逻辑很简单,猫棒只负责把 VLAN 原样发出来,然后在路由器上配置 wan 子接口就可以正常用了,流量不会有异常;然后又为了正常用原来的机顶盒,在交换机上配了组播 VLAN ,路由器上加了 itv 认证 wan 和认证网段的路由,盒子改 DHCP 接入才能正常用。
blackeeper
253 天前
你用 OP 拨号,modem 肯定是设置桥接模式了,光猫如何处理 vlan 的数据已经不重要了,都会转发的
也就是说你的 op 配置了 wan.43 那么这个接口就能收到 vlan43 的流量
op 配置了 wan.3390,那么这个接口就能收到 vlan3390 的流量
op 上啥 vlan 也没配置,就是图上 wan 口,那么就是 vlan untagged 的流量
eccentric579
252 天前
@blackeeper op 上我是 wan 和 wan.43 同时存在的。一个拨宽带,一个拨 iptv. 相当于光猫把组播 untag 了发给了宽带接口 wan. udpxy 监守在 wan.43 iptv 口,收不到这部分数据的。
eccentric579
252 天前
@anncor 我之前看到一个帖子,说抓了 pon 的包,说 vlan 43 负责上行的 IGMP 入组,dhcp, 下行的点播,vlan 3990 负责下行的组播。vlan3990 是纯下行。然后你说的这个子接口是什么意思,直接在 wan 上做 iptv dhcp 么? wan 上能同时跑 pppoe internet 和 iptv dhcp 么?
blackeeper
252 天前
@eccentric579 #10 你要单线服用,每个功能应该弄一个子接口 wan.X,你不能直接用 wan 这个物理接口的
blackeeper
252 天前
@eccentric579 #10 wan 是你的物理线路,wan.x 和 wan.y 就是你的虚拟线路,wan 口你可以抓包,但是不能拨号,拨号就独占这个线路了,其他的虚拟也就出问题了。
bronco
252 天前
上海电信,我的体会是,光猫将组播从 vlan51 转发给 vlan85 ( B 平面),让盒子可以直播点播。同理,我在 ROS 上起个 igmpproxy ,就可以让盒子随便接入并正常工作(配合 DHCP Options )。udpxy 干的是组播转单播,跨 vlan 转发组播是光猫和 igmpproxy 干的事。
eccentric579
252 天前
@bronco 那 igmpproxy 的配置怎么写?
bronco
252 天前
@eccentric579 啊不就几个 interface 加进去指定个 upstream 就好了?我自己是加了 vlan85 和 bridge 作为 downstream ,这样 85 给盒子,自己的 updxy 跑在 bridge 里。
anncor
252 天前
@eccentric579 有些光猫的配置可以任意口接入,这种可以尝试直接从 wan 口发 igmp 报文,组播 VLAN 、IPTV VLAN 的处理光猫全包了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1105397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX