TCP / IP学习笔记(9)-dns域名系统

前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非常不好记,于是就出现了DNS系统。

DNS系统介绍

DNS的全称是Domain Name System。它负责把FQDN(就是以“。”分隔结尾的名字)翻译成一个IP。最初的DNS系统使用的是一个巨大的hosts.txt文件(很吃惊,用这个就好) )使了?),可是一段时间以后,开发这就不得不用数据库来代替HOSTS.TXT文件,最终发展到了现在的分布式数据库。

DNS系统是一个巨大的树,最上方有一个无名树根,下一层是阿尔帕,COM,EDU,GOV,INT,MIL,美国,CN等等,其中ARPA,是域名反解析树的顶端。而玉米,EDU,等域名本来只用在美国(这就是技术特权啊),但是现在几乎全世界通用;而我们,CN,等叫做国家域这个树里面的域名并不是统一管理的,网络信息中心(NIS)负责分配顶级域合委派其他制定地区域的授权机构。

一个独立管理的DNS子树叫做区,最常见的区域就是二级域名,比如说.COM.CN。我们还可以把这个二级域名给划分成更小的区域,比如说sina.com.cn.
   DNS系统是一个分布式的数据库,当一个数据库发现自己并没有某查询所需要的数据的时候,它将把查询转发出去,而转发的目的地通常是根服务器,根服务器从上至下层层转发查询,直到找到目标为止.DNS还有一个特点就是使用高速缓存,DNS把查询过的数据缓存在某处,以便于下次查询时使用。

DNS协议

DNS报文定义了一个既可以查询也可以响应的报文格式对各个字段简单解释如下:

1.最前面的16个位的唯一的标示了问题号码,用于查询端区别自己的查询。

2.紧接着的16个位又可以做进一步的细分,标示了报文的性质和一些细节,比如说是查询报文还是响应报文,需要递归查询与否(一般服务器都支持递归查询,而且不需要任何设置,BIND就是这样)

3.查询问题后面有查询类型,包括A,NS,CNAME,PTR,HINFO,MX,如果熟悉BIND的话,就知道在区域的配置文件里面,每一条记录都记载了各自的类型,比如一个就是IP地址,NS就是名字服务器。

4.响应报文可以回复多个IP,也就是说,域名可以和多个IP地址对应,并且有很多CNAME。

反向查询

正向查询指的是通过域名得到IP的查询,而反向查询就是通过IP得到域名。例如用主机命令,主机IP就可以得到服务器的域名,主机域名就到了IP。

稍微知道一点数据结构的人都能意识到,在正向查询的域里面做反向查询,其做法只有遍历整个数据集合----对于DNS来说,那就是遍历整个数据库,这将带来巨大的负担,所以DNS采取了另一种方法,使用另一棵子树来维护IP->域名的对应表。

这个子树的根节点是in-addr.arpa,而一个IP例如192.168.11.2所具有的DNS地址就是2.11.168.192.in-addr.arpa(IP倒置)。在DNS系统里面,一个反向地址对应一个PTR纪录(对应甲纪录),所以反向查询又叫做指针(PTR)查询。

其他问题的讨论

DNS服务器高速缓存

BIND9默认是作为一个高速缓存服务器,其将所有的查询都转交到根服务器去,然后得到结果并放在本地的缓冲区,以加快查询速度。如果有兴趣可以安装一个BIND9来尝试一下。而自己定义的区域则可以规定其在缓存中的时间,一般是1天(就是配置文件中的1D)。

用UDP还是TCP

DNS服务器支持TCP和UDP两种协议的查询方式,而且端口都是53而大多数的查询都是UDP查询的,一般需要TCP查询的有两种情况:

1.当查询数据多大以至于产生了数据截断(TC标志为1),这时,需要利用TCP的分片能力来进行数据传输(看TCP的相关章节)。

2.当主(主)服务器和辅(从)服务器之间通信,辅服务器要拿到主服务器的区域信息的时候。

