在命令行里敲入ping www.baidu.com,下面的提示会显示39.156.66.14这个IP地址(显然,这是一个A类地址)。同样,输入ping www.google.com,同样会显示一个IP地址。这是什么意思呢?

再做一个小测试,在C:\Windows\System32\drivers\etc文件夹下,有一个文件hosts。Jungle用notepad打开这个文件,有如下内容:

127.0.0.1  www.xmind.net

接下来,Jungle在命令行里输入:ping www.xmind.net,结果如下:

如果Jungle修改一下这个文件,改为:

127.0.0.1  www.jungle.net

然后再在命令行里输入ping www.jungle.net,结果如下:

可以看到,类似于最开始ping www.baidu.com一样,每一个网址都对应着一个IP地址(当然了,你也可以直接Ping IP地址)。为什么不能直接使用IP地址呢?为什么每个IP地址都对应一个网址呢?这种对应关系使如何的?

这就是计算机网络里的域名系统(Domain Name System)

一、域名系统

域名系统是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。

引言里提到的一个文件hsosts(路径C:\Windows\System32\drivers\etc文件夹下),文件里列出所有主机和相应的IP地址。只要用户输入一个主机名字,计算机可以很快将其转换成IP地址。

主机名便于人们理解和记忆(比如www.google.com是谷歌网址),但机器处理IP数据报时IP地址是定长32位,如果这时候还用主机名就不合理,因为有的主机名可能很长,所以机器使用的是IP地址。

理论上说,整个因特网上可以只有一个域名服务器,上面的hosts文件里保存因特网里所有主机名和对应的IP地址。但是,因特网里主机数量过于庞大,如果这样操作,那么查询一个IP地址将耗费大量时间。所以,因特网采用的是层次树状结构的命名方法,并使用分布式的域名系统,采用客户-服务器方式。

DNS使大部分名字都在本地进行解析,仅少量解析需要在因特网上通信。域名到IP地址的解析是由分布在因特网上的许多域名服务器共同完成。当某一个应用进程需要把主机名解析为IP地址时:

(1)该应用进程调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报的方式发给本地域名服务器。

(2)本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。

(3)若本地域名服务器不能回答该请求,本地域名服务器就暂时成为DNS的另一个客户,并向其他域名服务器发出查询请求。这种过程一直到找到能够回答该请求的域名服务器为止。

二、域名结构

1.域名命名规则

因特网采用的是层次树状结构的命名方法,连接入因特网的每一个主机或路由器,都有一个唯一的层次结构的名字,即域名

“域”是名字空间中的一个可被管理的划分,域可以被划分为子域,子域还可以再被划分,这样就构成了顶级域、二级域、三级域等。每一个域名都是由标号(label)序列组成,各个标号之间用点隔开:

DNS规定,每一个标号都由英文字母和数字组成,每一个标号不超过63个字符(最好不超过12个字符),也不区分大小写,多个标号组成的完整域名总共不超过255个字符。级别最低的域名写在最左边,级别最高的域名写在最右边。各级域名由上一级的域名机构管理,顶级域名又ICANN管理。域名只是一个逻辑概念,域名中的点和IP地址中点分十进制中的点并无关联。

2.域名分级

顶级域名TLD(Top Level Domain)分为三大类:

  • 国家顶级域名nTLD:cn-中国,us-美国,uk-英国等;
  • 通用顶级域名gTLD:com-公司企业,net-网络服务机构,org-非营利性组织,int-国际组织,edu-美国专用教育机构,gov-美国政府部门,mil-美国军事部门,aero-航空运输企业,asia-亚太地区等等;
  • 基础结构域名:只有一个,arpa,用于反向域名解析。

我国把二级域名分为类别域名和行政区域名:

  • 类别域名:7个,ac-科研机构,com-工、商、金融等企业,edu-中国教育机构,gov-中国政府机构,mil-中国国防机构,net-互联网服务机构,org-非营利性组织
  • 行政区域名:34个,适用于我国各省市、自治区、直辖市。

互联网域名空间

因特网中的域名是惟一的。

三、域名服务器

域名系统的具体实现是由分布在各地的域名服务器来完成。可以让每一级的域名都有一个对应的域名服务器,使服务器的分布和上图(互联网域名空间)对应,但这样做会使得域名服务器的数量太多,降低域名系统运行效率。DNS采用划分区的办法来解决该问题。

1.域名服务器分级

一个服务器所管辖的范围叫做区(zone),一个区中的所有节点必须能够连通,每一个区设置响应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。(DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位,区可能大于域,可能小于域,也可能等于域)。

域名服务器可以划分为四种类型:

  1. 根域名服务器:是最高层次的域名服务器,也是最重要的域名服务器。所有根域名服务器都知道所有的顶级域名服务器的域名和IP地址。如果所有根域名服务器崩溃了,那么整个DNS系统就瘫痪了。因特网上一共有13个不同IP地址的根域名服务器(但并不止13台机器),到2012年5月止,13个根域名服务器一共分布在全球312个地点。世界上大部分DNS域名服务器都能够就近找到一个根域名服务器
  2. 顶级域名服务器:负责管理在该顶级应服务器注册的所有二级域名。
  3. 权限域名服务器:权限域名服务器即是负责一个区的域名服务器,当一个权限域名服务器不能够该出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应该找哪一个权限域名服务器。
  4. 本地域名服务器:当一个主机发出DNS请求时,这个查询报文就发送到本地域名服务器。

2.域名查询过程

