【网络】通过域名是如何获取IP地址的

前言:

在学习网络知识的时候,总是会遇到域名与ip之类的东西,其实二者之间代表的意义是一样的,那么为什么会出现两个名字呢,接下来就随着小编一起来看吧!

大家都知道每一个主机都有一个唯一的IP地址对吧,比如百度的ip地址为119.75.217.109。它对于人来说非常的难记,所以为了能够让人们很好的接受它,出现了域名这一名词!

接下来举个例子,baidu.com就是我们所说的百度的域名,对于人们来说十分的好记,但是对于电脑来说就不是这样的,大家都知道我们的ip实际上都时仅仅占用四个字节的,世界上所有的ip地址都是由4*8位二进制(32比特)构成的,而一个域名大多数都占用十多个字节!如果计算机用域名来进行访问的话,这就大大的增加了路由器的负担,毕竟每一刻都有成千上万的主机在访问路由器!这时候为了提高机器的运行效率,于是IP地址也就存在了!

我们已经讲明白了域名与ip地址共存的意义所在,现在我们人使用域名,让路由器来使用IP地址,但是人和机器之间必须得有一个交流沟通的机制,这个机制必须要完成人们通过名称可以查询IP地址,或者通过IP地址来查询名称,这样二者就都可以存在了!这个机制这么厉害,是什么呢?它就是DNS(域名服务系统)!DNS最长用的就是将服务器名称和ip地址进行关联!

我们的计算机中一定有dns解析器的,简称解析器,解析器就是一段程序,它包含在操作系统中的Socket库中!对于Socket库这里不做过深的研究,之后会详细解释,这里只需要知道它是用于调用网络功能的程序的组件的集合!

这里写图片描述

在进行查询ip时,我们的计算机会调用解析器,此时解析器就会向DNS服务器发送查询消息,然后DNS服务器会有响应消息,响应消息就是域名所对应的的IP地址。解析器取出IP地址,这样你的操作系统就获取了你所查询的域名的IP地址了!

对于前期名词的解释已经讲解的差不多了,接下来该动真格的了,一起看看具体是怎样的查询IP地址的!

这里写图片描述

这个图可以说的上是比较清晰的了,我就简单的介绍一下吧,首先我们的浏览器到达要调用的解析器的时候,应用程序本身的工作就会被暂停,因为在内存空间中需要存放你要的东西,也就是你的IP地址!如①。之后Socket中的解析器开始运行。如②;解析器中就会向dns发送查询的消息了,此时经过协议栈,协议栈具体是什么样的,之后的博客将会解释清楚,这里只需要知道在这里就是收发消息就行了!③;通过你的网卡将消息发送给了你的DNS服务器。在这顺便说一下,向dns服务器发送消息时,我们也需要知道服务器的IP地址。这个地址实际上我们已经预先设计好了④⑤ ;

这里写图片描述

信息从DNS 服务器出来,将解析的IP地址发送到了你的电脑的DNS客户端!⑥;后来又经
过协议栈,将消息传给了解析器⑦⑧;这是候解析器读取消息取出ip地址,将IP地址传给了应用程序,实际上存在了指定应用程序的内存空间中,⑨ ;这时候应用程序(web浏览器)就获得了IP地址!

后记:

其实学习上最开心的事情就是把自己每天都在用到的的东西,进行更加深入的研究,然后将其搞明白!一句话,域名是方便人来使用的,IP地址是方便机器之间使用的,二者之间通过DNS就可以相互转换!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 40
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值