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

google,微软怎么实现一个域名在全世界多个 ip 可以访问的?

  •  
  •   jeesk · 2022-12-08 01:02:53 +08:00 via Android · 2463 次点击
    这是一个创建于 715 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 dns 不是只能对一个地址设置 2 个 ip 吗

    27 条回复    2022-12-11 05:11:47 +08:00
    edis0n0
        1
    edis0n0  
       2022-12-08 01:07:20 +08:00
    为什么这种问题会出现在程序员论坛
    mikewang
        2
    mikewang  
       2022-12-08 01:07:31 +08:00
    ?没有这种限制的
    而且按区域 /运营商的 dns 解析优化很常见
    eason1874
        3
    eason1874  
       2022-12-08 01:13:03 +08:00   ❤️ 1
    两个 IP 是个别域名 DNS 服务商的免费版限制

    加钱,世界可及。别说一个域名对应一百个 IP ,就是一个 IP 对应一百个地区的服务器都行
    zengmingyang96
        4
    zengmingyang96  
       2022-12-08 01:16:43 +08:00 via iPad   ❤️ 1
    你想说的是 Anycast DNS ?
    deplivesb
        5
    deplivesb  
       2022-12-08 01:19:15 +08:00
    看了下 op 的历史记录,像个程序员。但是如果是程序员,不应该问出这种问题啊。
    explore365
        6
    explore365  
       2022-12-08 01:21:25 +08:00
    一个域名可以绑定很多 IP
    一个 IP 可以对应很多机器
    一个机器可以绑定很多 IP
    Chad0000
        7
    Chad0000  
       2022-12-08 01:24:38 +08:00 via iPhone   ❤️ 1
    dns 也是服务器,只解析一个地址的相当于静态网站,按请求区域返回不同 IP 的相当于动态网站。

    这样说就清晰了吧
    docx
        8
    docx  
       2022-12-08 01:53:24 +08:00 via iPhone
    DNSPod 免费套餐限制了你的想象力
    systemcall
        9
    systemcall  
       2022-12-08 02:08:01 +08:00   ❤️ 1
    可以加钱,让不同地区得到的解析结果不一样
    可以做 Anycast 和 BGP ,让同一个 IP 在不同地区都有很好的连接性,甚至不同地区的机房都是同一个 IP
    可以给 DNSPod 账户里面多充点钱,这样就可以加几十个 IP 了
    Mac
        10
    Mac  
       2022-12-08 02:48:34 +08:00   ❤️ 1
    你可以想一下为什么你在任何一个国内城市打 110 都是当地的报警电话
    LxExExl
        11
    LxExExl  
       2022-12-08 03:46:37 +08:00   ❤️ 4
    很难想象楼上一些很 mean 的评论出现在程序员论坛。
    wwbfred
        12
    wwbfred  
       2022-12-08 03:51:32 +08:00   ❤️ 1
    @LxExExl 这种问题应该问搜索引擎。
    LxExExl
        13
    LxExExl  
       2022-12-08 04:23:58 +08:00
    @wwbfred “这种问题应该问搜索引擎。” 应该替换“不是程序员该问的问题”
    jhdxr
        14
    jhdxr  
       2022-12-08 05:23:16 +08:00
    这个问题就可以体现出科班和非科班的差距了。。。


    @LxExExl 你猜 RTFM / STFG 之类的说法来自于哪里?其中的 F 又是啥?
    LxExExl
        15
    LxExExl  
       2022-12-08 06:01:15 +08:00
    @jhdxr 我猜不到,你能用科班的水平展开说说吗?
    momocha
        16
    momocha  
       2022-12-08 06:50:12 +08:00 via iPhone   ❤️ 4
    全球解析是 anycast 的功劳,但是并不是所有人都清楚具体是怎么实现的,因为还涉及到 bgp 可能很多人连这个词都没听过,我觉得不应该预期程序员就该知道,从不知道到知道都是一个学习的过程。
    baobao1270
        17
    baobao1270  
       2022-12-08 06:59:09 +08:00   ❤️ 1
    1 、一个 DNS 并非只能对一个地址设置两个 IP ,如果您只能设置两个 IP ,可能是你用的 DNS 平台限制,让你付费开高级版。
    2 、这些大公司也会采用 GeoDNS 技术,也就是针对不同国家地区的 DNS 请求,返回不同的 IP 。
    3 、这些公司也会采用 Anycast 技术,不过这个和 DNS 无关了。Anycast 就是说同一个 IP 可以位于不同的物理位置,然后通过 BGP 交换路由信息使不同地区的访问都能走最近的路由到最近的物理位置的服务器。
    4 、这种非常简单的问题,建议您以后使用搜索引擎搜索,或者先问问 AI ,然后再来论坛提问。
    jeesk
        18
    jeesk  
    OP
       2022-12-08 07:00:21 +08:00 via Android
    @jhdxr 问问, 你是科班的, 麻烦告诉我是教材中的多少详细说了这种技术? 在些感谢了。
    jeesk
        19
    jeesk  
    OP
       2022-12-08 07:01:19 +08:00 via Android
    @jhdxr 问问, 你是科班的, 麻烦告诉我是教材中的多少页详细说了这种技术? 在些感谢了。
    vinsa
        20
    vinsa  
       2022-12-08 07:36:19 +08:00
    当一个域名被访问时,DNS (域名系统)会将域名解析为相应的 IP 地址。由于在不同地理位置有不同的 DNS 服务器,因此一个域名可能会被解析为多个不同的 IP 地址。具体来说,当一个域名被访问时,DNS 服务器会查找并返回该域名对应的 IP 地址。如果该域名对应多个 IP 地址,那么 DNS 服务器会返回其中一个 IP 地址供访问者使用。这样,即使一个域名对应多个 IP 地址,访问者也只会看到其中一个 IP 地址。

    例如,假设一个域名 example.com 对应 IP 地址为 192.0.2.1 和 198.51.100.1 。当一个用户尝试访问该域名时,DNS 服务器会返回其中一个 IP 地址(例如 198.51.100.1 ),用户的计算机会使用该地址来访问 example.com 。这样,尽管 example.com 对应多个 IP 地址,用户仍然可以通过访问该域名来访问该网站。

    总之,通过 DNS 解析,一个域名可以对应多个 IP 地址,从而实现访问者可以通过访问该域名来访问网站,而不必关心具体的 IP 地址。
    yzbythesea
        21
    yzbythesea  
       2022-12-08 08:40:59 +08:00
    狗家的 Anycast routing 在客户端看,不是一个 ip 吗?只是 GFE 可以 reroute 进最近的 GCLB backend 。
    yc8332
        22
    yc8332  
       2022-12-08 10:00:33 +08:00
    为什么这个问题会出现在这里。不合理啊
    jhdxr
        23
    jhdxr  
       2022-12-10 08:23:56 +08:00
    @jeesk 中文版的教材你可以参考潘爱民译的《计算机网络》,以第五版为例,DNS 内容属于应用层,在章节 7.1 『 DNS-域名系统』中进行了详细的讨论,而你在帖子中提出的这个问题,在章节 7.5 中有更详细的讨论(指路 7.5.2 )


    @LxExExl STFG 。p.s. STFG=Search The Fu*king Google ,在被屏蔽时 F 也可解释为 Fantastic, Friendly 等。就像 SB 亦可解释为烧饼。

    @momocha anycast 是用于同一个 IP 地址在多个物理位置上的部署,和一个域名能解析到多个 ip 上是不同的两回事情。
    momocha
        24
    momocha  
       2022-12-10 10:20:39 +08:00
    @jhdxr 我没有只说是多个 IP 啊😯。其实这个技术很早就有了,最开始还因为是复用 IP 担心出现冲突而推广乏力的,后来发现是过分担心了。

    想更多了解的请参看 wiki 上的几个图就比较清楚了:
    https://en.wikipedia.org/wiki/Anycast
    jeesk
        25
    jeesk  
    OP
       2022-12-10 13:20:40 +08:00
    @jhdxr 里面有 anycast 的技术? 绝对没有
    jhdxr
        26
    jhdxr  
       2022-12-10 17:17:35 +08:00   ❤️ 1
    @momocha 『多个 IP 』是 LZ 提的问题,请看帖子标题的最后几个字。所以 anycast 在这儿我认为是一个不正确的回答(尽管两者解决的问题是有重叠的部分的)

    @jeesk 你问的是『一个域名在全世界多个 ip 可以访问的』,换言之你问的是『域名与多个 IP 』之间的对应关系。anycast 解决的是一个 IP 与多个机器之间的对应关系。你问的问题在我上面说的范围内是有明确的说明和描述的 (在回你的时候我特地去翻了下)。
    momocha
        27
    momocha  
       2022-12-11 05:11:47 +08:00 via iPhone   ❤️ 1
    @jhdxr 我的过失,没有注意到标题😂 扯远了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5162 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:30 · PVG 17:30 · LAX 01:30 · JFK 04:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.