跟踪路由 - 查看数据如何从设备移动到目的地

当客户端 A 想要与服务器 B 通信时,它通过将其通信分解为标准 Internet 协议 (IP) 数据包来实现,这些数据包将使用传输控制协议 (TCP) 传输到服务器 B。客户端 A 通常首先向域名服务 (DNS) 服务器询问服务器 B 的 IP 地址。然后客户端 A 会将包含服务器 B 的 IP 地址的 IP 数据包发送到其网络网关(通常是路由器)。 多个路由器通常用于将 IP 数据包从客户端路由到其所需的服务器,然后再路由回客户端。路由器 1 使用其转发表将 IP 数据包发送到路由器 2。路由器 2 和每个后续路由器将使用自己的转发表,直到 IP 数据包到达服务器 B。

跟踪路由使用每个 IP 数据包的生存时间 (TTL) 字段。传输控制协议 (TCP) 要求每个路由器将 TTL 减少 1。如果 TTL 变为 0,路由器将告知客户端 IP 数据包的传输已终止。跟踪路由首先发送三个 TTL 等于 1 的 IP 数据包。然后,路由器 1 将递减这三个 IP 数据包中的每一个,并将三个 IP 数据包发送回客户端,并显示“超过生存时间”消息。客户端将记录 TTL 等于 1 的所有三个 IP 数据包的往返时间。然后,客户端将发送三个 TTL 等于 2 的 IP 数据包。路由器 1 将 TTL 递减为 2,并将三个 IP 数据包转发到路由器 <>,路由器 <> 会将这三个 IP 数据包中的每一个都减少到零,并向客户端发送三条“TTL 超出”消息。对于客户端和服务器之间的每个路由器,这将继续。

如果一切顺利,客户端将识别客户端和服务器之间的所有路由器,每个路由器的典型传输时间为三次往返。遗憾的是,防火墙、阻塞和网络故障可能会导致某些路由器的往返次数少于三次。跟踪路由数据包的较低优先级路由也可能导致往返时间大于标准流量的往返时间。

谁为所有这些路由器付费?客户的ISP支付将客户端连接到互联网上的每个网站的费用。该网站的ISP支付将网站连接到其所有客户端的费用。IP 传输提供商分为三层。第 1 层网络具有全球影响力,并与其他第 1 层网络对等,成本为零。只有大约十几个一级网络,包括AT&T(CAIDAAS上的1个,互联网上的重要排名,美国),T-Mobile(11个,美国),Verizon(22个,美国),Lumen(21,美国),Arelion(1个,瑞典),NTT Communications(2个,GTT,日本),Telecom Italia Sparkle(4个,意大利),GTT(5个,美国),Tata Communications(7, 印度)和Zavo集团(8,美国)

第 2 层网络必须向第 1 层网络支付 IP 传输费用,并尽可能以非常低的成本或免费与其他第 2 层网络对等。大多数最后一英里接入网络提供商都是第 2 层网络。例如沃达丰(从Level 3,Telia等人购买IP Transit),康卡斯特(从塔塔和NTT America购买)和英国电信(从Telia等人购买)。 第2层网络包括亚马逊等一些数据中心提供商。

第 3 层网络是具有区域或国家影响力的小型本地提供商,仅在第 1 层传输不可用时才从第 2 层购买 IP 传输。

跟踪路由可用于诊断目的。它显示了网络流量如何流经路由器。每个路由器的平均路由行程时间和任何缺失的往返有助于识别性能不佳和瓶颈。路由跟踪还可用于显示网络漏洞。公司经常阻止或过滤跟踪路由数据包,因为攻击者可以使用跟踪路由来映射目标的网络。

以下是圣路易斯特许频谱订阅者在网络工具中使用“traceroute”输入域名“nepal.gov.np”时生成的跟踪路由。要了解跟踪路由,了解域名的三个部分(见下面的第 2 行)会有所帮助:顶级域 (TLD),例如“点网”;二级域,例如“无故障”,子域,例如“switch74”,。域名从右到左阅读时从一般到更具体。顶级域和第二级域“trouble-free.net”指定主/根域,通常是由IP地址标识的网站。

在客户端输入“trouble-free.net”将显示“interserver.net”的主页。在BlueWorldData下拉菜单“网络工具”“DNS”中输入“trouble-free.net”,显示服务器IP地址为“64.20.34.50”。在“网络工具”“DNS”中输入“switch74.trouble-free.net”也显示服务器IP地址为“64.20.34.50”,因为服务器64.20.34.50会接受switch74.trouble-free.net数据包并将它们路由到switch 74.下面第2行的子域名“switch74.trouble-free.net”后面的IP地址(66.45.224.2)是switch74.trouble-free.net的IP地址,但不能直接寻址出于安全原因。在chrome浏览器中输入“http://66.45.224.2”显示“66.45.224.2拒绝连接”。在“网络工具”“DNS”中键入 IP 地址“66.45.224.2”显示 in-addr.arpa name = switch74.trouble.free.net。

