第四次作业.docx
- 文档编号:29078811
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:15
- 大小:1.29MB
第四次作业.docx
《第四次作业.docx》由会员分享,可在线阅读,更多相关《第四次作业.docx(15页珍藏版)》请在冰豆网上搜索。
第四次作业
第4次作业:
以实验方式呈现并详细讲述DHCP、DNS的工作过程与原理
要求:
独立完成实验,切实掌握dhcp/dns工作原理;认真观察dhcp/dns工作过程中数据包的转发过程
批改完成计划:
第4周布置,第5周上交并批改
DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。
DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。
DHCP为客户端分配地址的方法有三种:
手工配置、自动配置、动态配置。
DHCP最重要的功能就是动态分配。
除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。
这使得客户端无需用户动手就能自动配置连接网络。
【DHCP的工作流程】
发现阶段,即DHCP客户机寻找DHCP服务器的阶段。
DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。
网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。
提供阶段,即DHCP服务器提供IP地址的阶段。
在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer提供信息。
选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。
如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。
之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。
确认阶段,即DHCP服务器确认所提供的IP地址的阶段。
当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ACK确认信息,告诉DHCP客户机可以使用它所提供的IP地址。
然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
重新登录,以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。
当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ACK确认信息。
如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP NACK否认信息。
当原来的DHCP客户机收到此DHCP NACK否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
更新租约,DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。
如果DHCP客户机要延长其IP租约,则必须更新其IP租约。
DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。
【DHCP的报文格式】
我们来介绍一下DHCP的报文格式,如图1,
OP
(1)
Htype
(1)
Hlen
(1)
Hops
(1)
TransactionID(4)
Seconds
(2)
Flags
(2)
Ciaddr(4)
Yiaddr(4)
Siaddr(4)
Giaddr(4)
Chaddr(16)
Sname(64)
File(128)
Options(variable)
(图1DHCP的报文格式)
OP:
若是client送给server的封包,设为1,反向为2;
Htype:
硬件类别,ethernet为1;
Hlen:
硬件长度,ethernet为6;
Hops:
若数据包需经过router传送,每站加1,若在同一网内,为0;
TransactionID:
事务ID,是个随机数,用于客户和服务器之间匹配请求和相应消息;
Seconds:
由用户指定的时间,指开始地址获取和更新进行后的时间;
Flags:
从0-15bits,最左一bit为1时表示server将以广播方式传送封包给client,其余尚未使用;
Ciaddr:
用户IP地址;
Yiaddr:
服务器分配给客户的IP地址;
Siaddr:
用于bootstrap过程中的IP地址;(服务器的IP地址)
Giaddr:
转发代理(网关)IP地址;
Chaddr:
client的硬件地址;
Sname:
可选server的名称,以0x00结尾;
File:
启动文件名;
Options:
,厂商标识,可选的参数字段
【抓包分析】
此次用的软件是:
wireshark(在宿舍内)
1.发现阶段:
2.提供阶段:
3.选择阶段
4.确认阶段:
【总结】
DNS工作原理
域名解析有正向解析和反向解析之说,正向解析就是将域名转换成对应的IP地址的过程,它应用于在浏览器地址栏中输入网站域名时的情形;而反向解析是将IP地址转换成对应域名的过程,但在访问网站时无须进行反向解析,即使在浏览器地址栏中输入的是网站服务器IP地址,因为互联网主机的定位本身就是通过IP地址进行的,只是在同一IP地址下映射多个域名时需要。
另外反向解析经常被一些后台程序使用,用户看不到。
除了正向、反向解析之外,还有一种称为“递归查询”的解析。
“递归查询”的基本含义就是在某个DNS服务器上查找不到相应的域名与IP地址对应关系时,自动转到另外一台DNS服务器上进行查询。
通常递归到的另一台DNS服务器对应域的根DNS服务器。
因为对于提供互联网域名解析的互联网服务商,无论从性能上,还是从安全上来说,都不可能只有一台DNS服务器,而是由一台或者两台根DNS服务器(两台根DNS服务器通常是镜像关系),然后再在下面配置了多台子DNS服务器来均衡负载的(各子DNS服务器都是从根DNS服务器中复制查询信息的),根DNS服务器一般不接受用户的直接查询,只接受子DNS服务器的递归查询,以确保整个域名服务器系统的可用性。
当用户访问某网站时,在输入了网站网址(其实就包括了域名)后,首先就有一台首选子DNS服务器进行解析,如果在它的域名和IP地址映射表中查询到相应的网站的IP地址,则立即可以访问,如果在当前子DNS服务器上没有查找到相应域名所对应的IP地址,它就会自动把查询请求转到根DNS服务器上进行查询。
如果是相应域名服务商的域名,在根DNS服务器中是肯定可以查询到相应域名IP地址的,如果访问的不是相应域名服务商域名下的网站,则会把相应查询转到对应域名服务商的域名服务器上。
DNS服务器性能
在递归查询过程可能需要占用大量资源,但对于DNS服务器来说它仍然具有一些性能上的优势。
例如,在递归过程中,执行递归查询的DNS服务器,获得有关DNS域名空间的信息。
该信息由服务器缓存起来并可再次使用,以便提高使用此信息或与之匹配的后续查询的应答速度。
虽然打开与关闭DNS服务时,这些缓存信息将被清除,但是随着时间的推移,它们会不断增加并占据大量的服务器内存资源。
DNS解析过程
DNS服务器解析的过程如下所示:
第一步:
客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:
当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:
如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:
本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:
重复第四步,直到找到正确的纪录。
第六步:
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
让我们举一个例子来详细说明解析域名的过程。
假设我们的客户机如果想要访问站点:
此客户本地的域名服务器是,一个根域名服务器是NS.INTER.NET,所要访问的网站的域名服务器是,域名解析的过程如下所示:
(1)客户机发出请求解析域名的报文。
(2)本地的域名服务器收到请求后,查询本地缓存,假设没有该纪录,则本地域名服务器则向根域名服务器NS.INTER.NET发出请求解析域名。
(3)根域名服务器NS.INTER.NET收到请求后查询本地记录得到如下结果:
NS(表示域中的域名服务器为:
),同时给出的地址,并将结果返回给域名服务器。
(4)域名服务器收到回应后,再发出请求解析域名的报文。
(5)域名服务器收到请求后,开始查询本地的记录,找到如下一条记录:
A211.120.3.12(表示域中域名服务器的IP地址为:
211.120.3.12),并将结果返回给客户本地域名服务器。
(6)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
DNS:
DomainNameSystem域名系统
DNS作用:
将域名解析为IP地址
将IP地址解析为域名
DNS查询类型:
从查询方式上分
递归查询:
客户端得到结果只能是成功或失败(客户端与本地DNS之间的交互)
迭代查询:
服务器以最佳结果作答(DNS服务器之间的交互)
从查询内容上分
正向查询:
由域名查找IP地址
反向查询:
由IP地址查找域名
DNS查询进程分两部分进行:
1.名称查询从客户端计算机开始,并传输至解析程序即DNS客户端服务程序进行解析。
2.不能在本地解析查询时,可根据需要查询DNS服务器来解析名称。
本地解析程序
该请求随后传输至DNS客户端服务,以便使用本地缓存信息进行解析。
如果可以解析查询的名称,则应答该查询,该进程完成。
本地解析程序的缓存可包括从两个可能的来源获取的名称信息:
如果在本地配置主机文件,则来自该文件的任何主机名称到地址的映射,在DNS客户端服务启动时将预先加载到缓存中。
从以前的DNS查询应答的响应中获取的资源记录,将被添加至缓存并保留一段时间。
综上所述:
客户端查询DNS的整个过程如下:
本地host文件---本地缓缓----DNS服务器
DNS服务器的应答:
权威性应答:
肯定应答:
参考性应答:
否定应答:
如果查询的最终应答太长而不能在一个UDP消息数据包中发送和解析,则DNS服务器可以在TCP端口53上发送故障转移响应消息,以便在TCP连接会话中完全应答客户端。
(为什么DNS会使用到TCP53端口)
默认情况下,在执行递归查询并联系其他DNS服务器时,DNS服务器使用若干默认的时间设置。
它们是:
3秒的递归重试间隔。
这是DNS服务在递归查询期间重试查询之前等候的时间长度。
15秒的递归超时间隔。
这是DNS服务在重试的递归查询失败之前等候的时间长度。
默认情况下,DNS服务器使用根提示文件Cache.dns,该文件存储在服务器计算机的systemroot\System32\Dns文件夹中。
当服务启动时,该文件的内容预先加载到服务器存储区,并包含运行DNS服务器所在的DNS命名空间的根服务器的指针信息。
DNS高级选项:
禁用递归(也禁用转发器):
默认为启用此项
BIND辅助区域:
如果区域数据不正确,记载会失败:
启用循环:
保护缓存防止污染:
系统为了安全起见,这个设置也是默认被开启的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 作业