第四次作业
第4次作业:以实验方式呈现并详细讲述DHCP 、DNS 的工作过程与原理 要求:独立完成实验,切实掌握dhcp/dns工作原理;认真观察dhcp/dns工作过程中数据包的转发过程批改完成计划:第4周
第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,

(图1 DHCP 的 报文格式)
OP :若是client 送给server 的封包,设为1,反向为2;
Htype :硬件类别,ethernet 为1;
Hlen :硬件长度,ethernet 为6;
Hops :若数据包需经过router 传送,每站加1,若在同一网内,为0;
Transaction ID:事务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 工作原理
