DNS之简单介绍(一)

一、DNS概述:

DNS,英文全程"Domain Name System,中文全程:域名系统,作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS基于C/S架构(多数基于套接字架构的都是C/S架构),同时使用TCP和UDP的53号端口,当前,对于每一级域名长度限制是63个字符,域名总长度则不能超过253个字符。
 我们都知道,IP地址是由32位的二进制数字组成。用户与因特网上某台主机通行时,显然不愿意使用难以记忆的32位的二进制主机地址。相反,大家更愿意使用比较容易记住的主机名称。这时DNS的出现就将繁琐复杂32位二进制数字解析大家易于接受的字符串形式。

二、DNS即使用TCP又使用UDP

传输层协议
 TCP:Transmission Control Protocol 面向连接的协议:双方通信前需要事先建立虚连接
 UDP:User Datagram Protocol 无连接的协议:双方无需通信前事先建立虚连接

首先了解一下TCP与UDP传送字节的长度限制:UDP报文最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UPD报文一般不会大于512字节。
区域传送使用TCP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多,因此为了保证数据的正确性,则使用基于可靠连接的TCP。

域名解析时使用UDP协议,客户端向DNS服务器查询域名,一般返回的内容不超过512字节,用UDP传输,不经过TCP三次握手,大大提高响应速度。

三、域名空间

对于DNS域名空间,我们要制定一套命名规则,防止域名出现重复,关于DNS域名规则我们可以将生活中的快递系统联系起来,使用层次的地址结构。当你要邮寄物品给某人时,快递单号上肯定要写上:中国、广东省、惠州市、惠城区、江北市政府xx号。而一个域名看起来则是这样的groups.google.com。
 对于Internet来说,域名层次结构的顶级(相当于国际快递地址中的国家部分)由ICANN(互联网名称与数字地址分配机构)负责管理。目前,已经有超过800多个顶级域名,每个顶级域名可以进一步划为一些子域(二级域名),这些子域可被再次划分(三级域名),以此类推。所有这些域名可以组织成一颗树,如下图所示(图片来自Computer Networks:7-1):

Computer Networks:7-1.png

顶级域名类别有:

  • 通用的顶级域名如:.org、.com、.net、.gov、.edu 等等
  • 国家代码顶级域名如:.us、.ca 等,分别对应美国和加拿大的国家代码
  • 新的品牌顶级域名,允许组织创建最多64个字符的TLD,如:.linux、.microsoft、.companyname
  • 基础架构顶级域名如:.arpa

子域名
当访问一个类似mail.google.com这样这样的网站,这里的mail就是googole.com的子域名,只有mail.google.com的名称服务器知道下面存在的所有主机,所以Google会回复是否有一个叫mail的子域名,根名称服务器对此并不知请。

DNS服务器的类型

分为三种DNS服务器:

主DNS服务器
这些服务器上存放了特定域名的配置文件,并且基于此权威地规定了特定的域名的地址。主DNS服务器知道全部在它管辖范围的主机和子域名的地址。

辅助DNS服务器
这些服务器作为主DNS服务器的备份,也承担了一定的负载。主服务器知道辅助DNS服务器存在,并且会向他们推送更新。

缓存DNS服务器
这些服务器上不存放特定域名的配置文件。当客户端请求缓存服务器来解析域名时,该服务器将首先检查其本地缓存。如果找不到匹配项便会询问主服务器。接着这条响应将被缓存起来。

四、工作流程简述
DNS.png

域名到IP地址的解析是由分布因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。
 域名到IP地址的解析过程要点如下:当某一个应用需要把主机名解析为IP地址,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用程序获得目的主机的IP地址后即可通行。
 若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS的另一个客户,并向其他域名服务器发出查询请求。这种过程直到能够回答该请求的域名服务器为止。此过程称之为(迭代)

五、域名解析查询:递归及迭代两者区别

1. 主机向本地域名服务器查询一般都是常用递归查询。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户端的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

2. 本地域名服务器向根域名服务器的查询的迭代查询。迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

DNS查询过程.png

就个人理解递归查询可以比喻为我们到政府部门办理事情一样,如果你运气好的话,碰到办事员心情不错而往往事情就能好办很多,直接放下材料就能回去了,剩下的事情就等待处理结果就好了。要万一当天办事员因为失恋了,心情不好,那你就要被告知你所要办理的材料还需要找什么部门,需要谁谁盖章后才能受理,就如一个“皮球“被踢来踢去。如此反复,最后事情一波三折的也还不一定能够办下来,这就是迭代查询

为提高DNS查询效率,减轻根域名服务器的负荷和减少因特网上DNS查询报文的数量,在域名服务器中广泛使用了高速缓存(或高速缓存服务器),用来存放最近查询过的域名以及从何处获得域名映射信息的记录
 当DNS服务器向另一个DNS服务器请求并收到它的响应,就在把它发送给客户之前,把这个信息存储到它的高速缓存中,这个信息会在高速缓存中存在一个生存周期TTL,过了生存周期就删除这条信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 14.1 引言 域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换...
    张芳涛阅读 1,868评论 0 8
  • 1. 基础知识 1.1 3种常见的计算机体系结构划分 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话...
    Mr希灵阅读 19,834评论 6 120
  • 先讨论许多应用协议都要使用的域名系统。在介绍了文件传送协议和远程登录协议后,就重点介绍万维网的工作原理及其主要协议...
    dmmy大印阅读 1,030评论 0 1
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,034评论 6 174