为何进入IGW及向EC2实例发包时不检查路由表,仅返回时检查?
AWS路由表相关疑问解答
1. 为何进入IGW时不检查路由表?
IGW是VPC连接公网的出入口,入站流量是从公网指向VPC内的EC2实例:
- 外部数据包到达IGW时,已经通过公网IP与实例私有IP的NAT映射,明确了目标是VPC内的特定资源;
- 路由表的作用是管控VPC内部或出站流量的转发路径,入站流量的转发路径是直接指向目标实例所在子网,无需路由表做决策,因此不会触发路由表检查。
2. 向EC2发数据包时不检查路由表,返回时才检查?
这是由VPC入站、出站流量的路径逻辑差异决定的:
入站流量(外部→EC2)
入站数据包的目标是EC2的私有IP(IGW已完成公网IP到私有IP的转换),流量路径为「外部→IGW→目标子网→EC2」。
该路径指向明确,直接奔着目标实例所在子网传输,不需要路由表来判定下一跳,因此不会检查路由表。
(入站流量无路由表检查示意图:
)
出站流量(EC2→外部)
出站数据包的目标是公网地址,流量路径为「EC2→子网路由表→IGW→外部」。
此时必须通过路由表确认出站流量的下一跳指向——只有路由表中存在0.0.0.0/0 -> IGW这类规则时,数据包才会被转发到IGW进而进入公网,这就是返回时需要检查路由表的核心原因。
(出站流量路由表检查示意图:
)
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

