路由引入正解(二)_开销专题
基础概念
前言
路由引入是让两个工作机制完全不同的路由协议协同的技术,在这当中有一个非常关键的问题,假如是OSPF引入ISIS路由,OSPF根据不认识ISIS的数据包,所以路由引入并不单单是把OSPF数据库中的数据包扔给ISIS,而是要将要由中间人将ISIS数据库当中的数据包转换成OSPF能看懂的数据包,在转换的过程当中又涉及另一个问题,那就是开销的问题。
假如一条路由的开销在OSPF域当中开销是5,现在要引入到ISIS域当中那开销要设置成几呢?还用开销5吗?还是换一个?如果换一个?那换成什么呢?其实我们可以猜测一下这个开销肯定是不能照搬过去,为什么不能照搬?很简单,你想呀,如果一个OSPF路由的开销是20,要引入到RIP,那这事就不成立了!因为RIP的开销最大就是15,给RIP一个20,RIP肯定也不会识别的!
关于上面这些问题,思科与华为在这方面的解决方案是一致的,那就是为各种不同的路由协议设置种子开销,也叫种子度量值,意思就是无论你在原来的路由协议当中开销是多少,现在到了当前的路由协议,开销就要遵守当前这个路由协议的种子开销。
种子度量值
-
种子度量值(seed metric)
- 把一种路由引入其它协议后的默认度量值
路由协议 度量值 种子度量值 RIP 跳数 0 OSPF 开销 1 ISIS 开销 1 BGP MED 保留 -
上面这张图其实非常容易记忆,只需要记住两个链路状态路由协议的初始种子度量值都是1
-
BGP比较特殊,BGP的兼容性特别好,非常强大,BGP可以做到保留原有路由协议开销值;
-
以上为什么没有直连和静态呢?直连和静态我们后续需要单独进行讨论
PS:以上种子度量值是默认的,其实种子度量值是可以设置的,在路由引入的时候我们可以“default cost 10”这样的指令进行设置!
路由引入的难度递进
-
路由引入我们以难度划分,从简单到复杂分别是
- 先是单点单向
- 然后单点双向
- 最后双点双向
-
路由引入时,我们重点要关注这两方面的问题:
- 次优路由
- 环路
-
路由引入当中,最简单的就是配置,就一条命令加上几条参数
ospf 1 default cost 10 # 设置默认的种子度量值 import-route isis -route-policy -type -cost -tag #这是关键,是我们后续解决双点双向里面必用的
-
路由引入时,要注意默认路由
如果你在设备上已经写了一个静态的默认路由,如果你在OSPF当中import-route static,你会发现默认路由并没有引入,这是因为默认路由的造成的影响很大,如果想在OSPF域引入默认路由特别敲default-route-advertist always,如果想在RIP当中引入默认路由需要敲:“default-route-originnate”
OSPF default-route-advertist always RIP default-route-originnate
种子度量值优先级
-
设置种子度量值的地方
# 路由策略当中 route-policy test_policy if-match cost 10
# 具体的引入命令当中,而且还调用了route-policy ospf import-route isis cost 20 route-policy test_policy
# 全局进程当中,而且还调用了route-policy、并且具体命令当中也有 ospf default cost 30 import-route isis cost 20 route-policy test_policy
-
什么是种子度量值是优先级?
如上所示,就是设置种子度量值的地方特别多,比如说在route-policy当中,在路由协议的全局进程当中、在具体的路由引入命令当中,你想一下,如果即在route-policy当中设置了、也在路由协议的全局进程当中,还在路由引入命令的时候,到底谁的优先级更高?最终哪个会生效呢?
-
种子度量值生效优先级
这个生效规则与认证是一样的,先范围小的,再范围大的,比如接口认证要优先于区域认证,此处也是一样。
route-policy > 引入命令当中 > 全局进程当中
种子度量值叠加
种子度量值只是初始值,正常情况下是可以进行叠加的,我们以RIP为例,RIP默认种子度量值是0,每过一跳开销就会加1,拓扑图如下所示:
[b4-rip-1]dis ip routing-table protocol rip
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : RIP
Destinations : 2 Routes : 2
RIP routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
# 开销为2
10.0.23.0/24 RIP 100 2 D 192.168.14.1 GigabitEthernet0/0/0
192.168.12.0/24 RIP 100 1 D 192.168.14.1 GigabitEthernet 0/0/0
RIP routing table status : <Inactive>
Destinations : 0 Routes : 0
如果是OSPF引入RIP呢?开销还是会每过一跳加1吗?这个地方要特别注意,并不是这样的,如下所示:
# 默认引入的开销类型是type-2,开销沿途都不会发生任何变化
ospf 1
import-route rip 1 cost 100
[b4]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 2 Routes : 2
OSPF routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.23.0/24 O_ASE 150 **100** D 192.168.14.1 GigabitEthernet
0/0/0
92.168.12.0/24 OSPF 10 2 D 192.168.14.1 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
# 更改开销类型为type-1就会叠加了,如下所示:
# B2
ospf 1
import-route rip 1 cost 100 type 1
[b4]dis ip routing-table protocol ospf
# 已经将沿途的入接口开销都加上了
10.0.23.0/24 O_ASE 150 102 D 192.168.14.1 GigabitEthernet
0/0/0
192.168.12.0/24 OSPF 10 2 D 192.168.14.1 GigabitEthernet
0/0/0
# B1 入接口修改一下开销看一下
[B1]int g0/0/0
[B1-GigabitEthernet0/0/0]ospf cost 100
# B4再看
[b4]dis ip routing-table protocol ospf
# 开销又叠加了
10.0.23.0/24 O_ASE 150 201 D 192.168.14.1 GigabitEthernet
关于OSPF开销这部分内部,只可以参考我这篇博客:https://www.cnblogs.com/yizhangheka/p/17521706.html
小案例
以下小案例都是直接从华为PPT当中截图截下来!
案例一:ospf 引入直连
用的默认种子度量值1
案例二:ospf 引入静态
案例三:ospf 引入RIP
案例四:RIP引入OSPF
基础实验
基础环境
实验目标:要求三个环加接口可以互通,并且没有环路和次优路径问题
-
基础配置
# C5 sys sysn C5 int g0/0/0 ip add 25.0.0.5 24 int l0 ip add 5.5.5.5 24 quit rip version 2 network 25.0.0.0 network 5.0.0.0 quit # C2 sys sysn C2 int g0/0/0 ip add 25.0.0.2 24 int g0/0/1 ip add 12.0.0.2 24 rip version 2 network 25.0.0.0 network 12.0.0.0 # C6 sys sysn C6 int g0/0/0 ip add 36.0.0.6 24 int l0 ip add 10.0.6.6 32 ospf 1 router-id 10.0.6.6 a 0 network 10.0.6.6 0.0.0.0 network 36.0.0.6 0.0.0.0 # C3 sys sysn C3 int g0/0/1 ip add 36.0.0.3 24 int g0/0/0 ip add 13.0.0.3 24 ospf 1 a 0 network 36.0.0.3 0.0.0.0 network 13.0.0.3 0.0.0.0 quit # C1 sys sysN c1 int g0/0/1 ip add 12.0.0.1 24 int g0/0/2 ip add 13.0.0.1 24 int g0/0/0 ip add 14.0.0.1 24 quit rip version 2 network 12.0.0.0 quit ospf a 0 network 13.0.0.1 0.0.0.0 ip route-static 4.4.4.4 32 14.0.0.4 quit # C4 sys sysn C4 int g0/0/0 ip add 14.0.0.4 24 int l0 ip add 4.4.4.4 32 ip route-static 0.0.0.0 0.0.0.0 14.0.0.1 quit
RIP引OSPF
# C1
ip ip-prefix ospf_to_rip permit 10.0.6.6 32
route-policy ospf_to_rip_policy permit node 10
if-match ip-prefix ospf_to_rip
apply cost 4
# 注意,将OSPF引入到RIP当中去,是要在RIP当中进行操作
rip 1
version 2
default-cost 1
network 12.0.0.0
import-route ospf 1 cost 7 route-policy ospf_to_rip_policy
我们在C1上做了以上操作,请问在C5会看到几条OSPF传进RIP的路由条目?开销又是多少呢?
我们先来回答第一个问题,RIP引入了几条OSPF的几条路由条目?在RIP的配置视图当中我们看到调用到ip-prefix,仅匹配了一个路由条目,默认其它的拒绝的,也就是说在C5只会看到10.0.6.6;如果不加route-policy直接引入OSPF的话,在C5肯定能看到3条:10.0.6.6、36网段、13网段,当前加了route-policy只能看到10.0.6.6。
接着我们再来回答第二个问题,在C5上看到10.0.6.6的开销是多少?
也就是说C1最终会采用route-policy当中的开销,因为roue-policy的范围最精确,范围最小的,根据规则就该用route-policy当中的,也就是说C1将10.0.6.6传给C2的时候使用开销4,RIP的规律是每过一跳要加上1,所以在C5看10.0.6.6的开销应该是4+1+1=6,我们来验证一下:
<C5>dis ip routing-table protocol rip
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : RIP
Destinations : 2 Routes : 2
RIP routing table status : <Active>
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.6.6/32 RIP 100 6 D 25.0.0.2 GigabitEthernet
0/0/0
12.0.0.0/24 RIP 100 1 D 25.0.0.2 GigabitEthernet
0/0/0
RIP routing table status : <Inactive>
Destinations : 0 Routes : 0
RIP引静态
上面的引入OSPF的配置保持不动,接着引静态
# C1上只有一条静态
[c1]dis ip routing-table protocol static
4.4.4.4/32 Static 60 0 RD 14.0.0.4 GigabitEthernet
0/0/0
# 引入到RIP
[c1]rip
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route ospf 1 cost 7 route-policy ospf_to_rip_policy
[c1-rip-1]import-route static cost 11
注意,我们已经将静态引入了RIP,并设置了初始开销是11,那在C5看去4.4.4.4这条路由的开销是多少?肯定是13(11+1+1)
# 验证一下,没错的!
[C5]dis ip routing-table protocol rip
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 RIP 100 13 D 25.0.0.2 GigabitEthernet
0/0/0
10.0.6.6/32 RIP 100 6 D 25.0.0.2 GigabitEthernet
0/0/0
12.0.0.0/24 RIP 100 1 D 25.0.0.2 GigabitEthernet
如果在C1的RIP进程当中引入静态时,不规定开销,那C5上看到4.4.4.4开销是多少呢?那就是default-cost 1 加1再加1,我们来试一下:
[c1-rip-1]undo import-route static cost 11
[c1-rip-1]import-route static
# 验证一下,没错的
[C5]dis ip routing-table protocol rip
4.4.4.4/32 RIP 100 3 D 25.0.0.2 GigabitEthernet
0/0/0
10.0.6.6/32 RIP 100 6 D 25.0.0.2 GigabitEthernet
0/0/0
12.0.0.0/24 RIP 100 1 D 25.0.0.2 GigabitEthernet
0/0/0
RIP引直连
上面的配置保持不动。接着引直连
[c1]rip
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route static
import-route ospf 1 cost 7 route-policy ospf_to_rip_policy
[c1-rip-1]import-route direct
将直连引入到RIP进程,这个地方需要注意,C1有三个直连网段,分别是12、13、14,同时12网段还存在于RIp数据库当中、13网段存在于OSPF数据库、只有14网段是纯正的直连,那在C5看去,会有几条?
答案是两条,12网段C5原来就有,13网段和14网段原来没有,开销的话就是default-cost再上2,我们来验证一下:
<C5>dis ip routing-table protocol rip
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 RIP 100 3 D 25.0.0.2 GigabitEthernet
0/0/0
10.0.6.6/32 RIP 100 6 D 25.0.0.2 GigabitEthernet
0/0/0
12.0.0.0/24 RIP 100 1 D 25.0.0.2 GigabitEthernet
0/0/0
13.0.0.0/24 RIP 100 3 D 25.0.0.2 GigabitEthernet
0/0/0
14.0.0.0/24 RIP 100 3 D 25.0.0.2 GigabitEthernet
0/0/0
故意冲突
下面我们这么配置,我们在引入OSPF的时候不再使用策略路由,直接全部引入,同时保持直连路由引入,推理一下C5何地收到几条路由?开销是多少?
[c1]rip
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route direct
import-route static
import-route ospf 1 cost 7 route-policy ospf_to_rip_policy
[c1-rip-1]undo import-route ospf 1 cost 7 route-policy ospf_to_rip_policy
[c1-rip-1]import-route ospf 1 cost 7
import-route direct cost 11
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route direct cost 11
import-route static
import-route ospf 1 cost 7
我们再来分析一下,RIP直接把OSPF数据当中所有的路由都引入到RIP当中了,OSFP数据库当中原本有三条:
# C1的OSPF数据库
[c1]dis ospf routing
OSPF Process 1 with Router ID 12.0.0.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
13.0.0.0/24 1 Transit 13.0.0.1 12.0.0.1 0.0.0.0
10.0.6.6/32 2 Stub 13.0.0.3 10.0.6.6 0.0.0.0
36.0.0.0/24 2 Transit 13.0.0.3 10.0.6.6 0.0.0.0
其中13.0.0.0这条路由,直连当中也有,C1同时引入了OSPF和直连,那C1到底是使用的OSPF数据库当中的13.0.0.0还是直网段当中的13.0.0.0呢?
当两者面临冲突,肯定是直连优先,我们可以直接去C5路由器上进行查看,如果13.0.0.0的开销是 7 + 2 那13.0.0.0就是来自OSPF的数据库,如果开销是11 + 2,那就是来自直连的数据库,肯定是直连优先了!
# 直连获胜
<C5>dis ip routing-table 13.0.0.0
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
13.0.0.0/24 RIP 100 13 D 25.0.0.2 GigabitEthernet
0/0/0
问题出现
那当前,C5能ping通10.0.6.6吗?
是不能的,因为C5虽然有10.0.6.6的路由,可是C6并没有C5的路由,我们做的仅仅是单向引入呀!
<C5>dis ip routing-table 13.0.0.0
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
13.0.0.0/24 RIP 100 13 D 25.0.0.2 GigabitEthernet
0/0/0
所以接下来,我们接下来的操作要在OSPF当中进行引入RIP
OSPF引RIP
# 先看一下RIp的配置
[c1]rip
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route direct cost 11
import-route static
import-route ospf 1 cost 7
# 再做OSPF的配置
[c1]ospf
[c1-ospf-1]import-route rip
[c1-ospf-1]dis th
[V200R003C00]
#
ospf 1
import-route rip 1
area 0.0.0.0
network 13.0.0.1 0.0.0.0
OK,我们来分析一下,C1将ISIS路由数据库当中的路由条目引入OSPF,其实就是5.5.5.0和25.0.0.0这两段以及12网段,12网段这个直连网段也被当做OSPF网段引入了,也就是OSPF域中的C5会收到这三个路由条目,开销肯定是1,默认的开销类型是2,开销不会发生变化,我们去C6上验证一下:
<C6>dis ip routing-table protocol os
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 4 Routes : 4
OSPF routing table status : <Active>
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
5.5.5.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
12.0.0.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
13.0.0.0/24 OSPF 10 2 D 36.0.0.3 GigabitEthernet
0/0/0
25.0.0.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
OSFP引入静态
[c1-ospf-1]import-route static type 1 cost 12
[c1-ospf-1]dis th
[V200R003C00]
#
ospf 1
import-route static cost 12 type 1
import-route rip 1
area 0.0.0.0
network 13.0.0.1 0.0.0.0
引入静态没啥好说的,C6就能获得4.4.4.4的路由,开销类型因为改为了1,开销会增加,那就是12+2,在C6看上去应该是14,如下所示:
<C6>dis ip routing-table protocol os
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 5 Routes : 5
OSPF routing table status : <Active>
Destinations : 5 Routes : 5
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 O_ASE 150 14 D 36.0.0.3 GigabitEthernet
0/0/0
5.5.5.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
12.0.0.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
13.0.0.0/24 OSPF 10 2 D 36.0.0.3 GigabitEthernet
0/0/0
25.0.0.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
OSPF引入直连
这里又会面临冲突问题,C1的12网段即是直连,也是OSPF,肯定选直连嘛!
[c1-ospf-1]dis th
[V200R003C00]
#
ospf 1
import-route static cost 12 type 1
import-route rip 1
area 0.0.0.0
network 13.0.0.1 0.0.0.0
#
return
[c1-ospf-1]import-route direct cost 30 type 1
那C6上再看12网段的开销和14网段的开销,那就是30+2了!如下所示:
[C6]dis ip routing-table protocol os
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 O_ASE 150 14 D 36.0.0.3 GigabitEthernet
0/0/0
5.5.5.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
12.0.0.0/24 O_ASE 150 32 D 36.0.0.3 GigabitEthernet
0/0/0
13.0.0.0/24 OSPF 10 2 D 36.0.0.3 GigabitEthernet
0/0/0
14.0.0.0/24 O_ASE 150 32 D 36.0.0.3 GigabitEthernet
0/0/0
25.0.0.0/24 O_ASE 150 1 D 36.0.0.3 GigabitEthernet
0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
最终结果
我们在RIP当中引入了OSPF、直连、静态,同时也在OSPF当中引入了RIP、直连、静态。目前,RIP和OSPF域当中的路由器已经有了相互的路由条目,可以直接ping通了,至于静态网段那边,不需要我们配置,它有一个默认路由。
[c1-rip-1]dis th
[V200R003C00]
#
rip 1
default-cost 1
version 2
network 12.0.0.0
import-route direct cost 11
import-route static
import-route ospf 1 cost 7
#
return
[c1-rip-1]ospf
[c1-ospf-1]dis th
[V200R003C00]
#
ospf 1
import-route direct cost 30 type 1
import-route static cost 12 type 1
import-route rip 1
area 0.0.0.0
network 13.0.0.1 0.0.0.0
#
相互ping试一下
<C5>ping -c 2 -a 5.5.5.5 10.0.6.6
PING 10.0.6.6: 56 data bytes, press CTRL_C to break
Reply from 10.0.6.6: bytes=56 Sequence=1 ttl=252 time=40 ms
Reply from 10.0.6.6: bytes=56 Sequence=2 ttl=252 time=50 ms
<C5>ping -c 2 -a 5.5.5.5 4.4.4.4
PING 4.4.4.4: 56 data bytes, press CTRL_C to break
Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=253 time=20 ms
Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=253 time=30 ms
[C6]ping -c 2 -a 10.0.6.6 4.4.4.4
PING 4.4.4.4: 56 data bytes, press CTRL_C to break
Reply from 4.4.4.4: bytes=56 Sequence=1 ttl=253 time=30 ms
Reply from 4.4.4.4: bytes=56 Sequence=2 ttl=253 time=30 ms
--- 4.4.4.4 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/30/30 ms
[C6]ping -c 2 -a 10.0.6.6 5.5.5.5
PING 5.5.5.5: 56 data bytes, press CTRL_C to break
Reply from 5.5.5.5: bytes=56 Sequence=1 ttl=252 time=50 ms
Reply from 5.5.5.5: bytes=56 Sequence=2 ttl=252 time=30 ms
--- 5.5.5.5 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/40/50 ms
<C4>ping -c 2 -a 4.4.4.4 10.0.6.6
PING 10.0.6.6: 56 data bytes, press CTRL_C to break
Reply from 10.0.6.6: bytes=56 Sequence=1 ttl=253 time=40 ms
Reply from 10.0.6.6: bytes=56 Sequence=2 ttl=253 time=30 ms
--- 10.0.6.6 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/35/40 ms
<C4>ping -c 2 -a 4.4.4.4 5.5.5.5
PING 5.5.5.5: 56 data bytes, press CTRL_C to break
Reply from 5.5.5.5: bytes=56 Sequence=1 ttl=253 time=30 ms
Reply from 5.5.5.5: bytes=56 Sequence=2 ttl=253 time=30 ms
--- 5.5.5.5 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/30/30 ms
提升
默认路由
C1并没有默认静态路由,我们随便写一个:
[c1]ip route-static 0.0.0.0 0.0.0.0 14.0.0.4
我们明明已经在OSPF和RIP当中引入了静态路由,但是这个默认路由还是没有出现在C5和C6上,这是因为如果想默认路由引入的话,就得需要特殊的指令:
[c1-ospf-1]default-route-advertise cost 88
[c1-rip-1]default-route originate
环路
当前我们在C6上ping一个不存在的IP地址,这时候就会产生环路,就是因为默认路由的原因
<C6>tracert 8.8.8.8
traceroute to 8.8.8.8(8.8.8.8), max hops: 30 ,packet length: 40,press CTRL_C t
o break
1 36.0.0.3 40 ms 10 ms 10 ms
2 13.0.0.1 30 ms 30 ms 30 ms
3 14.0.0.4 20 ms 40 ms 20 ms
4 14.0.0.1 20 ms 20 ms 20 ms
5 14.0.0.4 30 ms 30 ms 40 ms
6 14.0.0.1 30 ms 30 ms 40 ms
7 14.0.0.4 50 ms 30 ms 40 ms
8 14.0.0.1 30 ms 50 ms 30 ms
9 14.0.0.4 40 ms 40 ms 40 ms
10 14.0.0.1 60 ms 40 ms 50 ms