Internet上主机/路由器的识别问题
- IP地址
- 域名:www.hit.edu.cn
一、问题:域名和IP地址之间如何映射?
域名解析系统DNS
- 多层命名服务器构成的分布式数据库;
- 应用层协议:完成名字的解析
- Internet核心功能,用应用层协议实现
- 网络边界复杂
DNS服务
- 域名向IP地址的翻译
- 主机别名
- 邮件服务器别名
- 负载均衡:Web服务器
问题:为什么不使用集中式的DNS?
- 单点失败问题
- 流量问题
- 距离问题
- 维护性问题
二、分布式层次数据库
客户端想要查询www.amazon.com的IP
- 客户端查询根服务器,找到com域名解析服务器
- 客户查询com域名解析服务器,找到amazon.com域名解析服务器
- 客户端查询amazon.com域名解析服务器,获得www.amazon.com的IP地址。
1. DNS根域名服务器
- 本地域名解析服务器无法解析域名时,访问根域名服务器。
- 根域名服务器
- 如果不知道映射,访问权威域名服务器
- 获得映射
- 向本地域名服务器返回映射
- 全球有13个根域名服务器
2. 顶级域名服务器(TLD,top-level domain):负责com,org,net,edu等顶级域名和国家顶级域名,例如cn、uk、fr等
- Network Solutions维护com顶级域名服务器
- Educause维护edu顶级域名服务器
3. 权威(Authoritative)域名服务器:组织的域名解析服务器,提供组织内部服务器的解析服务
- 组织负责维护
- 服务提供商负责维护
本地域名解析服务器
- 不严格属于层级体系
- 每个ISP(网络服务提供商)有一个本地域名服务器
- 默认域名解析服务器
- 当主机进行DNS查询时,查询被发送到本地的域名服务器
- 作为代理,将查询转发给层级式域名解析服务器系统
三、DNS记录缓存和更新
1. 只要域名域名解析服务器获得域名——IP映射,即缓存这一映射
- 一段时间过后,缓存条目失效(删除)
- 本地域名服务器一般会缓存顶级域名服务器的映射,因此根域名服务器不经常被访问
2. 记录的更新/通知机制
- RFC 2136
- DNS UPDATE ( Dynamic Updates in theDomain Name System)
四、DNS记录和消息格式
资源记录(RR,resource records)
RR format:(name, value, type, ttl)
1. Type = A
- Name:主机域名
- VAlue:IP地址
2. Type = NS
- Name:域(edu.cn)
- Value:该域权威域名解析服务器的主机域名
3. Type = CNAME
- Name:某一真实域名的别名
- Value:真实域名
4. Type = MX
- Value是与name对应的邮件服务器。
五、DNS协议与消息
DNS协议:
- 查询(query)和回复(reply)消息
- 消息格式相同
消息头部
- Identification:16位查询编号,回复使用相同的编号
- flags
- 查询或回复
- 期望递归
- 递归可用
- 权威回答
六、域名解析的过程
1. 主机向本地域名服务器的查询一般采用递归查询。
递归查询:若主机查询的本地域名服务器不知道被查询的域名的IP,那么本地域名服务器就会以DNS客户的身份向其他根域名服务器查询,而不是让主机自己去根域名服务器查询。
2. 本地域名服务器向根域名服务器查找通常采用迭代查询。
迭代查询就是:当根域名服务器收到本地域名服务器的查询请求时候,要么给出对于的IP,要么告诉本地域名服务器下一步该向哪个顶级域名服务器查询。相对于递归查询而言,迭代查询就是本地域名服务器自己挨个去查,递归就是你的上级代替你去查,你只需要直接找一个根服务器。