1、IP—域名
TCP/IP协议用IP地址+端口号,确定网络中某台计算机中的某个程序,但IP地址太长不方便记忆,
出现了域名:www.baidu.com
hosts文件:保存域名—IP对应关系的字典
早期,互联网信息中心管理hosts文件,有一个新的计算机想加入网络,或IP地址要修改
需要到信息中心申请修改,其他计算机也需要定期修改,保证大家都能正常上网。
以上,太麻烦。
2、DNS系统用的是什么协议?
DNS:53号端口,同时使用TCP和UDP协议。
DNS在区域传输的时候使用TCP协议,其他时候使用UDP协议。
(1)区域传输—TCP协议:
DNS的规范规定了2种类型:
- 主DNS服务器
- 辅助DNS服务器
在一个区中,主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,
辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。
当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)
1.辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动。
如有变动,会执行一次区域传送,进行数据同步。区域传送使用TCP而不是UDP,因为数据同步传送的数据量比一个请求应答的数据量要多得多。
2.TCP是一种可靠连接,保证了数据的准确性。
(2)域名解析—UDP协议:
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。
不用经过三次握手,这样DNS服务器负载更低,响应更快。
理论上说,客户端也可以指定向DNS服务器查询时用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包
2、DNS系统
(1)DNS系统:管理维护系统内的每个主机IP和主机名的对应关系;
域名解析过程中,先查找hosts文件;找不到再查询DNS服务器检索数据库,解析获取对应的ip地址
(2)DNS缓存
解决DNS解析慢的问题,在缓存中保存通过自己所解析的域名地址
(3)DNS解析流程
假设本地机器访问域名networkutopoa.com其详细的协议通讯过程如下:
(1)浏览器先检查自身缓存有没有这个解析的地址;
(2)没有的话,浏览器查找本地操作系统中的缓存,windows系统中就是查看hosts文件;
(3)还没有找到的话,就请求本地域名服务器(LDNS)解析域名;(在自己的城市)
(4)如果还没找到的话,直接跳到Root Server 域名服务器请求解析;
(5)根域名服务器返回给LDNS一个所查询的主域名服务器gTLD(com.cn.org)等地址;
(6)LDNS继续发送请求给上一步返回的gTLD;
(7)收到请求的gTLD查找并返回这个域名对应的Name Server的地址,这个Name Server就是网站注册的域名服务器
(8)Name Server根据映射关系表找到目标ip,返回给LDNS
(9)LDNS缓存这个域名和对应的ip
(10)LDNS把解析的结果返回给用户,用户结果缓存到本地系统,域名解析过程至此结束