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服务器
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
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:正向解析
b、IP --> 名称:反向解析,他和正向解析完全是两个不同的树和空间,也不是同一个解析库
8、域名注册代理商:万网,godaddy
9、dns服务器类型:
a、负责解析至少一个域:
(1)、主名称服务器
(2)、辅助名称服务器,即防止主名称服务器挂了的服务器
b、不负责解析,称之为缓存名称服务器