除了基于 Proxy Protocol 保持客户端源 IP,全球加速还提供了基于 TCP Option Address(TOA)的客户端源 IP 保持。
TOA 开启时,全球加速向后端服务器发送第一个 TCP ACK 报文的时候,在 TCP 报文头部部分会添加一个 Option 头部,用来携带客户端源 IP 和端口。完成三次握手后,后端服务器的网络协议层组件从 ACK 报文中读取源 IP 和端口信息并存入 TCP 连接的 Socket 基础属性中。后续应用程序从 Socket 中读取该 TCP 连接的源 IP 时,会取到客户端的真实 IP。
Proxy Protocol 和 TOA 的差别:
技术手段 | 实现方式 | 支持通信 | 服务器端要求 |
---|---|---|---|
Proxy Protocol | 四层代理通过在 TCP 报文的 Payload 的开头插入 Proxy Protocol 协议头部,用以携带客户端源 IP 和端口,后端应用通过解析该头部获得客户端源 IP 地址。 | TCP/UDP | 后端应用需要支持 Proxy Protocol。 |
TCP Option Address | 四层代理通过 TCP 报文头部中 Option 添加携带客户端源 IP 和端口的信息,后端服务器操作系统的网络协议层组件通过解析该 Option 获取客户端源 IP 地址。 | TCP | 后端应用无特殊要求。后端服务器需要安装操作系统补丁,支持对相应 TCP Option 的解析。 |
说明
火山引擎全球加速实现 TOA 时使用的 TCP Option 为 Kind=254。
如需使用此功能,请提交工单。在您开通该功能后,客服人员会为您提供后端服务器需要安装的操作系统补丁程序。