计算机网络实验2-协议分析_第1页
计算机网络实验2-协议分析_第2页
计算机网络实验2-协议分析_第3页
计算机网络实验2-协议分析_第4页
计算机网络实验2-协议分析_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验二:协议数据的捕获和解析 作作者者:学学 号号: 学学院院( (系系) ):计算机学院 专专业业: 班班 级级: 指指导导教教师师: 目 录 一、实验准备一、实验准备.3 1.1. 实验目的.3 1.2. 实验设备环境.3 1.3. 实验内容.3 1.4. 实验原理.3 二、二、 实验步骤实验步骤.7 2.1. 准备工作.7 2.2. 数据捕获.7 2.3. 协议分析.8 三、三、 实验结果分析实验结果分析.8 3.1. IP 协议.8 3.2. ICMP 协议.16 3.3. DHCP 协议 .20 3.4. ARP 协议.33 3.5. 观察网络中的其他分组.36 三、三、 实验心得

2、实验心得.38 四、四、 参考文献参考文献.38 一、一、实验准备实验准备 1.1.实验目的实验目的 掌握具体的包格式 进一步从网络中熟悉和了解计算机网络中现存的协议对应的包格式 通过本次实验了解计算机上网的工作过程,学习各种网络层分组的格式及其 作用,理解长度大于 1500 字节 IP 数据组分片传输的结构。 掌握各种分组在网络通信中的应用,了解整个上网的工作过程。 1.2.实验设备环境实验设备环境 1 台装有 MS Windows 系列操作系统的 pc 机 PC 机器能够连接到 Internet、安装能运行的 WireShark 软件 1.3.实验内容实验内容 本次实验主要包含下列内容:

3、使用Wireshark软件捕获在使用ping命令时产生的ICMP消息; 分析网络层IP包头格式,理解各字段的作用,对于分段和校验和进行验证; 使用Wireshark软件捕获在使用ARP消息,分析其消息格式,理解其工作原理; 使用Wireshark捕获DHCP消息,分析其消息序列,理解DHCP的功能和操作原理。 通过本实验深入理解分层体系结构,理解和掌握 TCP/IP 协议栈的代表协议 IP、 UDP、ICMP、ARP 和 DHCP 协议的要点。 1.4.实验原理实验原理 根据网络中的数据分层原理,在计算机网络中由于大都是使用 IP 进行网络互 联,因此包的格式是有规律的,其中在当前公网中路由器

4、支持的包也为 IP 格 式包,因此我们通过分析抓取的 IP 包就可以得到包的部分信息 其中IPV4的包格式如下图示: ICMP包在网络的相关控制和调试方面启到了关键性作用,因此对ICMP包格 式进行过滤获取是很重要的,ICMP包将自身包装一层IP头,然后在网络中间 进行传输: 其中 ICMP 包格式如下 其中类型字段表示 ICMP 报文的类型;代码字段是为了进一步区分某种类型 的几种不同情况,类型(Type)与代码(Code)的具体描述如下: 校验和字段用来检验整个 ICMP 报文。接着的 4 个字节的内容与 ICMP 的类型有关。 再后面是数据字段,其长度取决于 ICMP 的类型。 DHCP

5、 报文 通过查阅 RFC2131 可以得到数据的报文结构,如下(括号里的数字表示字段的 长度,单位是字节): DHCP 报文中的 Options 字段可以用来存放某些普通协议中没有定义的控制 信息和参数。如果用户在 DHCP 服务器端配置了 Options,DHCP 客户端在申 请 IP 地址的时候,会通过服务器端回应的 DHCP 报文获得 Options 字段中的配 置信息。其他字段会在后面分析。 ARP 报文结构: 硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为 1; 协议类型字段:指明了发送方提供的高层协议类型,IP 为 0800(16 进制); 硬件地址长度和协议长度:指

6、明了硬件地址和高层协议地址的长度,这样 ARP 报 文就可以在任意硬件和任意协议的网络中使用; 操作字段:用来表示这个报文的类型,ARP 请求为 1,ARP 响应为 2,RARP 请 求为 3,RARP 响应为 4; 发送方的硬件地址(0-2 字节):源主机硬件地址的前 3 个字节; 发送方的硬件地址(3-5 字节):源主机硬件地址的后 3 个字节; 发送方 IP(0-1 字节):源主机硬件地址的前 2 个字节; 以太网帧数据最长为 1500 字节,以太网广泛应用在各种网络中,而以太网格 式如下: 二、二、 实验实验步骤步骤 2.1. 准备工作准备工作 1. 下载Wireshark软件并了解其

