DNS
DNS基本服务
DNS
提供了域名->ip的解析服务。主要由:DNS分布式数据库以及使得主机可以查询数据库的应用层协议构成。
DNS
建立在UDP
协议之上进行网络传输,互联网端口port:53
举个栗子✌️
从应用层解释:本地主机(@localhost)
向服务器请求www.matemaster.cn/index.html
资源时,DNS
的操作过程
1)web browser:华为浏览器
向本地电脑的DNS客户端
程序发送获取www.matemaster.cn的ip地址
请求
2)本地电脑的DNS客户端
向远端DNS server
发送上述请求报文
3)DNS server
从后端分布式数据库或者DNS缓存中获取ip,并封装成响应报文,返回给DNS客户端
4)web browser:华为浏览器
根据DNS客户端
返回的ip
与远端服务器www.matemaster.cn
建立tcp
连接
DNS额外服务
除了域名->ip的解析服务
,DNS支持:主机别名、邮件服务器别名、负载分配。
主机别名
:对于含有复杂hostname的主机,可以支持多别名的操作。而其中存在一个规范主机名
和多个主机别名
而DNS便是提供,将多个主机别名,转为对应的规范主机名。
邮件服务器别名
:为了让邮件用户可以自己定义好记的邮件名,我们就需要利用类似主机别名的方式,为邮件服务器提供别名操作,而在DNS记录中存在的MX记录,允许邮件服务器名和web服务器名相同。
负载分配
:简单理解:就是一个IP地址集合与同一个规范主机名相联系!(可以参考下面在Ubuntu系统下的nslookup alibaba.com)。从那里看出,一个alibaba.com对应了4个IP地址
DNS分布式数据库
DNS采取的是:分布式、层次数据库
。层次:root、TLD、权威
看看例图✌️
root server
:提供了对应顶级域服务器的ip
TLD
:顶级域服务器提供了存储了主机ip
的权威服务器的ip