我是靠谱客的博主 傲娇鸭子,最近开发中收集的这篇文章主要介绍TCP/IP协议应用层之DNS协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为什么会有TCP/IP协议?

世界各地有各种各样的计算机,每台计算机装有不同的操作系统,这就会导致他们对同一种信息存在多种不同的表达方式,这就好比世界各地的人们会说不同的语言。我们使用互联网可以把不同地方的计算机连接起来,但是还不能通信,就好比一个中国人和一个日本人可以见面,但是见面时时候谁也听不懂谁说的话。这个时候我们规定了一个规则,大家都用同一种方式来表达信息,于是英语就成了全球通用语言,在计算机的世界,TCP/IP协议就起到这样一个作用,有了它,世界各地的计算机就可以实现实现通信了。

 

应用层

负责与用户交互,处理用户通过不同的应用发出的请求和接收的回应,TCP/IP协议中预存了各类通用的应用服务,比如FTP(文件传输协议),网络共享文件的传输协议,比如将本地文件上传到远程计算机,这时就使用ftp协议。HTTP(超文本传输协议),使用万维网就是在使用HTTP协议,DNS(域名解析协议)负责域名和IP地址的映射,电子邮件传输使用SMTP协议,远程登陆使用talent协议。

 

DNS协议

全称是Domain Name System,域名系统,是负责将域名转换为对应的ip地址。如百度的机器域名是www.baidu.com,对应的IP地址是http://119.75.217.109/。

为什么会有DNS协议呢?

在计算机的世界里面,每一台计算由一个IP地址唯一标识,我们需要和目标计算机通信时首先需要获得目标主机的IP地址,但是IP地址不方便记忆,所以我们只需要查询域名,计算机内部会查询DNS服务器,有DNS服务器检查数据库,得到域名对应的目标主机的IP地址,总的来说就是IP地址是面向计算机的,而域名则是面向用户的。

最初的域名和IP地址的映射保存在一个hosts文件,通过互联网信息中心来管理这个文件,如果有一个新的计算想要接入网络,或者某个计算机的IP改变了。都需要到信息中心申请变更hosts文件,其他计算机也要定期更新,才能上网,但是这样太麻烦了,所以就出现了DNS系统,直接将域名和IP的地址映射存储到一个DNS服务器里面,如果有电脑要上网直接去DNS服务器注册接可以了。

DNS协议是怎么将域名转化为IP地址的呢,域名解析过程

当用户在地址栏里输入www.baidu.com是,DNS解析的过程大致如下:

静态映射阶段:

1.浏览器会先检查自身缓存中有没有解析过这个域名所对应的IP地址,如果有就结束。

2.如果没有命中,浏览器会检查操作系缓存中有没有对应的已经解析过的结果,这个时候操作系统就会查看一个叫hosts里面的信息,如果这里指定了一个域名对应的IP地址,那浏览器就会首先使用这个地址。

动态映射阶段

3.如果还没有命中域名,这个时候就会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般位于所在城市的某个角落,距离不会太远,而且性能良好,大部分的域名解析过程到这里就已经完成了。

4.如果本地域名服务器(LDNS)仍然没有命中,就直接跳到Root Server域名服务器来请求解析。根域名服务器返回给LDNS一个所查询域名的主域名服务器(gTLD Server 国际顶级域名服务器的 .com.cn.org)ip地址。在这个案例中就是返回存储.com域名解析服务器对应的IP地址。

5.此时LDNS再发送请求给顶级域名服务,顶级域名服务查找并返回存储这个baidu这个域名对应的域名服务器地址(Name Server)

6.然后LDNS请求Name Server 找到www.baidu.com 对应的IP地址,NameServer根据映射关系表找到目标IP返回给LDNS。

7.LDNS缓存这个域名和对应IP,并把解析后的结果返回给用户,用根据TTL值缓存到本地系统缓存,域名解析过程到此结束。

 

域名结构

说完了域名解析过程,或许已经能够大致了解整个流程,但是对于其中的域名服务器的分级,以及域名的层析结构还感到困惑,接下来介绍DNS域名结构。

首先要明确ip和域名需要是唯一的,而且ip地址的与域名的对应关系是多对多的,一个域名可以对应多个ip,一个ip也可对应多个域名。在不同的地方访问www.baidu.com,域名解析后的服务器ip地址是不同的。要想保证域名唯一,因特网命名的时候采用了层次结构的命名方法。域名服务主要值基于UDP实现的,服务器端口号为53.

 

域名服务器:

有了域名结构,还需要有一个东西去解析域名,域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机。同样域名服务器也分结构,不同层次的服务器,负责处理不同层次的域名。每个域名服务其存储的是下一域名与ip地址的映射,这种思想就如同索引方式里面的多级索引,根域名服务器存储了 .com .cn .edu 这些顶级域名服务器的ip地址。根服务器主要用来管理互联网的主目录,最早是IPV4,全球只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。

在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

 

 

 

最后

以上就是傲娇鸭子为你收集整理的TCP/IP协议应用层之DNS协议的全部内容,希望文章能够帮你解决TCP/IP协议应用层之DNS协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部