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. windows7 64位系统pl/sql 客户端的安装

    解压将下载到的将其解压,如我解压到了 E:\app\instantclient_11_2 3.设置PLSQL Developer在tools-prefrences,conncetion,OCI lib ...

  2. install vim-powerline

    1, install pip dnf install python-pip 2,install powerline-status pip install git+git://github.com/Lo ...

  3. Oracle存储过程例子:运用了正则表达式、数组等

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  4. AngularJs的UI组件ui-Bootstrap分享(十三)——Progressbar

    进度条控件有两种指令,第一种是uib-progressbar指令,表示单一颜色和进度的一个进度条.第二种是uib-bar和uib-progress指令,表示多种颜色和多个进度组合而成的一个进度条. 这 ...

  5. Java在JFinal中出现Can not create instance of class: com.keesail.web.config.WebConfig异常处理方式

    编译的时候一直出现如下问题: 后面 查了许多资料 说是build项目的时候web.xml没有输出到class目录.后面试了很多方式不行.后面自己摸索出如下方式解决问题: 改成默认输出目录.

  6. C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 <转>

    作者:Statmoon 出处:http://leolis.cnblogs.com/   在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法 ...

  7. ajax绑定

    function Select() { var data = $("#SelectByTime").serialize(); $.post( "settle.aspx?a ...

  8. 关于mongoldb 启动时显示 add already in use

    1 .不要在国内网上查找 浪费时间 2. stack over flow 是个不错的选择 进入正题. 终端输入: ps wuax | grep mongo 会看到: 随后:kill 447

  9. C语言程序设计第九次作业

    一.学习内容      本次课我们重点学习了怎样向函数传递数组,鉴于大家对函数和数组的理解和运用还存在一些问题,下面通过一些实例加以说明,希望同学们能够认真阅读和理解.      例1:火柴棍拼数字 ...

  10. hash表C语言实现

    算法参考<算法导论>第11章散列表.采用链地址法解决冲突. #include <stdio.h> #include <stdlib.h> #include < ...