目录

浏览器dns probe finished 浏览器dns电脑服务器未响应如何处理

生成HTTP消息之后,接下来我们需要委托操作系统将消息发送给Web服务器。尽管浏览器能够解析网址并生成HTTP消息,但它本身并不具备将消息发送给网络上的功能,因此这一功能需要委托操作系统来实现。 在进行这一操作时,我们还有一个工作要完成,那就是查询网址中服务器域名对应的IP地址。在委托操作系统发送消息时,必须要提供的不是通信对象的域名,而是...

浏览器dns probe finished  浏览器dns电脑服务器未响应如何处理

生成HTTP消息之后,接下来我们需要委托操作系统将消息发送给Web服务器。尽管浏览器能够解析网址并生成HTTP消息,但它本身并不具备将消息发送给网络上的功能,因此这一功能需要委托操作系统来实现。

在进行这一操作时,我们还有一个工作要完成,那就是查询网址中服务器域名对应的IP地址。在委托操作系统发送消息时,必须要提供的不是通信对象的域名,而是它的IP地址。

IP地址的基本知识

用集线器连接起来的几台计算机,可以将它看作是一个单位,称为子网。将子网通过路由器连接起来,就形成了一个网络。

在网络中,所有的设备都会分配一个地址。这个地址就相当于现实中的某号某室。号对应的号码就是分配给整个子网的,而室对应的就是子网中的计算机。

发送者发生的消息首先经过子网中的集线器,转发到距离发送者最近的路由器上。接下来路由器会根据消息的目的地判断下一个路由器的位置,然后将消息发到下一个路由器,即消息再次经过子网内的集线器被转发到下一个路由器。重复进行最后到达目的地。

域名和IP地址并用的理由

TCP/IP网络是通过IP地址来确定通信对象的,因此不知道IP地址就无法将消息发送给对方。

直接使用IP是可能的,不过使用域名的原因是便于记住,在网址中好输入。

又使用IP的原因是为了运行效率考虑。字节过长,会增加路由器的负担,传输数据也会花费更长的时间。

Socket库提供查询IP地址的功能

查询IP地址的方法非常简单,只要询问最近的DNS服务器某个网址的IP地址是什么,DNS服务器就会告诉你答案。

通过DNS查询IP地址的操作称为域名解析,因此负责执行解析这一听任的就叫做解析器了。解析器实际上是一段程序,它包含在操作系统的Socket库中。

Socket库也是一种库,其中包含的程序组件可以让其他的应用程序调用操作系统的网络功能,而解析器就是这个库中的其中一种程序组件。

通过解析器向DNS服务器发出查询

根据域名查询IP地址时,浏览器会使用Socket库中的解析器。

浏览器在向Web服务器发送地址时,只要从之前存储IP地址的内存地址取出IP地址,并将它与HTTP请求消息一起交给操作系统就可以了。

解析器的内部原理

网络应用程序(一般是指浏览器)调用解析器时,程序的控制流程就会转移到解析器的内部,对应的那一行程序就会被执行,应用程序本身的工作就会暂停。

发送查询消息的这个操作并不是由解析器自身来执行,而是要委托给操作系统内部的协议栈来执行。和浏览器一样,解析器本身也不具备使用网络收发数据的功能。

解析器调用协议栈后, 控制流程会再次转移,协议栈会执行发送消息的操作,然后通过网卡将消息发给DNS服务器。

之后再经过协议栈传给解析器,然后解析器取出IP地址并传递给应用程序,会存到指定的内存地址。到这里, 解析器的工作就做完了。

需要提醒的是,向DNS服务器发送消息时,也要知道DNS服务器的IP地址,不过这个IP地址是作为TCP/IP的一个设置项目事件设置好的,不需要再查询了。

扫描二维码推送至手机访问。

本文转载自互联网,如有侵权,联系删除。

本文链接:https://www.idc.ke/8062

发布评论

您暂未设置收款码

请在主题配置——文章设置里上传

扫描二维码手机访问