IPv6 TCPing 测的是什么
IPv6 站点最容易出现的一种情况:Ping 全超时,网站却好好的。
因为 ICMPv6 被防火墙拦了,但 443 端口是开的。这时候 Ping 给不出答案,得换一个不依赖 ICMP 的工具。
它做的是握手
向目标 IPv6 地址的指定端口发起 TCP 三次握手。
能完成握手,说明三件事同时成立:地址可达、端口在监听、路径上的安全策略放行。任何一环断了,握手都完不成。
它记录的是握手耗时,也就是从发出 SYN 到收到 SYN-ACK 的时间。这个数字反映网络往返和端口响应,不包含应用层处理。
为什么不依赖 ICMPv6
Ping 走 ICMPv6,TCPing 走 TCP。两条完全不同的路径。
很多机房和云厂商默认丢弃 ICMP,但业务端口是正常开放的。这种环境下,Ping 全红,TCPing 全绿,网站也确实是好的。
所以判断“端口通不通”,TCPing 比 Ping 可靠。判断“主机在不在”,Ping 更直接。
和普通 TCPing 的区别
普通 TCPing 连的是 IPv4 地址,IPv6 TCPing 连的是 IPv6 地址。
输入格式不同,走的路由不同,防火墙规则也不同。IPv4 端口开了,不代表 IPv6 端口开了,这是两套配置。
它能回答什么
端口开没开。安全组放没放行。IPv6 链路通不通。哪个地区连不上。
排查“IPv6 用户打不开网站”时,先跑一轮 TCPing,能快速把问题分成三类:端口没开、被防火墙拦、链路不通。
它不能回答什么
应用层。握手成功只说明端口通,服务可能返回 502,也可能一直不响应。
证书。TLS 是握手之后的事,TCPing 看不到。
所以完整排查是三层:先用 IPv6 Ping 看链路,再用 IPv6 TCPing 看端口,最后用 IPv6 网站测速看应用层。三层都过,才算真的可用。