首页 > 其他分享 >DNS与IP地址的那些事

DNS与IP地址的那些事

时间:2024-06-19 18:00:15浏览次数:7  
标签:zcccsss 那些 域名 DNS IP地址 服务器 com

1.上期问题答案

"www"只是Web服务器上的一种命名,并不是一种协议。在互联网发展初期,"www" 成为网站地址的标准前缀,但实际上并不是所有网站都需要使用 "www" 这个子域名。

2.本章主题

上一篇我们讲了如何生成HTTP请求,那么我们要怎么发送给Web服务器呢?相信看完这一章,你便会有答案了。

3.IP地址的基础知识

在网络中,所有的设备都会生成一个IP地址,IP地址就像我们现实生活中的家一样,xx城市xx小区xx号xx室。而想要把请求发送给Web服务器,那么我们要做的就是找到与服务器域名对应的IP地址。找到了IP地址那么操作系统便可以把请求发送给Web服务器了。

现在让我们看看IP地址到底长什么样

IP地址是一串32比特的数字,每8比特为一组,一共分成四组。用十进制按 " . " 来分隔。IP地址由网络号和主机号组成。例如下面的就是一个IP地址主体

11.12.13.14

但是我们要怎么分清楚哪段是网络号,哪段是主机号呢。所以我们需要附加信息,子网掩码就可以胜任这一工作。它是以32比特数字组成组成,左边全为1,右边全为0。跟IP地址一样由8比特为一组。而为1的部分就是IP地址的网络号,而相反的,为0的部分就是IP地址的主机号。例如下面这个例子

有时我们还会看到一种写法如下

10.11.12.13/24

这个的意思是有24比特的1,子网掩码总共32比特。所以这就相当于子网掩码是255.255.255.0,所以10.11.12是网络号,13是主机号。

在主机号完全是0或者完全是1的时候代表着两种特殊的含义。主机号全部为0代表整个子网,而不是子网中的某个设备。主机号全部为1代表向子网上所有设备发送包,也就是广播。

4域名与IP

4.1为什么域名和IP都要存在

在TCP/IP网络中是通过IP来确定通信的,那么我们自然而然就有一个问题,为什么还需要域名呢,直接在网址上写IP地址不就可以了吗,然而IP地址是一串数字组成的,想记住很多的数字非常的困难。而域名往往都可以和它网站本身的名字对应起来,大家只要想到某个代表性的东西,就可以自然而然地拼写出来。

那么就有一个问题,为什么不可以让TCP/IP网络通过域名来通信,而把IP地址舍弃掉呢?在实现的可能性上,这种做法是可以实现的,但是这又有了一个新的问题,那就是运行效率很低。IP地址的长度是4个字节,而如果改用域名的话最大需要255字节,这会使得网络负担加重,传送数据也会花费更多得时间。

那么我们要怎么把输入得域名转为IP地址呢,有这么一个机制,它可以帮助我们把域名转为IP地址,那就是DNS。

4.2DNS服务器获得IP地址

DNS查询IP地址的操作称为域名解析,想要获得IP地址,我们电脑上有这么一个解析器,在我们输入一个域名"www.zcccsss.com",解析器会发送给DNS服务器,如果DNS服务器中有这个域名和它对应的IP地址,那么它会返回给解析器它所对应的IP地址"10.11.12.13"。

5.DNS大家族

5.1DNS服务器的基本工作

这一章我们就来详细地了解一下DNS服务器的工作。DNS服务器所受到的消息包含域名,Class,和记录类型。Class早期是为了如果还有别的网络类型,那么我们可以用Class来识别网络信息,但是现在除了互联网没有别的网络了,因此Class就一直是代表互联网的IN。那么都这么久了为什么Class字段还保留着呢,早期有着另外两种Class类型,"CH"和"HS",为了兼容这些内容,Class一直保留着。记录类型表示域名对应何种记录类型的记录。当类型为A,表示域名对应IP地址,而MX则代表是邮件服务器。

域名Class记录类型响应数据
www.zcccsss.comINA10.11.12.13
zcccsss.comINMX10 mail.zcccssscom.com
mail.zcccssscom.comINA11.12.13.14

当我们查询www.zcccsss.com这个域名时,客户端会发送以下信息

域名=www.zcccsss.com

Class=IN

记录类型=A

然后DNS服务器会通过这些消息去匹配已有的记录,DNS服务器会返回"10.11.12.13"给客户端。如果是查询邮件服务器的话,域名是@后面的部分[email protected]

域名=zcccsss.com

Class=MX

记录类型=A

在本例中域名会返回10和"mail.zcccssscom.com"。10表示的是服务器的优先级,数值越小表示服务器越优先。然后会把返回得到的"mail.zcccssscom.com"再去DNS服务器中查找,最终得到IP地址"11.12.13.14".

5.2为什么是大家族

我们上面讲解中,假设所有要查询的信息都已经在DNS服务器中,但是世界上任何一个连上网络的设备都会有一个IP地址,上哪去中一个这么大的服务器呢,全世界也不会只有一个DNS服务器,不然的话我们想访问一个网站,访问速度就会很慢,DNS服务器的负载也会很大。

所以信息会被分布保存在多台DNS服务器中,DNS中的域名会以句号分割来保存,"www.zcccsss.com",在域名中越右边的位置层级越高,因此com是最高层,zcccsss紧随其后,www是最下面一层。但是我们需要注意一点,其实在com层上面还有一个根域,以" . "来代表,因此一个网站应该是"www.zcccsss.com."但是最后这个点一般不写,但是也不可以忽略它的存在。除此之外,根域的IP地址还被保存在了所有DNS服务器中,这样一来客户端就可以通过任意一台DNS服务器找到根DNS服务器然后顺藤摸瓜找到域名所对应的IP地址