7、功能和使用方法。 2. 确保计算机已经连接到网络。 3. 启动Wireshark1,设置捕获接口(Interface)为本机网卡,选中混杂模式 (promiscuous mode)捕获选项,设置合适的捕获过滤器(Capture Filter): 对于ping命令,设置过滤器为icmp 对于DHCP消息,设置过滤器为udp port 67 对于ARP消息,设置过滤器为arp 4. 开始捕获。 2.2. 数据捕获数据捕获 A.捕获ICMP协议数据 1. 运行ping命令(例如:c ping 192.168.0.1) ,远程主机地址可以是本机地址、网 关路由器地址,也可以是域名(如) 。将捕获到的数

8、据保存为文件。 2. 使用Windows中ping命令的-l选项(例如:cping -l 8000 192.168.0.1) ,制作大 于8000字节的IP包并发送,捕获后分析其分段传输的包结构。 B.捕获DHCP协议消息 1. 使用ipconfig命令释放计算机的IP地址(cipconfig -release) ; 2. 使用ipconfig命令重新申请IP地址(cipconfig -renew) 。 此时wireshark窗口中可以捕获到完整的DHCP地址分配的流程,将捕获到的数据保存为 文件。 C.捕获ARP协议数据 采用与7.2.2相同的方法释放IP地址并重新申请,在wireshark

9、窗口中可以捕获到ARP请 求和响应消息,保存为文件。 2.3. 协议分析协议分析 运行Wireshark软件,打开捕获数据文件,完成下列分析工作: 1. IP包头分析:对于采用ping命令-l选项捕获的ICMP消息,对承载ICMP消息的IP包进 行分析,记录包头各字段的值,对照讲义和教材分析各字段的功能,并对于校验和和 分段进行验证; 先导域先导域源地址源地址目的地址目的地址长度长度数据数据校验和校验和 2. ICMP消息分析:记录并分析ICMP消息中分析各字段的功能; 3. DHCP消息分析:针对一次地址分配过程(Transaction ID相同的4个消息) ,分析其 通信过程,画出地址分配

10、的消息序列图,并记录采用DHCP协议配置的各个参数。 4. ARP消息分析:对照讲义理解ARP的操作过程,记录并分析消息中各字段的功能。 三、三、 实验结果分析实验结果分析 3.1. IP 协议协议 运行 ping l 8000 制作一个 8000 字节的 IP 包并发送,捕获后分析 IP 分段传输的包结构。目的地址为 。 制作包如下: 抓包过滤得到的信息如下: 3.1.1.3.1.1. 捕获捕获 IPIP 包分析包头字段及包分析包头字段及 IPIP 包分段原理:包分段原理: 链路层具有最大传输单元 MTU 这个特性,它限制了数据帧的最大长度,不同的网 络类型都有一个上限值。如果 IP 层有数

11、据包要传,而且数据包的长度超过了 MTU,那 么 IP 层就要对数据包进行分段(fragmentation)操作,使每一片的长度都小于或等 于 MTU。 由上图可知 8000 字节的 IP 包被分成 6 个分组发送。 IP 首部包含了分片和重组所需的信息: 16位的标识(Identification):发送端发送的 IP 数据包标识字段都是一个唯 一值,该值在分片时被复制到每个片中。 3位的标志字段分别是: R:保留未用。 DF:Dont Fragment, “不分段”位,如果将这一比特置1,IP 层将不对数据报进 行分片。 MF:More Fragment, “更多的段” ,除了最后一片外,

12、其他每个组成数据报的片都 要把该比特置1。 Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以 8。 另外,当数据报被分段后,每个片的总长度值要改为该片段的长度值。 下面通过对这六个 IP 分组包头的分析,验证分段原理。 其中 IP 分组 1 为: 由上图可知: 字段字段 报文(报文(1616 进制)进制) 备注备注 版本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节 服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性 总长度总长度 05dc05dc 分组长度分组长度 1

13、5001500 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0101 MF=1MF=1,DF=0DF=0,允许分片,允许分片 此片不是最后一片此片不是最后一片 偏移值偏移值 0000 偏移量为偏移量为 0 0 生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 faa6faa6 IPIP 头部校验和为头部校验和为 faa6faa6 源地址源地址 76e5dob676e5dob6 源地址为源地址为 118.229.208.182118.2

