关于DNS,VPN和Hosts

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36774307/article/details/69390020
  • DNS是什麽?

DNS(Domain Name System),域名系统。用来把机器名字转换成IP地址。网络终端都有一个唯一的IP地址用于通信,就好象我们每个人都有住址用来收信。

IPv4长这样:192.168.1.1,255.255.255.255

IPv6长这样:2001:0DB8:02de:0000:0000:0000:0000:0e13

机器很喜欢这样的格式,换成二进制非常容易处理。但是让你每次上网都要在浏览器上输入这么一长串东西,你是不是很抓狂?所以我们需要Domain(域名)也就是机器名字来指代某个主机的IP地址。

举例,谷歌搜索的域名也就是机器名字是 www.google.com。域名从右往左看。com是商业公司的顶级域名,google是谷歌公司的二级域名,www是谷歌搜索的三级域名。就好象你写地址也要写个中国上海市静安区。谷歌公司不止搜索这一个网站,它可以定义N个三级域名用来命名不同的网站主机,因为它拥有http://google.com这个二级域名。

但是机器不认识这些字母,所以我们把机器名字http://www.google.com输入浏览器之后,需要DNS(域名系统)来把http://www.google.com转换成谷歌搜索的IP地址。

具体的实现很复杂。简单来说,全球有很多域名服务器,用来存储从域名到IP地址的映射。我们每台终端,无论手机还是电脑,在联网的时候都会配置一个DNS地址,就是DNS服务器的IP地址。你填的那个8.8.8.8就是google公司设立的DNS服务器。在上网的时候电脑会去向这些DNS服务器查询域名对应的IP。

  • Hosts是干什么用的?

在互联网的早期,网络只有几台电脑。人们用hosts文件记录机器名字到IP的映射,后来网络的规模越来越大。你想想全球有多少网络终端连在万维网上?hosts文件记录映射已经不可行了,所以发明了DNS,域名系统。但是hosts文件仍然保留在操作系统中,hosts文件的优先级高于DNS查询。操作系统首先会在hosts文件中找域名对应的IP地址,没有找到它才会去问DNS服务器。

  • VPN是什麽?

VPN(Virtual Private Network),虚拟专用网。VPN的本意是在公用网络上建立专用网络。设想你是一名公安民警,你出差在外住酒店,需要到公安内部网络查询某些资料。但是酒店的网络是公有网络,数据传输途中要经过酒店的路由,ISP的路由。中途任何有技术的人都可以看到你跟内部网络之间的明文通信。这时候需要在你和公安内部网络建立一条加密的专用信道。发送数据的时候加密,接收数据的时候解密,加解密的方式事先设定好。这样第三方看到加密过后的数据也无法理解其中的含义。

当然,天朝国情多奇葩。我们的ZF发明了伟大的GFW,于此对应我们伟大的程序员发明了用VPN科学上谷歌的方法。如果你明文请求Google主机,GFW会直接重置连接。但是你在国外有个VPN代理服务器,代理服务器帮你请求Google;再把Google的响应用加密的方式转发给你。因为你跟VPN代理之间是加密传输,GFW不知道你访问的是Google,它不可能把所有发到国外的请求都重置掉,所以成功突破封锁。

猜你喜欢

转载自blog.csdn.net/weixin_36774307/article/details/69390020