IP/domain nepal.gov.np 的跟踪路由信息
traceroute to nepal.gov.np (202.45.147.252), 30 hops max, 60 byte packets
1 208.73.203.193 (208.73.203.193) 0.324 ms 0.318 ms 0.333 ms
2 66.45.224.1 (66.45.224.1) 0.575 ms switch74.trouble-free.net (66.45.224.2) 0.535 ms 0.813 ms
3 64.20.32.179 (64.20.32.179) 0.474 ms 0.431 ms 64.20.32.209 (64.20.32.209) 0.680 ms
4 64.20.32.61 (64.20.32.61) 0.468 ms 0.455 ms 0.439 ms
5 100.xe-0-2-0.mpr2.ewr2.us.zip.zayo.com (64.125.43.13) 0.422 ms 0.417 ms 0.364 ms
6 * * be2273.ccr41.jfk02.atlas.cogentco.com (154.54.83.205) 1.141 ms
7 * * be2806.ccr41.dca01.atlas.cogentco.com (154.54.40.106) 7.173 ms
8 * be2113.ccr42.atl01.atlas.cogentco.com (154.54.24.222) 24.015 ms *
9 * be2687.ccr41.iah01.atlas.cogentco.com (154.54.28.70) 36.709 ms be2690.ccr42.iah01.atlas.cogentco.com (154.54.28.130) 36.964 ms
10 be2928.ccr21.elp01.atlas.cogentco.com (154.54.30.162) 52.973 ms * 52.598 ms
11 * be2930.ccr32.phx01.atlas.cogentco.com (154.54.42.77) 61.033 ms be2929.ccr31.phx01.atlas.cogentco.com (154.54.42.65) 61.009 ms
12 128.177.139.185.IDIA-241663-ZYO.zip.zayo.com (128.177.139.185) 60.605 ms be2932.ccr42.lax01.atlas.cogentco.com (154.54.45.162) 72.181 ms 72.230 ms
13 be3271.ccr41.lax04.atlas.cogentco.com (154.54.42.102) 72.395 ms * be3360.ccr41.lax04.atlas.cogentco.com (154.54.25.150) 72.375 ms
14 be3271.ccr41.lax01.atlas.cogentco.com (154.54.42.101) 301.521 ms be2913.ccr31.sin01.atlas.cogentco.com (154.54.27.53) 250.924 ms 125.17.159.10 (125.17.159.10) 257.346 ms
15 but.core-bhr.core.ntc.net.np (202.70.93.73) 277.191 ms 275.610 ms 277.995 ms
16 116.119.68.100 (116.119.68.100) 260.571 ms 116.119.94.196 (116.119.94.196) 282.608 ms ptn.core-but.core.ntc.net.np (202.70.93.110) 277.641 ms
17 125.17.159.10 (125.17.159.10) 263.967 ms 262.810 ms ptn.acc-ptn.core.ntc.net.np (202.70.93.95) 262.786 ms
18 but.core-bhr.core.ntc.net.np (202.70.93.73) 283.772 ms ptn.acc-ptn.ne.acc.ntc.net.np (202.70.93.100) 261.354 ms 263.927 ms
19 202.70.79.1 (202.70.79.1) 275.979 ms ptn.core-but.core.ntc.net.np (202.70.93.110) 282.871 ms 202.70.79.1 (202.70.79.1) 277.450 ms
20 sumo-147-242.nitc.gov.np (202.45.147.242) 278.677 ms 276.611 ms ptn.acc-ptn.core.ntc.net.np (202.70.93.95) 268.216 ms
21 * * ptn.acc-ptn.ne.acc.ntc.net.np (202.70.93.100) 270.411 ms
22 * 202.70.79.1 (202.70.79.1) 285.265 ms ptn.acc-ptn.core.ntc.net.np (202.70.93.95) 272.445 ms
23 * * sumo-147-242.nitc.gov.np (202.45.147.242) 283.078 ms
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

第 1 行 "208.73.203.193 (208.73.203.193) 0.324 ms 0.318 ms 0.333 ms" 第 1 行是客户端向路由器 #1 发送 3 个数据包的结果,TTI = 1。第一个字段是主机名,在这种情况下是 IP 地址。 (主机名可以是主/根域名,也可以是主/根域网络中的机器名称。 在“IP 查找”中输入此 IP 地址 208.72.203.193 会产生 ISP 域名“interserver.net”,这是一家网络托管公司。括号中的第二个字段是 IP 地址。这三个“ms”时间(毫秒)是客户端发送三个 TTL = 1 的 IP 数据包中的每一个到客户端收到“TTL exceeded”消息之间经过的时间。路由器 #1 也称为第一跳。

第 2 行“66.45.224.1 (66.45.224.1) 0.575 毫秒 switch74.trouble-free.net (66.45.224.2) 0.535 毫秒 0.813 毫秒” 第 2 行显示 TTL = 2 的第一个 IP 数据包的路由器 #2(第二跳)为 66.45.224.1,“IP 查找”表示这是另一个“interserver.net” 路由器。但是,第二个和第三个IP数据包被发送到路由器66.45.224.2。,“IP 查找”说仍然是另一个“interserver.net”路由器,主机名为“switch74.trouble-free.net”,与第 2 行中的名称匹配。

第 6 行“* * be2273.ccr41.jfk02.atlas.cogentco.com (154.54.83.205) 1.141 毫秒” 第 6 行的前两个星号告诉我们,对于发送到路由器 #6(第六跳)的第一个和第二个 IP 数据包,客户端没有收到“TTL 超过” 消息。第三个数据包确实从 cogentco.com 路由器生成了“TTL 超过”消息。通过谷歌搜索,我们了解到Cogent拥有光纤照明的建筑物和数据中心。

第 8 行“* be2113.ccr42.atl01.atlas.cogentco.com (154.54.24.222) 24.015 毫秒 *” 第一个和第二个星号告诉我们,对于发送到路由器 #8(第八跳)的第一个和第三个 IP 数据包,客户端没有收到“TTL 超过” 消息。

第 12 行“128.177.139.185.IDIA-241663-ZYO.zip.zayo.com (128.177.139.185) 60.605 毫秒 be2932.ccr42.lax01.atlas.cogentco.com (154.54.45.162) 72.181 毫秒 72.230 毫秒” 第 12 行将 IP 地址合并为主机名的第一部分,以 zip.zayo.com 结尾。

第 14 行显示经过时间的急剧增加。