小渣渣,如有什么问题欢迎指正。
DNS协议
你连上网了,输入www.baidu.com,你跳到了百度页面,为啥呢,你输入的又不是MAC地址+IP地址+端口号,怎么告诉的百度服务器你想访问它,并且它还让让你访问了呢?
这就是DNS服务器的功劳,当你访问www.baidu.com时,会xiangDNS服务器发出请求,DNS服务器会查询百度的IP地址的相关信息返回给你,这样,你才能访问到百度的页面。
DNS的查询
虽然DNS就只是查询了IP地址返回给你,但是这个查询过程相当复杂。下图为访问www.baidu.com时DNS服务器进行的查询工作。
- 第一部分,查询参数及统计
- 查询内容
- DNS服务器答复
- 应该 显示baidu.com的查询记录,这里没显示(不知道为什么)
- 显示域名服务器IP地址(不知道为啥,我也没查到)
- DNS服务器传输信息
DNS域名层级
DNS服务器查询的时候是怎么知道所有域名的IP地址呢?分层级查询。
可以看到上一部分的第三个图里
每一个域名后面都有一个“.”,这不是显示错误,而是省略的根域名,每个域名后面都有“.root”,只是都省略了,www.baidu.com的真正域名为www.baidu.com.root。
- 根域名下一级,叫做顶级域名,比如“.com”,“.net”;
- 再下一级,叫做次级域名,比如“.baidu”;
- 再下一级为主机名,比如“www”,又称为三级域名。
由此,DNS服务器的查询过程为:
- 从"根域名服务器"查到"顶级域名服务器"的记录(IP地址)
- 从"顶级域名服务器"查到"次级域名服务器"的记录(IP地址)
- 从"次级域名服务器"查出"主机名"的IP地址