DNS: Domain Name System (将域名和ip地址相互转化)

域名是一个范围,例如baidu.com,.com。而www.baidu.com是个主机名,即FQDN: Full Qualified Domain Name, 完全限定域名),诸多主机名构成了一个域名。

DNS主要用来名称解析(Name Resolving),其实本质上是名称转换,但是由于涉及到数据库查询,所以叫做解析。

    FQDN<-->IP

    192.168.0.220           www.zdx.com

    192.168.0.250     mail.zdx.com

nsswitch只是提供一个平台,具体的解析过程是根据libness_files.so,libness_dns.so两个共享对象完成的

nsswitch中有一行:

hosts:  files  dns

其中files:/etc/hosts  靠libness_files找/etc/hosts文件

dns:DNS

stub resolver:名称解析器

hosts文件格式:

    IPADDR  FQDN  Ailases

    192.168.0.220  www.zdx.com   www

同步hosts方式:

1、周期性任务
2、Server, Server
1KW
3、分布式数据库

IANA(美国):IP,FQDN  

ICANN(国际)

TLD: Top Level Domain
组织域:.com, .org, .net, .cc
国家域: .cn, .tw, .hk, .iq, .ir, .jp
反向域: IP-->FQDN
反向:IP-->FQDN
正向:FQDN-->IP

IP-->FQDN:

FQDN-->IP:
www.magedu.com. IP1

查询:
递归:只发出一次请求
迭代:发出多次请求

解析:
正向:FQDN-->IP
反向:IP-->FQDN

两段式:递归,迭代

DNS:分布式数据库
上级仅知道其直接下级;
下级只知道根的位置;

DNS服务器:
接受本地客户查询请求(递归)
外部客户端请求:请求权威答案
肯定答案:TTL
否定答案:TTL
外部客户端请求:非权威答案

DNS服务器类型
主DNS服务器: 数据修改
辅助DNS服务器:请求数据同步
serial number
refresh
retry
expire
negative answer TTL
缓存DNS服务器
转发器

数据库中的,每一个条目称作一个资源记录(Resource Record, RR)
资源记录的格式:

TTL 600;
InterNet Resource Record Type
NAME [TTL] IN RRT VALUE
www.magedu.com. IN A 1.1.1.1

1.1.1.1 IN PTR www.magedu.com.

资源记录类型:
SOA(Start Of Authority):
ZONE NAME TTL IN SOA FQDN ADMINISTRATOR_MAILBOX (
serial number
refresh
retry
expire
na ttl )
时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒
邮箱格式:admin@magedu.com -写为-> admin.magedu.com

magedu.com. 600 IN SOA ns1.magedu.com. admin.magedu.com. (
2013040101
1H
5M
1W
1D )
NS(Name Server): ZONE NAME --> FQDN
magedu.com. 600 IN NS ns1.magedu.com.
magedu.com. 600 IN NS ns2.magedu.com.
ns1.magedu.com. 600 IN A 1.1.1.2
ns2.magedu.com. 600 IN A 1.1.1.5
MX(Mail eXchanger): ZONE NAME --> FQDN
ZONE NAME TTL IN MX pri VALUE
优先级:0-99,数字越小级别越高
magedu.com. 600 IN MX 10 mail.magedu.com.
mail.magedu.com. 600 IN A 1.1.1.3
A(address): FQDN-->IPv4
AAAA:FQDN-->IPv6
PTR(pointer):IP-->FQDN
CNAME(Canonical NAME): FQDN-->FQDN
www2.magedu.com. IN CNAME www.magedu.com.
TXT
CHAOS
SRV

域:Domain
区域:Zone

.com
magedu.com. IN NS ns.magedu.com.
ns.magedu.com. IN A 192.168.0.10

magedu.com. 192.168.0.0/24

www 192.168.0.1
mail 192.168.0.2, MX

建立两个区域文件:
正向区域文件
magedu.com. IN SOA

www.maged.com. IN A 192.168.0.1
简写为:
www IN A 192.168.0.1

反向区域文件:
0.168.192.in-addr.arpa. IN SOA

1.0.168.192.in-addr.arpa. IN PTR www.magedu.com.
1 IN PTR www.magedu.com.

区域传送的类型:
完全区域传送: axfr all transferation
增量区域传送:ixfr increment transferation

区域类型:
主区域:master
从区域:slave
提示区域:hint
转发区域:forward

.com.

magedu.com.

DNS资源记录类型及意义:
SOA:起始授权记录
NS:名称服务器
MX:邮件交换器
CNAME:别名记录
A:FQDN-->IPv4
AAAA: FQDN-->IPv6
PTR:IP-->FQDN

递归:请求一次
迭代:请求多次,参考答案

DNS服务器类型:

辅助
缓存
转发器

ZONE DOMAIN

SOA:

mageedu.com 172.16.100.0/24

ns 172.16.100.1
www 172.16.100.1, 172.16.100.3
mail 172.16.100.2
ftp www

DNS:BIND
Berkeley Internet Name Domain

ISC

bind97:
/etc/named.conf
BIND进程的工作属性
区域的定义
/etc/rndc.key
rndc: Remote Name Domain Controller
密钥文件
配置信息:/etc/rndc.conf