2.1.主机向本地域名服务器查询——递归查询

本地域名服务器采用递归查询

主机向本地域名服务器查询是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就是以DNS客户的身份,向其他根域名服务器继续发出查询请求报文(替主机继续查询)。

2.2.本地域名服务器向根域名服务器查询——迭代查询

本地域名服务器采用迭代查询

本地域名服务器向根域名服务器查询采用迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器“下一步应该向哪一个域名服务器进行查询”,然后本地域名服务器继续后续的查询。

此外,为了提高DNS查询效率,域名服务器中广泛使用了高速缓存,用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

计算机网络——域名系统相关推荐

  1. 计算机网络——域名系统DNS

    文章目录 1.域名系统DNS的作用 2.层次树状结构的域名系统 3.域名解析的过程 4.总结 1.域名系统DNS的作用     当我们想要访问某个网页时,我们输入的地址并不是其IP地址,而是输入一个域 ...

  2. 计算机网络——域名系统(DNS)

    一.域名系统(DNS) 域名系统(Domain Name Ssten. DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如blog.csdn.net)转换为便于机器处理的IP ...

  3. [计算机网络] 域名系统

    目录 问题描述 主要功能 : 互联网的域名结构 三个域名服务器的区别 问题描述 域名系统的主要功能是什么? 互联网的域名结构是怎样的? 域名系统中的本地域名服务器.根域名服务器.顶级域名服务器以及权限 ...

  4. 计算机网络之应用层(DNS域名系统)

    应用层作为和用户直接交互的一层,它具体的内容就是规定应用进程在通信时所需要遵循的协议. 应用层的很多协议都是基于客户-服务器方式(C-S方式),即便是 P2P 的方式,本质上也只是一种特殊的客户-服务 ...

  5. 计算机网络应用层笔记--域名系统DNS

    域名系统DNS 标识因特网上主机的方式 主机名 IP地址 域名系统(DNS) 工作过程 互联网的域名结构 顶级域名 国家顶级域名nTLD 通用顶级域名gTLD 基础结构域名 二级域名 类别域名 行政区 ...

  6. 计算机网络基础之域名系统

    温故: 昨天给大家讲了Internet的相关概念,还说了Internet具备的特点,比如它最具魅力的开放性,使之成为最大的互联网,没有之一.还有一点就是它的工作模式需要大家记住,即客户/服务器模式,它 ...

  7. 『计算机网络』域名系统(DNS)

    域名系统是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于及其处理的 IP 地址.相对于 IP 地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机.值得注意的是,D ...

  8. 【计算机网络】DNS域名系统

    DNS域名系统 域名系统(Domain Name System, DNS)是互联网使用的命名系统,用来把熟知的域名转换为IP地址. DNS被设计为一个联机分布式数据库系统,DNs使大多数解析都在本地进 ...

  9. 计算机网络知识-----DNS(域名系统)

    文章目录 DNS是什么? 层次化域名空间 域名服务器 域名解析过程 DNS是什么? DNS一般指域名系统.(英文:Domain Name System,缩写:DNS)是互联网的一项服务. DNS也是一 ...

  10. 计算机网络学习07(DNS域名系统详解)

    DNS(Domain Name System)域名管理系统,是当用户使用浏览器访问网址之后,使用的第一个重要协议.DNS 要解决的是域名和 IP 地址的映射问题. 在实际使用中,有一种情况下,浏览器是 ...

最新文章

  1. 操作系统导论部分章节习题
  2. 图书馆图书上架_【消息】暑假好去处,明光市图书馆很多新书上架啦......
  3. Hadoop 05_MapReduce1.0
  4. ioc spring 上机案例_抛开Spring去理解IOC思想 - 原来IOC容器这么简单
  5. java位运算(转)
  6. 环境配置与PyG中图与图数据集的使用
  7. latex中正文前出现一页空白页,且占正文页数
  8. 使用pagehelper踩的坑PageHelper cannot be cast
  9. 玩转spring boot——开篇
  10. 计算机二级的注册证件号码,如何在Excel中输入以0开头的证件号码
  11. 中文知识图谱研讨会的学习总结 (上) 图谱引入、百度知心、搜狗知立方
  12. 使用Python websockets搭建互联网服务器
  13. 实验三(无线局域网组成与管理实验)
  14. Typora字体设置
  15. 写一个用矩形法求定积分的通用函数,分别求: ∫(0,1) sinxdx , ∫(0,1)cosxdx , ∫(0,1)e^xdx 。
  16. opengl dfdx dfdy
  17. oracle动态update语句
  18. k8s部署zookeeper集群 运行 ZooKeeper, 一个 CP 分布式系统
  19. 取消SIM卡槽,eSIM为防盗带来新转机,手机防盗终极大招
  20. 电脑“C盘”快满了,怎么清理?

热门文章

  1. 苹果微信昵称表情php,苹果手机微信名如何使用特殊符号
  2. Android RecyclerView之粘性头部+点击事件(非原创)
  3. 沉淀+树脂吸附工艺为铅酸电池废水处理提供新思路
  4. PCM与DSD究竟是什么??
  5. java泛型类型推断_Java 泛型-类型推断
  6. QT 之QPainter画点
  7. 局域网即时通讯软件应该怎么选择
  8. 月薪40K+银行测试经理,自动化测试实践经验分享
  9. 远程操作Linux图形界面
  10. 【产业互联网周报】云厂商加速布局政企市场:华为云发布七款新产品;腾讯政务战略升级;钉钉发布数字区县解决方案...