Github域名解析连接慢问题

Github域名解析连接慢问题

  • 1. Github访问慢问题
  • 2. Github连接解决方案
    • 2.1 使用 Gitee 的镜像仓库
    • 2.2 配置本地的 hosts 文件
  • 3. DNS域名解析分析
    • 3.1 根域名服务器
    • 3.1 顶级域名服务器
    • 3.1 域名解析流程

1. Github访问慢问题

Github 作为全球最大的代码托管平台和开源社区,因为它的服务器在国外,所以一直存在访问速度过慢、甚至有时候超时无法访问的问题。

2. Github连接解决方案

2.1 使用 Gitee 的镜像仓库

大家都知道国内正在积极推动开源社区的发展,其中 Gitee 就是我们国家支持推动的国内开源生态系统。
经过这么多年的发展,大部分实用的仓库都可以在 Gitee 上找到镜像,而且由于其服务器是在国内,所以访问速度非常快速。
Gitee的访问链接如下: https://gitee.com/

2.2 配置本地的 hosts 文件

这种方案的原理就是:绕过 DNS 解析,直接使用本地的 DNS 记录进行跳转。

1.查找最快IP
通过分析github域名解析,找到最快的IP地址。
可以通过 http://ping.chinaz.com/ 链接查询github的DNS信息,例如,链接查看github。
可以直接打开 http://ping.chinaz.com/github.com
Github域名解析连接慢问题_第1张图片
可以看到国内大部分都是超时的,选择 TTL 和响应时间都比较小的两个响应 IP,配置本地host文件。
在这里插入图片描述
2.配置hosts文件
选择好IP之后,找到系统对应的hosts文件。
目录为:C:\Windows\System32\drivers\etc\hosts
文件末尾添加配置

52.78.231.108 github.com
140.82.121.4  github.com

3.刷新本地 DNS 缓存
刷新本地 DNS 缓存。使用 Win+R 输入 cmd ,打开命令提示符,输入:ipconfig /flushdns

C:\Users\1>ipconfig /flushdns
Windows IP 配置
已成功刷新 DNS 解析缓存。

因为跳过了很多比较慢的IP连接,所以速度相对会快一些。亲测有效。

3. DNS域名解析分析

3.1 根域名服务器

根服务器主要用来管理互联网的主目录,最早是IPV4,全球只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国,由美国互联网机构Network Solutions运作。其余12个均为辅根服务器,其中9个在美国,2个在欧洲(位于英国和瑞典),1个在亚洲(位于日本)。

IPv4 地址储备池已于2019年11月25日完全耗尽。

在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

3.1 顶级域名服务器

域名由两组或两组以上的ASCII或各国语言字符构成,各组字符间由点号分隔开,最右边的字符组称为顶级域名或一级域名、倒数第二组称为二级域名、倒数第三组称为三级域名、以此类推。顶级域名又分为三类:一是国家和地区顶级域名(country code top-level domains,简称ccTLDs [1] ),200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是.cn,日本是.jp等;二是通用顶级域名(generic top-level domains,简称gTLDs),例如表示工商企业的.com,表示网络提供商的 .net,表示非盈利组织的 .org等。三是新顶级域名(New gTLD)如通用的.xyz、代表“高端”的.top、代表“红色”的.red、代表“人”的.ren等一千多种。

域名级数是指一个域名由多少级组成,域名的各个级别被“.”分开,最右边的那个词称为顶级域名。
顶级域名,又称一级域名,常见的有".com"、".org"、".net"、".cn"等。
“二级域名"就是在一级域名前再加一级,如"baidu.com”。
二级域名以上级别的域名,统称为子域名,不在“注册域名”的范畴中。

3.1 域名解析流程

域名是不能直接访问的,计算机能够识别的只有二进制01,通过域名访问的首先需要通过DNS域名解析服务器,转换为真正的IP地址01码才能访问,域名解决的就是01码不方便人们记忆,所以多了一层转换。

Github域名解析连接慢问题_第2张图片
DNS解析流程总结

①本机向local dns请求www.baidu.com
②local dns向根域请求www.baidu.com,根域返回com.域的服务器IP
③向com.域请求www.baidu.com,com.域返回baidu.com域的服务器IP
④向baidu.com请求www.baidu.com,返回cname www.a.shifen.com和a.shifen.com域的服务器IP
⑤向root域请求www.a.shifen.com
⑥向com.域请求www.a.shife.com
⑦向shifen.com请求
⑧向a.shifen.com域请求
⑨拿到www.a.shifen.com的IP
⑩localdns返回本机www.baidu.com cname www.a.shifen.com 以及 www.a.shifen.com的IP

你可能感兴趣的:(问题总结,Github域名解析连接慢问题)