2

AWS VPC

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

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

想象一个场景

step1,subnet1中的instance(私有IP 172.31.0.5)向IP 172.31.16.5(subnet2中)发送一个数据包。

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

step3,发生了一些神奇的事情。

step4,instance(172.31.16.5)收到数据包。

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

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

3 回答 3

3

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

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

于 2020-09-25T04:41:59.103 回答
1

Amazon VPC is a virtualized network, also known as a software-defined network.

Behind-the-scenes, VPC traffic is encapsulated and transferred across 'normal' network equipment, but the VPC defines a simplified set of rules that allow a network to be provisioned through clicks and API calls rather than connecting and configuring equipment.

The simple answer to your questions is... It doesn't matter.

As long as the network behaves correctly for how it has been configured, the implementation details are irrelevant.

If you are interested in learning how networks in general operate, then I would recommend learning about Ethernet, TCP/IP and network routers. A VPC is higher-layer implementation of these technologies.

To learn a little bit about how VPCs operate, I would recommend watching these YouTube videos:

于 2020-09-25T03:16:03.183 回答
1

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

于 2020-12-23T12:21:30.773 回答