大型公司的服务器往往会部署到多个地区,有多个IP,如baiduc.com这个域名,在中国是被解析成123.125.114.144,在美国是被解析成180.149.132.47,在德国是被解析成111.13.101.208。
咱们公司的内网VPN,域名是myaccess.oraclevpn.com,有的时候会抽风拨号拨不上去。这是因为在中国,有的时候会因为防火长城的缘故,域名有时会解析不到正确的IP上(DNS投毒)。这种问题出现可能仅仅10来分钟就自动解决了,也有可能持续几个小时。
我们可以做到是,将这个域名绑定到一个稳定可用的IP上,这样每次拨号的时候,域名总是能被解析出来。绑定域名,在windows环境中需要修改C:\Windows\System32\drivers\etc\hosts文件,在linux环境需要修改/etc/hosts文件。
那么我们将域名绑定哪个IP,我们来测试一下。
1. 先获取域名会对应哪些IP?
我用Just Ping 来查找。可以发现,公司vpn的域名对应10.188.235.197、148.87.127.133、148.87.127.133等等的几个IP。
2. 这几个IP中哪个质量最好?
ping一下各个IP,可以看到:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
202.92.75.130 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 488,丢失 = 12 (2% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 401ms,最长 = 690ms,平均 = 422ms 197.97.72.171 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 488,丢失 = 12 (2% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 547ms,最长 = 773ms,平均 = 569ms 202.45.129.172 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 471,丢失 = 29 (5% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 78ms,最长 = 414ms,平均 = 98ms 196.15.23.68 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 474,丢失 = 26 (5% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 412ms,最长 = 1113ms,平均 = 443ms 148.87.36.20 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 470,丢失 = 30 (6% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 190ms,最长 = 893ms,平均 = 211ms 137.254.4.85 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 446,丢失 = 54 (10% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 297ms,最长 = 605ms,平均 = 319ms 148.87.127.133 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 423,丢失 = 77 (15% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 312ms,最长 = 559ms,平均 = 361ms 148.87.127.133 的 Ping 统计信息: 数据包: 已发送 = 500,已接收 = 419,丢失 = 81 (16% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 309ms,最长 = 563ms,平均 = 358ms 10.188.235.197 的 Ping 统计信息: 数据包: 已发送 = 184,已接收 = 0,丢失 = 184 (100% 丢失), |
我们这里按照丢包率来排名,相同丢包率的情况下用延时来排名。
网络质量好不好,我们常用ping命令来检查,ping的结果有延时和丢包率。我们看网络好不好,很多关注的是丢包率,延时其实根据路线远近和好坏,不可避免。打个比方,你玩CS,人家2秒前就爆你头了,你2秒后才看到自己被爆头,这就是延时。你走着楼梯,突然死在楼顶,中间跳跃了,这就是丢包。
3. 挑选好的IP进行绑定。
我们看到丢包率小于5%的四个IP。对其进行16k的大包和16字节的小包进行ping,看其质量:
16k大包:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
来自 202.92.75.130 的回复: 字节=16000 时间=424ms TTL=236 202.92.75.130 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 189,丢失 = 11 (5% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 415ms,最长 = 510ms,平均 = 436ms 196.15.23.68 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 195,丢失 = 5 (2% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 426ms,最长 = 614ms,平均 = 456ms 197.97.72.171 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 152,丢失 = 48 (24% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 561ms,最长 = 696ms,平均 = 598ms 202.45.129.172 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 180,丢失 = 20 (10% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 92ms,最长 = 286ms,平均 = 115ms |
16字节小包:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
来自 202.92.75.130 的回复: 字节=16 时间=403ms TTL=236 202.92.75.130 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 196,丢失 = 4 (2% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 401ms,最长 = 1325ms,平均 = 419ms 196.15.23.68 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 196,丢失 = 4 (2% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 412ms,最长 = 1336ms,平均 = 425ms 197.97.72.171 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 178,丢失 = 22 (11% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 545ms,最长 = 789ms,平均 = 580ms 202.45.129.172 的 Ping 统计信息: 数据包: 已发送 = 200,已接收 = 192,丢失 = 8 (4% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 77ms,最长 = 1027ms,平均 = 98ms |
综上,可以看到196.15.23.68这个印度的IP在中国使用质量最好。虽然,在中国解析出来的IP是202.45.129.172,延时比较小,但是其丢包率比较高。
优先考虑丢包率小的。
4. 将196.15.23.68绑定到hosts文件。