请教一个高中生就会的简单数学题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
plko345
V2EX    数学

请教一个高中生就会的简单数学题

  •  
  •   plko345 2022-02-27 09:42:20 +08:00 3538 次点击
    这是一个创建于 1388 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一台 Linux 服务器上, 现在要在上面启动 201 个随机占用独立端口的服务, 1-1024 端口不允许使用, 现已经启动了 200 个, 请问第 201 个服务无法启动的概率是多少?

    现在的我不会解这题

    15 条回复    2022-02-27 15:43:30 +08:00
    HeliumTang
        1
    HeliumTang  
       2022-02-27 09:48:45 +08:00   1
    (已启动 200+1024 个不允许使用)/ 总端口数
    ryd994
        2
    ryd994  
       2022-02-27 09:51:12 +08:00 via Android
    题干描述不清
    随机占用是否包含 1-1024 ?
    是否由内核分配?(如是,则无法启动的概率为 0 )
    65535 个端口,减去 1024 个无法使用的,减去 200 个已经占用的,你说纯随机概率是多少?

    实际上,如果你 bind 到 0 ,内核会随机给你一个*可用的*端口,上限是 32768 个或 sysctl 设置的范围的一半。为什么不是整个范围,因为内核对于主动请求 bind 的,会分配奇数端口,对于不 bind 直接 connect 的,会分配偶数端口。(哪个是奇数哪个是偶数我忘了,反正各自一半)
    plko345
        3
    plko345  
    OP
       2022-02-27 10:04:01 +08:00
    @HeliumTang 真的是这样算吗?


    @ryd994 我理解应该是 65535 - 1024 的剩余端口随机分配, 应该不会有那么复杂的背后潜规则
    Borden
        4
    Borden  
       2022-02-27 10:12:05 +08:00   1
    生日碰撞问题嘛,通解搜一下就有
    plko345
        5
    plko345  
    OP
       2022-02-27 10:17:47 +08:00
    @Borden "生日碰撞" 就是这个, 我想起了数学老师
    netnr
        6
    netnr  
       2022-02-27 10:24:43 +08:00 via Android
    分析一下,当前可用端口数量为 65535-1224=64311 ,在这里面不考虑其他应用程序占用端口的情况,那么就是百分百
    plko345
        7
    plko345  
    OP
       2022-02-27 10:35:15 +08:00
    @netnr 题目里的随机应该是指有概率与已占用的 200 个端口冲突
    ryd994
        8
    ryd994  
       2022-02-27 10:43:34 +08:00 via Android
    @plko345 这根本不是生日碰撞问题。生日碰撞问题是,有 x 个可用端口,随机抽取 200 次可能重复的端口,其中至少两个端口相同的概率是多少。


    你现在这个问题,是已经选取了 200 个已知不重复的端口。问随机抽取 1 个端口,和之前 200 个端口相同的概率是多少。
    whileFalse
        9
    whileFalse  
       2022-02-27 11:49:36 +08:00   1
    随机范围是(1024 - 65535],其中 200 个随机位置有大奖,随机抽到大奖的概率是 200/(65535-1024) = 约千分之三
    duke807
        10
    duke807  
       2022-02-27 11:52:30 +08:00 via Android
    理上解,有告知 『已经启动了 200 个』之前,系端口使用情。服法的概率不是端口被用,也有可以代有 bug 、存不、硬空等源不,所以概率法算。,我是精。

    上,突的概率 0 。
    plko345
        11
    plko345  
    OP
       2022-02-27 12:59:02 +08:00 via Android
    @ryd994 我觉得你是对的。。。
    cmdOptionKana
        12
    cmdOptionKana  
       2022-02-27 13:10:46 +08:00
    如果这不是数学兴趣题,而是为了解决实际问题的话…… 一般 try 端口 catch 异常换端口即可,根本不用管概率。
    plko345
        13
    plko345  
    OP
       2022-02-27 14:57:21 +08:00 via Android
    @cmdOptionKana 就是个简单的数学问题
    plko345
        14
    plko345  
    OP
       2022-02-27 14:58:18 +08:00 via Android
    @cmdOptionKana 应该没人会在一台服务器上起两百多的服务吧
    xe2vherd
        15
    xe2vherd  
       2022-02-27 15:43:30 +08:00 via iPhone
    说这是生日碰撞问题的怕是没搞懂三门问题。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4170 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 01:02 PVG 09:02 LAX 17:02 JFK 20:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86