14、29.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 上述为第一片,由于数据最长为 1500 字节,而 IP 头占据 20 字节,因此实 际的数据只有 1480 字节,那么分组 2 偏移应该为 1480,实际我们采集到的 IP 分组 2 为: 由上图可知: 字段字段 报文(报文(1616 进制)进制) 备注备注 版本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节 服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性

15、 总长度总长度 05dc05dc 分组长度分组长度 15001500 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0101 MF=1MF=1,DF=0DF=0,允许分片,允许分片 此片不是最后一片此片不是最后一片 偏移值偏移值 20b920b9 偏移量为偏移量为 14801480 生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 f9edf9ed IPIP 头部校验和为头部校验和为 f9edf9ed 源地址源地址 76e5dob676

16、e5dob6 源地址为源地址为 118.229.208.182118.229.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 上述为第 2 片,由于数据最长为 1500 字节,而 IP 头占据 20 字节,因此实际 的数据只有 1480 字节,那么分组 3 偏移应该为 1480*2 = 2960,实际我们采集到的 IP 分组 3 为: 由上图可知: 字段字段 报文(报文(1616 进制)进制) 备注备注 版本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节

17、服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性 总长度总长度 05dc05dc 分组长度分组长度 15001500 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0101 MF=1MF=1,DF=0DF=0,允许分片,允许分片 此片不是最后一片此片不是最后一片 偏移值偏移值 21722172 偏移量为偏移量为 29602960 生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 f934f9

18、34 IPIP 头部校验和为头部校验和为 f934f934 源地址源地址 76e5dob676e5dob6 源地址为源地址为 118.229.208.182118.229.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 上述为第 3 片,由于数据最长为 1500 字节,而 IP 头占据 20 字节,因此实际 的数据只有 1480 字节,那么分组 4 偏移应该为 1480*3 = 4440,实际我们采集到的 IP 分组 4 为: 由上图可知: 字段字段 报文(报文(1616 进制)进制) 备注备注 版

19、本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节 服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性 总长度总长度 05dc05dc 分组长度分组长度 15001500 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0101 MF=1MF=1,DF=0DF=0,允许分片,允许分片 此片不是最后一片此片不是最后一片 偏移值偏移值 222b222b 偏移量为偏移量为 44404440 生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101

20、 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 f87bf87b IPIP 头部校验和为头部校验和为 f87bf87b 源地址源地址 76e5dob676e5dob6 源地址为源地址为 118.229.208.182118.229.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 上述为第 4 片,由于数据最长为 1500 字节,而 IP 头占据 20 字节,因此实际 的数据只有 1480 字节,那么分组 5 偏移应该为 1480*4 =5920,实际我们采集到的 I

21、P 分组 5 为: 由上图可知 字段字段 报文(报文(1616 进制)进制) 备注备注 版本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节 服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性 总长度总长度 05dc05dc 分组长度分组长度 15001500 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0101 MF=1MF=1,DF=0DF=0,允许分片,允许分片 此片不是最后一片此片不是最后一片 偏移值偏移值 22e422e4 偏移量为偏移量为 59205920

22、生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 f7c2f7c2 IPIP 头部校验和为头部校验和为 f7c2f7c2 源地址源地址 76e5dob676e5dob6 源地址为源地址为 118.229.208.182118.229.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 上述为第 5 片,由于数据最长为 1500 字节,而 IP 头占据 20 字节,因此实际 的数据只有

23、 1480 字节,那么分组 6 偏移应该为 1480*5 =7400,实际我们采集到的 IP 分组 6(最后 1 包)为: 由上图可知: 字段字段 报文(报文(1616 进制)进制) 备注备注 版本版本 4 4 IPV4IPV4 包头长度包头长度 5 5 报头长报头长 2020 字节字节 服务类型服务类型 0000 正常时延,正常吞吐量,正常时延,正常吞吐量, 正常可靠性正常可靠性 总长度总长度 02740274 分组长度分组长度 628628 字节字节 标识标识 f99bf99b 序列号序列号 6389963899 标志标志 0000 MF=0MF=0,DF=0DF=0,允许分片,允许分片

24、此片是最后一片此片是最后一片 偏移值偏移值 039d039d 偏移量为偏移量为 74007400 生存周期生存周期 4040 每跳生存周期为每跳生存周期为 64s64s 协议协议 0101 携带的数据来自携带的数据来自 ICMPICMP 协议协议 头部校验和头部校验和 1a721a72 IPIP 头部校验和为头部校验和为 1a721a72 源地址源地址 76e5dob676e5dob6 源地址为源地址为 118.229.208.182118.229.208.182 目的地址目的地址 d34445fed34445fe 目的地址为目的地址为 211.68.69.254211.68.69.254 此

