【问题标题】:AWS VPC: How does route table redirect local traffic to the right subnet and instance?AWS VPC:路由表如何将本地流量重定向到正确的子网和实例?
【发布时间】:2021-01-11 08:27:19
【问题描述】:

这里是一个典型的AWS VPC,由以下组件组成

  • 两个子网
  • 互联网网关
  • 路由表
  • 实例

想象一个场景

步骤1,subnet1中的实例(私有IP 172.31.0.5)向IP 172.31.16.5(subnet2中)发送数据包。

step2,数据包到达路由表,路由表将数据包重定向到目标local。

第三步,发生了一些神奇的事情。 ????

第四步,instance(172.31.16.5)收到包。

以下问题是关于step3中的魔法。

  1. 这个地方的本地是什么意思? VPC 网络?
  2. vpc 和子网的拓扑是什么?
  3. 路由表如何知道哪个子网应该是接收此数据包的正确子网?
  4. 路由表如何知道哪个实例应该是接收此数据包的正确实例?
  5. 路由表如何将数据包重定向到实例(172.31.16.5)?
  6. 如果我想更好地理解它,我应该先学习哪种背景知识?

【问题讨论】:

  • 这些是基本的网络问题。 VPC 没有魔法。我建议查看 tcp/ip 寻址和子网如何工作的教程。

标签: amazon-web-services amazon-vpc topology routetable


【解决方案1】:

如果在步骤中将“路由表”替换为“路由器”,可能会更容易理解。图中的路由器是实际路由流量的路由器。路由表只是路由器配置的一部分。路由器还知道所有子网 CIDR 范围。它们是 VPC CIDR 范围的子集。

在路由表中,local条目通常配置了整个VPC的CIDR范围。所以在第 2 步中,Router 查找路由表,发现目的地是“本地”,即同一 VPC 中的另一台主机。在第 3 步中,它会查看子网 CIDR 范围,发现 172.31.16.5 在子网 2 的范围内,然后将数据包路由到那里。

【讨论】:

    【解决方案2】:

    Amazon VPC 是一个虚拟化网络,也称为软件定义网络。

    在幕后,VPC 流量被封装并跨“普通”网络设备传输,但 VPC 定义了一组简化的规则,允许通过点击和 API 调用来配置网络,而不是连接和配置设备。

    您的问题的简单答案是……没关系。

    只要网络按照其配置方式正确运行,实施细节就无关紧要。

    如果您有兴趣了解一般网络的运行方式,那么我建议您了解以太网、TCP/IP 和网络路由器。 VPC 是这些技术的更高层实现。

    要了解 VPC 的运作方式,我建议您观看这些 YouTube 视频:

    【讨论】:

      【解决方案3】:

      实际上,这与您在家中的网络完全一样。想象一下,您的 ISP 相当于 aws internet gateway,而您的家庭路由器相当于 aws router。因此,当您配置家庭路由器时,您实际上是在设置路由表。基于这个配置,路由器知道哪些数据包是给你的 ISP 的,哪些是给本地网络的。关于 步骤 3 中的魔法 - 路由器实际上看到您正在尝试基于掩码访问另一个子网(在您的情况下为 /16)并将包直接重定向到您的可用区 B EC2 实例

      【讨论】:

        猜你喜欢
        • 2016-03-09
        • 1970-01-01
        • 2017-02-15
        • 2022-10-31
        • 2019-09-03
        • 2020-12-18
        • 2019-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多