以www.study.zcccsss.com为例,注意一个DNS服务器可能不止有一个域的信息,可能com和zcccsss.com的IP地址在同一个服务器中,但是为了方便理解,我们假设一个DNS服务器对应一个域

5.3DNS接力

首先客户端会把域名发送给最近的DNS服务器,如果DNS服务器中有对应的IP地址则返回,否则就会去访问根名称的服务器,如果根服务器也没有的话,根服务器就会返回“我这里也没有你这个域名,但是我看你有com域,我有com域的IP地址,你去它那里找找”。

最近的那个DNS服务器得到了com域的IP地址就会去它那里找,如果也没有包含,那么就会返回“我这里也没有这个域名,但是我有zcccsss的IP地址,你去它那里找吧”,以此类推,最后找到www层。终于在众机器的努力下,这个域名所对应的IP地址终于被找到了。

6.思考题

在DNS服务器中有一个缓存功能,可以记住之前查找过的域名,因此在查找域名的时候,可以不必去根域开始查找,例如zcccsss的域名已经存储在这个DNS服务器中,那我们就可以直接通过这个域名去找zcccsss的域名了。那么如果我们输入了错误的域名的话,DNS又会怎么工作了,大家可以想一下这个问题,把答案留在评论区。

往期内容

用通俗易懂的话理解HTTP

标签:zcccsss,那些,域名,DNS,IP地址,服务器,com
From: https://blog.csdn.net/2301_77664120/article/details/139783063

相关文章

  • 千峰网络安全学习4 NTFS安全权限&DHCP&DNS
    NTFS安全权限1.文件系统概述格式 系统FAT windowsNTFS windowsEXT linuxNTFS特点提高磁盘读写性能可靠性加密文件系统访问控制列表磁盘利用率压缩磁盘配额支持单个文件大于4个G修改NTFS权限1.取消继承作用:取消后,可以任意修改权限列表方法:文件右键属性-安全-......
  • 14DNS 域名解析服务
    目录14.1BIND域名服务基础14.1.1DNS系统的作用及类型14.1.2BIND的安装和控制1、安装BIND软件2、BIND服务控制14.1.3BIND服务的配置文件1、主配置文件按2、区域数据配置文件14.2使用BIND构建域名服务器14.2.1 构建缓存域名服务器1.建立主配置文件named.conf......
  • 一篇文章带你彻底搞懂IP地址(初级)
    一篇文章带你彻底搞懂IP地址(初级)一、简单局域网构成交换机才能组建局域网,路由器只能连接内网(局域网一般称为内网)和外网,家里用来搭建局域网和连接内外网的“路由器”实际上是三层交换机;简单局域网的构成:交换机,网线,PC(其他IT终端);每个PC必须有自己的IP地址才能通信,IP地址是......
  • centos9设置静态ip地址
    centos9设置静态ip地址 [root@localhost/]#cd/etc/NetworkManager/system-connections/进入IP配置文件所在文件夹位置[root@localhostsystem-connections]#viens192.nmconnection配置IP地址 #ipv4网络配置[ipv4]#IP获取的方法为自动获取,这个注释掉#method=aut......
  • DNS 域名字符限制
    1.英文域名:1)26个英文字母2)“0”到“9”的数字3)“-”英文中的连词不得用于开头及结尾处2.中文域名:1)两到十五个汉字之间的字词或词组2)26个英文字母3)“0”到“9”的数字在域名中字符的组合也有一些限制:1.在域名中是不区分英文字母的大小写。2.中文域名不区分简繁体。3......
  • 在Linux中,如何修改IP地址、网关和主机名?
    在Linux中,修改IP地址、网关和主机名可以通过不同的方法实现,具体取决于你使用的是哪种网络管理工具和主机名管理方式。下面我将分别介绍静态配置和使用NetworkManager工具的两种情况。1.修改IP地址、网关(静态配置)修改IP地址和子网掩码:通常需要编辑网络接口的配置文件。对于基......
  • 在Linux中,常用的远程连接⼯具有那些?
    Linux系统中常用的远程连接工具包括Remmina、GNOME连接工具、X2Go、KRDC、TigerVNC查看器、Xshell、SecureCRT、WinSCP、PuTTY、MobaXterm和FinalShell等。这些工具各有特点,支持不同的协议,适用于不同的应用场景。以下是具体介绍:Remmina:Remmina是一款功能强大的免费开源Linux远......
  • Linux DNS域名解析服务
    DNS域名解析服务BIND域名服务基础DNS系统的作用及类型BIND的安装和控制BIND服务的配置文件使用BIND构建域名服务器构建缓存域名服务器构建主域名服务器构建从域名服务器BIND域名服务基础DNS系统的作用及类型整个Internet大家庭中连接了数以亿计的服务器、个人......
  • 那些日子 十三
    一周工作结束,打卡下班、跑步、回宿舍。打开好友喜欢的音乐开始听起来,其实对音乐我不是太懂,只知道有几种分类,比如摇滚啊、流行音乐、说唱、R&B……从最早的流行歌曲开始听,现在大概会唱的歌没有一百也有几十首吧,有些流行歌曲真的是让人朗朗上口,有的则需要飙高音,还有的就像念书一样......
  • 那些日子 九
    其实有人可能会问,你怎么挺多故事或者为什么看着你的文章总感觉你像一个真正处在巅峰时期的作者一样文思泉涌呢?你要知道的是,我也玩游戏,还一度沉迷过当然别学我,如果现在让我重新选择,我会把玩游戏的时间玩游戏花的钱都用在投资自己上,或者做好健身计划、储蓄计划,一是去健身,二是做好财......