- 浏览: 54719 次
- 性别:
- 来自: 广州
最新评论
-
Joson_Coney:
11.
while( (*strDest++ = *strSr ...
c++笔试题汇总 -
Joson_Coney:
③ 1.
int func(x)
{
int countx = ...
c++笔试题汇总 -
Joson_Coney:
链表反向1:
#include <cstdlib&g ...
c++笔试题汇总
(转自http://jwx.zgz.cn/cl/7.41.htm)
7.4.1 DNS协议及应用
|
|
DNS属于应用层的协议,DNS提供了将人类易于理解的主机名或域名转换为计算机或网络可识别的数字地址的机制,从而使得互连网的广泛应用成为可能。 一、 DNS涉及的基本概念 (1)域名及顶级域 1)域名 域名(Domain Name)通常是用户所在的主机名。域名格式是由若干部分组成,每个部分又称子域名,它们之间用“.”分开,每个部分最少由两个 字母或数字组成。城名通常按分层结构来构造,每个子域名都有其特定的含义。从右到左,子域名分别表示不同的国家或地区的名称(只有美国可以省略表示国家的 顶级域名)、组织类型、组织名称、分组织名称和计算机名称等,如www.example.com既是一个域名的典型例子。 2)域名地址的最后一部分子域名称为高层域名(或顶级域名) 它大致上可以分成两类:一类是组织性顶级域名;另一类是地理性顶级域名。 ① 组织性顶级域名的出发点是为了说明拥有并对那些Internet主机负有责任的组织的类型。 表7-36给出部分组织的分类及它们所对应的组织性顶级域名。
表7-36 组织性顶级域名 ????② 组织性域名除了国际性组织域名外,其它类型的组织在Internet诞生时就已存在了,但随着Internet的日益国际化,这种组织性顶级域名已难以满足需求了,于是便产生一种新的地理性顶级域名。地理性项级域名用两个字母的缩写形式来完全地表示某个国家和地区。(2)域名系统的构成 Internet中的域名地址与IP地址是等价的,它们之间通过域名系统DNS进行映射变换。实际上,DNS系统是一种分布式地址信息数据库系 统,采用客户机/服务器模式,服务器中包含整个数据库的某部分信息,并供客户查询。DNS允许局部控制整个数据库的某些部分,但数据库的每一部分都可通过 全网查询得到。 网络上的每台主机都有域名,指向主机相关信息,像IP地址等。主机也可以有一个或多个域的别名,它只是简单地从一个域名(别名)指向另一个域名 (正式域名)。DNS采用层次结构的优点:各个组织在它们的内部可以自由地选择域名,只要保证组织内的惟一性即可,而不必担心与其它组织内的域名相冲突。 域名系统采用的是客户机/服务器模式,由三部分构成:域名数据库、域名服务器和地址解析器。 各自功能如下: • 地址解析器是客户方,负责查询域名服务器、解释从服务器返回来的应答、将信息返回给请求方等工作。 • 域名服务器(Domain Name Server)是服务器方,存储并管理着所管辖区域的域名数据库,负责接收来自于地址解析器的请求,按照请求类型,进行递归与非递归查询。同时将查询结果返回给地址解析器(网络中的每台主机既可作为客户方,也可作为服务器方)。 • 域名数据库 域名数据库是一个大型的分布在整个网络上的分布式数据库,存储了按层次管理的相关的数据,该层次结构可理解为一棵倒放的树(见图10-2),树中 的每个结点均代表一个域,并存储着与该域相关的区域和资源记录(RRs),以供域名服务器查询使用。域名系统的构成如图7-37所示。
图7-37 DNS结构 ????(3)资源记录在一个域名服务器的配置文件里包含若干个资源记录,以帮助地址解析器进行地址解析。配置文件中资源记录所含的信息见表7-38资源记录示例,表中有关记录的内容及意义参照有关DNS报文格式进行解读。
表7-38配置文件中资源记录示例 ????(4)域名数据的分类域名数据分为两类数据:授权数据和缓冲数据。 1)授权数据 授权数据是经过授权的数据,该数据来自于负责存储该类数据的域名服务器,授权数据是最近得到的新数据,因而被认为是正确数据。该类数据使用价值 高,但为了获得授权数据其时间花费的代价也高。通常主机在发出地址解析请求时要在报文头中要指出是否需要授权数据(见图10-30报文头格式)。 2)缓冲数据 缓冲数据是早先请求或交互操作的应答数据,被主机存储在本地缓冲区内。这类数据与授权数据相比,使用价值略低一些,但时间花费的代价低。通常,在互联网稳定状态下,缓冲数据在某种程度上也是很有用的。 (5)域名区域 如果整个网络中只有一台域名服务器且其中存储了所有的DNS的信息,那么域名转换处理就简单的多了,因为网络中任意一个主机对域名查询的请求均发 向这惟一的一台域名服务器,它负责进行查询处理并将结果反馈给发出查询的主机即可。但是这种解决方案无论从数据的存储量还是从数据的传输速度要求都无法适 应不断变化的网络及用户的需求。为了满足变化的网络及庞大数据的存储量还是从数据的传输速度,DNS采用了一种树形结构对域名数据库进行组织和管理,树中 的每一个节点代表域名系统的域。域可以进一步划分成子域,每个域都有一个域名并由不同的组织管理,并定义了它在数据库中的位置。我们已经知道,在DNS 中,一个完整的域名是从该域向上直到根的所有标记组成的字符串,标记之间要用“.”分隔开。 1)域名区域的定义 为了便于对树中各节点代表域名信息进行有效的管理,就引出了域名区域的概念。域名区域是指一个域名服务器负责管理的命名空间的一部分。域名服务器负责维护自己管理区域的授权数据。域名区域构成见图10-2。 域名区域是由资源记录中的一组授权数据定义的。其内容有: • 域名区域中所有节点的资源记录。 • 域名区域中顶级节点的信息。如在图7-39中,Exam2.com区域的顶级节点是Exam2.com,Exam2.com节点可保存管理该区域所有节点的信息。 • 委托子区域信息(被委托给本区域中其它子区域管理的区域)。
当某个主机请求获得域名payroll.h2.Exam2.com的IP地址时,其地址解析程序首先从树的根节点获得域.com 的域名信息,然后从.com的域名服务器获得其管辖下的子区域Exam2.com的域名信息,这样逐级向下进行查询,直到到达payroll.h2.Exam2.com子区域的域名服务器,并从中获得其相应的IP地址,并反馈给地址解析程序。 (6)递归查询与非递归查询 综上所述,一个单一的域名服务器无法对每一个域名查询进行完整的回答,但是它可以对查询路径作出准确的响应。即,当一个域名服务器存储了一个域名 查询所请求域的所有授权信息,它可直接给出需要的查询结果,否则,它必须给出具有所需信息的最近的域名服务器,以便继续查询。所谓最近的域名服务器一般是 图7-39所示的区域树中父节点的域名服务器,一旦查询到具有目标域名信息的域名服务器,该域名服务器自动将目标地址信息发送到请求方。否则该域名服务器 继续向请求方推荐另一个更接近目标的域名服务器,上述过程一直持续到请求方得到正确的结果或在使用授权信息访问某个域名服务器时出现错误为止。这种查询过 程可能会反复多次。 1) 递归查询 所谓递归查询是指接收请求的第一个域名服务器必须自始至终对请求进行处理,或向其它域名服务器进行请求且最终获得授权数据,并对请求进行应答。采用递归查询时,当所请求的域名信息在自身缓冲区时,域名服务器直接返回缓冲数据。此时递归查询请求标志无效(见DNS报头介绍)。有关递归查询见图7-40所示。 2)非递归查询 所谓非递归查询是指接收请求的第一个域名服务器可以返回可靠数据(本身有时),也可以返回指向其它服务器的指针(相当于将查询的接力棒传给了最接近的域名服务器)。递归查询与非递归查询的区别可从图7-40看出。 主机的地址解析程序在查询时可以指定是否用递归还是非递归查询方式。非递归查询方式与递归查询方式相比响应速度快。 二、DNS的报文格式 DNS报文由报头和正文段构成,DNS有四类正文段:查询段、应答段、授权段和附加段。其具体构成见7-41所示。
图7-41 DNS报文结构 ???? 其中正文段中的查询段用于主机向域名服务器发出地址解析请求,应答段、授权段、附加段用于域名服务器向主机返回地址解析结果。DNS报文头和正文段的格式具体介绍如下。(1) DNS报文报头格式 DNS报文报头格式如图7-42所示。
7-42 DNS报头格式 ????各个字段意义简述如下:• ID:这是由生成DNS查询的程序指定的16位的标志符。该标志符也被随后的应答报文所用,申请者利用这个标志将应答和原来的请求对应起来。 • QR:该字段占1位,用以指明DNS报文是请求(0)还是应答(1)。 • OPCODE:该字段占4位,用于指定查询的类型。值为0表示标准查询,值为1表示逆向查询,值为2表示查询服务器状态,值为3保留,值为4表示通知,值为5表示更新报文,值6~15的留为新增操作用。 • AA:该字段占1位,仅当应答时才设置。值为1,即意味着正应答的域名服务器是所查询域名的管理机构或者说是被授权的域名服务器。 • TC:该字段占1位,代表截断标志。如果报文长度比传输通道所允许的长而被分段,该位被设为1。 • RD:该字段占1位,是可选项,表示要求递归与否。如果为1,即意味 DNS解释器要求DNS服务器使用递归查询。 • RA:该字段占1位,代表正在应答的域名服务器可以执行递归查询,该字段与查询段无关。 • Z:该字段占3位,保留字段,其值在查询和应答时必须为0。 • RCODE:该字段占4位,该字段仅在DNS应答时才设置。用以指明是否发生了错误。 允许取值范围及意义如下: 0:无错误情况,DNS应答表现为无错误。 1:格式错误,DNS服务器不能解释应答。 2:严重失败,因为名字服务器上发生了一个错误,DNS服务器不能处理查询。 3:名字错误,如果DNS应答来自于授权的域名服务器,意味着DNS请求中提到的名字不存在。 4:没有实现。DNS服务器不支持这种DNS请求报文。 5:拒绝,由于安全或策略上的设置问题,DNS名字服务器拒绝处理请求。 6 ~15 :留为后用。 • QDCOUNT:该字段占16位,指明DNS查询段中的查询问题的数量。 • ANCOUNT:该字段占16位,指明DNS应答段中返回的资源记录的数量,在查询段中该值为0。 • NSCOUNT:该字段占16位,指明DNS应答段中所包括的授权域名服务器的资源记录的数量,在查询段中该值为0。 • ARCOUNT:该字段占16位,指明附加段里所含资源记录的数量,在查询段中该值为0。 (2)DNS正文段 在DNS报文中,其正文段封装在图7-42所示的DNS报文头内。DNS有四类正文段:查询段、应答段、授权段和附加段。 1)查询段的格式 图7-43给出了查询段的格式。各字段意义为: • QNAME:该字段是可变长字段,其中包含一个被请求的域名,用一系列标签表示,每一个标签由一个八进制后面跟着一个表示长度的八进制数组成。 • QTYPE: 该字段占16位,指定查询的资源类型(Type),该字段将一个类型值与一条指定的资源记录相匹配(有些通用的QTYPE值可以和与多条资源记录相匹 配),其值可以是A(请求主机IP地址)、NS(请求授权域名服务器)或CNAME(请求返回规范名称,或者是某主机使用的与别名对应的真实名称)。 • QCLASS: 该字段占16位,指定查询的类别(Class),如Inet用以表示互联网和IP地址查询。
图7-43 DNS报文中查询段的格式 ????2)应答段、授权段、附加段的格式查询段是主机向域名服务器发出的将域名转换为IP地址的请求报文,域名服务器按照主机查询类型,经过查询资源记录数据库后返回含有资源记录的应答 段、授权段或附加段,资源记录告诉主机所查询的信息。应答段、授权段、附加段具有相同的格式,其格式如图7-44所示。 各字段意义介绍如下: • NAME:该字段是可变长字段,资源记录对应的域名(与主机发出的查询段中QNAME相同)。 • TYPE:占16位,该字段与查询段中的QTYPE相同。 • CLASS:占16位,该字段与查询段中的QCLASS相同。 • TTL:占32位,该字段表示资源记录的生命周期(以秒为单位),一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间。 • RDLENTH:占16位,该字段表示资源数据的长度(以字节为单位)。 • RDATA:该字段是可变长字段,表示按查询段要求返回的相关资源记录的数据。其TYPE值是A,则返回4个字节的主机IP地址,如果 TYPE值是NS,则返回授权域名服务器的域名,如果TYPE值是CNAME,则返回规范名称,或者是该主机使用的与别名对应的真实名称)。
(1)DNS的工作过程 域名系统是一个分布式系统,其管理和控制也是分布式的。一个用户A在查找另一用户B的域名时,域名系统的工作过程如图7-45所示。
(2)DNS工作实例 以下给出一个要求查找域名是www.internet-standard.com的IP地址的DNS查询实例。 1)DNS查询报文 查询主机发出的DNS查询报文见图7-46所示。其DNS查询报文中报头意义如下: • QR=0:表示为查询段。 • OPCODE=0000:表示为标准查询。 • AA=0:表示为未要求授权。 • TC=0:未截断。 • RD=1:表示为要求递归查询。 • RA=0:该项与应答有关,与查询无关,因此设置为零。 • Z=000:属保留位 • RCODE=0000:该项是对应答信息的设置,与查询无关,故均设置为0。 • QDCOUNT=1:该项表示只有1条查询信息。 • ANCOUNT=0:该项表示应答时返回资源记录的数量,由于是查询信息,故设为0。 • NSCOUNT=0:该项表示应答时返回授权服务器资源记录的数量,对于查询段,应设置为零。 • ARCOUNT=0:该项表示应答时返回附加的授权域名服务器资源记录的数量,对于查询段,应设置为零。 • QNAME=www.internet-standard.com:该项给出要求查询的域名。 • QTYPE=A:该项表示要求查询IP地址。 • QCLASS=inet:该项表示互联网的IP地址查询。
相关域名服务器收到DNS查询报文后,进行解包分析,通过判定,确定起为一般的递归查询报文,要查询的是域名为www.internet- standard.com,并且得知要求返回对应的IP地址,经过一系列的查询处理,获得了相应的资源记录RRs,返回与上述DNS查询段对应的DNS应 答报文,具体应答报文如图7-47所示。 ① DNS应答报头解释 在DNS应答报头中,只需修改与应答有关的字段:QR、RA、RCODE、ANCOUNT、NSCOUNT、ARCOUNT。 • QR=1:表示为应答段。 • OPCODE=0000:表示为标准查询。 • AA=0:表示为未要求授权。 • TC=0:未截断。 • RD=1:表示为要求递归查询。 • RA=1:表示正在应答的域名服务器可以执行递归查询。 • Z=000:属保留位 • RCODE=0000:该项是对应答情况的设置,其值为零表示无错误。 • QDCOUNT=1:该项表示只有1条查询信息。 • ANCOUNT=2:该项表示应答时返回资源记录的数量为2条。 • NSCOUNT=2:该项表示应答时返回授权服务器资源记录的数量为2条。 • ARCOUNT=0:该项表示应答时返回附加的授权域名服务器资源记录的数量为0。 • QNAME=www.internet-standard.com:该项给出要求查询的域名。 • QTYPE=A:该项表示要求查询IP地址。 • QCLASS=inet:该项表示互联网的IP地址查询。 ② DNS应答部分查询段解释 在DNS应答报文中,仍需将原查询段的内容附加在报头其后。但内容不变。 ③ DNS应答部分的第一条资源记录解释 • NAME= www.internet-standard.com:要查询的域名,即资源记录中对应的域名。 • TYPE=CNAME:意味着www.internet-standard.com是别名。 • CLASS= inet:表示是互联网。 • TTL=60:该资源记录的生命周期是60秒(以秒为单位)。 • RDLENTH=2:表示资源数据的长度为2个字节(以字节为单位),此处是指针程度。 • RDATA= internet-standard.com:该主机使用的与别名对应的真实名称。 ④ DNS应答部分的第二条资源记录解释 • NAME= internet-standard.com:要查询的主机的真实域名,由上一条资源记录返回的“RDATA”的值。 • TYPE=A:表示要查询的是internet-standard.com 对应的IP地址。 • CLASS= inet:表示是互联网。 • TTL=60:同上。 • RDLENTH=4:表示资源数据的长度为4个字节(RDATA所表示的IP地址长度)。 • RDATA=216.92.98.204:该主机真实域名所对应的IP地址。 ⑤ DNS应答部分的第一条授权资源记录解释 NAME= internet-standard.com:要查询的主机的真实域名。 • TYPE=NS:返回的资源记录是授权服务器的域名。 • CLASS= inet:表示是互联网。 • TTL=60:同上。 • RDLENTH=1:表示资源数据的长度为11个字节。 • RDATA=ns00.ns0.com:对请求域进行管理的授权服务器的域名。 ⑥ DNS应答部分的第二条授权资源记录解释 • NAME= internet-standard.com:要查询的主机的真实域名。 • TYPE=NS:返回的资源记录是授权服务器的域名。 • CLASS= inet:表示是互联网。 • TTL=60:同上。 • RDLENTH=13:表示资源数据的长度为13个字节。 • RDATA= ns130.pair.com:对请求域进行管理的另一个授权服务器的域名。
|
发表评论
-
【转】DNS协议报文(RFC1035)
2012-01-27 06:46 1297(转自:http://hi.baidu. ... -
【转】Protocol Header Images
2012-01-27 06:45 604http://www.troyjessup.com/heade ... -
DNS 伺服器
2012-01-26 06:03 501DNS 伺服器http://linux.vbird.org/l ... -
HTTP Request
2012-01-26 06:02 722HTTP Request Published ... -
HTTP multipart/form-data 上传方式说明
2012-01-26 06:01 826( From: http://home.meegoq.c ... -
Struts2源码分析--请求处理
2011-12-01 10:03 607(转自:http://www.blogjava.ne ... -
java web学习笔记
2011-11-21 09:50 546Tomcat Configuration 资 ... -
[转] HTTP multipart/form-data 上传方式说明
2011-10-15 06:08 1263( From: http://home.meegoq.co ... -
Multipart uploading spec
2011-10-15 06:07 638Upload File: abc.txtContent:abc ... -
【转】Webcam Manipulation with Javascript
2011-10-15 06:04 757( From:http://blog.trumpton.org ... -
Table单元格td的position:relative的兼容性
2011-10-11 12:35 1874( From: http://www.itref.cn/a/ ... -
a lib: jXHR (JSON-P XHR)
2011-10-11 12:18 652http://mulletxhr.com/ -
Remote JSON - JSONP
2011-10-11 12:16 670( From : http://bob.pythonmac.o ... -
cross-domain资源
2011-10-07 01:32 549发现一个网站,没来得及细看,留个网址:http://www.c ... -
Single Sign-On
2011-10-07 01:25 572Single Sign-On Single sign-on ... -
HTTP multipart/form-data 上传方式说明
2011-10-07 01:23 766HTTP multipart/form-data 上传方式 ... -
【转】HTTP协议报文格式
2011-10-07 01:21 662(From: http://book.51cto.com/ar ... -
Relying on DOM readiness to invoke a function (instead of window.onload)
2011-10-06 06:45 579( From: http://www.javascriptki ... -
【转】Calling Cross Domain Web Services in AJAX
2011-10-06 06:41 719(From: http://www.simple-talk ... -
Which browsers support HTML5, CSS3, Data URLs, etc.
2011-10-06 06:38 614http://caniuse.com/#
相关推荐
dns协议解析包 v1.0源码 介绍: 一个c#开发的dns协议解析包。可以生成查询请求,接收返回的数据,并解析出结果。 应用场景: 如果只是想根据域名获取ip地址,可以使用.net自带的类“System.Net.Dns.GetHostByName...
8.1.4 UDP协议的应用实例——DNS系统1
实验二 应用层协议分析实验报告 .实验目的: 分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。 2.实验环境:
应用层协议介绍,包括ftp,http,dns,smtp和telnet
应用层协议分析实验报告,分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。
分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。
IP是一种普遍应用于因特网、允许不同主机能够相互找到对方的寻址协议。IP地址由4个十进制的数字号码所组成,而每一个号码的值介于0~255之间,它虽然解决了网络上计算机的识别问题,但是IP地址确不容易记,因此域名...
计算机网络实验应用层协议综合实验实验要求 记录实验的基本数据,包括选用的计算机的IP地址、连接的端口号、使用的协议等; 记录实验中取消DNS设置前用域名访问河南工业大学网站的实验结果和取消DNS设置后用域名...
DNS协议为应用层协议,可实现IP地址和主机名之间的转换。获得给定主机名的ip,获得给定ip的主机名。
1、捕获TCP三次握手的过程,说明其原理。 2、捕获HTTP工作过程,分析HTTP协议。 3、捕获UDP协议包,写出其格式。 4、捕获DNS数据包,写出DNS工作原理。
第五版的习题答案,pdf格式,愿意下的尽快!
支持HTTPS上的DNS和TLS上的DNS协议。 内置的递归解析器模块可自动查询权威名称服务器。 支持IPv6。 支持返回JSON响应的HTTP REST API。 托管在GitHub上的开源跨平台.NET Core实现。系统要求需要安装 。 支持Windows...
实验 15 应用层协议-4:NetBIOS应用及SMB/CIFS协议 实验 16 路由协议-1:路由信息协议RIP 实验 17 路由协议-2:开放式最短路径优先协议OSPF ◆网络攻防实验 实验 18 网络攻防-1:ARP地址欺骗 实验 19 网络攻防-2:...
实验报告九 观察运输层协议为应用层协议提供服务工作过程 实验目的 1、安装并学会使用Cisco Packet Tracer Student工具软件。 2、连接一台客户机和一台服务器,在该服务器上部署Web网站、FTP服务、DNS服务。客户机...
文档收集了常用的网络传输协议,数据报格式,并且对每个字段有详细的解释,还有部分应用
(2) 浏览器向 DNS 请求解析网站域名的 IP 地址 (3) 域名系统 DNS 解析出服务器的 IP 地址 (4) 浏览器与服务器建立 TCP 连接(5)
支持TCP, UDP, ICMP, DHCP, ARP, IGMP, DNS 等网络协议; WLAN连接支持开放,WEP和WPA/WPA2-PSK模式操作; 支持TCP和UDP的服务器和客户端方式的数据传输,串口数据透明传输; 通过串口使用简单命令或者Web Server...
学会安装DNS服务器,学会配置DNS服务器属性,掌握nslookup命令的使用;要求详细记录关键配置步骤,并对所有的域名使用nslookup进行测试,记录测试结果。
3.2.4 DNS协议 3.2.5 HTTP协议 3.2.6 IP协议 3.2.7 UDP协议 3.2.8 FTP协议 4.功能实现 4.1服务器配置 4.2各部门路由器、交换机配置 4.3校园网测试 5. 存在问题及解决方法/方案 6. 心得体会 7. 致谢 8. ...