/var/named/
区域数据文件

/etc/rc.d/init.d/named
{start|stop|restart|status|reload}

二进制程序:named

bind-chroot:
默认:named
用户:named
组:named

/var/named/chroot/
etc/named.conf
etc/rdnc.key
sbin/named
var/named/

缓存-->主-->从

named-checkconfig
name-checkzone

dig: Domain Information Gropher

DNS:
监听的协议及端口:
53/udp
53/tcp
953/tcp, rndc

SOCKET: 套接字
IP:PORT

C/S: Client/Server
172.16.100.1:53

192.168.0.13

192.168.0.12:53
172.16.100.1:53
0.0.0.0:53

区域:
zone "ZONE NAME" IN {
type {master|slave|hint|forward};

};

主区域:
file "区域数据文件";

从区域:
file "区域数据文件";
masters { master1_ip; };

临时性地关闭SELinux:
# getenforce
Enforcing

# setenforce 0
# setenforce 1

永久关闭:
# vim /etc/selinux/config

dig -t RT NAME @IP

dig -t NS mageedu.com

dig -x IP:
根据IP查找FQDN

host -t RT NAME: 查询名称的解析结果

nslookup: 交互式
nslookup>
server IP
set q=RT
NAME

100.16.172.in-addr.arpa

DNS学习笔记之DNS理论知识的更多相关文章

  1. Oracle RAC学习笔记01-集群理论

    Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...

  2. IP地址和子网划分学习笔记之《预备知识:进制计数》

    一.序:IP地址和子网划分学习笔记开篇 只要记住你的名字,不管你在世界的哪个地方,我一定会去见你.——新海诚 电影<你的名字> 在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感 ...

  3. tensorflow学习笔记(3)前置数学知识

    tensorflow学习笔记(3)前置数学知识 首先是神经元的模型 接下来是激励函数 神经网络的复杂度计算 层数:隐藏层+输出层 总参数=总的w+b 下图为2层 如下图 w为3*4+4个   b为4* ...

  4. 网络协议学习笔记(八)DNS协议和HttpDNS协议

    概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...

  5. 【计算机网络】 一个小白的DNS学习笔记

    参考书籍 <计算机网络-自顶向下>  作者 James F. Kurose   DNS的作用   DNS是因特网的目录服务 DNS是因特网的目录服务,它提供了主机名到IP地址映射的查询服务 ...

  6. DNS学习笔记

    一.域名的层级结构 主机名.次级域名.顶级域名.根域名 # 即 host.sld.tld.root 比如,域名math.stackexchange.com显示为math.stackexchange.c ...

  7. 【计算机网络】 DNS学习笔记 (>﹏<)

    参考书籍 <计算机网络-自顶向下>  作者 James F. Kurose   DNS的作用   DNS是因特网的目录服务 DNS是因特网的目录服务,它提供了主机名到IP地址映射的查询服务 ...

  8. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  9. TCP/IP详解学习笔记(8)-DNS域名系统

    前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非 ...

随机推荐

  1. Jacoco入门

    Jacoco介绍 转自:wangmuming 的博客 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaA ...

  2. WebService 生成类的命令语句

    在开发项目中,有时候需要调用webservice接口程序,根据项目规定有的项目是直接引入接口,有的是需要把接口生成代理类的形式在项目中使用,根据项目需要来取舍. 以下列出项目中常用的Webservic ...

  3. 关于JavaScript和html的随笔

    最近听了一些关于JavaScript和html的讲课和读了一些书籍.因为我是给项目做网站知道的,所以要特别的注意和努力.JavaScript是一门挺好用的脚本语言,比较简单灵活,在这上面我深有体会,因 ...

  4. 《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》

    Application和Java Applet的区别.Java语言是一种半编译半解释的语言.Java的用户程序分为两类:Java Application和Java Applet.这两类程序在组成结构和 ...

  5. MySQL中DATETIME、DATE和TIMESTAMP类型的区别

    一.TIMESTAMP 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59'] TIMESTAMP D ...

  6. 浅谈Android系统移植、Linux设备驱动

    一.Android系统架构 第一层:Linux内核 包括驱动程序,管理内存.进程.电源等资源的程序 第二层:C/C++代码库 包括Linux的.so文件以及嵌入到APK程序中的NDK代码 第三层:An ...

  7. spring 源码

    spring AOP的Advice(通知) Advice(通知)定义在连接点做什么,为切面增强提供织入接口. BeforeAdvice AfterAdvice ThrowsAdvice的设计,体现了A ...

  8. JavaScript数组模拟栈和队列

    *栈和队列:js中没有真正的栈和队列的类型              一切都是用数组对象模拟的 栈:只能从一端进出的数组,另一端封闭       FILO   何时使用:今后只要仅希望数组只能从一端进 ...

  9. C#中去除字符串空格的三种方法

    static void Main() { //demo1 除去空格,提取出各个单词 string s = "a b c"; string[] word = s.Split(new ...

  10. SQlServer第一天

    SQLserver是个什么东西?相当于一是个货仓,在计算机领域的货仓,学名:数据库. 数据库是个什么东西呢?是指长期存储在计算机内的.有组织.可共享的数据结合.由此可知数据库的三个特点:永久存储.有组 ...