DNS

  • 一、DNS提供的服务
  • 二、DNS提供的服务
  • 三、分布式、层次数据库
    • 本地DNS服务器
  • 四、DNS缓存
  • 五、DNS记录和报文![在这里插入图片描述](https://img-blog.csdnimg.cn/58606149b8574716a5a549e9d81b1478.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pyJ6K-X5Lqm5pyJ6L-c5pa5,size_19,color_FFFFFF,t_70,g_se,x_16)

一、DNS提供的服务

人们喜欢便于记忆的主机名标识方式,而路由器则喜欢定长的、有着层次结构的IP地址。为了折中这些不同的偏好,我们需要一种能进行主机名到IP地址转换的目录服务。这就是域名系统(Domain Name System, DNS)的主要任务。
DNS是:
①一个由分层的DNS服务器(DNSserver)实现的分布式数据库;
②一个使得主机能够查询分布式数据库的应用层协议。DNS 服务器通常是运行 BIND ( Berkeley Internet Name Domain)软件[BIND 2012 ]的UNIX机器。DNS协议运行在UDP之上,使用53号端口

DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP和FTP,将用户提供的主
机名解析为IP地址。举一个例子,考虑运行在某用户主机上的一个浏览器(即一个HTTP
客户)请求URL www. someschool. edu/index. html页面
1) 同一台用户主机上运行着DNS应用的客户端。
2) 浏览器从上述URL中抽取岀主机名www.someschool.edu,并将这台主机名传给
DNS应用的客户端。
3) DNS客户向DNS服务器发送一个包含主机名的请求。
4) DNS客户最终会收到一份回答报文,其中含有对应于该主机名的IP地址。
5) 一旦浏览器接收到来自DNS的该IP地址,它能够向位于该IP地址80端口的
HTTP服务器进程发起一个TCP连接。

二、DNS提供的服务

1
这些应用程序将调用DNS的客户端,并指明需要被转换的主机名(在很多基于UNIX的机器上,应用程序为了执行这种转换需要调用函数gethostbyname())。
2.
用户主机上的DNS接收到后,向网络中发送一个DNS查询报文。所有的DNS请求和
回答报文使用UDP数据报经端口 53发送。
3.
经过若干毫秒到若干秒的时延后,用户主
机上的DNS接收到一个提供所希望映射的DNS回答报文。

三、分布式、层次数据库

没有一台DNS服务器拥有因特网上所有主机的映射。相反,这些映射分布在所有的DNS服务器上

有3种类型的DNS服务器:
根DNS服务器、顶级域(Top Level Domain, TLD) DNS服务器和权威DNS服务器。这些服务器以图2-17中所示的层次结构组织起来。

•根DNS服务器。
有400多个根名字服务器遍及全世界。这些根名字服务器由13
个不同的组织管理。根名字服务器的全部清单连同管理它们的组织及其iP地址.根名字服务器提供TLD服务器的IP地址。

•顶级域
(DNS)服务器。对于每个顶级域(如com、org、net、edu和gov)和所有
家的顶级域(如uk、fr、ca和jp),都有TLD服务器(或服务器集群)。Verisign
Global Registry Services公司维护com顶级域的TLD服务器,Educause公司维护edu
顶级域的TLD服务器。支持TLD的网络基础设施可能是大而复杂的,

•权威DNS服务器。
在因特网上具有公共可访问主机(如Web服务器和邮件服务器)的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录。一个组织机构能够选择实现它自己的权威DNS服务器以保存这些记录;另一种方法是,该组织能够支付费用,让这些记录存储在某个服务提供商的一个权威DNS服务器中。多数大学和大公司实现和维护它们自己基本和辅助(备份)的权威DNS服务器。

本地DNS服务器

一个本地DNS服务器并不属于该服务器的层次结构,但它对DNS层次结构是至关重要的。每个ISP (如一个居民区的1SP或一个机构的ISP)都有一台本地DNS服务器(也叫默认名字服务器)。

本地DNS服务器通常与主机相隔不超过几台路由器。
一个简单的例子,假设主机cse. nyu. edu 想知道主机 gaia. cs. umass. edu的IP地址。

四、DNS缓存

DNS缓存(DNScaching) 。实际上,为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术

在一个请求链中,当某DNS服务器接收一个DNS回答(例如,包含某
主机名到IP地址的映射)时,它能将映射缓存在本地存储器中。例如,在图2・18
中,每当本地DNS服务器dns. nyu. edu从某个DNS服务器接收到一个回答,它能够
缓存包含在该回答中的任何信息。如果在DNS服务器中缓存了一台主机名/IP地址
对,另一个对相同主机名的查询到达该DNS服务器时,该DNS服务器就能够提供
所要求的IP地址,即使它不是该主机名的权威服务器。由于主机和主机名与IP地址间的
映射并不是永久的,DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信

五、DNS记录和报文

TTL是该记录的生存时间,它决定了资源记录应当从缓存中删除的时间。在下面给岀
的记录例子中,我们忽略掉TTL字段。Name和Value的值取决于Type:
•如果Type = A,则Name是主机名,Value是该主机名对应的IP地址。因此,一条
类型为A的资源记录提供了标准的主机名到IP地址的映射。例如(Tayl.
bar. foo. com, 145. 37.93. 126, A)就是一条类型 A 记录。
•如果Type = NS,则Name是个域(如foo. com),而Value是个知道如何获得该域
中主机IP地址的权威DNS服务器的主机名。这个记录用于沿着查询链来路由DNS
查询。例如(foo.com, dns.foo.com, NS)就是一条类型为NS的记录。

