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


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

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

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


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