网络诊断小结

网络诊断小结

今天实在无法忍受宽带(电信)访问国外服务器时的速度,或者说已经接近于断开的情况了,做了一点网络诊断。这里记录一下过程,以便于之后再查错用:

我这里的情况好像是美国方向非常堵,日本方向好一些

测试环境是Windows,测试所用网站是github和AWS Japan

  1. 先看一下DNS,这个一般是不太影响网速的,因为它只负责解析域名这一部分,它在网络延迟中占的比例很小,而且电脑都有DNS缓存,不是每一次访问都需要访问DNS服务器的,但是不良的DNS的确可能不能找到离用户最近的服务器(一般指cdn站点),而且恶意的DNS还可能有DNS劫持,况且运营商DNS劫持弹广告这种也挺常见的,知乎有个讨论如何解决DNS劫持,所以还是换成大DNS提供商靠谱,国内我一般用114.114.114.114,出国用8.8.8.8
  2. 再打开路由器管理界面看一下现在的使用情况,没开玩笑····可能你会发现有其他人在P2P下载什么的,不是运营商的锅。(但其实这种情况比较少,感觉主要还是出口带宽的问题)
  3. ping,这个在Windows和ubuntu里都是一样的,只能看延迟和丢包率
  4. tracert,这是Windows里使用的指令,Linux里对应的叫traceroute.

    来源: https://www.cnblogs.com/godtrue/p/5882541.html

    最左侧的,1,2,3,4~8,表明在我使用的宽带(北京宽带)上,经过7(不算自己本地的)个路由节点,可以到达百度的服务;如果是电信可能有不同;其他的IP,也有可能不同;各位可以自行测试一下;

    中间的三列,单位是ms,表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值;

    后面的IP,就是每个路由节点对应的IP,每个IP代表什么

    tracert的原理值得一看:

    首先,tracert送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2 个路由器...... tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

    tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。
    ————————————————
    版权声明:本文为CSDN博主「Tasfa」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_30135181/article/details/50992151

    但是也不能看链路上有超时就认为是不通(当然我这个图是真的不通,汗),这种的典型是这里的这种,就是目标服务器是通的,但是半路不通,这种一般是运营商的路由器设置不允许Ping或者设置ttl过期的时候不返回消息 ,但是像我上图那样30跳之后还是不能到,就是不通无疑了

    • 使用tracert来检测国内网站,例如百度,还发现了一个有趣的现象:

    这个是什么呢,网上有文章说,这是 电信上网用户的IP反向解析地址 。IP反向解析的相关知识可以看这篇博客: https://www.cnblogs.com/kasumi/p/6117941.html

    • tracert还有很多参数可以控制:

      来源: https://www.cnblogs.com/godtrue/p/5882541.html

      tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name。

      ①、-d

      表示不将地址解析成主机名。

      ②、-h maximum_hops

      表示搜索目标的最大跃点数。

      ③、-j host-list

      表示与主机列表一起的松散源路由(仅适用于IPv4)。

      ④、-w timeout

      表示等待每个回复的超时间(以毫秒为单位)。

      ⑤、-R

      表示跟踪往返行程路径(仅适用于IPv6)。

      ⑥、-S srcaddr

      表示要使用的源地址(仅适用于IPv6)。

      ⑦、-4和-6

      表示强制使用IPv4或者IPv6。

      ⑧、target_name

      表示目标主机的名称或者IP地址。

  5. 再说一些相关的小工具吧:
    1. 查看自己的网络对IPV6的支持程度: http://www.test-ipv6.com/
    2. 检测ip在国内的访问速度,有图形化的展示:http://tool.chinaz.com/speedtest/ 。实测还是比较靠谱的
    3. 检测Ip地址的物理地址: http://ip.tool.chinaz.com/
  6. v2ex这里对于国际带宽问题有一个讨论,可以康康: https://www.v2ex.com/t/213468
  7. 一点经验之谈:
    • 这里不讨论访问国内网站,因为有cdn,国内带宽也比较富裕,体验还是很好的
    • 联通访问国际线路比电信好
    • 需要下载文件的话,可以买一台延迟比较低的区域(日本、香港)的云机器,通过命令行下载,然后scp下载到本地。

      当然命令行直接下载对许多网站是不行的,可以试着给服务器安个桌面,然后通过teamviwer等等连接上去,指挥服务器通过浏览器进行下载,然后再scp传回本地(这只是我的想法,还没有试过)

      当然有一个比scp传输更好的方法,也是我总结出来的、目前来看在国内使用的最优解,就是通过远程桌面下载后将文件上传到QQ邮箱文件中转站!速度快、容量大,比百度网盘之流高到不知道哪里去了

