V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bclerdx
V2EX  ›  DNS

很奇怪和诡异的一个传统 UDP 53 的 DNS 调度解析 和 HTTPDNS 的调度解析域名的问题?

  •  
  •   bclerdx · 1 天前 · 1030 次点击
    比如某一个域名 或 某一个 HTTPDNS 或 HTTPSDNS 域名解析或者说映射了多个 IP 地址,这些多个 IP 地址可能是不同省份同一个运营商 或 不同省份的不同运营商 或 同一个省份的不同运营商,那么假设用户 A 在 A 省使用 传统 UDP 53 的的 A 省运营商 DNS 或 第三方公共 DNS 去调度解析某一个域名,有时候明明有 A 省的 IP ,但实际调度解析后返回的解决确实 B 省同一个运营商,更有甚者或者极端情况下 A 生用户可能会获取返回的是 B 省的 B 运营商的 IP 。

    HTTPDNS 的调度也有上述类似的问题,请问这是为什么?难道仍是归咎于调度细粒度不精准 或 不完整支持 ECS 造成的嘛?
    19 条回复    2026-03-16 21:51:07 +08:00
    NoCash
        1
    NoCash  
       1 天前
    可能的原因太多了,你不如说你想弄清楚是为了解决什么问题
    swananan
        2
    swananan  
       1 天前
    资源不够,调度只能给你跨省跨运营商的资源了
    ysc3839
        3
    ysc3839  
       1 天前 via Android
    大概率是不支持 ECS ,这也是我避免使用公共 DNS 的原因之一,因为时至今日仍然有 CDN 是根据 DNS 请求方 IP 返回,不支持 ECS 。
    yyysuo
        4
    yyysuo  
       1 天前
    一般会同时返回一堆 ip 吧,运营商 dns 的结果肯定是最好的。
    bclerdx
        5
    bclerdx  
    OP
       1 天前 via Android
    @yyysuo 是的,部分国内 app 内置的 httpdns 、doh 解析有的域名会返回一堆 IP ,反而运营商的传统递归解析一般是 2-4 个 IP ,且是离最终用户最近的 CDN IP 节点哦,不知道是为什么。
    kkk9
        6
    kkk9  
       1 天前
    @bclerdx #5 内置的 doh 和 httpdns 可以通过调度上实时进行限流优化、AB 测试、灰度等等。
    把你导向 B 省可能是 A 省节点故障、流量压力大等等,或者你属于灰度名单而 A 省还没上线测试功能自动导向 B 省等等

    至于运营商的 dns 哪管这些……虽然是返回最近的节点,可是节点掉线了也照样给你返回。
    bclerdx
        7
    bclerdx  
    OP
       1 天前
    @kkk9 但是你懂的,现在跨省或跨运营商那个延迟啊,似乎对 DOH 和 HTTPDNS 的调度优化很不友好。
    dowson521
        8
    dowson521  
       1 天前
    有些用户的宽带到 A 和到 B 的出口 IP 不一致。这也是一个可能性。
    bclerdx
        9
    bclerdx  
    OP
       23 小时 39 分钟前
    @dowson521 用户的宽带到 A 和 B 的出口 IP 不一致是谁造成的?
    bclerdx
        10
    bclerdx  
    OP
       23 小时 36 分钟前
    @dowson521 而且,你也知道,现在同省或不同省跨网那个延迟,你在使用视频类资源,特别是向百度的 YY 直播、淘宝和天猫的直播、微信小程序、企业微信直播等对延迟敏感型的直播类应用,那种卡顿感、不流畅感、转圈圈感直冲天灵盖啊!!!
    jackOff
        11
    jackOff  
       23 小时 15 分钟前
    国内网络的 dns 你应该优先使用你的宽带的 dns,至于腾讯这种自己搞 httpdns 私人查询业务就是它的经营策略和不信任本地运营商 dns 机制的一种折中办法,毕竟以前出过 114 断网的情况把几个大厂服务搞崩溃的事情
    bclerdx
        12
    bclerdx  
    OP
       21 小时 13 分钟前
    @jackOff 对于现在跨网的问题,确实感觉重新使用会运营商的 DNS 最优化。
    kkk9
        13
    kkk9  
       21 小时 10 分钟前
    @bclerdx #7 你似乎误会了什么,跨省跨运营商的条条框框是不包括商业带宽的(正经的商用 CDN ,而不是 PCDN),这些调度优化里面又不是只有 PCDN 。然后你在#10 描述的问题,我是建议你把 ipv6 关掉,纯 ipv4 网络在测试一下是否卡顿。我处理过的直播卡顿客户现场里,90%是因为 ipv6 的不正确配置或者 v6 线路有问题。

    很经典的,主播客户办的直播专用宽带(测速 300M 上行不达标),现场测试后发现仅优化 v4 线路为专用线路,v6 仍然是普通家庭宽带线路,v6 上行不达标,设备又优先走 v6 ,造成了直播卡顿。那现场就是分离 v4 到直播设备专用,v6 为其他设备流量服务。
    bclerdx
        14
    bclerdx  
    OP
       21 小时 8 分钟前
    @jackOff 另外,对于双运营商宽带,比如一个中国移动 和 一个联通,因为这两个运营商自己的 DNS 是不同的,所以在针对这两家运营商的 DNS 解析,你在 Openwrt 固件中是怎么让下边的设备使用哪个 DNS 去解析域名的呢?
    bclerdx
        15
    bclerdx  
    OP
       21 小时 5 分钟前
    @kkk9 说的就是家庭宽带啦。IPv6 包括本地连接中的 IPv6 服务也是是禁用状态的。
    kkk9
        16
    kkk9  
       21 小时 0 分钟前
    @bclerdx #15 路由器层面就要禁止 v6 了,安卓 ios 默认优先。

    openwrt 下可以用 smartdns 指定出口进行优选。

    server 的-inerface 参数,支持绑定端口,比如 wan1 为联通,wan2 为移动。

    server [联通 dns] -inerface wan1
    server [移动 dns] -inerface wan2
    kkk9
        17
    kkk9  
       20 小时 58 分钟前
    忘了说,做 dns 分流优选的前提是路由分流策略要做好,否则解析结果再好,也是形同虚设,你的流量在 wan1 和 wan2 乱串出口,可能会有更严重的网络问题。
    bclerdx
        18
    bclerdx  
    OP
       20 小时 56 分钟前
    @kkk9 多谢兄弟,smartdns 有先研究一下。
    jackOff
        19
    jackOff  
       19 小时 48 分钟前
    @bclerdx 这个使用场景太复杂了,正常不会这样子,因为这需要你核对你此刻的流量到底是从哪个宽带走出去,op 虽然可以检测出每个宽带的上游 dns ,但是怎么给用户自己的流量出口打 dns 解析 ip 匹配?你这个场景我估计还有访问一个站分流带宽走两个宽带,这个就不好说了,鬼才知道分流的那部分流量走哪个宽带?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5278 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:39 · PVG 17:39 · LAX 02:39 · JFK 05:39
    ♥ Do have faith in what you're doing.