likes
comments
collection
share

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二)

作者站长头像
站长
· 阅读数 1

IP地址的表示方法

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二) 由上图我们可以看到,IP地址是一串32比特的数字,分为4组,每组8比特(1字节),分别用十进制表示然后用圆点隔开。IP地址的规则中,网络号和主机号这两部分的具体结构用户可以自己决定分配关系,不是固定的,所以仅凭这一串数字无法区分哪部分是网络号,哪部分是主机号。因此还需要子网掩码来表示IP地址的内部结构。来看下IP地址的结构图

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二) 子网掩码和IP地址长度一样,32比特数字。用IP地址和子网掩码,就可以得出主机号和网络号。主机号如果全0,表示整个子网,全1,表示向子网上所有设备发送包,即“广播”

域名和IP地址并用的原因

TCP/IP网络通过Ip地址来确定通信的对象,是通过域名去查询IP地址的。可能在这里你就会问,为什么不直接用IP地址来代替服务器名称?原则上是可以的,但是相对于记住域名,比记住IP地址这样一串数字更加容易,这样可能又会有疑问,既然域名更好,为什么不直接用域名来确定通信对象?有这样想法不奇怪,毕竟现在网络技术很先进,这样的功能应该是可以做到的。但是我们要考虑运行效率的问题,这个时候就要先来看看TCP/IP的基本思路。

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二)。 TCP/IP结构是由一些小的子网,通过路由器连接起来的组成一个大的网络,子网可以理解为集线器连接起来的几台计算机,将它看作一个单位,称为子网。在网络中,所有设备都会分配一个IP地址。**我们在根据IP地址去判断应该把数据传送到什么地方的过程中,需要路由器的相互配合,如果用域名就会加重路由器的负担,影响运行效率。因为IP长度是32比特,也就是4字节,域名最短也要十几个字节,这样传输数据要花更多的时间,**所以用IP是更明智的设计。综合以上,现在采用的方案是域名和IP地址并用,人使用名词,路由器使用IP地址。

DNS机制查询IP

有时候,我们需要把域名转换为IP,或者是把IP转换为域名,那么怎么解决两者间的转换呢?不要担心,设计者们早就想好了一个机制解决两者间的障碍,那就是DNS机制。如果我们想通过域名得到相对应的IP,只需要询问最近的DNS服务器就能得到,那么浏览器又是如何向DNS发出查询并且接收它返回的响应信息呢?换句话说,对于DNS服务器,计算机上有相应的DNS客户端,这个客户端部分称为DNS解析器,简称简析器,通过DNS查询IP地址的操作称为域名解析。 解析器实际上是一段程序,它包含在操作系统上的Socket库中,做过开发的,应该都接触或者听说过Socket库。Socket库包含的程序组件可以让其它应用程序调用操作系统的网络功能,解析器就是库中的其中一种程序组件。组件调用就是我们熟悉的写代码步骤了,简单的举一个C语言编写的例子。

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二) 得到的IP地址会写入浏览器的内存地址中,在浏览器向Web服务器发送消息时,再从内存中取出IP地址,将它与HTTP消息一起交给操作系统就更好了。

我们是询问DNS服务器才拿到域名相对应的IP,向DNS发送消息,也需要知道DNS服务器的IP地址,只不过这个IP地址是作为TCP/IP的一个设置项目事先设置好的,不需要去查询。不同操作系统的设置方法有差异,Windows的设置如下图。

域名相对应的IP是通过什么机制查询到的?——网络基础知识(二) DNS服务器基本工作是接收来自客户端的查询消息,然后根据消息的内容返回响应,基本工作流程如图 域名相对应的IP是通过什么机制查询到的?——网络基础知识(二) DNS内部的详细工作流程就不再细说,感兴趣的伙伴们可以去自行了解。

关于IP的相关知识就是上文的内容了,网络处处是知识点,有很多没办法在一篇文章中展开写,还有就是本身能力知识都有限,只是把一些我认为重要知识线串起来讲。谢谢读到这里的每一位伙伴们,你们的阅读鼓励着我继续写下去。以后我们一起多多学习网络基础知识,文中有不正确的地方也欢迎指正。 本篇文章的图都出自《网络是怎样连接的》一书。