域名解析系统 DNS

域名的组成
域名
. 域名是由一串用点"."分隔的、不同级别的标记字符组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识
组成
计算机主机名·机构名·网络名·最高层域名
. 逻辑概念,不代表物理位置
. 由标号序列组成;每个标号不超过63字符
. 标号不区分大小写;总长度不超过255个字符
. 域名是一个具有层次的结构,从上到下一次为根域名、顶级域名、二级域名、三级域名
分层的域名
1. 根域名 .
系统为用户做了兼容,域名末尾的 根域名. 一般不需要输入
2. 顶级域名 TLD - Top Lever Domain
. 国家顶级域名 nTLD - nation TLD:cn:中国;us:美国;uk:英国
. 通用顶级域名 gTLD - general TLD:com:公司;net:网络服务机构;org:非盈利机构;gov:政府部门;mil:军事部门;edu:教育机构
. 基础结构域名:顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。
3. 二级域名
. 由国家自行制定,我国域名中心 CNNIC - China Internet Network Information Center
. 类别域名:ac:科研机构;com:工商金融;net:网络服务机构;org:非盈利组织;gov:政府机构;mil:国防机构;edu:中国教育机构
. 行政区域名(34个省、自治区、直辖市等):bj:北京;js:江苏;sh:上海
www.xxx.com,www为三级域名、xxx为二级域名、com为顶级域名
域名解析系统
说明
. DNS - Domain Name System
. 相当于一个翻译官,负责将域名翻译成IP地址
. 是互联网的一项服务。将域名和IP地址相互映射的一个分布式数据库,以便更方便地访问互联网
. 解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的域名到IP地址的映射
. 协议端口:53
DNS服务器
. 在域名的每一层都会有一个域名服务器
. 一个服务器所负责管辖的(或有权限的)范围称为 (不以“域”为单位)
. 每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射
. 还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器
根域名服务器 root name server

. 共13个域名;区域不均衡

. 知道所有顶级域名服务器的域名和对应的IP地址

. 它 不直接解析 IP地址,而是告诉对方应该找哪个顶级域名服务器

顶级域名服务器

. 负责管理在该顶级域名服务器注册的所有二级域名

. 收到DNS查询请求时,就给出相应的回答,可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址

权限域名服务器 authoritative name server

. 每台主机都必须在授权域名服务器处登记

. 实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器

. 授权域名服务器 总能 将其管辖的主机名转换为该主机的IP地址;不在辖区的,向上级请求

本地域名服务器 local name server

. 本地域名服务器对域名系统非常重要。

. 也称默认域名服务器; 距离用户较近

. 每个因特网服务提供者ISP, 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器

. 当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器

根域名服务器
A 根 198.41.0.4 A.root-servers.net 美国加利福尼亚州洛杉矶
B 根 192.228.79.201 B.root-servers.net 美国弗吉尼亚州马里兰
C 根 192.33.4.12 C.root-servers.net 美国纽约州纽约市
D 根 199.7.91.13 D.root-servers.net 美国新泽西州贝德明斯特
E 根 192.203.230.10 E.root-servers.net 瑞典斯德哥尔摩
F 根 192.5.5.241 F.root-servers.net 美国加利福尼亚州棕榈泉
G 根 192.112.36.4 G.root-servers.net 荷兰阿姆斯特丹
H 根 198.97.190.53 H.root-servers.net 美国华盛顿州西雅图
I 根 192.36.148.17 I.root-servers.net 瑞士日内瓦
J 根 192.58.128.30 J.root-servers.net 日本东京
K 根 193.0.14.129 K.root-servers.net 美国密歇根州兰辛
L 根 199.7.83.42 L.root-servers.net 美国加利福尼亚州埃尔塞贡多
M 根 202.12.27.33 M.root-servers.net 美国弗吉尼亚州达勒姆
查看自己主机的DNS服务器
查询方式
1. 递归查询
. 如果请求者A请求接收者B,那么接收者B作为请求的接收者一定要给请求者A想要的答案;至于你直接得到还是间接得到,我不管
. 由于该方法给根域名服务造成的负载过大,所以在实际中几乎不使用
递归查询
2. 迭代查询:如果接收者B没有请求者A所需要的准确内容,接收者B将告诉请求者A如何去获得这个内容,但是自己并不去发出请求
迭代查询
域名缓存
在域名服务器解析的时候,使用缓存保存域名和IP地址的映射;计算机中DNS的记录也分成了两种缓存方式
浏览器缓存:浏览器在获取网站域名的实际 IP 地址后会对其进行缓存,减少网络请求的损耗
操作系统缓存:操作系统的缓存其实是用户自己配置的hosts文件;C:\Windows\System32\drivers\etc
查看主机 DNS 缓存
ipconfig /displaydns
清空主机 DNS 缓存
ipconfig /flushdns
域名解析的顺序
当用户在地址栏键入并敲下回车键之后,域名解析就开始了
浏览器缓存
找本机的hosts文件
路由缓存
找DNS服务器(本地域名、顶级域名、根域名)→迭代解析、递归查询
具体过程如下:假定某客户机想获知域名为http://y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:
客户机向其本地域名服务器发出DNS请求报文
本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器http://dns.com的IP地址返回给本地域名服务器
本地域名服务器向顶级域名服务器http://dns.com发出解析请求报文
顶级域名服务器http://dns.com收到请求后,判断该域名属于http://abc.com域,因此将对应的授权域名服务器http://dns.abc.com的IP地址返回给本地域名服务器
本地域名服务器向授权域名服务器http://dns.abc.com发起解析请求报文
授权域名服务器http://dns.abc.com收到请求后,将查询结果返回给本地域名服务器
本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
PT仿真
说明
服务器请求过程
假设所有域名服务器均采用递归查询方式进行域名解析。当某台主机访问规范域名为www.abc.xyz.com的网站时,由某台域名服务器完成解析,则可能发出DNS查询的最少和最多次数分别是()。
0、3
1、3
0、4[本地缓存如果有,不需要查询;向根/、向com、向xyz.com、向abc.xyz.com]
1、4
如果本地域名服务器没有缓存,采用递归方式解析某台主机域名时,用户主机、本地域名服务器发送的域名请求消息数为()。
一条、一条[递归只需请求1次就可以拿到结果]
一条、多条
多条、一条
多条、多条
有关域名服务器,说法错误的是()。
可分为:根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器
根域名服务器并不解析域名,而是把待查域名对应的顶级域名服务器的IP地址作为结果返回
除根域名服务器外,其它域名服务器均能返回待查域名对应的IP地址[顶级域名服务器除外]
本地域名服务器的IP地址应该直接配置在需要解析域名的主机中