25、包长度为 628,由于为 ICMP 包,占用了 8 个字节,而实际数据为 620 字节, 则数据总长度为 1480*5+620 = 8000 字节,由数据解析获得验证如下表,则有: 3.1.2.IP3.1.2.IP 包头校验和的校验原理包头校验和的校验原理: : 首部检验和字段是根据 IP 首部计算的检验和码。它不对首部后面的数据进行计算。 ICMP、IGMP、UDP 和 TCP 在它们各自的首部中均含有同时覆盖首部和数据检验和码。 为了计算一份数据报的 IP 检验和,首先把检验和字段置为 0。然后,对首部中每个 16 bit 进行二进制反码求和(整个首部看成是由一串 16 bit 的字组成)

26、 ,结果存在检验和 字段中。当收到一份 IP 数据报后,同样对首部中每个 16 bit 进行二进制反码的求和。 由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输 过程中没有发生任何差错,那么接收方计算的结果应该为全 1。如果结果不是全 1(即 检验和错误) ,那么 IP 就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢 失的数据报并进行重传。需要说明的是,IP 协议仅计算 IP 包头的校验和,而不计算数 据区的校验和。这样做是为了减少路由器的计算量,同时也让上层协议可以为数据提 供自己的校验和计算方法。 下面描述捕获的 IP 包头校验和的计算过程,以 IP 分组

27、 6 为例: IP 包头为:45 00 02 74 f9 9b 03 9d 40 01 1a 72 76 e5 d0 b6 d3 44 45 fe 4 45 5 0 00 0 0 01 10 00 0 0 01 10 01 1 0 00 00 00 0 0 00 00 00 0 0 02 2 7 74 4 0 00 00 00 0 0 00 01 10 0 0 01 11 11 1 0 01 10 00 0 f f9 9 9 9b b 1 11 11 11 1 1 10 00 01 1 1 10 00 01 1 1 10 01 11 1 0 03 3 9 9d d 0 00 00 00 0 0

28、 00 01 11 1 1 10 00 01 1 1 11 10 01 1 4 40 0 0 01 1 0 01 10 00 0 0 00 00 00 0 0 00 00 00 0 0 00 00 01 1 1 1a a 7 72 2 0 00 00 01 1 1 10 01 10 0 0 01 11 11 1 0 00 01 10 0 7 76 6 e e5 5 0 01 11 11 1 0 01 11 10 0 1 11 11 10 0 0 01 10 01 1 d d0 0 b b6 6 1 11 10 01 1 0 00 00 00 0 1 10 01 11 1 0 01 11 10

29、0 d d3 3 4 44 4 1 11 10 01 1 0 00 01 11 1 0 01 10 00 0 0 01 10 00 0 4 45 5 f fe e 0 01 10 00 0 0 01 10 01 1 1 11 11 11 1 1 11 11 10 0 1111 1111 1111 1100 11 1111 1111 1111 1111 计算结果为全 1,故校验和正确。 3.2. ICMP 协议协议 ICMP 是(Internet Control Message Protocol)Internet 控制报文协议。它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之

30、间传递控制消息。控制消息 是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽 然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 我们在网络中经常会使用到 ICMP 协议,比如我们经常使用的用于检查网络通不 通的 ping 命令(Linux 和 Windows 中均有) ,这个“Ping”的过程实际上就是 ICMP 协议 工作的过程,检测如下: 3.2.1.3.2.1. 获得本机获得本机 IPIP 地址地址 3.2.2.3.2.2.运行运行 PingPing 命令命令 Ping 由以上截图可知,ping 的网络和本机不再同一网段内,在本机想得到 mac 地址的

31、时候,将直接交由路由处理。 在这里 ping 域名,那么先要通过 DNS 将域名解析为 ip 地址方能通信。 可使用 ipconfig/all 命令查到 DNS 服务器地址: Ping 对应的 ICMP 包如下 3.2.33.2.3 分析分析 ICMPICMP 各字段功能各字段功能 上图即为捕获到的 ICMP 协议包的信息。 ICMP包将自身包装一层IP头,然后在网络中间进行传输: 其中 ICMP 包格式如下 : 类型(8 位)代码(8 位)校验和(8 位) 类型或者代码 其中类型字段表示 ICMP 报文的类型;代码字段是为了进一步区分某种类型的几种 不同情况;校验和字段用来检验整个 ICMP

