V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
RedisMasterNode
V2EX  ›  程序员

思科 WiFi 1/40 亿概率的 bug 让我碰到了, 100% 触发无法连网,你猜到底是怎么写出来的代码?

  •  3
     
  •   RedisMasterNode · Apr 3, 2023 · 5016 views
    This topic created in 1128 days ago, the information mentioned may be changed or developed.

    需要升级 Controller 解决。

    Bug 单: https://quickview.cloudapps.cisco.com/quickview/bug/CSCvz16800

    TL;DR: MAC 地址中间两段为 88:8e 的 100% 触发无法连网,例如:xx:xx:88:8e:xx:xx,没算错的话概率应该是 (16 ^ 4) / (16 ^ 12)

    这代码要怎么写才能搞出来这种玩意....真倒霉

    14 replies    2023-04-03 15:02:46 +08:00
    ipoh
        1
    ipoh  
       Apr 3, 2023   ❤️ 1
    我感觉你算错了
    1/16^4
    CRVV
        2
    CRVV  
       Apr 3, 2023   ❤️ 2
    显然概率算错了,应该是 1/(16^4)
    另外,mac 地址的前 24 位代表厂商,比如 F8DB88 是 Dell 的
    所以对用户来说,这个概率实际上只有 0 和 1/256 两种情况,对特定品牌的用户来说应该很常见的

    思科好像经常干这种事情,在代码里写死 magic number 拿来测试
    比如 https://www.theregister.com/2018/05/18/network_roundup_17_may_2018/
    RedisMasterNode
        3
    RedisMasterNode  
    OP
       Apr 3, 2023
    @CRVV 啊哈 ok ,那就是错了,但是也还是个小概率的事情,碰上实在是倒霉难绷...QAQ
    DinoStray
        4
    DinoStray  
       Apr 3, 2023
    我感觉应该是 2^96/(2^128) ,
    2^128 是 ipv6 总地址数,
    2^96 是中间两段为 88:8e 的地址总数
    高中数学一直不及格的学渣. 人到中年开始对数学感兴趣. 如果不对期望指正
    RedisMasterNode
        5
    RedisMasterNode  
    OP
       Apr 3, 2023
    @DinoStray hhh 没想到大家对这个概率这么感兴趣,我不太熟悉这些知识,算错了让站里的大佬指点,主要是觉得这些写死的 magic number 导致的问题也太蠢了...没理由写死的呀
    DinoStray
        6
    DinoStray  
       Apr 3, 2023
    哦, 看错了, 原来是 mac 地址, 看成 ipv6 了
    DinoStray
        7
    DinoStray  
       Apr 3, 2023
    mac 地址的话, 我觉得概率应该是 2^32/2^48=1/2^16
    90Pd802Vdyhm5I3H
        8
    90Pd802Vdyhm5I3H  
       Apr 3, 2023
    摸头
    flush9f
        9
    flush9f  
       Apr 3, 2023
    好奇怎么判断是 MAC 地址相关的 bug ,这种假如我遇到就只会觉得是 client 的问题
    cat9life
        10
    cat9life  
       Apr 3, 2023
    发达了 为啥不买彩票
    Huelse
        11
    Huelse  
       Apr 3, 2023
    这种时候我们都会说“垃圾 xx”
    bluefountain
        12
    bluefountain  
       Apr 3, 2023
    我在 iOS 的 VPN 中发现了一个类似的,密码最后一位不能是空格的 Bug ,提交了半年苹果还没处理。哈哈。
    RedisMasterNode
        13
    RedisMasterNode  
    OP
       Apr 3, 2023
    @flush9f 当然是排查了很久没排查出来,最后拿了日志去找思科提单得到回复的呀,再找我验证了一下 mac 地址是不是符合条件,随机一个新的 mac 地址是否能正常用
    RedisMasterNode
        14
    RedisMasterNode  
    OP
       Apr 3, 2023
    @Caribbeancom 偷偷摸摸降价哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   744 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 21:09 · PVG 05:09 · LAX 14:09 · JFK 17:09
    ♥ Do have faith in what you're doing.