当前位置:网站首页>应用层协议——DNS
应用层协议——DNS
2022-08-11 04:45:00 【笨笨在努力】
【前言】当用户在浏览器输入一个URL后,如果该URL中协议名称后跟的是域名而不是IP,则会先进行域名解析,即DNS协议,DNS协议就是把域名转换为IP地址
DNS协议是基于UDP传输的
1.域名的层次结构
注意注意注意!根域名默认是个.,常见的最后的比如com,是顶级域名并不是什么根域名
(1)域名的层级之间是属于管理的关系
根域名只有一个,是没有标识的,直接用.表示
根域名知道所有的顶级域名的IP,以此类推
(2)如下面这个域名:
Host.example.Microsoft.com.
这个域名中,Host是四级域名,example是三级域名,Microsoft是二级域名,com是顶级域名,最后的.是根域名
Host是四级域名,是最基本的信息,一般是一台计算机的主机名称,常见的www表示的是一个Web服务器
2.部分顶级域名
com 商业组织,比如www.baidu.com
cn 中国
net 网络支持机构
gov 政府组织
edu 教育机构
3.域名解析过程
3.1 递归查询
一般由DNS客户端提出的查询请求都是递归型的查询方式
所谓递归查询,就是指DNS客户端发出查询请求后,如果DNS服务器内没有所需的数据,则DNS服务器会代替客户端向其他的DNS服务器进行查询,直至查找到结果回来,即这种查询方式,DNS服务器必须给DNS客户端做出回答
3.2 迭代查询
一般,DNS服务器与DNS服务器之间的查询方式就是迭代查询
所谓迭代查询,就是指:
第一台DNS服务器向第二台DNS服务器提出查询请求后,如果第二台DNS服务器内没有查找到,则它会提供第三台DNS服务器的IP地址给第一台,让第一台直接去向第三台DNS服务器查询,依此类推
如果查找到最后一台DNS服务器还没有找到,则通知第一台DNS服务器查询失败
3.3 示例
比如,域名为me.abc.com的主机,需要知道目标域名为a.xyz.com的IP地址,则查询过程如下:
首先,主机向本地域名服务器dns.abc.com进行递归查询
然后本地域名服务器dns.abc.com采用迭代查询,向一个根域名服务器查询
根域名服务器告诉本地域名服务器,下一个要查询的顶级域名服务器dns.com的IP
本地域名服务器去向顶级域名服务器dns.com查询
顶级域名服务器再告诉本地域名服务器下一个要查询的权限域名服务器dns.xyz.com的IP
本地域名服务器去向权限域名服务器dns.xyz.com查询
权限域名服务器查找到了目标域名a.xyz.com的IP,告诉给了本地域名服务器
最后,本地域名服务器把查询到的最终结果告诉了本地主机me.abc.com
4.其他
4.1 缓存机制
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
因此,当再次请求解析相同的域名时,就可以直接用缓存中的地址
通过缓存机制,不但降低了DNS查询数据网络的流量,也减少了上层服务器工作的负载
4.2 相关命令(Windows系统下)
- 查找为主机配置的默认DNS服务器——nslookup
- 显示所有DNS缓存条目——ipconfig/displaydns
边栏推荐
- 标识密码技术在 IMS 网络中的应用
- 关于数据分页显示
- Merkel Studio--OpenEuler Training Notes (1)
- Three 】 【 yolov7 series of actual combat from 0 to build training data sets
- "3 Longest Substring Without Repeating Characters" on the 17th day of LeetCode brushing
- The shortest path out of the maze
- 1815. Get the maximum number of groups of fresh donuts state compression
- JwsManager service interface implementation class - the jni implementation
- 【yolov7系列三】实战从0构建训练自己的数据集
- 自研能力再获认可,腾讯云数据库入选 Forrester Translytical 报告
猜你喜欢
Where can machine learning be applied?What is machine learning useful for?
The sword refers to offer_abstract modeling capabilities
JVM 垃圾回收的概述与机制
ALSA音频架构
ALSA音频架构 -- snd_pcm_open函数分析
WPF DataGrid 使用数据模板(2)
Do you understand how the Selenium automated testing framework works?
交换机和路由器技术-24-OSPF单区域配置
Selenium自动化测试框架工作原理你明白了吗?
Clang Code Model: Error: The clangbackend executable “X:/clangbackend.exe“ could not be started
随机推荐
findViewById返回null的问题
【人话版】WEB3将至之“权益的游戏”
自研能力再获认可,腾讯云数据库入选 Forrester Translytical 报告
交换机和路由器技术-26-OSPF末梢区域配置
CAD2020 打开错误报告 e06d7363h Exception at 13644F69h
Mysql中事件和定时任务
Layered Architecture & SOA Architecture
【组成原理 九 CPU】
Get Qt installation information: including installation directory and various macro addresses
标识密码技术在 IMS 网络中的应用
Clang Code Model: Error: The clangbackend executable “X:/clangbackend.exe“ could not be started
Redis:解决分布式高并发修改同一个Key的问题
使用百度EasyDL实现智能垃圾箱
Where can machine learning be applied?What is machine learning useful for?
对象的创建以及显示转换
Switch---Spanning Tree---Three-layer Architecture Summary
Add PRODUCT_BOOT_JARS and classes to provide jar packages to applications
交换机和路由器技术-35-NAT转PAT
优先级队列
map和set--天然的搜索和查找语义