32、 报文。接着的 4 个字节的内容与 ICMP 的类 型有关。再后面是数据字段,其长度取决于 ICMP 的类型。 3.3.DHCP 协议协议 动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网 的网络协议,使用 UDP 协议工作,主要有两个用途:给内部网络或网络服务供应商自 动分配 IP 地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。 使用 udp port 67 来过滤 DHCP 协议 : 3.3.1 使用使用 ipconfig 命令释放计算机的命令释放计算机的 IP 地址(地址(cipconfig -release

33、) 3.3.2.3.3.2.使用使用 ipconfigipconfig 命令重新申请命令重新申请 IPIP 地址(地址(cipconfigcipconfig -r-r enewenew) 3.3.3.3.3.3. DHCPDHCP 功能及功能及报文格式报文格式 a) DHCP 的功能: DHCP,全称是 Dynamic Host Configuration Protocol中文名为动态主机配置协 议,它的前身是 BOOTP,它工作在 OSI 的应用层,是一种帮助计算机从指定的 DHCP 服 务器获取它们的配置信息的自举协议。 DHCP 使用客户端/服务器模式,请求配置信息的计算机叫做 DHCP

34、 客户端,而提供信 息的叫做 DHCP 的服务器。DHCP 为客户端分配地址的方法有三种:手工配置、自动配置、 动态配置。 DHCP 最重要的功能就是动态分配。除了 IP 地址,DHCP 分组还为客户端提供其他的 配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络。 b) DHCP 的的报文格式 OP(1) Htype(1 ) Hlen(1 ) Hops(1) Transaction ID(4) Seconds(2)Flags(2) Ciaddr(4) Yiaddr(4) Siaddr(4) Giaddr(4) Chaddr(16) Sname(64) File(128) O

35、ptions(variable) 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,其余尚未使用; Ciad

36、dr:用户 IP 地址; Yiaddr:服务器分配给客户的 IP 地址; Siaddr:用于 bootstrap 过程中的 IP 地址;(服务器的 IP 地址) Giaddr:转发代理(网关)IP 地址; Chaddr:client 的硬件地址; Sname:可选 server 的名称,以 0 x00 结尾; File:启动文件名; Options:,厂商标识,可选的参数字段 3.3.3.3.4 4 抓包及分析抓包及分析 由上图知道,源端口号为 68,目的端口号为 67。且 DHCP server 不是由路由器 充当:DHCP server 的 IP 地址为:211.68.71.5,而路由器的

37、 IP 地址为 118.229.130.129。有 DHCP Relay,Relay agent IP address is 118.229.130.129. 工作流程如下: DHCP 客户端和服务器交互图(申请一个新的网络地址) 寻找寻找 Server 根据客户端是否第一次登录网络,DHCP 的工作形式会有所不同,当 DHCP 客 户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向 网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络, 所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后

38、再附上 DHCP discover 的信息,向网络进行广播。 DHCP discover 相应报文信息有: 此时还没有分配地址,所以源地址为全零,也不知道 DHCP 的地址,所以目的地 址为全 1。 字字 段段值值 含义含义 MessageMessage typetype 01该数据为 Boot request 由主机往 DHCP 服务 器发送请求 HtypeHtype 01硬件类型为以太网 HlenHlen 06硬件的物理地址长度为 6 个字节,以太网中 MAC 地址为 6 字节 HopsHops 00客户端被设置为 0,表示如果要用中继代理, 则可以随意选择 Xid:Xid: fd14f8

39、5aH传输标识,一个随机数由客户选择,由客户 端和服务器之间的关联信息,并在客户端和 服务器响应使用 SecsSecs a客户端填写 CiaddrCiaddr0000 0000 0000 0000 客户端 ip 地址,在 Boot request 中由于正等 待分配地址,所以该地段用全 0 填写 YiaddrYiaddr0000 0000 0000 0000 指定客户端的地址,在 Boot request 中为全 0 SiaddrSiaddr0000 0000 0000 0000 下一个 DHCP 服务器的 IP 地址使用在 DHCPOFFER,DHCPACK 由服务器返回引导 GiaddrG

