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、不负责解析,称之为缓存名称服务器

 

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

上一篇:CreateRemoteThread方式实现进程注入


下一篇:Linux--软件包管理yum