V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eccentric579
V2EX  ›  宽带症候群

光猫是如何处理 vlan 数据的

  •  
  •   eccentric579 · 2 天前 · 1033 次点击
    • 以成都电信为例,iptv vlan 是 43 ,internet 是 1206 , 组播 vlan 是 3990.

    • itv 口肯定是 vlan untagged 的,因为机顶盒无法处理 vlan 数据

    • 不考虑 igmpproxy 时,itv 口作为一个 vlan access 口,同时有 vlan 43 untagged, vlan 3990 untagged ?

    • 考虑 igmpproxy 时,igmpproxy 的下游是 itv 口,上游是 vlan 43 还是 vlan 3990 ? igmpproxy 能同时监听两个上游且能一个用于入组,一个用于接收?

    • 我做了如下一个单线复用,在 wan.43 抓包得到了 igmp join/leave, 在 wan 抓到了 vlan untagged 的组播 udp . 我认为这导致了 udpxy 在 openwrt 上不能正常工作。 2.png

    17 条回复    2025-01-16 23:07:45 +08:00
    2067
        1
    2067  
       2 天前 via Android
    直觉认为,untagged 只表示从这个端口转发出的时候去标签,并不表示从这个端口入的时候认为属于这个 vlan ,对应入端口的配置叫做 pvid 。虽然这两个配置一般是一样的,理论上也只推荐配置一个 untagged vlan ,但是实际上配置多个 untaggedvlan 加一个 pvid 也是“可能可行”的。

    至于 igmp 如何控制组播,这个不熟,问了一下 ai ,回答让我不十分满意,就不乱说了,蹲坑学习
    anncor
        2
    anncor  
       2 天前 via Android
    推荐先抓光猫到机顶盒的包看一下整体的 igmp 过程是不是最简单的 igmpv2 ,是的话只需要光猫桥接组播 vlan 出来,在路由器上建一个对应的 wan 口,随便配置个地址,再设置内核 igmp 版本与运营商一致就可以在路由器上转单播了,不是的话就会很复杂
    eccentric579
        3
    eccentric579  
    OP
       2 天前 via Android
    @2067 受教了,我想这应该就解释通了为什么 op 上的 wan 即使没有指定 vlan 1206 也能成功 pppoe 拨号
    msmmbl
        4
    msmmbl  
       2 天前
    @eccentric579 我这 iptv 是可以 adb 的,进去后运行 ifconfig 可以发现有 eth0 和 eth0.85 ,所以感觉和你那的光猫还不一样。我这里的机顶盒是可以处理 vlan 数据的。
    crazyzzm
        5
    crazyzzm  
       2 天前
    最近也在研究单线复用,理解还比较粗浅,op 描述的没完全懂。猫 itv 口绑定了 lan 口,流量是
    crazyzzm
        6
    crazyzzm  
       2 天前
    最近也在研究单线复用,理解还比较粗浅,op 描述的没看懂。
    说下我粗浅的理解:猫 itv 口绑定了 lan 口,流量是 untagged ,但猫本质是一个交换机,直接根据 lan 口区分流量,最终到光纤那边出口是 tagged 的。单线复用要解决的问题是如何在 openwrt 那将 itv 和其他流量区分开,网上很多解决方法是让猫建立用户侧的 vlan 规则,openwrt 到猫的流量 tagged ,猫区分后再重新封装出口。
    不确定对 op 是否有用,献丑了
    eccentric579
        7
    eccentric579  
    OP
       2 天前
    @msmmbl 这样啊,这倒是挺出乎我的意料的。我这边抓包机顶盒和光猫之间是不带 tag 的。
    anncor
        8
    anncor  
       2 天前 via Android
    光猫不是纯二层设备,所以可能的情况会有很多,从描述看,你的光猫使用的方案可能是对下行端口配置组播 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
        9
    blackeeper  
       2 天前
    你用 OP 拨号,modem 肯定是设置桥接模式了,光猫如何处理 vlan 的数据已经不重要了,都会转发的
    也就是说你的 op 配置了 wan.43 那么这个接口就能收到 vlan43 的流量
    op 配置了 wan.3390,那么这个接口就能收到 vlan3390 的流量
    op 上啥 vlan 也没配置,就是图上 wan 口,那么就是 vlan untagged 的流量
    eccentric579
        10
    eccentric579  
    OP
       1 天前
    @blackeeper op 上我是 wan 和 wan.43 同时存在的。一个拨宽带,一个拨 iptv. 相当于光猫把组播 untag 了发给了宽带接口 wan. udpxy 监守在 wan.43 iptv 口,收不到这部分数据的。
    eccentric579
        11
    eccentric579  
    OP
       1 天前
    @anncor 我之前看到一个帖子,说抓了 pon 的包,说 vlan 43 负责上行的 IGMP 入组,dhcp, 下行的点播,vlan 3990 负责下行的组播。vlan3990 是纯下行。然后你说的这个子接口是什么意思,直接在 wan 上做 iptv dhcp 么? wan 上能同时跑 pppoe internet 和 iptv dhcp 么?
    blackeeper
        12
    blackeeper  
       1 天前
    @eccentric579 #10 你要单线服用,每个功能应该弄一个子接口 wan.X,你不能直接用 wan 这个物理接口的
    blackeeper
        13
    blackeeper  
       1 天前
    @eccentric579 #10 wan 是你的物理线路,wan.x 和 wan.y 就是你的虚拟线路,wan 口你可以抓包,但是不能拨号,拨号就独占这个线路了,其他的虚拟也就出问题了。
    bronco
        14
    bronco  
       1 天前 via iPhone
    上海电信,我的体会是,光猫将组播从 vlan51 转发给 vlan85 ( B 平面),让盒子可以直播点播。同理,我在 ROS 上起个 igmpproxy ,就可以让盒子随便接入并正常工作(配合 DHCP Options )。udpxy 干的是组播转单播,跨 vlan 转发组播是光猫和 igmpproxy 干的事。
    eccentric579
        15
    eccentric579  
    OP
       1 天前
    @bronco 那 igmpproxy 的配置怎么写?
    bronco
        16
    bronco  
       1 天前 via iPhone
    @eccentric579 啊不就几个 interface 加进去指定个 upstream 就好了?我自己是加了 vlan85 和 bridge 作为 downstream ,这样 85 给盒子,自己的 updxy 跑在 bridge 里。
    anncor
        17
    anncor  
       1 天前 via Android
    @eccentric579 有些光猫的配置可以任意口接入,这种可以尝试直接从 wan 口发 igmp 报文,组播 VLAN 、IPTV VLAN 的处理光猫全包了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2620 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:01 · PVG 13:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.