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 ...
随机推荐
- requests--请求头设置
前戏 在我们进行自动化测试的时候,很多网站都会都请求头做个校验,比如验证 User-Agent,看是不是浏览器发送的请求,如果我们不加请求头,使用脚本访问,默认User-Agent是python,这样 ...
- 2019CCPC网络预选赛 八道签到题题解
目录 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 6702 & 6703 array 6704 K-th occurrence 6705 path 6706 huntian o ...
- [LeetCode] 152. Maximum Product Subarray 求最大子数组乘积
Given an integer array nums, find the contiguous subarray within an array (containing at least one n ...
- Harbor 忘记密码
Harbor密码重置 01,登入到harbor容器里面的数据库上 docker exec -it harbor-db /bin/bash 02,登入数据库 psql -h postgresql -d ...
- IntelliJ IDEA最新版2019年注册码,可激活至2099年 激活 破解
IntelliJ IDEA最新版2019年注册码,可激活至2099年 激活 破解 特别说明:图中的IDEA是2017版本,不过方法对2019版本的IDEA同样适用! 最近笔者测试了好多破解Idea的方 ...
- Kubernetes 学习(十)Kubernetes 容器持久化存储
0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...
- 版本分支管理标准 - Git Flow
最近好多开发人员在问如何使用 GIT 进行代码的版本管理. 这里转发一个标准的分支版本控制图. 相关的详细介绍,可以看: <引入git flow分支管理> <非常清晰明了的GIT版本 ...
- 微软 Azure DevOps Server 2019 Update 1 (TFS 2019.1)
1.概述 微软在2019年5月发布Azure DevOps Server 2019后不到2个月的时间里,就快速准备好了第一个升级包(2019 Update 1),并计划在几周后发布正式版本.也许你还没 ...
- 云服务器、VPS、虚拟主机三者之间的区别?
更多精彩内容欢迎访问我的个人博客皮皮家园:https://www.zh66.club期待您的光临哦!我是皮皮猪,感谢各位光临,能为您排忧解难小站深感荣幸!祝您生活愉快! 什么是虚拟主机? 同云主机不一 ...
- luogu P2258 子矩阵 |动态规划
题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第22.44行和第22.44.55列交叉 ...