热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DNS篇之一DNS理论知识

DNS:域名解析,BIND:BerkeleyInternetNameDomainSSLTLS:http--https,OpenSSL,CA,DigitalCertificate,

DNS: 域名解析,BIND: Berkeley Internet Name Domain

SSL/TLS: http-->https, OpenSSL, CA, Digital Certificate, PKI

HTTP: HTTP协议,Apache, LAMP, Nginx(Engine X), LNMP(LEMP), MySQL, PHP, varnish

CDN: DNS(View), varnish  智能化dns;分布式的多个集群分别给我们服务用的。

File Server: NFS、SMB/CIFS、FTP

Netfilter: iptables (filter, nat, mangle, raw)、tcp wrapper

NSSwitch(名称解析的转换)只是提供了一个平台,让我们借助于NSSWITCH来帮我进行名称解析所用 framework, platform, PAM:可插入式认证模块。 

SMTP/POP3/IMAP4: Mail Server 这几个服务都是要详细进行讲解的。

SELinux: Security Enhanced Linux

D级别是最低的级别,A级别是最高的安全级别。我们的linux一般来讲是C2级别的。

C2-->SELinux-->B1









DNS: Domain Name Service

域名:www.baidu.com(主机名,也叫做FQDN:Full Qualified Domain Name, 完全限定域名)

其实之上的是个主机名,而非域名;一般说来我们能够直接访问的是个主机。而什么是域,

.com是个域;



DNS:名称解析,Name Resolving 其实就是名称转换(只是因为背后有查询过程,数据库,所以叫做名称解析服务)

DNS名称解析其实就是实现FQDN与IP地址之间的转换。也可以实现IP到FQDN的转换。DNS解析的过程是双向的。但是有些服务是单向的。

FQDN<-->IP

172.16.0.1 www.zl.com.

172.16.0.2 mail.zl.com.



用户名:

通过名字找到它的id号,也属于名称解析。

nsswitch:为多种名称解析,提供了一个平台。只是一个平台。别人可以在其上搭建这种店铺帮助别人完成名称解析服务所用。

nsswitch:在其之上的有libnss,libfiles,libdns等等。而我们的应用程序只需要到这个框架上找到这个能够实现名称解析服务的店铺即可。

libnss_files.so,libnss_dns.so.

对我们而言,其展现的就是一个配置文件,/etc/nssitch.conf.

hosts: files dns

file: /etc/hosts

dns: DNS


stub resolver: 名称解析器,根据配置文件来看查找对应的IP地址。


ping www.zl.com  先查找/etc/hosts;如果没有再查找dns服务器。


hosts文件的格式: 

IPADDR         FQDN    Ailases

192.168.5.10 www.zl.com www

在小规模的网络中,hosts文件就够用了。如果每个人都往里面写入文件,那么我们网络将会越来越大。

IANA:美国政府搞得;IP,FQDN。维护了网络中每一台主机的IP和FQDN的关系。早期有人需要加入互联网使用ftp进行下载即可。

 后互联网时代,计算机发展越来越快。完全跟不上。后来就开始考虑建个服务器,你只需要向我提供查找即可。我在server上进行更新即可。

 但是一台服务器就不够用了。开始使用集群,但是数据库越来越庞大了。管理数据成为瓶颈。


从一个集中式数据库跟转换成分布式数据库;怎么实现?

只需要将权限进行划分?总理管理全国太麻烦了,于是就划分区域,一个地区一个负责人即可。每一个人只能管理它的儿子,而不能越级指挥即可。

我们回忆下,如何查找到某一个人?在中国是先从大到小,开始查找。而老外是从小到大的。

但是每一个人都知道根在哪里即可。

.

.com .net .org   这种域称为top level domain。



正确的写法:www.baidu.com.还有一个叫做根域的东西。这个之前我给你们解释过。




TLD(top level domain):

组织域:.com, .org, .net, .cc

国家域: .cn, .tw, .hk, .iq, .ir, .jp

反向域: IP-->FQDN  将IP地址转换成主机名,早期只能正向解析,后来引入了一个机制。指针;但是从IP转换成FQDN是另外一套数据库。

反向:IP-->FQDN   反向;

正向:FQDN-->IP   正向;但是我们用的通常都是正向的。


IP-->FQDN:


FQDN-->IP:

www.zl.com. IP1


查询:

递归查询:只发出一次请求,最终就能得到答案。本地查询使用递归查询。

迭代:发出多次请求。请求者要发出多次请求才能找到答案。

解析:

正向:FQDN-->IP

反向:IP-->FQDN

互联网上的DNS查询方式是两段式:递归,迭代。但是缓存时间需要有最权威的服务器决定,给这个缓存条目的时候,同时指定自己的ttl值。

所以每一个服务器在返回答案的时候,不仅仅是返回了答案,还返回的有超时时间。


DNS:分布式数据库的特色

上级仅知道其直接下级;

下级只知道根的位置;


DNS服务器(ns除了接受外部人员的请求,还要接受本域内的查询请求;它们的工作机制不太一样。):

接受本地客户查询请求(递归)

外部客户端请求:请求权威答案

肯定答案:TTL

否定答案:TTL 对没有的回答,也给它一个ttl省的它过一会过来查询下,过来查询下,就会消耗我们计算机的资源。

外部客户端请求:非权威答案

一台服务器可以给多个域进行解析。但是它是如何知道的,就需要用到数据库。而这个数据库需要我们自己去建立。

DNS服务器类型

主DNS服务器: 数据修改,改主的服务器,其他服务器学习主dns服务器的数据即可。

辅助DNS服务器:请求数据同步。每隔一段时间就向主服务器发送个请求,看数据是否一致。

一主多从:主的挂掉,哪个从的上去。如果从服务器得不到主服务器的信号,它就会自杀了。从服务器不会去干主服务器的活。

serial number:第一定义一个序列号,每当主服务器数据更新,serial number就加1.从服务器发现自己比主服务器小就更新。

refresh:定义每隔多久从服务器就去检查主服务器的数据信息。

retry:如果没有得到主服务器的信息,多久再重试更新一次。

expire:定义过期时间,多久我认为你主服务器挂了,此时从服务器也挂掉。

nagative answer TTL:定义一个否定答案的缓存时长。

缓存DNS服务器:不负责域的解析,只是负责缓存。

转发器:当客户端不能直接访问互联网的时候,找台服务器帮忙负责查询。当然服务器都有缓存功能,将缓存功能去了就变成一个转发器了。


本文出自 “汗水成就梦想” 博客,请务必保留此出处http://redhatdragon.blog.51cto.com/9183870/1441335

DNS篇之一DNS理论知识


推荐阅读
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
author-avatar
珍妮20111030
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有