文章目录
一:DNS协议
1:简介
域名系统DNS是将域名映射为其ip地址的协议(最基础,常用功能,还有其他功能比如反向解析)。
- 域名系统的实现是一个分布式数据库,存放着所有映射关系
- 域名系统采用客户机-服务器的实现方式
- DNS协议运行在UDP之上,使用53号端口
处理进行主机名到ip地址的映射之外,还主要提供了以下服务:
- 主机别名:一个复杂的主机名可能会有一个简单的主机名,这个简单的主机名我们称其为别名,复杂的主机名是规范主机名,一位主机别名根号记忆,所以使用的更多,DNS协议可以查询主机别名对应的规范主机名。
- **邮件服务器别名:**显而易见,人们希望邮件地址也简单好记,也就出现了邮件服务器别名,使用DNS协议可以查询到邮件服务器别名对应的邮件服务器规范主机名。
- 负载均衡:通常大一点的web站点都有多个服务器以应对大量的访问和服务,每台服务器运行在不同的主机上,因此有着不同的ip地址,而这些ip地址对应着这个web站点的同一个规范主机名,DNS服务器数据库中此规范主机名对应的IP地址是该ip地址合集,当查询该规范主机名的ip地址是会返回该ip地址合集,最重要的是还会循环这些ip地址的次序。因为客户端通常是向ip地址排在最前面的主机发起请求。这样就实现了负载均衡。
2:工作机理描述
呼略内部机制:
如果把DNS协议堪称一个黑盒子的话,流程就简单多了,比如一个浏览器向www.baidu.com发起一个http请求,但是必须现要知道此域名对应的ip地址,那么就调用dns客户端,去向dns服务器查询此域名对应的ip地址,然后再把查询到的ip地址返回给调用dns客户端的程序。
2.1:DNS服务器
DNS使用了大量服务器,分布在全世界范围内
主要涉及如下三类DNS服务器:
根DNS服务器:根据域名的顶级域名提供相对应的顶级域服务器
顶级域DNS服务器:根据域名所在的区域,提供相应区域的权威服务器地址
权威DNS服务器:与上面两个服务器基本是相关组织维护的不同,权威服务器是由该区域(公司,大学,单位)自己部署维护,在权威服务器中可以查询到该区域中所有域名-ip地址的映射信息。
但是一般各个IPS还会维护一个本地DNS服务器,DNS客户端第一个访问的通常就是本地服务器,本地服务器在DNS缓存中还发挥着着巨大的作用。
2.2:一个简单的DNS查询例子
浏览器想要访问www.baidu.com网站,但是还不知道对应的ip地址,于使调用DNS客户端向本地DNS服务器发起DNS查询请求,本地DNS将该请求转发到根DNS服务器,根DNS服务器发现此域名的顶级域为COM,于使返回COM的顶级域DNS服务器地址给本地DNS服务器,本地DNS服务器又向提供的顶级域DNS服务器发起DNS查询请求,顶级域服务器返回该域名对应区域baidu.com的权威服务器ip地址给本地服务器,本地服务器又向区纳维服务器发起一次DNS查询请求该域名的ip地址,该权威服务器查询自己的记录,返回该域名对应的ip地址给本地服务器,最后本地服务器再将该ip地址返回给调用DNS客户端的应用程序。
3:DNS缓存
本地DNS服务器能将查询过的映射信息缓存,在缓存有效期内,有主机通过此本地DNS服务器查询此域名时,能够直接返回该条信息。
缓存过期时间一般设置为两天。
4:DNS记录
记录格式如下
(name,value,type,ttl)
- ttl时过期时间
- name和value的字段含义取决于type
type常见种类
- A :NAME时主机名,Value是主机名对应的ip地址
- NS: NAME是一个区域,value是可以获得该区域中主机ip地址的权威服务器的主机名。
- CNAME:别名记录,name是别名,value是规范主机名。
- MX:邮件服务器别名记录,name是邮件服务器别名,value是邮件服务器规范主机名。
5:新建web站点部署
假设此网站准备的域名是www.new.com。那么先向注册登记机构注册域名,前提该域名没有被其他地方使用。
注册域名是需要向注册机构提供基本和辅助权威DNS服务器的名字和地址。假设名字是dns1.new.com和dns2.new.com及其对应ip地址222.222.222.1,222.222.222.2。
对着两个权威服务器的每一个,确保有一个NS和一个A类型的记录插入到对应的顶级域DNS服务器中,如下:
NS: new.com cdns1.new.com
A: dns1.new.com 222.222.222.1
最后需要确保www.new.com的类型A资源插入到你的权威DNS服务器下。
这样就配置好了一个站点的域名及其对应的权威服务器,浏览器通过www.new.com就可以访问该站点了。
为什么需要一个基本权威服务器和一个辅助权威服务器?
如果一台服务器不能工作,那么还有另一台服务器。
辅助服务器通过区域传输来完整的获取基本服务器的全部数据
6:DNS逆向解析(待学)
二:动态主机配置协议(DHCP)
用于为主机配置ip地址信息。主要研究动态分配
其他分配方式还有:自动分配与手动分配
客户机使用68端口,服务端使用67端口。
使用udp/ip协议
2.1: 地址池与租用期
租用期: 分配给主机的ip地址只是在一段时间内有效。
大多数情况下,租用期快要结束时会申请续租。
- 租用期太长:可能很快耗尽地址池的地址,但是可以减少网络开销(因为续租请求少)
- 租用期太短:可以为其他用户提供高可用的地址池,但是会加大网络的开销。
- 客户机在租用过半时尝试续租
2.2:流程
- 新入网的主机先广播一个DHCPDISCOVER消息。接受到广播的每台DHCP服务器都会发起一个DHCPOFFER响应消息。并且在响应中包含可以提供的ip地址(等其他配置消息)。主要还包括租用期时间T,更新时间T1(获得租约到可以更新租约的时间)和重新绑定时间T2(可以更新地址的时间)。默认T1=T/2;T2=7T/8。
- 客户端接受到多个offer消息后,客户机确定主机想要哪个OFFER。并广播一个包含服务器标识符的广播DHCPREQUEST消息。请求的ip地址设置为选中的OFFER提供的IP地址。多个DHCP服务器将收到这个广播,但是只有标识的服务器同意将该IP地址与客户机进行绑定,其余服务器清除与该客户端的相关状态。
- 客户机同意并完成绑定后,发送一个DHCPACK消息给客户机,通知客户机可以使用这个地址了。(如果服务器无法分配,则返回给客户机一个DHCPNAK消息)
- 客户机收到DHCPACK消息后,客户机探测网络以确保该地址不被其他集器使用。(例如使用ARP)。如果被其他地方使用,该客户机九不能使用,鬓发送给服务端一个DHCPDECLINE消息,通知该地址不能使用。经过默认的十秒延迟后,客户机可以重试。
2.3:更新租约
一个客户机更新租约可以跳过DHCPDISCOVER/DHCPOFFER阶段,直接发送DHCPREQUEST消息请求当前正在使用的地址。此后的流程不变。
2.4:请求其他配置信息
客户机已有一个IP地址时,想要其他配置信息,可以发送DHCPINFORM消息,以表明它使用现有地址,但是想要获取其他配置信息。服务器返回一个DHCPACK消息,包含想要的配置信息。
2.5: 中继代理
中继代理可以将DHCP操作跨越多个网段。
之前的DHCP是本网段广播,无法访问此网段之外的DHCP服务器。
注意的是中继代理只中继广播消息,其他DHCP中的流量交换不会通过中继服务器。