40、iaddr0000 0000 0000 0000 中继代理的 IP 地址,通过一个中继开机使用 ChaddrChaddr00:23:8b:bf:61:7000:23:8b:bf:61:70 MAC 地址 SnameSname 未给出 FileFile 未给出 提供提供 IP 租用地址租用地址 当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没 有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户 端一个 DHCP OFFER 封包。 由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover 封包内会

41、带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封 包,DHCP 服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。 根据服务器端的设定,DHCP offer 封包会包含一个租约期限的信息。 DHCP offer 相应报文信息有: 此时,源端口号和目的端口号与 DHCP discover 的刚好相反,即 DHCP 服务器 用端口号 67,客户端用端口号 68。 字字 段段值值 含义含义 MessageMessage typetype 02Boot reply 由 DHCP 服务器发送配置信息给 主机 HtypeHtype 01硬件类型为以太网 HlenHl

42、en 06硬件的物理地址长度为 6 个字节,以太网中 MAC 地址为 6 字节 HopsHops 01客户端被设置为 1,代表和 DHCP 服务器要经 过一跳路由 Xid:Xid: fd14f85aH传输标识,一个随机数由客户选择,由客户 端和服务器之间的关联信息,并在客户端和 服务器响应使用 SecsSecs a客户端填写 CiaddrCiaddr0000 0000 0000 0000 客户端 ip 地址,在此时由于正等待分配地址, 所以该地段用全 0 填写 YiaddrYiaddr7676 e5e5 8282 8181 用来指定客户端的地址,DHCP 分配的地址为 118.229.130.

43、190 SiaddrSiaddr0000 0000 0000 0000 DHCP 服务器的 IP 地址使用在 DHCPOFFER,DHCPACK 由服务器返回引导 GiaddrGiaddr18.229.130.129 中继代理的 IP 地址,通过一个中继开机使用 ChaddrChaddr00:23:8b:bf:61:7000:23:8b:bf:61:70 MAC 地址 SnameSname 未给出 FileFile 未给出 由上图可得: 1)DHCP 服务器 id 为 221.68.71.5; 2)ip 地址租期为 8 小 3)子网掩码为 255.255.255.128 4)域名是 ,路由是

44、118.229.130.129 5)DNS 服务器地址有 221.68.71.4/221.68.71.5 6)DHCP 的中继代理为 router,其地址为 118.229.130.129 接受接受 IP 租约:租约: 如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个 DHCP request 广播封包, 告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。 同时,客户端 还会向网络发送一个 ARP 封包,查询网络上面有没有其它机器使用该 IP 地址;如 果发现该 IP 已经被占用,客

45、户端则会送出一个 DHCPDECLIENT 封包给 DHCP 服 务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。 事实上,并不 是所有 DHCP 客户端都会无条件接受 DHCP 服务器的 offer ,尤其这些主机安装有 其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在 DHCP Option Field 里面换一句话 说,在 DHCP 服务器上面的设定,未必是客户端全都接受,客户端可以保留自己的 一些 TCP/IP 设定。而主动权永远在客户端这边。 DHCP r

46、equest 报文: 由上知道,目的地址为广播地址,告诉所有 DHCP 服务器它将指定接受哪一台服 务器提供的 IP 地址 Option 字段 此时,客户端 id 为 mac 地址,requested ip address 为 118.229.130.190。 租约确认:租约确认: DHCP 客户端发送的 DHCPREQUEST 广播消息会达到所有的 DHCP 服务器,如 果是通过 DHCP 中继代理 relay 的,一般会 relay 到指定的服务器。DHCPREQUEST 消息中的 Server identifier 指明了客户端所使用的 DHCP 服务器,未被 Server identi

47、fier 指明的服务器收到该消息后就认为客户端拒绝了自己的 OFFER 报文,不再 向客户端发送回应报文了,而被选中的 DHCP 服务器则存储客户端的标识和分配的 IP 地址及其他信息于自己的数据库中,并回应客户端一个 DHCPACK 消息。client identify 或者 chaddr 与分配的 IP 地址组成的标识是客户端租约的唯一标识,同时也是 客户端和服务器在 DHCP 消息中的租期的唯一标识。在 DHCPACK 消息中收到的任何 参数都不能和之前收到的 DHCPOFFER 消息中的参数有冲突和不同。其中 DHCPACK 消息中的 yiaddr 字段就是客户端即将分配的地址了。 如果被选中的 DHCP 服务器不“同意”DHCPREQUEST 消息中的参数(如请求的 网络地址已经被分配出去

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论