【DNS】domain named system

域名解析系统,即相当于对www.baidu.com的类似的域名进行解析,对于人而言,记忆一些域名相比于记忆一些Ip地址来说简单的多,而对于计算机而言,特别是web网络浏览器或者路由器而言,由于ip本身就是32位的数据,这就使得计算机在处理这些数据上特别的方便和快捷,对于浏览器而言,当键入一个域名的时候,一般是不能进行访问的,一般需要特定的DNS解析系统进行域名到IP地址之间的一个转换,这样web浏览器才能给指定的IP地址发送http的报文进行数据之间的交换,在当下网络的分布情况而言,本质上是数据交换的网络,而围绕着数据交换这一个主题便产生了许许多多的问题。

DNS服务器的分类:

  1. TLD服务器(也叫顶级域名服务器),从www.baidu.com的地址结构来看,.com 就是顶级域,由此往下便产生了二级域名,由此可见子域名是一个相对的概念。
  2. 本地域名服务器:在web网页要访问www.baidu.com的域名的地址的进程的时候,进程要获取www.baidu.com的IP地址,首先进程先给本地域名服务器发送一个DNS请求报文,然后本地DNS查找当前的DNS缓存,如果在缓存中查找到,则直接返回IP地址给当前进程进行查询。可以指出的是本地DNS服务器并不在DNS分布式结构之下,但又是DNS服务器结构中不可或缺的一部分。
  3. 权威DNS服务器

当有新的域名注册的时候,你需要提供给域名注册商两个DNS记录,一个是NS类型的,一个A类型的。就www.baidu.com而言(讨论中忽略):

【关于DNS解析过程的产生】

假设现在有两台主机分别是A:a.ssd.edu和B:b.ssc.dfx.前者想要获得后者的IP地址的时候,主要有以下步骤:

  1. A首先发送B的域名给本地的DNS服务器,如果本地服务器的DNS缓存中有则返回给用户一个IP地址(这个时候的客户是进程)
  2. 如果A的DNS缓存中没有的时候,本地服务器发送域名给.edu根DNS服务器,这个时候的客户变成了A的主机,由上面叙述的那样,根域名服务器缓存中如果有则返回IP,否则返回的是ssd.eduDNS服务器的地址,然后进行对sss.edu服务器的访问返回需要的A的IP.
  3. 然后根据所返回的IP地址进行与对应主机进行连接。

【remark】

上述的DNS解析过程仅仅局限在两个主机之间的解析,下面考虑整个网络中的DNS解析过程。

就TLD服务器而言,全球共由240多个服务器站点,但这不是说TLD服务器就只有240多个,当然可以建立许多的镜像服务器进行数据的交换,还有许多由国家分类的TLD域名,例如中国就是.cn,美国就是.us.\

【关于注册域名的问题】

在互联网上要想申请一个域名,必须在域名注册商哪里进行注册,然后进行上传到由域名注册商所维护的TLD服务器中,然后才可以与其他人进行数据的交换,

【DEF】给出关于资源记录的概念

在所有的DNS服务器中存储的实际上是RR(资源记录),资源记录决定着和IP地址之间的映射关系,并且返回给客户,

一条资源记录通常由(name, value type TTL);

其中TTL是决定资源能否在DNS服务器中存储多少的时间,因为DNS服务器是一个物理存储,由你的接入网络的ISP进行维护,当然是由限制的存储,所以到一定时间就需要初始化,TTL就决定了初始化的时间。

  1. 关于资源记录的分类的问题(主要是看type字段的分类)

当type=A的时候name 代表的是主机名,value代表的是IP地址(和name进行匹配的)

当type=NS的时候,name代表的是是一个域,而value代表的如何获取该域中的主机IP的权威服务器的主机名(然后由这个主机名进行返回一个A记录,就得到了客户所需要的IP地址)

还有CNAME和MX的分类,不做讨论

【IN summary】

用宏观的角度观察在计算机网络中的DNS解析系统的时候,想想一张全球的表,当你在访问一个网站的时候,被这些网站上的精彩信息所吸引,单在这背后,还有远比浏览网页更吸引眼球的复杂事情正在发生。

