域名系统DNS
一、域名系统是什么
域名系统其实就是一个把主机名解析为IP地址的名字系统。
因特网使用层次树状结构的命名方法,并使用分布式的域名系统DNS。因特网的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户-服务器方式。
二、域名结构
因特网使用层次树状结构的命名方法,级别最低的域名写在最左边,级别最高的顶级域名写在最右边。DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。域名中的“点”和点分十进制IP地址中的“点”并无一一对应关系。
因特网树状域名空间的根是没有对应的名字的,根下面一级的节点就是最高一级的顶级域名。一旦一个单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,而且不必由其上级机构批准。
因特网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的“子网”也没有关系。
三、域名服务器
域名系统的具体实现是使用分布在各地的域名服务器。
DNS并不是让每一级的域名都有一个相对应的域名服务器(这样会使域名服务器的数量太多,使域名系统的运行效率降低),而是使用划分区的办法,即DNS的服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区可能等于或者小于域,但一定不可能大于域。每一个区设置相应的权限域名服务器。
域名服务器的分类:
- 根域名服务器:最高层次、最重要的域名服务器。所有的根域名服务器都知道所有的顶
级域名服务器的域名和IP地址。在因特网上共有13个不同IP地址的根
域名服务器,他们的名字是一个英文字母,从a到m,如:a.rootservers
.net。这些根域名服务器并不是简单地由13个机器组成,而是13套装置。
本地域名服务器无法解析一个域名时首先要求助于根域名服务器。
2. 顶级域名服务器
3. 权限域名服务器:负责一个区
4. 本地域名服务器
为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保护,其中的一个是主域名服务器,其他的就是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中而更改数据只能在主域名服务器中进行,保证了数据的一致性。
四、域名解析
当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析进程,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发送给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。
主机向本地域名服务器的查询一般都是采用递归查询,而本地域名服务器向根域名服务器的查询通常是采用迭代查询。当然,本地服务器也可以使用递归查询,这取决于最初的查询请求报文的相关设置。
为了提高DNS查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文的数量,在域名服务器中广泛使用了高速缓存,存放最近查询过的域名以及从何处获得域名映射信息的记录(设置了过期时间)。在主机中也使用了高速缓存。
域名系统DNS的更多相关文章
- 关于域名系统DNS解析IP地址的一些总结
关于域名系统DNS(Domain Name System) 从域名中解析出IP地址. DNS主要由3部分组成: ① 名称解析器(resolver) ② 域名空间(domain name space) ...
- 套接字和域名系统DNS
套接字产生的原因: 当应用进程通过传输层进行通信时 ,TCP和 UDP将面临同时为多个应用进程提供并行通信的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据. 为了区别每 ...
- 域名系统DNS和FTP
域名系统概述 域名系统DNS(Domain Name System)是英特网使用的命名系统,用于把便于人们使用机器名字转化为IP地址. 为什么机器在处理IP数据报时要使用IP地址而不使用域名呢?IP地 ...
- 计算机网络之域名系统DNS
域名系统DNS 域名系统DNS(Domai NameSystem)是因特网使用的命名系统,用于把便于人们使用的机器名字转换为IP地址. 许多应用层软件经常直接使用域名系统,但计算机的用户只是间接而不是 ...
- 第9章 应用层(1)_域名系统DNS
1. 域名系统DNS 1.1 主机名和域名的关系 (1)完全限定域名(Fully Qualified Domain Name, FQDN) = 主机名 + 域名 ①一个域名下可以有多个服务器/主机(如 ...
- 带你简单了解域名系统DNS
带你简单了解域名系统DNS 一.域名简介 1.1.DNS服务的作用 负责解析域名,将域名解析成IP地址. 1.2.域名系统概述 由于32位的IP地址并不容易记忆,人们往往喜欢记忆网站的域名.所以当我们 ...
- 域名系统-DNS
域名系统DNS 域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名转化为IP地址,域名系统就是名字系统. 很多应用层的软件经常直接使用DNS.DN ...
- 域名系统DNS简介
域名系统(Domain Name System, DNS)是互联网的核心应用层协议之一, 它用于查询域名对应的IP地址.在使用域名访问任何网络资源时都需要先进行域名解析. www.cnblogs.co ...
- 域名系统DNS以及跨域问题
域名到Ip地址解析是由分布在因特网上的许多域名服务器程序共同完成的.运行域名服务器程序的机器是域名服务器 域名到ip地址的解析过程: 当一个应用进程需要把主机名解析为ip地址时,该应用就调用解析程 ...
随机推荐
- 工厂模式 and 单例模式
工厂模式:使用工厂类使创建类与使用类分离,从而提高代码的易维护性,可扩展性等 工厂模式分位简单工厂模式和工厂方法模式 使用简单工厂模式的步骤: 1.创建父类及其子类 父类中有[ ...
- SpringMVC的数据格式化-注解驱动的属性格式化
一.什么是注解驱动的属性格式化? --在bean的属性中设置,SpringMVC处理 方法参数绑定数据.模型数据输出时自动通过注解应用格式化的功能. 二.注解类型 1.DateTimeFormat @ ...
- 日期小demo
有个项目需求是做个在日期上选择的,就是这种: 网上看了几个日期的demo都太厚重了,移植起来太麻烦,然后打算自己写. 就先写个简化的demo看看,主要有几个关键点: 首先要根据当前日期获取这个月有几天 ...
- 一次生产环境下MongoDB备份还原数据
最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...
- 数据分析前戏:ipython使用技巧(上)
不一定非得使用Jupyter Notebook,试试ipython命令行 安装 ipython 我只试过Windows 10环境下的. 1.安装python安装包之后,应该就有ipython了. 2. ...
- Prison Break
Prison Break 时间限制: 1 Sec 内存限制: 128 MB提交: 105 解决: 16[提交][状态][讨论版] 题目描述 Scofild又要策划一次越狱行动,和上次一样,他已经掌 ...
- MyBatis 配置的一些小知识点
MyBatis别名配置——typeAliases 类型别名是为 Java 类型设置一个短的名字.它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余.说白了就是预先设置包名 api是这 ...
- 学习如何看懂SQL Server执行计划(一)——数据查询篇
一.数据查询部分 1. 看到执行计划有两种方式,对sql语句按Ctrl+L,或按Ctrl+M打开显示执行计划窗口每次执行sql都会显示出相应的执行计划 2. 执行计划的图表是从右向左看的 3. SQL ...
- 富文本编辑器CKEditor的使用
由于最近在架构一个pc端b/s结构的项目,项目中有个论坛模块,当用户发帖时,需要用到富文本编辑器,考虑了一下,决定使用CKEditor富文本编辑器,虽然现在问世的富文本编辑器很丰富,比如还有百度的UE ...
- ubuntu的应用程序哪里找
一般来说11.04以前的桌面是gnome,点左上角的那个小圆圈,会出来一个下拉菜单,里面就有应用程序. 11.10以后的桌面换成unity 在dash中寻找应用程序很不方便,知道名字的还好,不知道名字 ...