|
在公有云使用过程中,公网IP作为网络通信的稀缺资源,是大部分用户业务都要申请购买的。用户除了对IP绑定的带宽有要求外,往往对IP的访问延迟也比较在意,那么公网IP的延迟一般多大?是由哪些因素决定的?怎样选出“快”的IP呢?今天我们就能分析一下。 一、什么是网络延迟? 网络延迟是指通信双方一次通信过程经历的时间,即本端发出请求到收到对端回应的整个时间。当我们在云上申请到一个可用的公网IP时,我们可以用ping命令测试一下延迟: 1.png (25.44 KB, 下载次数: 30)
下载附件
2018-1-13 21:22 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png 小编查了一把,公网延迟在10ms-100ms,对于大部分网络业务都是无明显感知的。在测试过程中我们发现,在不同的地方测试公网IP的访问延迟结果可能有很大差异,小编恶补了一把,原来这个延迟跟很多因素相关。 二、公网IP访问延迟受哪些因素影响? 简单地说,我们访问公网IP主要经过以下几段: 本端主机/电脑 --> 局域网 --> 公网 --> 公有云网络 --> 对端虚拟主机/电脑 所以延迟时间主要由本端主机/电脑的收发处理时间、局域网/公网/云网络传输时间、对端主机收发处理时间组成。正常情况下,主机的处理时间可以忽略不计,局域网和云网络的传输都是飞快的,而公网的传输时间就不好说了,毕竟是公网,大家都用,网络结构复杂,覆盖物理范围又大,所以公网延迟就成为了影响公网IP访问速度的主要影响因素。 公网延迟又是一个很复杂的问题,经过一番调研发现,可以大致归纳公网延迟跟以下因素相关: 1)本端和公网IP所在区域的物理距离。显然同等网络质量下,离的越近延迟越小。 2)本端到公网IP通信经过的传输跳数。网络是由多种多样的网络转发设备和链接设备的线路组成的。那么经过的网络设备越多,意味着设备转发的次数越多,延迟越大。我们可以在windows上使用tracert命令,在Linux上使用traceroute命令查看访问公网IP经过哪些跳设备,并得出哪条延迟比较大。 3)网络的拥堵情况。这就跟城市交通一样,上下班高峰开车还不如步行快;同样地,公网网络大家都在用,不同时间不同网络设备/线路的负载是变化的,负载越重会导致延迟加大,甚至导致丢包。 4)运营商差异。这个主要指不同运营商建立的公网传输质量是有差异的,有的运营商网络稳定、延迟小,有的运营商网络带宽大,但可能延迟也大。另外,如果访问公网IP的传输跨经不同运营商的网络,往往延迟会加大不少,至于原因自己体会啦。 5)访问路径差异。条条大路通罗马,同样地,从同一个地方访问某个公网IP,走不同的公网路径,延迟也会有较大差异。 这些因素对公网延迟的影响并没有绝对的作用关系,例如可能出现以下情况: 1、在同一个地方访问某个区域两个公网IP,延迟会有较大差异。 2、从上海访问北京的公网IP,结果比从深圳访问还要慢。 3、在同一个地方访问同一个公网IP,今天慢,明天就变快了。 ...... 三、典型公网延迟场景实验分析 下午我们就做几个实验测试一把(网上有许多测试网络延迟的工具、网站,大家可以自己玩一玩): 1、追踪不同源位置访问相同公网IP的延迟 【目的公网IP】 华为云华北区49.4.70.200 2.png (10.73 KB, 下载次数: 30)
下载附件
2018-1-13 21:22 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png【源位置1】广东电信 3.png (57.34 KB, 下载次数: 30)
下载附件
2018-1-13 21:22 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 【源位置2】浙江绍兴电信 4.png (54.7 KB, 下载次数: 30)
下载附件
2018-1-13 21:22 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 【源位置3】青岛电信 10.png (55.37 KB, 下载次数: 30)
下载附件
2018-1-13 21:22 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 【源位置4】上海电信 5.png (49.61 KB, 下载次数: 31)
下载附件
2018-1-13 21:23 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 对以上数据做下汇总: 根据以上数据我们发现: 1)响应时间和物理位置没有绝对关系,比如以上总响应时间:浙江绍兴电信<青岛电信<广东电信<上海电信。 2)网络延迟可能和偶然因素有关,上海电信第三个节点由于某些未可知的的原因出现了比较大的延迟。 2、针对实验1中“上海电信”延迟高问题的继续测试 上海电信第三个节点由于某些未可知的的原因出现了比较大的延迟。取耗时较多的124.74.233.241之后的节点101.95.206.217作为目的地址,从而剔除EIP的因素,再次追踪路由: 6.png (19.54 KB, 下载次数: 30)
下载附件
2018-1-13 21:25 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 发现主要的耗时还是在124.74.233.241节点。隔一天后,再次重复上述追踪: 7.png (19.63 KB, 下载次数: 30)
下载附件
2018-1-13 21:25 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg 发现昨天延迟几百ms的路由节点124.74.233.241今天只有45ms,明显好转很多。根据以上数据可得初步结论:由于网络通信需要经过多次路由,如果通信路径上的某个路由节点出现异常/拥堵等情况,对EIP的通信可能是会有延迟影响的。 3、观察两个华南地区的ip对同一个华北地区EIP的路由信息 广东东莞电信->华北地区EIP:49.4.70.200 8.png (53 KB, 下载次数: 30)
下载附件
2018-1-13 21:26 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg 广东电信->华北地区EIP:49.4.70.200 9.png (51.02 KB, 下载次数: 31)
下载附件
2018-1-13 21:26 上传
file:///C:/Users/S00357~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg 比较以上两张图标可以看出: 1)广东东莞电信和广东电信主要都是经过”中国 电信骨干网”和”北京市 电信互联网数据中心”几个主要路由。 2)二者经过的路由节点不尽相同,比如广东东莞电信经过的可见的最后一个”北京市 北京电信互联网数据中心节点”是106.120.190.114,响应时间为36ms,而广东电信经过的可见的最后一个”北京市 北京电信互联网数据中心节点”是106.120.190.118,响应时间为131ms。 四、怎样选择访问“快”的公网IP呢 根据经验,如果想选延迟尽量小的公网IP,则优先选离访问点地理上较近,与访问点同运营商的公网IP。另外华为云还可以选支持动态BGP的公网IP(可以自动优化传输路径减小延迟,提供稳定性)呦!但是话又说回来,经验之谈不代表是最优选择,如果想在华为云上选择对您业务而言延迟较小的公网IP,那么实际测试一把最靠谱,可以在华为云不同区域申请公网IP(只是测试的话按需申请比较划算),在自己的业务侧实际ping或跑下业务,再决定留用哪个公网IP。
|