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. 如何在ashx页面获取Session值

    [转]   在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; Http ...

  2. JavaScript中作用域和作用域链解析

    学习js,肯定要学习作用域,js作用域和其他的主流语言的作用域还存在很大的区别. 一.js没有块级作用域. js没有块级作用域,就像这样: if(){ : console.log(a) //输出100 ...

  3. 例子:RSS Reader Sample

    本例演示了Rss xml信息的获取,以及如何使用SyndicationFeed来进行符合Rss规范的xml进行解析. SyndicationFeed 解析完成后 可以得到SyndicationItem ...

  4. tesseract 编译与使用(windows)

    tesseract是google的一个开源OCR项目,项目地址已经迁移到github(现在 2016/09),地址 https://github.com/tesseract-ocr/tesseract ...

  5. goldengate for big data 12.2.0.1.1新增功能

    新格式支持:包括Avro OCF和HDFS顺序文件,OGG现在支持将数据写入Avro对象容器(Object container format)和HDFS顺序文件 支持Hadoop平台元数据或DDL更新 ...

  6. how a 程序猿 doubled his salary?

    One thing i can say, no matter what position i was in or what was my salary, i never stopped studyin ...

  7. maven 下载 源码和javadoc 命令

    摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容.一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分.但是有些时候很多依赖项并 ...

  8. jquery实现css3动画

    jquery animate改变元素样式时,只支持数字值的变化,比如width,height等,但是css3属性状态值很多都不是数字值,而是字符串和数字混合在一起,比如translate(), rot ...

  9. windows 下用eclipse搭建java、python开发环境

    本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...

  10. 初次学习shader

    Shader "Custom/Diffuse Texture" { //在shader中的位置 Properties { //着色器的属性 _MainTex ("Base ...