博客
关于我
什么是DNS?为什么选择UDP?详细的DNS解析过程?
阅读量:526 次
发布时间:2019-03-08

本文共 993 字,大约阅读时间需要 3 分钟。

DNS基础知识

DNS(Domain Name System,域名系统)是一种用于网络中的主机名到IP地址转换的应用层协议。它类似于我们的通讯录,帮助用户通过记忆方便的域名快速定位到复杂的IP地址,从而实现互联网通信。

为什么选择UDP?

DNS主要使用UDP(用户数据包协议)作为传输层协议。这一选择主要基于以下几点优势:

  • 效率:UDP传输速度快,相比于TCP的三次握手和九步连接过程,UDP只需发送一个查询包和一个响应包,处理简便。

  • 无连接性:DNS查询通常是单次性的,使用UDP可以省去建立连接的过程,大大提高了处理效率。

  • 开放式通信:UDP不需要确认连接状态,使得DNS服务器可以轻松对多个请求做出响应。

  • 因特网域名结构

    因特网采用了层次树状结构来管理域名。这种结构确保了每个主机或路由器都有唯一且清晰的域名。域名通常由多个标号组成,各个标号用点分隔,例如:www.example.com。

    域名服务器类型

  • 根域名服务器:负责管理顶级域名,并只有一共13个根域名服务器,分别由a到m代表。

  • 顶级域名服务器:负责管理特定顶级域名下的二级域名,如.com、.net等。

  • 权限域名服务器:负责管理特定区域内的域名。

  • 本地域名服务器:负责最靠近用户的域名服务器,提供最终的IP地址解析。

  • DNS缓存

    DNS采用分级奔Stride策略,每个级别的域名服务器都会对请求结果进行缓存。缓存可以分为以下几类:

  • 浏览器缓存:存储浏览器曾经访问过的域名信息,通常只存在一段时间。

  • 系统缓存:检查系统的hosts文件,包含一些静态IP地址映射。

  • 路由器缓存:存储网络设备上访问过的域名信息。

  • ISP缓存:由互联网服务提供商维护,减少用户的访问延迟。

  • DNS请求流程

    当用户输入域名时,浏览器首先检查自己的缓存,如未找到则读取hosts文件,再尝试向本地DNS服务器查询。如果本地域名服务器无法解析,将向更高层次的DNS服务器递归查询。递归查询是向根域名服务器请求,根域名服务器则向对应的顶级域名服务器查询,最终返回IP地址供用户使用。

    DNS资源记录

    域名解析结果由资源记录(RR)表示。每个资源记录包含以下信息:

  • TTL(生存时间):决定缓存时间。

  • 类型(类型):如A记录对应IPv4地址。

  • 数据(rdata):存储资源记录的实际内容,如IP地址。

  • 通过以上机制,DNS确保了网络通信的高效和准确。

    转载地址:http://ttuiz.baihongyu.com/

    你可能感兴趣的文章
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>
    python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校团委事务管理系统(程序+开题+论文)
    查看>>
    Python切片(%s)
    查看>>
    python+flask计算机毕业设计高校学生选课系统(程序+开题+论文)
    查看>>