Linux学习69 互联网用户引导层-DNS域名服务原理

一、DNS and Bind

1、Sockets:

  a、C/S:

    (1)、Client:发起应用请求的程序

    (2)、Server:响应请求(提供服务)的程序

      1)、LISTEN:Socket 

  b、串输层协议:TCP,UDP,SCTP

    (1)、Transmission Control Protocol,传输控制协议,双方通信之前需要先建立虚连接。

    (2)、UDP:User Datagram Protocol,用户数据报协议,无连接协议,双方通信之前无需建立虚拟连接

2、DNS:Domain Name Service

  a、工作于应用层,C/S架构

  b、默认端口53号,以udp协议通信。有时候也应用于TCP的53号端口

  c、www.wohaoshuai.com:FQDN(Full Qualified Domain Name,完全限定域名)

  d、系统上名称解析的两个库调用:getipbyhostname(),gethostnamebyip(),首先会解析我们的hosts文件,然后会找我们的dns服务器

    Linux学习69 互联网用户引导层-DNS域名服务原理

   3、常见的顶级域(Top Level Domain)

  a、顶级域中的组织域:.com,.net,.org,.gov,.edu,.mil

  b、顶级域中的guojia域: .iq,.tw,.hk,.jp,.cn

  c、二级域:

4、我们通过网络查询DNS服务器,他的反馈结果即便是UDP协议可以做到很快但是任然需要相当长的时间,因此本地应该要有缓存功能。因此我们第一次访问相应的域名时首先会查host文件然后会查缓存,然后会查dns服务器。当查到dns服务器的域名后首先会被缓存至本地

  a、我们缓存应该有一个生存周期,即TTL

5、我们的域名是分层结构

  a、www.slt.com. (后面有一个小点) :这就是FQDN

    Linux学习69 互联网用户引导层-DNS域名服务原理

  b、我们的lst1要找www.slt.com这个主机他会先找运营商的dns服务器,运营商的服务器不知道然后就找根服务器,根服务器说他也不知道但是他知道.com服务器知道并把.com服务器给运营商服务器,然后运营商服务器找.com服务器,.com服务器说他也不知道但是他知道slt.com知道并把slt.com的地址告诉运营商服务器,然后slt.com服务器就把www.slt.com服务器的地址给运营商服务器了,然后运营商就把www.slt.com.的ip信息给了st1

  c、所以我们dns解析分为两段,第一段为客户机到指向的dns服务器,第二是这个dns在互联网上的这个分布式dns系统之上找结果的过程

6、DNS查询类型

  a、递归查询:即主机找dns运营商dns服务器的过程

  b、迭代查询:即如上述描述此根dns服务器找不到对应的主机然后再将请求转发给下一个dns服务器然后dns服务器再依次去找下一个dns服务器的的查询方式

7、DNS名称解析方式

  a、名称 --> IP:正向解析

    Linux学习69 互联网用户引导层-DNS域名服务原理

  b、IP --> 名称:反向解析,他和正向解析完全是两个不同的树和空间,也不是同一个解析库

    Linux学习69 互联网用户引导层-DNS域名服务原理

   8、域名注册代理商:万网,godaddy

9、dns服务器类型:

  a、负责解析至少一个域:

    (1)、主名称服务器

    (2)、辅助名称服务器,即防止主名称服务器挂了的服务器

  b、不负责解析,称之为缓存名称服务器

相关推荐