就像上图一样,带着英文字母的代表的就是TLD服务器,当你要访问一个网站的时候,就类似于上面讨论的过程发送DNS请求——>返回主机IP,但是每天有数不胜数的DNS请求被互联网的各个部分以复杂的过程进行处理,复杂意味着肯定会有疏忽,当然就产生了漏洞,也就是DNS攻击的产生:

一般来说就是伪造域名

发送大量的DNS请求让服务器进行瘫痪

computer networking ---------DNS的更多相关文章

  1. Computer Networking: A Top Down Approach

    目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...

  2. A Simple Introduction To Computer Networking

    Most networking discussions are a jumble of acronyms. Forget the configuration details - what are th ...

  3. Software Defined Networking(Week 2, part 1)

    History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...

  4. Computer Neworking: A Top-Down Approach

    目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...

  5. Software-Defined Networking: A Comprehensive Survey

    文章名称:Software-Defined Networking: A Comprehensive Survey 文章来源:Proceedings of the IEEE ( Volume: 103  ...

  6. CentOS / Redhat : Configure CentOS as a Software Router with two interfaces

    CentOS / Redhat : Configure CentOS as a Software Router with two interfaces   Linux can be easily co ...

  7. ipconfig命令

    C:\Windows\System32>ipconfig -all Windows IP 配置 主机名 . . . . . . . . . . . . . : LuJunTao 主 DNS 后缀 ...

  8. 获取本机的ip

    https://4sysops.com/archives/ipv6-tutorial-part-6-site-local-addresses-and-link-local-addresses/ In ...

  9. Networked Graphics: Building Networked Games and Virtual Environments (Anthony Steed / Manuel Fradinho Oliveira 著)

    PART I GROUNDWORK CHAPTER 1 Introduction CHAPTER 2 One on One (101) CHAPTER 3 Overview of the Intern ...

随机推荐

  1. nwjs-简介

    nwjs是基于nodejs的,它支持nodejs所有的api,主要用于跨平台轻量级桌面应用开发,运行环境包括32位和64位的Window.Linux和Mac OS nwjs是在英特尔开源技术中心创建的 ...

  2. 6-ESP8266 SDK开发基础入门篇--操作系统入门使用

    了解了8266的串口了,这一节咱就自己写程序,处理一下数据,如果接收到 0xaa 0x55 0x01  就控制指示灯亮 0xaa 0x55 0x00  就控制指示灯灭 注意哈,我是用的假设没有操作系统 ...

  3. ASP.NET Core MVC 中的 Model 模型

    ASP.NET Core MVC 中的 Model 我们希望最终从 Student 数据库表中查询特定的学生详细信息并显示在网页上,如下所示. MVC 中的模型包含一组表示数据的类和管理该数据的逻辑. ...

  4. [HDU4867]Xor (线段树分治+类数位dp)

    [HDU4867]Xor (线段树分治+类数位dp) 提供一种\((m+n) log a log m\)带有常数约\(\frac{1}{log n}\)的算法 处理询问,将后来加入的数算进序列中,则每 ...

  5. Ubuntu 获取内核源码树

    输入:apt-cache search linux-source //查看内核版本 输入:apt-get install linux-source-3.0.0 //获取对应版本的内核,默认安装在/us ...

  6. js获取长度,根据编码获取长度

    dataLen:function(str){ var realLength = 0, len = str.length, charCode = -1; for(var i = 0; i < le ...

  7. Kubernetes 1.13 正式发布,功能亮点一览!

    Kubernetes 1.13 正式发布,功能亮点一览!   Kubernetes 1.13 正式GA,这是2018年发布的第四次也是最后一次大版本,1.13也是迄今为止发行最快的版本,仅用10周时间 ...

  8. 利用Jenkins打包并远程部署NodeJS应用

    本文Jenkins版本2.190.2,为19年11月最新 1.安装Jenkins.Git和NodeJS Jenkins安装参考:https://www.cnblogs.com/zhi-leaf/p/1 ...

  9. [Python学习笔记-008] 使用双向链表去掉重复的文本行

    用Python处理文本文件是极方便的,当文本文件中有较多的重复的行的时候,将那些重复的行数去掉并打印诸如"...<repeats X times>..."有助于更好的浏 ...

  10. C#异步的世界【下】(转)

    接上篇:<C#异步的世界[上]> 上篇主要分析了async\await之前的一些异步模式,今天说异步的主要是指C#5的async\await异步.在此为了方便的表述,我们称async\aw ...