【问题标题】:Google router IP vs Google public IPGoogle 路由器 IP 与 Google 公共 IP
【发布时间】:2021-02-28 22:21:13
【问题描述】:

尽管我的主域不是网络,但我正在尝试了解全局。

我在网上没有得到足够/正确答案的一些问题已经缩小

  1. 当我点击www.google.com 时,DNS 服务器解析的 IP 是否与任何 Google 路由器的网关 IP 相同?

  2. 像亚马逊这样的大公司会做端口转发吗?

  3. 如果第 2 点属实,我想他们必须是仅使用 443 (https) 端口的端口转发,这意味着,要在不同的数据中心使用多个静态 IP,他们需要拥有那么多路由器。那么,如果他们有 N 个解析为网站的静态 IP 地址,那么他们一定有 N 个路由器,对吧?这是一个合理的假设吗?

【问题讨论】:

    标签: networking dns ip router portforwarding


    【解决方案1】:
    • 网关 IP 是指网络上的设备发送本地 到其他网络的网络流量。它位于您和互联网或其他网络之间。它就像一个守望者。

    问题 1:google.com 有多个 ip 地址让我们说,是的,这是可能的,并且需要两个 A 记录。这称为循环 DNS。客户端将半随机地使用这两个地址之一。

    问题2:是的,端口转发比我们想象的更频繁。所有 VPC(虚拟私有云,如 AWS、GCP、Azure 等)都使用它,因为他们不想将服务器/内部资源暴露给互联网。

    根据端口号,特定的服务会暴露给请求的客户端。假设我们要公开一个网站,然后我们显式公开端口 80(http) 443(https) 以便网络爬虫和用户可以看到它们。

    端口转发,有时称为端口映射,允许计算机或 专用网络中的服务,通过 Internet 与其他网络连接 公共或私人计算机或服务。

    google https://www.google.com:444/ 无法工作,因为他们没有在其云路由器上公开端口 444

    https://www.google.com:443/ 会起作用,因为对应于 google.com 的服务器已明确将其保持打开状态。

    IP是如何解析的:

    第 1 步 - 发送解析域名的请求

    当您在浏览器中输入www.google.com 时,为了加载网页,您的计算机会询问 IP 地址。计算机事先不知道在哪里可以找到必要的信息,因此它们会尝试通过 DNS 缓存搜索可用的外部资源。从较低级别的缓存继续到根/主服务器。

    步骤 2+3 - 尝试本地解析 IP

    在进行外部访问之前,您的计算机会加载本地 DNS 缓存数据库,以查看您是否已经请求了该域名的 IP。每台计算机都有一个临时缓存,其中包含最新的 DNS 请求并尝试连接到在线资源。如果需要的记录在本地存在,则称为“CACHE HIT”并停止查询。

    但是,计算机的本地 DNS 缓存数据库并不总是包含解析域名所需的数据,这称为“CACHE MISS”。在这种情况下,请求会进一步发送到您的 Internet 服务提供商 (ISP) 及其 DNS 服务器。

    第 4 步 - 如果缓存未命中,ISP 要求外部 DNS 服务器提供 IP 地址

    ISP DNS 解析器被配置为向其他 DNS 服务器请求正确的 IP 地址映射,直到它们可以将数据返回给请求者。这些是迭代 DNS 查询。

    当 DNS 客户端发送此类请求时,第一个响应的服务器未提供所需的 IP 地址。相反,它将请求定向到 DNS 层次结构中较低的另一台服务器,然后将请求定向到另一台服务器,直到 IP 地址完全解析。在这个过程中有几个停止点。

    层次结构如下(仅供参考):

    根域名服务器。根服务器本身不会将 IP 地址映射到域名。相反,它们保存有关所有顶级域 (TLD) 名称服务器的信息并指向它们的位置。 TLD 是域名的最右边部分...根服务器至关重要,因为它们是所有 DNS 查询请求的第一站。

    TLD nameservers. These servers contain the data for second-level domains, such as ‘phoenixnap’ in phoenixnap.com. Previously, the root server pointed to the location of the TLD server. Then, the TLD server needs to direct the request toward the server that contains the necessary data for the website we are trying to reach.
    Authoritative nameserver. Authoritative servers are the final destination for DNS lookup requests. They provide the website’s IP address back to the recursive DNS servers. If the site has subdomains, the local DNS server will keep sending requests to the authoritative server until it finally resolves the IP address.
    

    第 5 步 - 接收 IP 地址

    一旦 ISP 的递归 DNS 服务器通过发送多次迭代 DNS 查询获得 IP 地址,它最终会将其返回给您的计算机。此请求的记录现在保留在硬盘驱动器上。然后浏览器可以从缓存中获取这个 IP 并将其连接到网站的服务器。

    所有这些都发生在不到 1 秒的时间内,大多数情况下。如果您刚刚注册了一个新域,则可能需要几个小时才能在全球范围内传播此 DNS 缓存,因此新注册的网站有时不会显示。

    关于拥有多个 IP 的公司

    大公司保留了 IP 池,例如 123.234.xxx.xxx,这意味着公司保留了 255*255 ips。它们映射到VPC(virtual private cloud) 并可通过subnet masking and CIDR feature 访问,例如您的AWS 上的EC2 实例

    【讨论】:

    • 当我访问 Google.com 时,这个 ip 地址 dns 服务器返回给我的是什么?那个是谷歌最近的数据中心路由器的网关IP地址吗?
    • 在您的 LAN 网关上,ip 是路由器的 ip,192.168.x.1 通常以 1 结尾。因此,根据网关将流量分配到的方式,有不同类型的路由、加权、地理位置等它的内部网络。当您键入 google.com 时,dns 服务器会返回与 google.com 对应的 ip,请访问此处whois.domaintools.com/google.com 以了解正在做什么。所以你的问题的答案是肯定的,当你输入 google.com 时,网关 ip 被返回。之后会发生什么取决于谷歌基础设施的内部配置。
    【解决方案2】:

    当我点击www.google.com 时,DNS 服务器解析的 IP 是否与任何 Google 路由器的网关 IP 相同?

    当然应该,但这主要是一个谷歌管理问题,只有他们才能正确回答。问题是我们必须了解 DNS 查询是如何工作的。

    我们来看看:

    • 设备 A 通过设备 B 的 DNS 查询请求 IP 地址。

    • 为此,它使用它会询问的网络端口 53(域),具体取决于当时使用的 DNS 服务器,通常是家庭路由器。然后路由器将询问 ISP 的 DNS 服务器,该服务器将以缓存的响应进行响应,如果没有,则向其上的另一台服务器查询;所有这些过程都将一直进行,直到到达可靠的缓存响应或到达权威响应服务器,即管理相关域的名称服务器。

    • 只有权威响应服务器才包含要到达哪个域的IP的可靠信息。

    • 我想在 Google 的服务器及其网络中,他们使用 Google 自己的 DNS 服务器,即 8.8.8.8 和 8.8.4.4,通过缓存从许多站点获取和查询 DNS 记录。

    一般来说,谷歌的 IP 会根据你所在的位置而改变,我向谷歌的权威服务器进行了 DIG 查询,但是,我收到了基于位置的结果,以改善站点的路由和加载时间,即 142.250.73.238 .

    像亚马逊这样的大公司会做端口转发吗?

    是的,确实如此。使用负载均衡器或类似设备处理查询,甚至缓存 dns 请求。

    如果第 2 点属实,我想他们必须是仅使用 443 (https) 端口的端口转发,这意味着,要在不同的数据中心使用多个静态 IP,他们需要拥有那么多路由器。那么,如果他们有 N 个解析为网站的静态 IP 地址,那么他们一定有 N 个路由器,对吧?这是一个合理的假设吗?

    这有多个答案。顺便说一句,他们实际上可以进行安全的 DNS 查询。

    如果他们有 N 个解析为网站的静态 IP 地址,那么他们一定有 N 个路由器吧?

    他们不必这样做,但如果他们愿意,他们可以。

    “这是一个公平的假设吗?”

    ,IP 不依赖于路由器,路由器只路由到可以有多个 IP 的计算机/服务器。另一方面,每件东西(计算机、服务器等......都必须有一个 IP,它也可以是 WAN IP)。

    【讨论】:

    • 尝试重构你的答案以获得更好的可读性,使用少量标题,不要将长文本变成标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2016-07-26
    • 2020-12-15
    • 2013-05-07
    相关资源
    最近更新 更多