原文地址:https://www.cnblogs.com/jiading/p/12026589.html

时间: 2024-07-31 11:31:25

网络诊断小结的相关文章

Mac OS X网络诊断命令

下面是一些Mac OS X下常用的网络诊断命令.它们能帮助我们发现网络问题.文中提到的协议和网络通信原理,可参考协议森林. 有些工具,如arping, arp-scan,需要借助HomeBrew安装. 基本工具 网络诊断的第一步,是了解自己的设备,比如有哪些接口,IP地址都是什么. ifconfig 显示网络接口(interface)信息.如接口名称,接口类型,接口的IP地址,硬件的MAC地址等. ARP ARP协议用在局域网(LAN)内部.借用ARP协议,设备可以知道同一局域网内的IP-MAC

使用网络诊断(Using Network Diagnostics)

在许多基于网络的应用中,会发生基于网络的错误,这些错误与你的应用无关.然而,大多数用户可能不知道为什么应用失败.CFNetDiagnostics API为你提供一种快速而简单的方法来帮助用户解决网络问题. 如果你的应用使用一个CFStream 对象,然后调用CFNetDiagnosticCreateWithStreams函数创建一个网络诊断引用(CFNetDiagnosticRef) .CFNetDiagnosticCreateWithStreams有一个分配器,读取流和写入流作为参数.如果你的

你知道ping和traceroute,但你知道mtr网络诊断工具么?

mtr比ping和traceroute更好用,反馈的网络诊断结果更直观. Diagnosing Network Issues with MTR apt-get update apt-get upgrade apt-get install mtr-tiny

【收集用户网络状态】网络诊断工具.bat

@echo off rem ## version 1.9.2 @ 2014/9/12 rem ## via NosmoKing rem 简体中文 chcp 936 >nul color fc title [网络诊断工具]v1.9.2 ^| 多有打扰,敬请谅解 :-) set s_URLS=tmpURLs.txt set s_Date=%date:~5,2%%date:~8,2% set s_Hour=%time:~0,2% if /i %s_Hour% LSS 10 ( set s_Hour=0

Windows Server 2012 R2中的网络诊断命令

Get-NetAdapter Get-NetIPAddress Get-NetIPConfiguration(GIP) TNC :Pinging Servers and Trace Route tnc www.baidu.com -traceroutetnc www.baidu.com -prot 80tnc hostname RDP Provider Address (PA) Ping PA Pings allows admins to validate connectivity in the

网络诊断三部曲

title: 网络诊断三部曲 date: 2017-11-01 22:03:40 tags: IT 技术 查信号强度 网络现场勘察和延迟分析 现场勘查,获取平面图: 获取网络类型,确定是零漫游.AP+AP还是AC+AP,这两点是基础信息获取: 在Windows命令行或终端中ping任意一台设备,延迟大于500ms时,表示网络基本不可用,小于200ms表示网络状况可以: 如果网络中存在干扰,ping包的延时特点是时间长短不一,而且差异明显,如可能会出现10+ms,有的会达到几百ms ping命令p

MTR 网络诊断工具

MTR 网络诊断工具 为什么会了解到MTR这个工具 今天线上业务出现了大量语音合成问题,本以为是服务出问题,但是经过排查发现服务一切正常就是合成的特别慢,在TTS语音合成服务那边也没有大量的任务堆积,这边也一直再发送需要合成的数据过去,这种情况只能说明在传输需要合成的语句的时候出现了问题,这时候第一个排查的就是网络问题,可能是网络大量丢包造成的数据传输问题,于是开始使用ping命令查看,发现确实有丢包,但是通过ping又没有办法发现是哪个地方丢包,这个时候聪明的你肯定想到我们用tracerout

网络知识点小结

1. 域名服务的工作流程: 2. NAT虚拟网络配置 3. 桥接和仅主机模式配置

网络编程-小结

1-----------------------------------------------------基本知识---------------------------------------------------------------- 网络编程的三要素        A:IP地址            a:点分十进制            b:IP地址的组成            c:IP地址的分类            d:dos命令            e:InetAddress