现象
ASK集群访问 api.xxx.xxxxx.com(api.xxx.xxxxx.com为某ECS上的服务)时候,出现有时能连通,有时超时的现象,在容器里面curl此域名或telnet该域名对应的端口443,都会出现超时现象。
排查结果
tcpdump抓包看到一个现象,ECS有收到ASK集群发过来的数据包,但是不响应。ECS那边应该是有开启 net.ipv4.tcp_timestamps 以及net.ipv4.tcp_tw_recycle 参数。如果这两个参数同时开启,校验源ip过来的包携带的timestamp是否递增,如果不是递增的话,则会导致三次握手建联不成功,具体表现为抓包的时候看到syn发出,server端不响应syn ack,这就是导致超时的原因。