网络协议相关面试问题-DNS相关面试问题
对于网络上的大部通讯都是基于TCP/IP协议的, 其中最重要的是IP协议,它是基于IP地址的,而计算机通讯只能识别IP地址,如192.168.0.1,而不能识别像咱们在浏览器敲得见名之义的"www.baidu.com"这样的域名,但是呢有一个DNS服务器的计算机会自动把咱们输入的域名翻译成了网络通讯所需要的ip地址,这就是DNS协议,下面来了解一下它。
什么是DNS?
它所提供的服务是用来将主机名和域名转换为IP地址的工作,如下:

可以相互进行转换。
DNS查询过程:
递归:DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询和联系其他DNS服务器,以完全解析该名称,并随后将应答返回至客户机。
迭待:客户机自己也可尝试联系其它的DNS服务器来解析名称,如果客户机这么做,它会使用基于服务器应答的独立和附加的查询。下面看一下迭待的具体过程:
浏览器输入域名后,就会先在本地的HOSTS文件中找有木有相应域名跟ip地址的对应关系,如果有则调用该ip地址完成域名解析;如果说本地HOSTS文件中木有映射的话那就到“本地DNS解析缓存”去找,找到对应的映射信息最终返回给浏览器;如果也没有找到则就进行第三部去“本地DNS”查找,而它是根据TCP/IP首选设置的服务器,如果能在本地DNS区域中找到就会返回解析结果给客户端完成域名解析,注意:这个解析是有权威性的,而不像第四步,所以这里总结一下:
1、在浏览器中输入域名,操作系统会先检查自己本地的HOSTS文件是否有这个网址映射关系。
2、如果HOSTS里没有这个域名的限制,则查找本地DNS解析器缓存。
3、如果本地HOSTS与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器。注意:这个查询是具有权威性的。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该DNS服务器已经缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析。注意:这个区域查询是没有权威性的。
5、本地DNS就把请求发至13台根DNS,根DNS服务器收到请求之后会判断这个域名(.com)是谁来授权管理的,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。注意:它是没有用转发模式。
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析。需要注意:如果上一级服务器不能解析,还会继续找根DNS,或者把请求转发给上上级,以此循环来进行DNS解析。
网络协议相关面试问题-DNS相关面试问题的更多相关文章
- 网络协议学习笔记(八)DNS协议和HttpDNS协议
概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...
- Java 面试知识点解析(五)——网络协议篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- 2019上半年总结——Github上那些Java面试、学习相关仓库
分享一下最近逛Github看到了一些对于Java面试以及学习有帮助的仓库,这些仓库涉及Java核心知识点整理.Java常见面试题.算法.基础知识点比如网络和操作系统等等. 知识点相关 1.JavaGu ...
- php面试专题---10、网络协议考点
php面试专题---10.网络协议考点 一.总结 一句话总结: 网络的考点其实就是这些:常见状态码,常见协议,osi七层模型,http和https 1.HTTP/1.1中,状态码200.301.304 ...
- PHP面试 PHP基础知识 十(网络协议)
网络协议 HTTP协议状态码 状态分为五大类:1XX.2XX.3XX.4XX.5XX 1XX:信息类状态码 表示接受请求正在处理 2XX:success 成功状态码 请求正常处理完毕 3XX:重定 ...
- (转) 前端面试之js相关问题(一)
原帖地址:http://stephenzhao.github.io/2016/08/19/Front-end-Job-Interview-Questions/ 最近我也是经历过面试别人和去面试的人了, ...
- OSI 七层模型和 TCP/IP 四层模型 及 相关网络协议
简介 OSI 是理论上的模型,也就是一个统一的国际标准,现在的很多网络设备或者是网络协议都不同程度的精简了自己的所谓的模型,那么他们为了自己的通讯兼容都会参考这个OSI模型 TCP/IP 包括: TC ...
- PHP网络协议相关考点
HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...
随机推荐
- linux-32bit-内存管理
一.进程与内存 进程如何使用内存? 毫无疑问所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等.不过进程对这些内存的管理方式因内存用途不 ...
- eclipse控制台界面乱码问题
一.首先,eclipse的控制台必须用GBK编码,必须满足以下两个条件: 1.Windows---->Preferences---->Workspace---->Text file ...
- Recordset对象的Open方法
Recordset对象的Open方法原型: Open([Source],[ActiveConnection],[CursorType],[LockType],[Options]) CursorType ...
- VS添加版权声明
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\ ...
- centos7 源码安装 MongoDb
1.下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz 2.解压 放到 /usr/local/ ...
- 怎样使用 v-if 实现 html 元素的显示 / 隐藏?
1. 首先, 指令后的引号内是可以写 js 表达式的, 这点很重要. v-if 的用法很简单, 只需要给 v-if = " " 的引号内放一个 布尔值 即可. 注意: v-if 的 ...
- charles 抓包 (二)
本文基于charles 抓包 https (1)中的配置完成. 1.移动设备上的网络请求 打开要调试的APP,请求就会先发送到Charles,然后验证是否允许访问. 当点击允许后,可以在Proxy - ...
- C 中 char、signed char 和 unsigned char 的区别
C 中 char.signed char 和 unsigned char 的区别 来源:http://bbs.chinaunix.net/thread-889260-1-1.html 参考:https ...
- element-ui中点击菜单,改变当前菜单背景颜色
需求: vue项目中,点击左侧菜单,tags页显示当前打开的菜单,并且高亮显示当前菜单 实现效果: 实现代码:在vuex里面定义tags存放所有打开的菜单,和当前打开的索引curtagsIndex:, ...
- ubuntu系统新用户添加
大概是4个步骤吧,是用脚本实现的,这里我列一下关键点 sudo useradd -m userYouWantAdd sudo passwd userYouWantAdd sudo usermod -a ...