【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. Flask-Login中装饰器@login_manager.user_loader的作用及原理

    Flask-Login通过装饰器@login_required来检查访问视图函数的用户是否已登录,没有登录时会跳转到login_manager.login_view = 'auth.login'所注册 ...

  2. A1050 String Subtraction (20 分)

    一.技术总结 这个是使用了一个bool类型的数组来判断该字符是否应该被输出. 然后就是如果在str2中出现那么就判断为false,被消除不被输出. 遍历str1如果字符位true则输出该字符. 还有需 ...

  3. 第02组 Beta冲刺(2/4)

    队名:十一个憨批 组长博客 作业博客 组长黄智 过去两天完成的任务:了解整个游戏的流程 GitHub签入记录 接下来的计划:继续完成游戏 还剩下哪些任务:完成游戏 燃尽图 遇到的困难:没有美术比较好的 ...

  4. [LeetCode] 154. Find Minimum in Rotated Sorted Array II 寻找旋转有序数组的最小值之二

      Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i. ...

  5. GreenPlum 大数据平台--常用命令

    gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定数据目录(默认值:$MASTE ...

  6. sql server 索引优化

    查询实际执行计划,看走的是那种查询 要根据需求,建立合适的索引 经常需要汇总的,可以建立包含索引 --drop index ix_smssend_created on smssent_1 ; crea ...

  7. python之lambda、filter、map、reduce的用法说明(基于python2)

    python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...

  8. numpy delete方法

    import numpy as np lines = np.loadtxt(r'./test.txt',delimiter=',',dtype=int) print(lines) lines_copy ...

  9. 33,Leetcode 搜索旋转排序数组-C++ 递归二分法

    题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这 ...

  10. 如何同时在Isilon的所有网卡上抓取网络包?

    命令行如下: cd /ifs/data/Isilon_Support/ mkdir $(date +%m%d%Y) isi_for_array 'for i in `ifconfig | grep - ...