DNS是什么?

  如果了解互联网主机之间是用IP地址来进行通信的话,有了这个认识的前提,我们来聊一下什么是DNS。一个IP地址有十几个字符那么长,和手机号码长度差不多,我们怎么记住这些我们想要访问的主机的IP地址呢?不可能一个个记在本子上,

很久这种关系都是靠每个电脑上都有一个Hosts文件保存了主机名称和IP地址的映射关系,这个文件现在还有,它这就像你电话簿里面人和电话号码的对应关系。但是随着互联网用户量越来越大,hosts文件也越来越大,如何及时更新hosts文件,如何让全网主机的hosts文件一致,是这个问题的主要矛盾。
  1984年南加州大学的信息科学所发布了DNS协议规范即RFC 882和RFC 883,后来分别更新为RFC 1034和RFC 1035,也就是目前最新的DNS协议规范。通过这两个规范,构建了目前DNS系统,只要你主机可以连上上网,配上DNS服务的IP地址(后面所说的“递归DNS服务”),发送相应的DNS查询请求,就可以解析出目前已存在的主机名和IP地址的关系。
  总结一下,DNS就是一个将域名和IP地址相互映射的一个分布式数据库,是互联网重要的基础服务之一。
 

为什么要了解DNS?

上面介绍了DNS的功能,了解DNS对我们又什么用,我在这里列出几条:
  1. DNS也会出故障,而我们平时上网完全依赖DNS,比如你要访问https://www.baidu.com,这个 时候你的DNS无法帮你解析www.baidu.com这个域名,你就没有办法访问了。
  2. DNS也有快慢,你家的网速非常快,但是运营上给你分配的DNS服务器很慢,或者服务器负载太大等种种原因导致你每次上网之前DNS解析这块要花很长时间。
  3. 出于个人上网安全,DNS协议是明文的,有被人劫持篡改的风险,当你访问一个https://taobao.com的时候给你返回一个假的IP地址,然后在假网站上输入的用户名密码。。。。
  4. 行为分析,只要你上网,就要访问DNS服务,如果可以获取到很多DNS请求和响应日志,可以通过分析此类日志,给用户贴上标签。
  5. DNS服务保护,在一些企业或者网吧的防火墙上,可以避开DNS的流量,给DNS服务或者DNS流量放行,这主要是由于DNS服务很容易被人用来在流量攻击,而大量攻击流量无疑会给企业网关带来冲击。
 

如何去了解DNS?

域名空间

了解DNS系统对域名命名的规范和管理方式。域名是有层次的:
  • 根域名:就是 .
  • 顶级域名:比如,com、org、net、cn、uk、us
  • 子域名(二级域):比如,baidu.com、taobao.com、wikipedia.org
  • 下级子域名:比如,www.baidu.com、www.taobao.com|、en.wikipedia.org
 
  上图中展示了en.wikipedia.org这个域名在域名系统中的情况。用语言描述就是,负责根域的机构服务管着org域,org域机构服务又管wikipedia.org域,最后wikipedia.org域服务管着en.wikipedia.org域。整个域名系统不是一家机构做出来的,是很多家机构和企业的域名服务器构建出来的,不同机构和企业负责自己所管域的解析结果。