•如果Type=CNAME,贝lj Value是别名为Name的主机对应的规范主机名。该记录
能够向査询的主机提供一个主机名对应的规范主机名,例如(foo.com, relay1.
bar. foo. com, CNAME)就是一条 CNAME 类型的记录。
•如果Type = MX,则Value是个别名为Name的邮件服务器的规范主机名。举例来
说,(foo.com, mail. bar. fo<). com, MX)就是一条MX记录。MX记录允许邮件服
务器主机名具有简单的别名。值得注意的是,通过使用MX记录,一个公司的邮
件服务器和其他服务器(如它的Web服务器)可以使用相同的别名。为了获得邮
件服务器的规范主机名,DNS客户应当请求一条MX记录;而为了获得其他服务
器的规范主机名,DNS客户应当请求CNAME记录。

应用层———DNS(2)相关推荐

  1. 前端网络基础-应用层DNS协议

    目录 初识域名 正向解析和反向解析 DNS解析 主机本地hosts文件实现DNS解析 浏览器缓存实现DNS解析 本地DNS服务器实现DNS解析 域名的组成 DNS迭代解析 DNS递归解析 DNS协议 ...

  2. 应用层(DNS/HTTP/HTTPS)攻击与防御原理

    网络层攻击:TCP.UDP类攻击 网络层攻击可参考:网络层(TCP/UDP)攻击与防御原理 DNS类报文攻击防御 简要笔记: 针对DNS Anti-ddos ,针对缓存服务器 虚假源 (1)源认证 发 ...

  3. 【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )

    文章目录 一.域名 二.域名服务器 三.域名解析过程 四.递归查询 五.迭代查询 六.高速缓存 一.域名 域名 : ① 域名表示方法 : 字母 , 数字 , "-" 符号 , &q ...

  4. 应用层DNS:域名系统(DNS:Domain Name Systems)

    DNS:域名系统(DNS:Domain Name Systems) 域名系统协议(DNS)是一种分布式网络目录服务,主要用来把主机名转换为 IP 网络地址,并控制因特网的电子邮件的发送.大多数因特網服 ...

  5. 应用层 DNS域名解析服务器 文件传送协议FTP 简单邮件传送协议SMTP 万维网 HTTP超文本协议

    DNS服务器通过解析域名得到网站的IP的地址 FTP传输模式 文本模式:ASCII模式,以文本序列传输数据 二进制模式:Binary模式,以二进制序列传输序列

  6. 【工具使用】应用层DNS协议工具---iodine

    0x01 iodine 工具介绍 iodine工具是基于C语言开发的,分为服务端程序 iodined 和 客户端 iodine,iodine支持 EDNS.base32.base64.base128等 ...

  7. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  8. DNS原理及简单配置

    DNS(域名解析服务): 端口 tcp/udp 53   工作于应用层 dns解析过程: 本地hosts文件 本地dns缓存 指定dns服务器中的缓存 dns查询(递归查询) 递归过程: http:/ ...

  9. TCP/IP入门(4) --应用层

    /** 本篇博客由汗青ZJF整理并发布, 转载请注明出处: http://blog.csdn.net/zjf280441589/article/category/1854365 */ TCP/IP中的 ...

最新文章

  1. 垂直AI初创企业 VS 横向AI初创企业:不同的产品路线选择
  2. Microsoft宣布为Power BI提供AI模型构建器,关键驱动程序分析和Azure机器学习集成...
  3. 不同组合方式有四种纸币java_拼凑钱币丶Java教程网-IT开发者们的技术天堂
  4. Full_of_Boys训练5总结
  5. MYSQL中什么是规范化_如何规范化SQL数据库
  6. 【数学】十万个为什么(一) —— 为什么乘法会分为左乘和右乘,除法会分为左除和右除?
  7. [原创]AM3352 + TPS65910 调试方法+调试记录
  8. 基于边缘计算的视觉感知研究
  9. 知乎上100条简短深刻的回答
  10. java 通话录音_Java 实现麦克风自动录音
  11. CAN总线学习笔记 | CAN盒测试STM32的CAN中断接收
  12. python B站UP主所有视频封面下载
  13. xbox360链接pc_如何在Windows PC上使用Xbox 360控制器
  14. 九度笔记之 1364:v字仇杀队
  15. 前端页面适应不同分辨率
  16. 开源应用中心 | KodBox快捷高效的私有云在线文档管理系统
  17. java 当前线程 等待_Java 多线程等待
  18. 我是如何拿到小米、京东、字节等大厂前端offer的
  19. 19 个接私活平台,有技术就有钱
  20. 一次重新的认识--第二次随笔

热门文章

  1. JavaScript甜点(1)
  2. win10误删的注册表能还原吗_win10注册表怎么导入 win10注册表误删除怎么恢复
  3. Nginx详解upstream模块详解
  4. Android查看CPU和GPU使用率(五十五)
  5. 设计UI - Adobe xd剪切蒙版
  6. #include“ros/ros.h“
  7. php post请求 headers,post请求的header
  8. excel如何使单元格里的文字竖着显示
  9. 在线支付系列【14】微信支付实战篇之Native支付下单
  10. 查看计算机配置讲解,教您如何看显示器参数!电脑显示器常见参数详解,看完秒懂!...