域名和DNS服务器
2024-08-31 20:15:05
概念性的东西:
域名:
①.百度:域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称,世界上第一个注册的域名是在1985年1月注册的。
②.个人理解:域名只是一个便于大家理解的字符串,其实底层真正通信的还是IP。但是无论是二进制、还是十进制的IP,都是一系列的数字,没有实际含义,不方便记忆。举个简单的例子:为什么手机里都有电话本呢?一个道理,电话号码相当于IP,人名相当于域名。我们打电话肯定是找人名的,但实际打过去的肯定是电话号码。
DNS:
②.个人理解:DNS的相当于翻译官,访问某个域名,他会告知你实际的IP地址。方便你访问。
前言:
为啥突然研究这些基础的东西呢,主要由于最近想研究一下CDN的相关操作,但是了解CDN的大概原理之后,发现需要恶补计算机基础。这里还是要说一句,基础是最重要的,有了基础后,能了解原理性的东西,对于未来的发展是很有用的。
下面就来先从一个简单的上网示例说起吧~
用户访问www.womai.com,只需要简简单单的打开浏览器,敲上网站,一按回车。看似简单的操作,这后面其实有很多文章。会依次经过以下几个步骤:
1.本地HOSTS文件:windows环境下的的路径: C:\Windows\System32\drivers\etc\HOSTS,里面配置了域名和IP的映射关系。如果访问的域名恰好在此配置中,就直接访问对应IP地址。
2.本地域名服务器:其实是一些分布式的DNS域名解析服务器,具有高速缓存。这些服务器对应着我们在IPV4那一栏配置的首选和备用DNS服务器。一般有114.114.114.114 、8.8.8.8等几种,相对较为固定。也可以选择自动获取,类似于IP自动获取的DHCP服务就会自动分配。如果电脑有连接路由器,可能会将路由器的IP设置到此处。
3.根域名服务器:本地域名服务器查询不到IP,会查询根域名服务器。
4.顶级域名服务器:全球13台顶级域名的服务器,.com .net 等等
5.权限域名服务器:对应着具体的应用服务器的DNS权限域名服务器,可由服务器所有者设置。
当然,如果每次都按照这个步骤走的话,服务器肯定压力山大。所以在本地域名服务器中实际上是有高速缓存的,只有缓存不存在或者缓存失效才会向其他服务器发起请求。这里顺便提及一下请求分为两种模式:递归解析和反复解析。说大白话就是:递归解析就是找一个人办事,找关系能把事办的妥妥的。反复解析就是被踢皮球,找A,A说你去找B,找B,B说你去找C,最终找了一个能办事的人。。如下图:
①.递归解析:
②.反复解析:
补充一点:虽然这些DNS域名解析服务器都是以对域进行解析的,但实际操作的最小单位并不是域,而是“区”。范围:“区” <= “域”。
还是以上面的例子做假设。公司有两台权限DNS域名解析服务器,分别解析womai.com和www.womai.com。当请求到womai.com域时,通过服务器的DNS域数据配置,最终实际由www.womai.com做解析。
最新文章
- mina通信 demo
- codevs2572 路面修整
- VS调试时同时启动多个项目解决方法
- word统计章节字数
- 编程之linux与win区别
- hdu 4752
- post和get的区别?
- bootstrap-datetimepicker使用记录
- WebStorm JavaScript 开发神器
- Dotfuscator自定义规则中的元素选择
- C++中printf和scanf的用法
- Mac下安装pyenv
- MSSQL存储过程应用
- 2018/03/10 每日一个Linux命令 之 cksum
- c语言学习——安装
- Yii2 的安装及简单使用
- 理解flex布局
- 关于Vue中main.js,App.vue,index.html之间关系进行总结
- C# 中DateTime的各种使用
- 基于jQuery左侧小图滚动右侧大图显示代码