DNS系列—DNS简介的更多相关文章

  1. DNS 系列(二):DNS 记录及工作方式,你了解吗?

    在上一篇<DNS 系列(一):为什么更新了 DNS 记录不生效?>中,我们主要讲解了 DNS 和 DNS 传播,知道了网络通信主要通过 IP 地址来进行,而域名系统(DNS)则是保证用户在 ...

  2. DNS 系列(三):如何免受 DNS 欺骗的侵害

    互联网上每一台设备都会有一个 IP 地址,我们在访问网站或发送信息时,其实都是通过 IP 地址达成准确请求的.但是这个 IP 地址由很长一串数字组成,记忆起来相当困难,所以我们创造了更实用的域名来代替 ...

  3. <转>浅谈DNS体系结构:DNS系列之一

    浅谈DNS体系结构 DNS是目前互联网上最不可或缺的服务器之一,每天我们在互联网上冲浪都需要DNS的帮助.DNS服务器能够为我们解析域名,定位电子邮件服务器,找到域中的域控制器……面对这么一个重要的服 ...

  4. DNS 系列(一):为什么更新了 DNS 记录不生效?

    我们在上网时如果想要访问到另一台机器上的内容,通常只需要直接输入一串地址,例如:www.upyun.com,就能够准确访问到自己想要访问的网站.但是实际上这只是方便我们记忆的字符形式网络标识,真正让我 ...

  5. DNS劫持 DNS污染

    编号:1021时间:2016年6月24日17:23:50功能:DNS劫持 DNS污染URL:http://www.itechzero.com/dns-hijacking-dns-pollution-i ...

  6. 【原创】书本翻页效果booklet jquery插件系列之简介

    booklet jquery插件系列之简介 本文由五月雨恋提供,转载请注明出处. 一.安装 1.添加CSS和Javascript 添加booklet CSS文件到你的页面. <link rel= ...

  7. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  8. RxJava系列1(简介)

    RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...

  9. UNIX网络编程——epoll 系列函数简介、与select、poll 的区别

    前面博客<<UNIX环境高级编程--epoll函数使用详解>>有关于epoll函数的讲解. 一.epoll 系列函数简介 #include <sys/epoll.h> ...

随机推荐

  1. 栈&队列&并查集&哈希表(julyedu网课整理)

    date: 2018-11-25 08:31:30 updated: 2018-11-25 08:31:30 栈&队列&并查集&哈希表(julyedu网课整理) 栈和队列 1. ...

  2. D. Rescue Nibel! 解析(思維、組合、離散化、差分)

    Codeforce 1420 D. Rescue Nibel! 解析(思維.組合.離散化.差分) 今天我們來看看CF1420D 題目連結 題目 給你\(n\)個區間,求有幾種方法使得\(k\)個區間的 ...

  3. Memcached 的惹祸,.NET 5.0 的背锅

    抱歉,拖到现在才写这篇为 .NET 5.0 洗白的博文(之前的博文),不好意思,又错了,不是洗白,是还 .NET 5.0 的清白. 抱歉,就在今天上午写这篇博客的过程中,由于一个bug被迫在访问高峰发 ...

  4. Jenkins部署分支报Finished: UNSTABLE的问题解决

    近期将代码分支部署到Jenkins上时报Finished: UNSTABLE,检查服务器无报错日志.怀疑是磁盘空间不足所致. 首先,在服务器上输入df -lh 查看本地磁盘使用情况,发现空间几乎被用完 ...

  5. 给 Mac 添加右键菜单「使用 VSCode 打开」

    最终的实现效果是在文件 / 文件夹上右击时,会出现菜单项「用 VSCode 打开」,点击后会启动 Visual Studio Code 打开对应的文件 / 文件夹. 实现步骤 打开「自动操作.app」 ...

  6. templatedcodegenerator 简单模板化代码生成器

    传送门:https://github.com/uniqss/templatedcodegenerator templatedcodegenerator code generator with spec ...

  7. 美区Apple ID账号共享

    前言 前几天我已经分享了日区的账号,今天我来分享一下美区的账号.说到这个美区的账号,满满的记忆呀!这是我第一个公众号时创建的外服账号,里面的软件比较多,原本想整理一下自己购买了哪些软件的,乍一看,已购 ...

  8. 浅析 JIT 即时编译技术

    即时编译回顾 HotSpot 虚拟机执行 Java 程序时,先通过解释器对代码解释执行,发现某个方法或代码块执行比较频繁后,对热点代码进行编译,编译后生成与本地平台相关的机器码,再去执行机器码获得较高 ...

  9. websocket报400错误

    解决方案看了下讨论区说的方案,问题出现在nginx的配置文件,需要修改nginx.conf文件.在linux终端中敲入vim /etc/nginx/nginx.conf,找到location这个位置, ...

  10. model基础操作(下)

    3.Django多对多表结构操作   3.1 第一种: ManyToManyField   自己不创建第三张关系表,有m2m字段: 根据queryset对象增删改查(推荐)   from django ...