在有NAT的情景下, tcp的timestamp会造成丢包, ELB这个问题上做了一些处理来解决这个问题, 此文进行简单的描述
问题原型
http://blog.sina.com.cn/s/blog_781b0c850100znjd.html
aws的做法
ELB在转发请求的时候, 把所有路过的包的包头都进行处理, 修改tcp头, 对 src ip, 字段修改的同时, 把 timestamp字段也进行修改;; 这种行为无论是 客户端到服务端的包, 或 服务端回客户端的包都会实现
验证方法
建立内网ELB, 客户端IP: 192.168.1.40, 192.168.1.42;; 服务端ip 192.168.1.15 ;; 测试过程中, ELB的ip: 192.168.1.48 ;; 对三台机器进行抓包
验证过程
在客户端上执行命令 nc -z test.ap-southeast-1.elb.amazonaws.com 9099
客户端1(192.168.1.40), 主要关注回包的时间戳
对应服务端上的包
客户端2(192.168.1.42)
对应服务端上的包