文章目录
DNS
给应用用的应用
实现的主要思路
- 分层的、基于域的命名机制
- 若干分布式的数据库完成名字到IP地址的转换
- 运行在UPD的53号端口号的应用服务
- 核心的Internet功能,但以应用层协议实现
主要功能
域名到IP地址的转换
其它功能:
- 实现主机名和IP地址的转换(name/IP translate)
- 邮件服务器别名到邮件服务器的正规名字的转换
- 负载均衡
域名结构
DNS采用层次树状结构的命名方式
树叶是主机
根名字服务器
目前全球有13个(如果一个宕机可以用其它得到,增加安全性,目前中国一个都没有)
域名的管理
- 一个域管理其下的子域
- 创建一个新域,必须征得它所属域的同意
域与物理网络无关
域的划分是逻辑的,不是物理的
资源记录
作用
维护域名与IP地址(其它)的映射关系(也就说记录了维护的域名的位置)
位置
Name Serber的分布式数据库中
TTL
生存时间,决定了资源记录应当从缓存中删除的时间
如果是缓冲资源,TTL短
权威资源,TTL长
TTL短便于更新资源,一致性
TTL长便于加快访问,性能好,节约资源
Type
A
- Name为主机
- Value为IP地址
CNAME
- Name为规范名字的别名(www.ibm.com的规范名字为servereast.backup2.ibm.com)
- Value为规范名字
NS
- Name为域名
- Value为该域名的权威服务器的域名
MX
- Value为name对应得到邮件服务器的名字
大概是这么个顺序
域——》子域——》子域对应权威DNS主机名——》权威DNS主机对应的IP
DNS工作过程
- 应用调用解析器(resolver)
- 解析器作为客户向Name Server发出查询报文(封装在UDP片段中)
- Name Server返回响应报文
上网需要
IP,NetMask(子网掩码),Geteway(默认网关),LocalNameServer(本地域名服务器)
到本地域名服务器之后,首先访问有没有缓存,没有再问根服务器有没有
DNS协议、报文
查询和响应报文的报文格式相同
通过ID来实现并行查询,直接通过ID识别从哪来的,发哪儿去,不然要维持记住这一个查询效率低
新增域
要知道
- 子域的名字,子域的名字服务器的名字
- 子域的名字服务器的名字对应的IP地址
攻击DNS
DDoS攻击
1.对根服务器精选流量轰炸攻击:发送大量ping
没有成功
- 根目录服务器配置了流量过滤器,防火墙
- Local DNS 服务器缓存了TLD服务器的IP地址,因此无序查询更服务器
2.向TLD服务器流量轰炸攻击:发送大量查询
- 可能更危险
- 效果一般,大部分DNS缓存了TLD
重定向攻击
1.中间人攻击
- 截获查询,伪造回答,从而攻击DNS回答指定的IP
2.DNS中毒
- 发送伪造的应答给DNS服务器,希望他能够缓存总共虚假的结果
3.技术上较困难:分布式截获和伪造
- 利用DNS基础设施进行DDos
4.伪造某个IP进行查询,攻击这个目标IP
5.查询放大,响应报文笔查询报文大
,从而攻击DNS回答指定的IP
2.DNS中毒
- 发送伪造的应答给DNS服务器,希望他能够缓存总共虚假的结果
3.技术上较困难:分布式截获和伪造
- 利用DNS基础设施进行DDos