Java EE|TCP/IP协议栈之应用层协议DNS详解
创始人
2024-05-27 01:42:31
0

文章目录

    • 一、对DNS的感性认识
      • 简介
      • 特点
    • 一些常见疑问
    • 二、DNS
      • DNS域名结构
      • 域名的分级
    • 三、域名服务器
    • 四、域名解析过程
    • 参考

一、对DNS的感性认识

简介

DNS,即Domain Name System,是域名系统的简称。它是Internet上解决网上机器命名的一种系统。

TCP/IP中的IP地址是由四段以“.”分开的数字组成(此处以IPv4的地址为例,IPv6的地址同理),记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。

域名可将一个IP地址关联到一组有意义的字符上去。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对访问而言,两者是等价的。

例如:微软公司的Web服务器的IP地址是207.46.230.229,其对应的域名是www.microsoft.com,不管用户在浏览器中输入的是207.46.230.229还是www.microsoft.com,都可以访问其Web网站。

一个公司的Web网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM公司的域名是www.ibm.com、Oracle公司的域名是www.oracle.com、Cisco公司的域名是www.cisco.com等。当人们要访问一个公司的Web网站,又不知道其确切域名的时候,也总会首先输入其公司名称作为试探。

但是,由一个公司的名称或简称构成的域名,也有可能会被其他公司或个人抢注。甚至还有一些公司或个人恶意抢注了大量由知名公司的名称构成的域名,然后再高价转卖给这些公司,以此牟利。已经有一些域名注册纠纷的仲裁措施,但要从源头上控制这类现象,还需要有一套完整的限制机制,这个还没有。所以,尽早注册由自己名称构成的域名应当是任何一个公司或机构,特别是那些著名企业必须重视的事情。有的公司已经对由自己著名品牌构成的域名进行了保护性注册。

特点

  • 分布式的
  • 协议支持 TCP 和 UDP,常用端口是 53
  • 每一级域名的长度限制是 63
  • 域名总长度限制是 253

一些常见疑问

  1. ARP协议是帮助ip地址和mac地址相互转化,DNS协议是帮助域名和IP地址相互转化。

  2. 为什么不直接用域名进行通信?

    ip地址是定长的,域名是变长的,不方便计算机处理。

  3. 同一个服务器的ip地址和域名的对象是谁?

    ip地址是面向主机的,域名是面向用户的。

  4. hosts文件是什么?

    hosts文件是由***写的,一个保存的域名和ip对应关系的没有扩展名的系统文件。

    它的作用就是将一些常见的网址域名与其对应的ip地址建立一个关联的“数据库”,当用户在浏览器中输入一个需要登陆的网址时,系统就会首先自动的去hosts文件中寻找对应的ip地址,一旦找到,系统就会立即打开对应的网页,如果没有找到,则系统就会将网址再提交给DNS域名解析服务器进行ip地址的解析。

    现在基本上就是hosts文件和DNS打配合的一个动作。

    操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。

    注意:hosts文件配置的映射是静态的,如果网络上的计算机更改了就需要及时更新ip地址,否则不能访问。就比如当时我一直打不开力扣一样。

  5. DNS系统工作相关原理

    如果新的计算机接入网络中,会将信息注册到数据库中。

    用户输入域名的时候,如果在本地hosts文件找不到,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的ip地址。

二、DNS

DNS域名结构

域名具有唯一性,命名规则如下:【以英文域名为例】

  • 每个域名都是一个标号序列(字母/数字/连接符(-));

  • 总长度不超过255字符

  • 由点号分割

  • 每个标号在63字符内,每个标号可以看成一个层次

  • 域名级别从左到右逐渐变大

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SBHS4hvi-1677311905032)(F:\typora插图\image-20230225143152145.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZtQIBnQ-1677311905033)(F:\typora插图\image-20230225143210603.png)]

域名服务主要基于UDP实现,服务器端口号为53.

eg :我们熟悉的,www.baidu.com

  1. com: 一级域名. 表示这是一个企业域名。同级的还有 “net”(网络提供商), “org”(⾮非盈利组织) 等。
  2. baidu: 二级域名,指公司名。
  3. www: 只是一种习惯用法。

域名的分级

域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。

如上图所示。

另外,xxx.yyy.zzz.com。xxx是四级域名、yyy是三级域名、zzz是二级域名、com是顶级域名。

其中顶级域名又分为国际顶级域名(cn、us、uk)、通用顶级域名(com、edu、gov……)和反向域名(arpa,用于PTR查询,ip地址转换为域名)。

三、域名服务器

域名是分层结构,域名服务器也是对应的层级结构。
有了域名结构,还需要有一个东西去解析域名,域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机。

由高向低进行层次划分,可分为以下几大类:

分类作用
根域名服务器最高层次的域名服务器,本地域名服务器解析不了的域名就会向其求助
顶级域名服务器负责管理在该顶级域名服务器下注册的二级域名
权限域名服务器负责一个区(一个域名服务器所负责的范围/权限范围)的域名解析工作
本地域名服务器当一个主机发出DNS查询请求时,这个查询请求首先发给本地域名服务器
  1. 每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
  2. 每一级域名服务器都知道下级域名服务器的IP地址
  3. 为了容灾, 每一级至少设置两个或以上的域名服务器参考

四、域名解析过程

相关前置知识:

🔺本地域名服务器的概念:

任何一台主机在网络地址配置时,都会配置一个域名服务器作为默认域名服务器,这个默认域名服务器通常称为本地域名服务器,是主机进行域名查询过程中首先被查询的域名服务器。

主机确定本地域名服务器的方法:

主机在任何时候需要进行域名解析都会将域名查询请求发送给该服务器,该服务器如果保存了被查询域名的信息,则直接做出响应,如果没有,则代理查询其他域名服务器,直到查询到结果,最后将查询结果发送给查询主机。

设置域名服务器的方式:

  1. 手动设置:以设置IPv4为例,就是在电脑中设置的DNS的内容;
  2. 动态设置:使用DHCP动态配置方式。

什么是解析器

解析器是负责网络爬虫的主要部分,其负责的工作主要有:下载网页的功能,对网页的文本进行处理,如过滤功能,抽取特殊HTML标签的功能,分析数据功能。

整体来说,这是一个递归查找的过程。

域名解析总体可分为一下过程:
(1) 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据.
(2) 如果没有, 就向上级域名服务器进行查找, 依次类推
(3) 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址
(4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程
以上内容引自此blog

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZNPDrbOL-1677311905034)(F:\typora插图\image-20230225152538799.png)]

上边是我是半懂,暂时先留在这,后续进行更正补充。

下边画图分析一个我比较理解的过程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ptlw2igT-1677311905035)(F:\typora插图\image-20230225154906733.png)]

参考

DNS协议详解

DNS相关科普

关于DNS的特点

DNS拓展阅读(暂略)

域名类型相关阅读1

常见域名后缀介绍

相关内容

热门资讯

安卓子系统windows11,... 你知道吗?最近科技圈可是炸开了锅,因为安卓子系统在Windows 11上的兼容性成了大家热议的话题。...
电脑里怎么下载安卓系统,电脑端... 你有没有想过,你的电脑里也能装上安卓系统呢?没错,就是那个让你手机不离手的安卓!今天,就让我来带你一...
索尼相机魔改安卓系统,魔改系统... 你知道吗?最近在摄影圈里掀起了一股热潮,那就是索尼相机魔改安卓系统。这可不是一般的改装,而是让这些专...
安卓系统哪家的最流畅,安卓系统... 你有没有想过,为什么你的手机有时候像蜗牛一样慢吞吞的,而别人的手机却能像风一样快?这背后,其实就是安...
安卓最新系统4.42,深度解析... 你有没有发现,你的安卓手机最近是不是有点儿不一样了?没错,就是那个一直在默默更新的安卓最新系统4.4...
android和安卓什么系统最... 你有没有想过,你的安卓手机到底是用的是什么系统呢?是不是有时候觉得手机卡顿,运行缓慢,其实跟这个系统...
平板装安卓xp系统好,探索复古... 你有没有想过,把安卓系统装到平板上,再配上XP系统,这会是怎样一番景象呢?想象一边享受着安卓的便捷,...
投影仪装安卓系统,开启智能投影... 你有没有想过,家里的老式投影仪也能焕发第二春呢?没错,就是那个曾经陪你熬夜看电影的“老伙计”,现在它...
安卓系统无线车载carplay... 你有没有想过,开车的时候也能享受到苹果设备的便利呢?没错,就是那个让你在日常生活中离不开的iOS系统...
谷歌安卓8系统包,系统包解析与... 你有没有发现,手机更新换代的速度简直就像坐上了火箭呢?这不,最近谷歌又发布了安卓8系统包,听说这个新...
微软平板下软件安卓系统,开启全... 你有没有想过,在微软平板上也能畅享安卓系统的乐趣呢?没错,这就是今天我要跟你分享的神奇故事。想象你手...
coloros是基于安卓系统吗... 你有没有想过,手机里的那个色彩斑斓的界面,背后其实有着一个有趣的故事呢?没错,我要说的就是Color...
安卓神盾系统应用市场,一站式智... 你有没有发现,手机里的安卓神盾系统应用市场最近可是火得一塌糊涂啊!这不,我就来给你好好扒一扒,看看这...
黑莓平板安卓系统升级,解锁无限... 亲爱的读者们,你是否还记得那个曾经风靡一时的黑莓手机?那个标志性的全键盘,那个独特的黑莓体验,如今它...
安卓文件系统采用华为,探索高效... 你知道吗?最近安卓系统在文件管理上可是有了大动作呢!华为这个科技巨头,竟然悄悄地给安卓文件系统来了个...
深度系统能用安卓app,探索智... 你知道吗?现在科技的发展真是让人惊叹不已!今天,我要给你揭秘一个超级酷炫的话题——深度系统能用安卓a...
安卓系统的分区类型,深度解析存... 你有没有发现,你的安卓手机里藏着不少秘密?没错,就是那些神秘的分区类型。今天,就让我带你一探究竟,揭...
安卓系统铠无法兑换,揭秘无法兑... 最近是不是有很多小伙伴在玩安卓系统的游戏,突然发现了一个让人头疼的问题——铠无法兑换!别急,今天就来...
汽车安卓系统崩溃怎么刷,一键刷... 亲爱的车主朋友们,你是否曾遇到过汽车安卓系统崩溃的尴尬时刻?手机系统崩溃还能重启,但汽车系统崩溃了,...
miui系统可以刷安卓p系统吗... 亲爱的手机控们,你是否对MIUI系统情有独钟,同时又对安卓P系统的新鲜功能垂涎欲滴?今天,就让我带你...