1.概述

    域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,提供主机名字和ip地址转换的选路信息,在应用的角度上,DNS的访问通过地址解析器(resolver)完成,在unix中,解析器通过两个库函数gethostbyname和gethosybyaddr来访问,前者接受主机名字并返回IP地址,后者接收IP地址来寻找主机名字.解析器通过一个或多个名字服务器来完成这种相互交换.在RFC 1034 说明了DNS的概念和功能,RFC1035中揭示了DNS的规范和实现.

2.BASIC

  1.每个结点有至多63个字符长的标示,命名标示一律不区分大小写,以.分隔域名,域名树必须有一个唯一的域名,域名树的不同结点可使用不同的标示.

  2,顶级域名分为3个部分

    (1)apra是一个用作地址到名字的特殊域

     (2)7个3字符长的普通域

    (3)所有2字符长的域均基于ISO3166定义的国家代码

  3.在普通域中分为7个划分

描述
com 商业组织
edu 教育机构
gov 美国政府部门
int 国际组织
mil 美国军事网点
net 网络
org 其他组织

  3.DNS报文格式

    DNS定义了一个用于查询和响应的报文格式

  1.报文由12个字节长的首部和4个长度可变得字段组成

  标示字段由客户程序设置并由服务器返回结果,客户程序通过它确定响应与查询是否匹配

  16bit标志字段被划分为若干个字段

  

  QR是1bit字段:0标示查询报文,1标示响应报文

  opcode是4bit字段.0为标准查询,1为(反向查询)和2(服务器状态请求)

AA是1bit标志,标示授权回答(authoritative answer)该名字是授权于该域名的

  TC是1bit字段,标示可截断的,使用UDP时,表示应答长度超过512字节时,只返回当前的512字节

RD是1bit表示期望递归,

  RA是1bit字段,标示可用递归

  随后的3字段必须为0

rcode是一个4bit的返回码字段,通常值为0(没有差错)和3(名字差错),名字差错只有一个授权名字服务器返回,标示查询中制定的域名不存在

  随后的4个16bit说明最后4个变长字段包含的条目数

  

  

 

  

TCP/IP DNS的更多相关文章

  1. [TCP/IP]DNS解析

    DNS解析主机的IP地址 host -t A www.baidu.com

  2. TCP/IP详解之:IGMP和DNS

    第13章 IGMP:Internet组管理协议 IGMP用于支持主机和路由器进行多播: IGMP是IP层的一部分,IGMP报文通过IP数据报进行传输: IGMP报文长度为固定8 Byte: 报文中,I ...

  3. TCP/IP(六)应用层(DNS和HTTP协议)

    前言 到这一篇我已经把TCP/IP五层模型详细的说明了一遍,大体的从物理层到最上层的应用层做了一个大概的了解,其实总体学下来东西非常的多,我们需要经常的去系统性的去学习它.不然过一段时间就忘记了! 回 ...

  4. HTTP相关:TCP/IP、DNS

    最近在看HTTP的书,看得有点慢,而且断断续续的,很多东西看完就忘了.知识点多且零散,感觉要多看几遍才能消化. TCP/IP协议族按层次分为4层: 应用层: 应用层决定了向用户提供应用服务时通信的活动 ...

  5. IP、TCP和DNS与HTTP的密切关系

    看了上一篇博文的发表时间,是7月22日,现在是10月22日,已经有三个月没写博客了.这三个月里各种忙各种瞎折腾,发生了很多事情,也思考了很多问题.现在这段时间开始闲下来了,同时该思考的事情也思考清楚了 ...

  6. TCP/IP详解 卷一(第十四章 DNS:域名系统)

    域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过 ...

  7. tcp协议 tcpip协议 http协议,IP,DNS,端口号

    每当看到HTTP协议,tcp/ip协议,TCP协议总是蒙圈:在这里先记录一下,方面自己查看 TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接 ...

  8. TCP/IP(域名DNS)

    域名是不带http://的. 有DNS就能解析域名,只要联网,不用担心你的域名和IP无法映射起来. 当然,域名和IP的映射也可以通过本地hosts文件(优先于DNS)添加.C:\Windows\Sys ...

  9. 结合Wireshark捕获分组深入理解TCP/IP协议栈之DNS协议

    摘要:     本文简单介绍了DNS协议理论知识,给出URL解析步骤,详细讲述了DNS报文各个字段含义,并从Wireshark俘获分组中选取DNS相关报文进行分析. 一.概述 1.1 DNS      ...

随机推荐

  1. 因为对 Docker 不熟悉建了 N 多个 Nginx

    因为对 Docker 不熟悉建了 N 多个 Nginx 一直不停的 docker run nginx 结果出现无数个 nginx. 然后最原来的 nginx 启动不了了. 使用 docker ps - ...

  2. js获取屏幕相关值

    <html><script>function a(){document.write("屏幕分辨率为:"+screen.width+"*" ...

  3. 【MySQL基础】Mysql获得当前日期的所在月的第一天

    Mysql获得当前日期的所在月的第一天 尊重劳动成果,请访问CSDN著者原文链接 http://blog.csdn.net/zixiao217/article/details/51908506 Ste ...

  4. [MySQL]获取当月每一天

    常用使用场景: 统计某个月(某个时间区间)内每一天的数据量 select date_add(curdate(), interval(cast(help_topic_id as signed integ ...

  5. WPS修订功能的使用

    WPS设置 设置用户名: 修改之后的效果:

  6. hdu 3938 Portal (prim+离线)

    Problem - 3938 题意是要求出给定权值下,满足要求的点对的数目.所谓的要求是,给出两点,之间会有很多路径,这个点对的最小距离是众多路径中,最短的一条路径的长度,路径长度是路径上最长边的长度 ...

  7. @noi.ac - 443@ 老头子的话

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 老头子是小学校长,小学生(大哥)们都很听老头子的话.一天,老头子 ...

  8. python命令之m参数 局域网传输

    在命令行中使用python时,python支持在其后面添加可选参数. python命令的可选参数有很多,例如:使用可选参数h可以查询python的帮助信息: 可选参数m 下面我们来说说python命令 ...

  9. H3C 主机单播IP包发送

  10. jqLite

    一.关于DOM导航的jqLite方法 children() 返回一组子元素.这个方法的jqLite实现不支持jQuery所提供的选择器特性 eq(index) 从一个元素集合中返回指定索引下的元素 f ...