关于域名和DNS?
时间:2023-02-16 09:21:02 | 来源:建站知识
时间:2023-02-16 09:21:02 来源:建站知识
“了解以太网的人都知道,报文是根据目的IP地址发送,而我们在浏览网页时,并没有必须知道对方服务器的IP地址,取而代之的是一个网址,即域名
”
DNS
为什么使用域名而不是IP地址,显而易见,拿百度服务器举例:
- 百度其中一个ip地址为:202.108.22.5
- 百度的域名是:http://www.baidu.com
这两种方式哪一种更容易记忆?
当然是域名
但是这样也造成了一个问题,人记住的是域名,但是网络发送的是报文,报文可不会直接使用域名,报文需要的是对方的IP地址,所以必须通过域名来获取IP地址
从谁那获取?
全世界这么多的网址,这么多域名,每个域名都有自己的IP地址,有的还不止一个IP地址,这些域名和IP地址相互映射,就形成了一个分布式数据库,这个分布式数据库存储在某些服务器上,我们称之为DNS域名服务器
DNS
“Domain Name System,或者Domain Name Service,域名系统或者域名服务,它主要的作用就是将我们熟悉的网址(域名)“翻译”成电脑可以理解的IP地址,这个过程就称为DNS域名解析
”
那域名解析的过程是什么样的?
DNS域名解析的过程大致就是这样,这里有个问题,为什么系统向DNS服务器发送的域名解析请求是UDP报文而不是TCP?
其实也很简单,因为UDP没有连接和断开的过程,更快而已
DNS是怎么解析域名的?
拿
http://www.baidu.com来说,它的真正域名其实是www.baidu.com.,末尾的 . 称为根域名,因为每个域名都有根域名,所以可以省略
而.com或.net是次一级域名,我们称为“顶级域名”
再次一级域名我们叫“次级域名”,比如这里的.baidu,这一级域名是用户可以注册的
再下一级是主机名,又称为“三级域名”,比如www,这是用户在自己的域里面为服务器分配的名称,是用户可以任意分配的
解析域名的流程就变成了分级查找
- 系统先在本机的DNS里查,查到就直接返回
- 查不到就去根服务器里查,根服务器一看.com,就把管理.com域的DNS服务器的IP地址返回给系统,系统拿着这个IP就去.com的域里问
- .com一看也没有http://www.baidu.com这个域名,但是它知道次一级的域.baidu的服务器的IP地址,就把这个IP发给系统,让系统去.baidu里问问
- 系统拿着这个IP又问.baidu,正好有http://www.baidu.com这个域名,于是就把这个域名的IP地址发给了系统