Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修改 Hosts 解决 Github 访问问题 #1

Open
fengzhao opened this issue Jul 2, 2022 · 2 comments
Open

修改 Hosts 解决 Github 访问问题 #1

fengzhao opened this issue Jul 2, 2022 · 2 comments

Comments

@fengzhao
Copy link
Owner

fengzhao commented Jul 2, 2022

0 Github 访问失败或者缓慢?

为什么会访问失败或者速度很慢?

国内网络访问 Github 速度过慢的原因有许多,但其中最直接和原因是其 CND 域名遭到 DNS 污染,导致我们无法连接使用 GitHub 的加速服务,因此访问速度缓慢。

简单理解:CDN「Content Delivery Network」,即内容分发网络,依靠部署在各地的边缘服务器,平衡中心服务器的负荷,就近提供用户所需内容,提高响应速度和命中率。DNS 污染,是指一些刻意或无意制造出来的数据包,把域名指向不正确的 IP 地址,阻碍了网络访问。

我们默认从目标网址的最近 CDN 节点获取内容,但当节点过远或 DNS 指向错误时,就会操成访问速度过慢或无法访问的问题。

@fengzhao
Copy link
Owner Author

fengzhao commented Jul 2, 2022

1 访问慢、无法加载还是无法通讯?

这三种情况是有区别的,含义不一样:

  • 访问慢:连接延迟高,内容能够被加载但需要较长的时间。
  • 无法加载:浏览器无法打开网址。
  • 无法通讯:无法进行直接的网络通讯,包括了上一种情况。

自然导致这三种情况的原因也不尽相同:

  • 访问慢:服务器或 CDN 节点的地理位置相对较远,难以物理超度。注意这里的表现是延迟高,不一定是每秒传输速度慢。
  • 无法加载:可能由于长时间的未响应,即访问慢的情况,导致浏览器判定无法加载内容;可能由于网址对应内容不能被直接访问,即无可访问内容或无权限访问。
  • 无法通讯:这类情况往往是 IP 解析错误,即遭受 DNS 污染;否则就是 IP 服务器出现了内部错误。

@fengzhao
Copy link
Owner Author

fengzhao commented Jul 2, 2022

2 检测一下

可以利用两个工具来判断不同域名或 IP 地址是上述那种情况。笔者以github.com为例,实际操作一遍检测的过程,看看是什么情况:

首先利用网络上的ping工具,例如 这个,检测网址、IP 地址的通讯情况。输入要检测的网址github.com,点击「Ping 检测」。工具提供的服务是利用自己分布在各地的网络节点的本机ping工具,执行对网址的ping操作,汇总结果,统计响应网址的服务器 IP。

检测结果如下图示。共计 106 个检测点,其中接受响应速度最快的节点在加拿大,目标服务器对其响应时间为 14ms;最慢在中国香港,响应时间 243ms。在成功访问的所有节点中,目标服务器的平均响应时间是 163.5ms。地图与颜色响应了国内不同省市的访问时间,红色说明访问超时,白色说明没有参与节点;约偏向绿色则响应时间越短。右侧还有一个统计表。这里的情况是:国内节点无法ping通github.com,即无法建立网络通讯。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant