对TCP/IP协议的一些看法(8):DNS协议

昨天不知什么原因登陆不了博客园,也就没法写了。

今天写一下对DNS协议的看法。

DNS协议应该是我们日常生活中使用的最多的一个协议。大家都知道你要上网去浏览网页,需要输入网址,例如www.baidu.com。但之前的博客中曾经说过,输入上述网址后其实是向百度的服务器发送http请求报文,该报文增加UDP首部、IP首都和以太网首部和尾部后在链路层传输,所以就需要知道IP地址。如果我们都手动输入百度服务器的IP地址,则不是人所能记住的,因此需要一种域名到IP地址的转换协议,即DNS协议,全名为域名解析协议。

DNS协议发挥功能的步骤如下:

1.首先发送方向DNS服务器发送请求报文,查询报文中域名对应的IP

2.收到该请求报文后,域名服务器在自己的数据库中查找是否有对应于该域名的IP地址

3.若有,则直接通过响应报文回传给发送方,否则把请求报文向上一层域名服务器转发,直到到达根域名服务器

上述所说的自己的数据库指每个DNS服务器都有一个高速缓存,用于存储已知的域名对应的IP地址对,这样可以减少网络中的数据报数量。

域名服务器的分布可以参照下图:

最上层为根域名服务器,之后的分支可以看成子域名服务器。查询IP地址都是先访问子域名服务器再是根域名服务器。域名中又包括一级域名、二级域名、三级域名。。。,例如。.frd.edu.cn中,越右边其域名级别越高。

原文地址:https://www.cnblogs.com/elninohjh/p/4235744.html