computer networking ---------DNS
【DNS】domain named system
域名解析系统,即相当于对www.baidu.com的类似的域名进行解析,对于人而言,记忆一些域名相比于记忆一些Ip地址来说简单的多,而对于计算机而言,特别是web网络浏览器或者路由器而言,由于ip本身就是32位的数据,这就使得计算机在处理这些数据上特别的方便和快捷,对于浏览器而言,当键入一个域名的时候,一般是不能进行访问的,一般需要特定的DNS解析系统进行域名到IP地址之间的一个转换,这样web浏览器才能给指定的IP地址发送http的报文进行数据之间的交换,在当下网络的分布情况而言,本质上是数据交换的网络,而围绕着数据交换这一个主题便产生了许许多多的问题。
DNS服务器的分类:
- TLD服务器(也叫顶级域名服务器),从www.baidu.com的地址结构来看,.com 就是顶级域,由此往下便产生了二级域名,由此可见子域名是一个相对的概念。
- 本地域名服务器:在web网页要访问www.baidu.com的域名的地址的进程的时候,进程要获取www.baidu.com的IP地址,首先进程先给本地域名服务器发送一个DNS请求报文,然后本地DNS查找当前的DNS缓存,如果在缓存中查找到,则直接返回IP地址给当前进程进行查询。可以指出的是本地DNS服务器并不在DNS分布式结构之下,但又是DNS服务器结构中不可或缺的一部分。
- 权威DNS服务器
当有新的域名注册的时候,你需要提供给域名注册商两个DNS记录,一个是NS类型的,一个A类型的。就www.baidu.com而言(讨论中忽略):
【关于DNS解析过程的产生】
假设现在有两台主机分别是A:a.ssd.edu和B:b.ssc.dfx.前者想要获得后者的IP地址的时候,主要有以下步骤:
- A首先发送B的域名给本地的DNS服务器,如果本地服务器的DNS缓存中有则返回给用户一个IP地址(这个时候的客户是进程)
- 如果A的DNS缓存中没有的时候,本地服务器发送域名给.edu根DNS服务器,这个时候的客户变成了A的主机,由上面叙述的那样,根域名服务器缓存中如果有则返回IP,否则返回的是ssd.eduDNS服务器的地址,然后进行对sss.edu服务器的访问返回需要的A的IP.
- 然后根据所返回的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就决定了初始化的时间。
- 关于资源记录的分类的问题(主要是看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的更多相关文章
- Computer Networking: A Top Down Approach
目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...
- A Simple Introduction To Computer Networking
Most networking discussions are a jumble of acronyms. Forget the configuration details - what are th ...
- Software Defined Networking(Week 2, part 1)
History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...
- Computer Neworking: A Top-Down Approach
目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...
- Software-Defined Networking: A Comprehensive Survey
文章名称:Software-Defined Networking: A Comprehensive Survey 文章来源:Proceedings of the IEEE ( Volume: 103 ...
- 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 ...
- ipconfig命令
C:\Windows\System32>ipconfig -all Windows IP 配置 主机名 . . . . . . . . . . . . . : LuJunTao 主 DNS 后缀 ...
- 获取本机的ip
https://4sysops.com/archives/ipv6-tutorial-part-6-site-local-addresses-and-link-local-addresses/ In ...
- 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 ...
随机推荐
- Flask-Login中装饰器@login_manager.user_loader的作用及原理
Flask-Login通过装饰器@login_required来检查访问视图函数的用户是否已登录,没有登录时会跳转到login_manager.login_view = 'auth.login'所注册 ...
- A1050 String Subtraction (20 分)
一.技术总结 这个是使用了一个bool类型的数组来判断该字符是否应该被输出. 然后就是如果在str2中出现那么就判断为false,被消除不被输出. 遍历str1如果字符位true则输出该字符. 还有需 ...
- 第02组 Beta冲刺(2/4)
队名:十一个憨批 组长博客 作业博客 组长黄智 过去两天完成的任务:了解整个游戏的流程 GitHub签入记录 接下来的计划:继续完成游戏 还剩下哪些任务:完成游戏 燃尽图 遇到的困难:没有美术比较好的 ...
- [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. ...
- GreenPlum 大数据平台--常用命令
gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定数据目录(默认值:$MASTE ...
- sql server 索引优化
查询实际执行计划,看走的是那种查询 要根据需求,建立合适的索引 经常需要汇总的,可以建立包含索引 --drop index ix_smssend_created on smssent_1 ; crea ...
- python之lambda、filter、map、reduce的用法说明(基于python2)
python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...
- numpy delete方法
import numpy as np lines = np.loadtxt(r'./test.txt',delimiter=',',dtype=int) print(lines) lines_copy ...
- 33,Leetcode 搜索旋转排序数组-C++ 递归二分法
题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这 ...
- 如何同时在Isilon的所有网卡上抓取网络包?
命令行如下: cd /ifs/data/Isilon_Support/ mkdir $(date +%m%d%Y) isi_for_array 'for i in `ifconfig | grep - ...