type
status
date
slug
summary
tags
category
icon
password
Property
Sep 19, 2023 03:32 PM
本文主要回顾大学时期所学习的DNS技术
🤔 什么是DNS?
直接这么突兀的去回想什么是DNS可能无法完整的回忆起他的概念,但是DNS又是我们现代生活中时时刻刻都在发挥作用的关键功能,现代互联网社会,网上冲浪去获取知识信息是必不可少的,而这个冲浪的过程就会用到我们今天所要说的DNS!
但如果我们作为专业技术人员而言,如果我们连我们每天都在使用的技术的底层运行原理都不明白的话,我们又怎么能以专业而自称?不知道你是否有经历过以下情况:为什么有的时候,你的电脑QQ能够发消息,能够通信,而你的电脑却无法上网,甚至无法打开网页,百度都无法打开,这种情况,作为一个学校机房管理人猿来说,我是经常会遇见的,为什么,因为我维护的机房是一个老机房,电脑主机经常会因为主板BIOS没电了导致主板记录丢失,开机之后,原先做好的网络配置全都被打乱,从而经常性发生这种问题。
QQ消息却能发送,而电脑在浏览器中连百度网页都打不开,这种情况,根本问题就在于DNS。首先我们从专业的角度来看看,为什么计算机在DNS设置错误的情况下,QQ这种通讯软件却能正常通信。因为QQ二进制程序在登录以及通讯的时候,采用的都是直接访问服务器IP地址的方式,而不是访问的域名,DNS服务器是负责解析域名到一个指定IP地址里面的。所以当DNS设置错误的时候,只要网络能够正常连接到互联网,就是可以登录和通讯的。
好吧这只是一个引子,我们真正想讲的是DNS,回到我们刚刚的现象,网页无法访问,但是却能执行登录qq与通讯,他们唯一的区别是,前者是通过在浏览器地址栏中输入浏览地址进行访问的,后者是我们通过直接访问IP地址的方式进行访问的,这就是根本区别!什么意思?我们互联网在正常工作的情况下,通过IP是可以直接访问到互联网组中某一个主机的,但是如果是通过域名去进行访问主机,那么需要先经过浏览器去解析你的域名,最终映射到指定的IP地址上去,最终也是去访问某一个IP地址,但是这个过程中,需要依赖于域名解析,这个域名解析就是DNS,当然了具体解析过程肯定不是这么简单,业务流程我暂时忽略了,放到文末再说。
你可以将域名解析想象成我们Java中的一个HashMap,HashMap底层我们都知道是Node键值对实现的,这个域名就好比是我们的Key,这个IP地址就好比是我们的Value,我们都知道,HashMap中Key是不支持重复的,但是Value是可以重复的,因而我们可以将多个域名映射到同一个IP地址上去,这跟HashMap的底层思想如出一辙。
所以什么是DNS,显而易见,DNS只是一种域名解析手段,一种方式方法。这种解析流程起源于我们的图书馆的管理运营模式,图书馆查阅某本书籍,当我们去找某一本书的时候肯定不是全库检索该书名,而是根据书的类型,版次,规格等等信息来筛选过滤,最终找到目标书籍,而这种查询的模式就与DNS通过域名查询我们主机IP的过程是一致的。
有关计算机网络DNS的问题,欢迎您在底部评论区留言,一起交流~
- 作者:fntp
- 链接:https://polofox.com/article/computer-network-note-2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章