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. 第三篇bootstrap 网格基础

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 网格系统类似一个表格,有行和列,它必须放置在一个类型设置为c ...

  2. ios中文转码的一个奇葩问题

    事情是这样的:我要在一个URL中截取一个名为‘vfname’的参数,因为这个参数的值带有中文(转码之前的形式),所以我必须将其转码. URL是这样的: http://devapi.amibaguanl ...

  3. Ajax 语法

    /*** * ajax语法 * * ***/ $.ajax({ async:false, //同步请求 url:"XXXXX.do",//请求后台地址 data: {"p ...

  4. matlab初学之strcat、num2str

    文章出处: http://blog.sina.com.cn/s/blog_6fb8aa0d01019id5.html http://wenda.so.com/q/1439143662729624 ht ...

  5. Unity中创建二维码

    在网络上发现了一个可以把字符串转换成二维码的dll,但是我们要怎么使用他呢.不废话,直接进入主题. 用到的引用 using UnityEngine;using ZXing;using ZXing.Qr ...

  6. Intel RealSense SDK 简翻

    :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px ...

  7. javascript学习之【new操作符】

    首先请大家思考这么一段代码,如下: <script>var jquery=function(){     console.log(this);};jquery();new jquery() ...

  8. Python学习之变量

    Python 变量 python不用事先声明变量,赋值过程中就包含了变量声明和定义的过程 用“=”赋值,左边是变量名,右边是变量的值 数字 整数 int_var = 1 长整数 long_var = ...

  9. 第6章 第一个Linux驱动程序:统计单词个数

    编写一个Linux的一般步骤: 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 第2步:注册和注销设备文件 第3步:指定和驱动相关的信息 第4步:指定回调函数 第5步:编写业务逻辑 第6步 ...

  10. VS2010+PCL配置

    原文出自(转载): http://blog.csdn.net/renshengrumenglibing/article/details/9073675 1.安装 pcl 的完全安装包可以到: http ...