TCP/IP学习笔记(5)
2010-04-03 20:34:34 来源:WEB开发网一、DNS系统
1、DNS的授权:
网络信息中心NIC负责分配顶极域和委派其他指定地区域的授权机构。一个独立管理的DNS子树称为一个区域,许多二极域将他们的子域划分为更小的区域。当一个系统加入到一个区域中时,该区域的DNS管理者为该新系统申请一个域名和一个IP地址,并将他们加入到名字服务器的数据库中。
一个名字服务器负责一个或多个区域,一个区域的管理者必须为该区域提供一个主名字服务器和至少一个辅助名字服务器。
每个主名字服务器都必须知道根名字服务器的IP地址,根服务器必须知道所有二极域中每个授权名字服务器的名字和IP地址。
2、DNS报文格式:由12个字节首部和4个长度可变的字段组成。
标识 | 标志 |
问题数 | 资源记录数 |
授权资源记录数 | 额外资源记录数 |
查询问题 | |
问答(资源记录数可变) | |
授权(资源记录数可变) | |
额外信息(资源记录数可变) |
◆ 标识字段由客户程序设置并由路由器返回结果。客户程序通过它来确定响应与查询是否匹配。
◆ 标志字段被划分为若干子字段:
QR | opcode | AA | TC | RD | RA | (zero) | rcode |
QR-1位,0表示查询,1表示响应报文。
Opcode-4位,0表示标准查询,1表示反向查询,2表示服务器状态请求。
AA-1位,表示授权回答。
TC-1位,表示时可截断的,使用UDP时,它表示应当的总长度超过512字节时,只返回前512个字节。
RD-1位,表示期望递归。该位能在一个查询中设置,并在响应中返回。这个标志告诉名字服务器必须处理这个查询。如果该位为0,且被请求的名字服务器没有一个授权回答,它就返回一个能解答该查询的其他名字服务器列表,这称为叠代查询。
RA-1位,表示可用递归。如果名字服务器支持递归查询,则在响应中将该位置为1。
Rcode-4位返回码,0表示没有差错,3表示名字差错。名字差错只有从一个授权服务器上返回,它表示在查询中指定的域名不存在。
随后的4个16位的字段说明最后4个变长字段中包含的条目数。对于查询报文,问题数通常是1,而其他3项均为0。对于应答报文,问答数至少为1,剩下的2项可以是0或非0。
更多精彩
赞助商链接