我想知道路由器在 AWS-VPC 中的作用是由虚拟机扮演的吗?这个虚拟机可能有几个网卡。如果不是,那么vpc中的路由器是如何设计的?非常感谢。
1 回答
不,它不是由虚拟机播放的,甚至不是一组虚拟机播放的。
想一想,VPC 路由器不可能是一个单一的“东西”,因为那不会是多余的......它必须至少有六个“东西”(3 个可用区 x 2 个设备至少每个冗余的可用区,以及所有必要的互连)......并且这些东西必须是无限且透明的可扩展......然后不要忘记您的实例通常不是其物理主机上的唯一机器,并且可以分散在构成每个可用区的整个物理设施中。
所以不行。
“十亿数据包生命中的一天 (CPN401)”——演讲和幻灯片链接如下——详细介绍了 VPC 中的虚拟网络如何运作。
这是一种极端的过度简化,但我对那里提供的材料的解释表明,数据包本质上是由 VPC 基础设施在主机之间通过隧道传输的,使用的映射服务将 VPC 子网分配与 AWS 物理网络连接分离。
当主机“A”对主机“B”进行解析时,它确实得到了响应,但该响应不是来自“B”,因为请求永远不会到达“B”。它由映射服务捕获和处理......因此即使在同一 VPC 子网上的机器之间也没有广播域。
对于这里发生的事情,“隧道”可能不是一个完全正确的术语,但它是准确的,因为您控制的内部 (VPC) 网络拓扑独立于外部 (AWS 数据中心) 网络拓扑,而外部 (AWS 数据中心) 网络拓扑并不不需要了解 VPC 路由。
当一个 VPC 实例想要与另一个实例通信时,它会从映射服务中获知隧道目的地。接收主机还使用映射服务验证发送者是真实的。该系统可以防止 VPC 之间的流量入侵,因为实例无法访问我所说的隧道层。
所以VPC“路由器”本质上是一个容量无限的“虚拟机”,而不是正常意义上的“虚拟机”(虚拟机)。它是一个虚拟路由器,由 AWS 区域中的整个路由器和交换机网络组成,借助映射基础设施,该基础设施提供了允许 VPC 流量通过它的粘合剂。