%20%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%80%82%E7%94%A8%E4%BA%8E%E6%83%B3%E2%80%8B%E2%80%8B%E8%A6%81%E5%9C%A8%20CGN%20%E5%86%85%E7%9A%84%E5%90%8C%E4%B8%80%E7%AB%AF%E5%8F%A3%E4%B8%8A%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%B8%A4%E4%B8%AA%20ISP%20%E5%AE%A2%E6%88%B7%EF%BC%9F.png)
假设有 ISP 客户被分配到 CGN 的共享地址空间。连接已建立,并且 PCP 客户端已启用。现在,如果两个客户想在端口 80 上托管 Web 服务器,会发生什么情况?PCP 可以在 CGN 后面的两个同时相同的主机上建立该连接吗?或者它会将第一个端口请求保留给最先请求传入连接的客户吗?
答案1
如果两个客户也共享相同的外部 IP 地址,那么就无法实现这一点。传入的请求数据包需要路由到一台服务器或者另一个,CGN 网关无法知道客户端真正想要哪个服务器——它唯一能匹配规则的是目标端口,在两种情况下目标端口始终是相同的 80。
(HTTP 或 TLS 应用层代理可以知道请求的域名,但 TCP/UDP 传输层 CGN 网关没有此信息。)