TCP / IP学习笔记(9)-dns域名系统相关推荐

  1. 【TCP/IP学习笔记1】 C语言讲解

    TCP/IP学习笔记(一) 一. TCP/IP结构:      TCP/IP是一个四层协议,结构如下:      1.应用层:各种应用程序和协议,如Http.FTP等.      2.传输层:TCP和 ...

  2. TCP/IP学习笔记(一)(转载)

    一.TCP/IP结构:      TCP/IP是一个四层协议,结构如下:      1.应用层:各种应用程序和协议,如Http.FTP等.      2.传输层:TCP和UDP      TCP提供一 ...

  3. TCP/IP详解--学习笔记(8)-DNS域名系统

    前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非 ...

  4. TCP/IP详解学习笔记(8)-DNS域名系统

    前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非 ...

  5. TCP IP学习笔记① 互联网通信过程

    文章目录 一.TCP/IP和OSI模型 二.协议分层 2.1 物理层 2.2 数据链路层 2.2.1 以太网协议 2.2.2 MAC地址 2.2.4 广播 2.3 网际层 2.3.1 IP地址     ...

  6. TCP/IP学习笔记(3)----IP,ARP,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...

  7. TCP/IP学习笔记:TCP/IP协议介绍

    TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础.TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.2 ...

  8. OSI TCP/IP学习笔记

    ​ 端口号 Telnet 远程终端协议 端口号 23 FTP 文件传输协议 端口号 21 SMTP 邮件传输协议 端口号 25 HTTP 超文本传输协议 端口号 80 HTTPS 安全超文本传输协议 ...

  9. TCP/IP学习笔记(八)复位报文段

    TCP报文首部中存在一个RST位,如果该位被置1则表示这是个复位报文段.当一个报文段从一端发往一个不存在或者处于异常状态的另一端时,就会以一个复位报文段应答发送端,告知发送端连接出现错误,应当被关闭 ...

最新文章

  1. [转]SIFT特征提取分析
  2. 文巾解题 7. 整数反转
  3. 电线之间:采访Microsoft Edge性能PM Nolan Lawson
  4. java情书_Java情书已写好,就差妹子了!
  5. 华为畅享10s值得买吗_华为畅享10 Plus值不值得买?首批购买用户评价出炉
  6. 均方根误差有没有单位_1千万年仅误差一秒,这台钟直接影响北斗卫星的导航定位精度...
  7. 浏览器市场 Chrome 仍占主导地位,IE 继续下降
  8. 目录 1.1. 压缩分类 无损压缩 有损压缩 1 2. 功能指标 1 2.1. 压缩比:有损压缩一般10:1=====30:1 1 2.2. 压缩速度:主要与压缩算法复杂度有关 1 3. 常见知识
  9. 五脏六腑在脸上的反射区图片_“阳光运动场,亲子共成长”——赣县区白鹭乡中心幼儿园迎新年亲子趣味运动会...
  10. 濮阳第二届创客机器人比赛_【比赛】许昌市第二届机器人大赛成功举办
  11. 光栅透过率计算 (Matlab)
  12. win10下 vs2003搜索崩溃卡死问题解决方案
  13. 总结一下__declspec(dllimport)的作用
  14. 线和面的方程区别_平面方程和直线方程的区别?
  15. 基于Ruby 安装 sass 安装出现的错误以及解决
  16. php 判断非负整数,PHP-检测负数
  17. 英特尔Intel CPU睿频原理探讨
  18. PanDownload 3.5.1 卢本伟修改版
  19. 计算机类需不需英语口语考试,关于计算机口语测试与传统口语测试比较分析.doc...
  20. 很久未使用计算机会怎样,很久没用,电脑为什么不能启动?

热门文章

  1. python金融风控评分卡模型和数据分析(加强版)-收藏
  2. 偶作寄朗之 --白居易
  3. linux获取usb键盘、扫描枪输入数据
  4. 2011年B题交通巡警第一问的练习与实现
  5. YACS20223月乙组——最大空方阵
  6. 使用GraphInsight打造TuGraph可视化分析应用
  7. 2022年全球市场低温真空泵总体规模、主要生产商、主要地区、产品和应用细分研究报告
  8. iText编辑Pdf模板
  9. ubuntu不支持安装搜狗_Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
  10. r9 4900h和r9 4900hs的差别