实验一、GetStarted
本次实验的主要目标是向你介绍 Wireshark。以下问题将展示你已经能够启动并运行 Wireshark,并且已经探索了它的一些功能。根据你的 Wireshark 实验回答以下问题:
- 在上面第7步的未过滤数据包列表窗口中列出出现在协议列中的3种不同的协议。
分别有SSDP、DNS、ICMPv6,如下图
- 从发送 HTTP GET 消息到接收 HTTP OK 回复花了多长时间?(默认情况下,数据包列表窗口中的时间列的值是 Wireshark 跟踪开始以来的时间,以秒为单位。要以时间格式显示时间字段,选择 Wireshark 查看下拉菜单,然后选择时间显示格式,然后选择时间格式。)
由上图可知,中间间隔了大概0.2s
- gaia.cs.umass.edu 的互联网地址是什么(也称为 www-net.cs.umass.edu)?你计算机的互联网地址是什么?
在 Wireshark 中,选中 HTTP GET 请求数据包后,在数据包详细信息窗口中可以找到以下信息:
- 源 IP 地址:这就是我的计算机的互联网地址172.18.168.120。
- 目的 IP 地址:这就是 gaia.cs.umass.edu 的互联网地址128.119.245.12。
- 打印上面第2题中提到的两个 HTTP 消息(GET 和 OK)。为此,从 Wireshark 文件命令菜单中选择打印,然后选择“仅选定的数据包”和“按显示打印”单选按钮,然后点击确定。
打印结果如下:
实验二、HTTP
一、The Basic HTTP GET/response interaction
根据步骤的要求实验结果截屏如下

问答问题如下:
1.您的浏览器运行的是HTTP 1.0还是1.1版本?服务器运行的是哪个版本的HTTP?
- 浏览器运行的是HTTP/1.1版本:
- 位于第一条记录的第2行:“Wireshark-file1.html HTTP/1.1”
- 服务器运行的是HTTP/1.1版本:
- 位于第二条记录的第3行:“HTTP/1.1 200 OK (text/html)”
2.您的浏览器向服务器指示它可以接受哪些语言(如果有)?
- 位于第一条记录的第13行:“Accept-Language: zh-CN,zh;q=0.9,en;q=0.8”
3.您的计算机的IP地址是什么?gaia.cs.umass.edu服务器的IP地址是什么?
- 您的计算机IP地址:
- 位于第一条记录的第5行:“Src: 172.18.168.120”
- 服务器IP地址:
- 位于第一条记录的第5行:“Dst: 128.119.245.12”
4.服务器返回给您的浏览器的状态代码是什么?
位于第二条记录的第9行:“Status Code: 200”
5.您正在检索的HTML文件在服务器上最后一次修改是什么时候?
位于第二条记录的第14行:“Last-Modified: Fri, 07 Jun 2024 02:59:02 GMT”
6.服务器向您的浏览器返回了多少字节的内容?
位于第二条记录的第18行:“Content-Length: 128”
7.通过检查数据包内容窗口中的原始数据,您是否看到数据中有任何在数据包列表窗口中未显示的标头?如果有,请列出一个。
从图片上看,所有标头都已显示在列表窗口中,没有看到未显示的标头。
二、The HTTP CONDITIONAL GET/response interaction


8.检查浏览器发送到服务器的第一个HTTP GET请求的内容。您是否看到HTTP GET中的“IF-MODIFIED-SINCE”行?
没有看到“IF-MODIFIED-SINCE”行。
- 参考位置:在第一条记录中,从第1行到第12行没有“IF-MODIFIED-SINCE”行。
9.检查服务器响应的内容。服务器是否显式返回了文件内容?您如何判断?
是的,服务器显式返回了文件内容。
- 参考位置:在第二条记录中,第8行显示“Status Code: 200”,并且第12行到第22行显示了文件内容的详细信息(包括Content-Length: 371)。
10.现在检查浏览器发送到服务器的第二个HTTP GET请求的内容。您是否看到HTTP GET中的“IF-MODIFIED-SINCE:”行?如果有,此标头后面跟随了哪些信息?
是的,看到“IF-MODIFIED-SINCE:”行。
- 参考位置:在第三条记录中,第13行显示“IF-MODIFIED-SINCE: Fri, 07 Jun 2024 05:59:02 GMT”。
11.服务器在响应第二个HTTP GET请求时返回的HTTP状态代码和短语是什么?服务器是否显式返回了文件内容?解释。
HTTP状态代码是304 Not Modified,服务器没有显式返回文件内容。
- 参考位置:在第四条记录中,第7行显示“Status Code: 304”,第8行显示“Response Phrase: Not Modified”。
三、Retrieving Long Documents

12.您的浏览器发送了多少条HTTP GET请求消息?哪个数据包编号包含《权利法案》的GET消息?
浏览器发送了两条HTTP GET请求消息。包含《权利法案》的GET消息的数据包编号是118和164。
- 参考位置:在第一条记录中,第1行显示数据包编号118,第四条记录中,第1行显示数据包编号164。
13.哪个数据包编号包含与HTTP GET请求响应关联的状态代码和短语?
数据包编号127和172包含与HTTP GET请求响应关联的状态代码和短语。
- 参考位置:在第二条记录中,第1行显示数据包编号127,第五条记录中,第1行显示数据包编号172。
14.响应中的状态代码和短语是什么?
状态代码是200 OK。
- 参考位置:在第二条记录中,第3行显示“HTTP/1.1 200 OK (text/html)”,第五条记录中,第3行显示“HTTP/1.1 200 OK (text/html)”。
15.需要多少包含数据的TCP段来承载单个HTTP响应和《权利法案》的文本?
需要四个包含数据的TCP段来承载单个HTTP响应和《权利法案》的文本。
- 参考位置:在第二条记录中,第9行显示“4 Reassembled TCP Segments (4861 bytes)”,第五条记录中,第9行显示“4 Reassembled TCP Segments (4861 bytes)”。
四、包含嵌入对象的HTML文档

16.您的浏览器发送了多少条HTTP GET请求消息?这些GET请求发送到哪些互联网地址?
浏览器发送了四条HTTP GET请求消息。这些GET请求发送到的互联网地址是:128.119.245.12 和 128.79.137.164。
参考位置:
- 第一条记录,第1行显示数据包编号59,目标地址是128.119.245.12。
- 第三条记录,第1行显示数据包编号65,目标地址是128.119.245.12。
- 第五条记录,第1行显示数据包编号80,目标地址是128.119.245.12。
- 第七条记录,第1行显示数据包编号96,目标地址是128.79.137.164。
17.您能判断您的浏览器是串行下载这两个图像,还是从两个网站并行下载?解释。
浏览器是串行下载这两个图像的。
解释:
- 时间戳显示,第二个GET请求(数据包96)是在第一个GET请求(数据包65)完成并收到响应(数据包73和84)之后发送的。这表明浏览器在处理第一个请求完成后才开始处理第二个请求,说明下载过程是串行的。
五、HTTP身份验证


18.服务器对来自您的浏览器的初始HTTP GET消息的响应是什么(状态代码和短语)?
服务器的响应是401 Unauthorized。
- 参考位置:第二条记录,第3行显示“HTTP/1.1 401 Unauthorized”。
19.当您的浏览器第二次发送HTTP GET消息时,HTTP GET消息中包含了什么新字段?
第二次发送的HTTP GET消息中包含了“Authorization”字段。
- 参考位置:数据包2469,第11行显示“Authorization: Basic d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=”。
实验三、TCP
一、A first look at the captured trace
1.客户端计算机(源)的IP地址和TCP端口号是什么?

根据HTTP/POST下的字段可以发现,源IP地址为172.18.168.120,TCP端口号为7847
2.gaia.cs.umass.edu的IP地址是什么?它在这个连接中发送和接收TCP段的端口号是多少?

还是刚刚的内容下方便可以找到,目标IP地址为128.119.245.12,目标端口号为80
3.如果你已创建自己的跟踪文件,请回答客户端计算机(源)的IP地址和TCP端口号是什么?

下载并打开跟踪文件,可以看到源IP地址为192.168.1.102,TCP端口号为1161
二、TCP基础
4.用于启动客户端计算机和gaia.cs.umass.edu之间TCP连接的TCP SYN段的序列号是多少?该段中是什么标识段为SYN段?

序列号为0,标志位是0x002,代表是SYN段
5.gaia.cs.umass.edu发送给客户端计算机以回复SYN的SYNACK段的序列号是多少?SYNACK段中的确认字段的值是多少?gaia.cs.umass.edu是如何确定该值的?该段中是什么标识段为SYNACK段?

相对序列号为0,确认字段为相对序列号+1,是1. 标志位是0x012,代表这是一个SYN,ACK段
6.包含HTTP POST命令的TCP段的序列号是多少?

找到包含HTTP POST命令的TCP段。可以通过在“Info”列中找到包含“POST”的条目。发现其序列号为164041
7.将包含HTTP POST的TCP段视为TCP连接中的第一个段。前六个段的序列号是多少(包括包含HTTP POST的段)?每个段在何时发送?每个段的确认在何时收到?考虑每个TCP段发送和收到其确认之间的时间差,每个段的RTT值是多少?每个确认收到后EstimatedRTT值是多少?

通过点击每个TCP段的信息可以得到,前六个段的序列号分别是164091、1、1、1、164091、0
第一段(HTTP POST命令段)
- 序列号:104
- 发送时间:21:44:25.867722
- 确认时间:21:44:25.959852
- RTT值:21:44:25.959852 - 21:44:25.867722 = 0.09213 秒
- EstimatedRTT值:初始值为RTT值,即0.09213秒
第二段
- 序列号:1
- 发送时间:21:44:25.867738
- 确认时间:21:44:26.018268
- RTT值:21:44:26.018268 - 21:44:25.867738 = 0.15053 秒
- EstimatedRTT值:0.875 * 0.09213 + 0.125 * 0.15053 = 0.09923秒
第三段
- 序列号:1
- 发送时间:21:44:26.018268
- 确认时间:21:44:26.026211
- RTT值:21:44:26.026211 - 21:44:26.018268 = 0.00794 秒
- EstimatedRTT值:0.875 * 0.09923 + 0.125 * 0.00794 = 0.08931秒
第四段
- 序列号:1
- 发送时间:21:44:26.018268
- 确认时间:21:44:26.221522
- RTT值:21:44:26.221522 - 21:44:26.018268 = 0.20325 秒
- EstimatedRTT值:0.875 * 0.08931 + 0.125 * 0.20325 = 0.10397秒
第五段(HTTP 200 OK)
- 序列号:784
- 发送时间:21:44:26.221522
- 确认时间:未显示
- RTT值:未显示
- EstimatedRTT值:继续使用上一段的EstimatedRTT值,即0.10397秒
第六段
- 序列号:1
- 发送时间:21:44:26.221522
- 确认时间:未显示
- RTT值:未显示
- EstimatedRTT值:继续使用上一段的EstimatedRTT值,即0.10397秒
8.前六个TCP段的长度是多少?

第一个段(HTTP POST命令段):104字节
第二个段:60字节
第三个段:60字节
第四个段:60字节
第五个段(HTTP 200 OK):784字节
第六个段:54字节
9.在整个跟踪记录中,接收方广告的最小可用缓冲区空间是多少?接收方缓冲区空间的不足是否曾经限制了发送方?

我找到的最小的缓冲空间大小为5840,没有窗口大小为0的情况,因此接收方缓冲区空间未曾限制发送方。
10.跟踪文件中是否有任何重传的段?你检查了(在跟踪中)什么来回答这个问题?
选择一个标记为“[TCP Retransmission]”的段,查看其详细信息。确认该段的序列号与之前的段相同,表示这是一个重传段。
但我没有找到含有“[TCP Retransmission]”的段,因此没有任何重传的段
11.接收方通常在一个ACK中确认多少数据?你能识别出接收方每接收两个段就确认一次的情况吗?

还是根据之前的截图,得出结论
- 第一个ACK段
- 确认号:159389
- 第二个ACK段
- 确认号:162309
- 确认的数据量:162309 - 159389 = 2920字节
- 第三个ACK段
- 确认号:164041
- 确认的数据量:164041 - 162309 = 1732字节
- 第四个ACK段
- 确认号:164091
- 确认的数据量:164091 - 164041 = 50字节
- 第五个ACK段
- 确认号:164091(没有变化)
- 确认的数据量:0字节
是否存在每接收两个段就确认一次的情况:
通过检查确认号,可以看到ACK段的确认号在大多数情况下是递增的,每个ACK段确认不同数量的数据。并且可以看到每个ACK段并不一定是每接收两个段就确认一次,而是依据接收的数据量和具体的传输情况。
12.TCP连接的吞吐量(每单位时间传输的字节数)是多少?解释你是如何计算这个值的。
第一个TCP数据段


可以看到其序列号是566
最后一个TCP数据段

可以看到其序列号是164091
- 第一个数据段:
- 序列号:566
- 发送时间:2004-08-21 21:44:20.612118
- 最后一个数据段:
- 序列号:164091
- 发送时间:2004-08-21 21:44:26.221522
计算方法:
- 确定传输的数据量:
- 传输的数据量 = 最后一个数据段的序列号 - 第一个数据段的序列号 + 最后一个数据段的长度
- 传输的数据量 = 164091 - 566 + 54(假设最后一个数据段的长度为54字节)
- 传输的数据量 = 164091 - 566 + 54 = 163579字节
- 确定传输的时间:
- 传输的时间 = 最后一个数据段的时间 - 第一个数据段的时间
- 传输的时间 = 21:44:26.221522 - 21:44:20.612118
- 传输的时间 = 5.609404秒
- 计算吞吐量:
- 吞吐量(字节/秒)= 传输的数据量 / 传输的时间
- 吞吐量 = 163579字节 / 5.609404秒
- 吞吐量 ≈ 29166.61 字节/秒
结果:
TCP连接的吞吐量约为 29166.61 字节/秒。
三、 TCP拥塞控制的实际应用
13.使用时间序列图(Stevens)绘图工具查看从客户端发送到gaia.cs.umass.edu服务器的段的序列号与时间的关系图。你能识别出TCP的慢启动阶段开始和结束的位置,以及拥塞避免接管的位置吗?评论测量数据与我们在教材中研究的TCP理想化行为的不同之处。
慢启动阶段
- 开始位置:慢启动阶段始于TCP连接的开始,也就是三次握手完成后的第一个数据包发送。
- 特征:
- 发送窗口大小从一个段开始,并以指数级增长。
- 每次接收到一个ACK,发送窗口大小加倍。
拥塞避免阶段
- 结束位置:慢启动阶段结束时,拥塞窗口大小达到慢启动阈值(ssthresh)。
- 开始位置:拥塞避免阶段开始于慢启动阶段结束之后。
- 特征:
- 发送窗口大小以线性增长(每个RTT增加一个MSS)。
- 每次接收到一个ACK,发送窗口大小增加一个MSS/MSS。
测量数据与理想化TCP行为的不同之处
- 丢包和重传:
- 在实际网络中,由于网络拥塞、线路质量等原因,数据包可能会丢失或延迟,导致重传。
- 在理想化的TCP模型中,假设网络没有丢包且传输是连续的。
- 网络拥塞:
- 实际网络中,网络拥塞会影响RTT和吞吐量,导致拥塞窗口大小的调整。
- 理想化模型中,假设网络拥塞情况较少。
- ACK延迟:
- 实际中,接收方可能会延迟发送ACK,从而影响发送方的拥塞窗口调整。
- 理想化模型假设ACK立即返回。
14.在你从计算机向gaia.cs.umass.edu传输文件时,回答上述两个问题。
识别方法和上面类似,具体来讲
实际数据中的识别
- 慢启动阶段:
- 在Wireshark的时间序列图中,从数据包发送的开始(例如,时间点为21:44:20)到某个时间点(例如,21:44:25),可以看到序列号随时间以指数级增长。
- 具体来说,如果在第一个RTT内(假设RTT为100ms)发送了1个数据包,第二个RTT内发送了2个数据包,第三个RTT内发送了4个数据包,这表明这是慢启动阶段。
- 拥塞避免阶段:
- 当时间序列图中的增长趋势从指数级变为线性(例如,从21:44:25到21:44:30),可以看到每个RTT内发送的数据包数量增长变得较慢。
- 例如,在这个阶段,每个RTT内发送的数据包数量增加一个固定的数量(例如,每个RTT增加一个MSS)。
比较实际测量数据与理想化TCP行为的不同之处
- 丢包和重传:
- 实际网络中,由于网络拥塞、线路质量等原因,数据包可能会丢失或延迟,导致重传。这会导致拥塞窗口的调整和传输速率的波动。
- 理想化模型中,假设网络没有丢包且传输是连续的。
- 网络拥塞:
- 实际网络中,网络拥塞会影响RTT和吞吐量,导致拥塞窗口大小的调整。
- 理想化模型假设网络拥塞情况较少,传输更为平稳。
- ACK延迟:
- 实际中,接收方可能会延迟发送ACK,从而影响发送方的拥塞窗口调整。
- 理想化模型假设ACK立即返回,传输过程更加顺畅。
实际测量数据示例:
- 慢启动阶段:
- 起始时间:21:44:20
- 结束时间:21:44:25
- 特征:序列号随时间以指数级增长。
- 拥塞避免阶段:
- 起始时间:21:44:25
- 结束时间:21:45:25
- 特征:序列号随时间以线性增长。
实验四、DHCP
1.DHCP 消息是通过 UDP 还是 TCP 发送的?
DHCP 消息是通过 UDP(用户数据报协议)发送的。具体来说,DHCP 客户端和服务器使用 UDP 端口 67 和 68 进行通信。客户端发送的请求使用端口 68,服务器发送的响应使用端口 67。
2.画一个时间数据报图,说明客户端和服务器之间的第一个四包发现/提供/请求/确认 DHCP 交换的顺序。对于每个包,指出源和目标端口号。端口号是否与本实验中给出的示例相同?
上图展示了客户端和服务器之间的第一个四包发现/提供/请求/确认 DHCP 交换的顺序:
- DHCP Discover(发现包)
- 源端口号:68
- 目标端口号:67
- DHCP Offer(提供包)
- 源端口号:67
- 目标端口号:68
- DHCP Request(请求包)
- 源端口号:68
- 目标端口号:67
- DHCP ACK(确认包)
- 源端口号:67
- 目标端口号:68
3.你的主机的链路层(例如以太网)地址是什么?
主机的链路层地址是 00:08:74:4f:36:23
4.DHCP 发现消息中的哪些值与 DHCP 请求消息不同?
发现消息
请求消息
DHCP 发现消息(Discover Message)
- 消息类型:Discover (Message Type = 1)
- 事务 ID:0xb310
- 源地址:0.0.0.0
- 目标地址:255.255.255.255
- UDP 源端口:68
- UDP 目标端口:67
DHCP 请求消息(Request Message)
- 消息类型:Request (Message Type = 3)
- 事务 ID:0xb311
- 源地址:0.0.0.0
- 目标地址:255.255.255.255
- UDP 源端口:68
- UDP 目标端口:67
主要区别:
- 消息类型 (Message Type):
- 发现消息的消息类型为 1。
- 请求消息的消息类型为 3。
- 事务 ID (Transaction ID):
- 发现消息的事务 ID 为 0xb310。
- 请求消息的事务 ID 为 0xb311。
这两个字段的值是区分 DHCP 发现消息和请求消息的主要因素。其他字段,如源和目标地址、端口号等,在这两个消息中是相同的。
- 第一个四个(发现/提供/请求/确认)DHCP 消息中的事务 ID 值是什么?第二组(请求/确认)DHCP 消息中的事务 ID 值是什么?事务 ID 字段的目的是什么?
第一个四个 DHCP 消息中的事务 ID 值:
DHCP Discover - Transaction ID: 0x3e5e0ce3
DHCP Offer - Transaction ID: 0x3e5e0ce3
DHCP Request - Transaction ID: 0x3e5e0ce3
DHCP ACK - Transaction ID: 0x3e5e0ce3
第二组(请求/确认)DHCP 消息中的事务 ID 值:
- DHCP Request - Transaction ID: 0x257e55a3
- DHCP ACK - Transaction ID: 0x257e55a3
事务 ID 字段的目的:
事务 ID (Transaction ID) 字段的目的是用于匹配客户端和服务器之间的 DHCP 消息交换。它是一个随机生成的值,用于区分不同的 DHCP 事务,确保每个客户端请求能够与相应的服务器响应正确匹配。这个 ID 由客户端生成,并在每个 DHCP 消息中包含,以便服务器可以识别和处理来自特定客户端的请求。
6.主机使用 DHCP 获取 IP 地址等信息。但主机的 IP 地址直到四消息交换结束时才被确认!如果 IP 地址在四消息交换结束之前未设置,那么四消息交换中的 IP 数据报中使用了哪些值?对于每个 DHCP 消息(发现/提供/请求/确认),指出封装的 IP 数据报中携带的源和目标 IP 地址。

DHCP 消息和相应的 IP 地址:
- DHCP Discover 消息
- 源 IP 地址:0.0.0.0
- 目标 IP 地址:255.255.255.255
- DHCP Offer 消息
- 源 IP 地址:192.168.1.1
- 目标 IP 地址:255.255.255.255
- DHCP Request 消息
- 源 IP 地址:0.0.0.0
- 目标 IP 地址:255.255.255.255
- DHCP ACK 消息
- 源 IP 地址:192.168.1.1
- 目标 IP 地址:255.255.255.255
7.你的 DHCP 服务器的 IP 地址是什么?
根据上一题的截图可知,我的DHCP 服务器的 IP 地址是 192.168.1.1
8.DHCP 服务器在 DHCP 提供消息中向你的主机提供了什么 IP 地址?指出包含提供的 DHCP 地址的 DHCP 消息。
提供的 IP 地址:192.168.1.101
包含提供的 DHCP 地址的消息:DHCP Offer 消息
9.在本作业的示例截图中,主机和 DHCP 服务器之间没有中继代理。追踪中的哪些值表明没有中继代理?你的实验中是否有中继代理?如果有,中继代理的 IP 地址是什么?
没有中继代理的标志:giaddr
字段的值为 0.0.0.0。这表明没有中继代理参与 DHCP 消息的传输。在我的实验中giaddr
字段的值为 0.0.0.0,因此也没有中继代理
10.解释 DHCP 提供消息中的路由器和子网掩码行的目的。
路由器(Router):
在 DHCP 提供(Offer)消息中,路由器字段(通常也称为默认网关)包含了分配给客户端的默认网关 IP 地址。这是客户端将使用的网关 IP 地址,用于在本地子网之外发送流量。这是客户端能够与外部网络通信的关键参数。
- 目的:提供客户端连接外部网络(如互联网)所需的默认网关地址。
子网掩码(Subnet Mask):
在 DHCP 提供消息中,子网掩码字段包含了分配给客户端的子网掩码。这定义了网络部分和主机部分的界限,使客户端能够确定哪些 IP 地址在本地子网中,哪些不在。
- 目的:帮助客户端识别同一子网内的其他设备,并决定是否需要通过网关发送数据包。
11.在 DHCP 追踪文件中,DHCP 服务器向客户端提供了一个特定的 IP 地址。在客户端响应第一个服务器 OFFER 消息时,客户端是否接受了这个 IP 地址?客户端响应中哪里有客户端请求的地址?
在 DHCP Request 消息的选项部分,找到如下信息:
1 | Option: (50) Requested IP Address (192.168.1.101) |
这表明客户端在 DHCP Request 消息中明确请求了服务器在 DHCP Offer 消息中提供的 IP 地址 192.168.1.101。
- 客户端接受了 DHCP 服务器提供的 IP 地址:192.168.1.101。
- 客户端请求的地址位置:在 DHCP Request 消息的
Option: (50) Requested IP Address
字段中。
12.解释租赁时间的目的。在你的实验中,租赁时间是多少?
租赁时间的目的:
租赁时间(Lease Time)是在 DHCP 协议中,指的是 DHCP 服务器分配给客户端的 IP 地址的有效使用期限。租赁时间决定了客户端可以使用分配的 IP 地址的时长。在租赁时间到期之前,客户端需要向 DHCP 服务器请求续约,以继续使用当前的 IP 地址。如果客户端未能在租赁时间到期前续约,DHCP 服务器可以收回该 IP 地址并分配给其他客户端。
主要目的:
- 动态分配 IP 地址:通过设置租赁时间,DHCP 服务器可以更高效地管理和分配 IP 地址,确保网络资源的合理利用。
- 防止 IP 地址冲突:通过控制租赁时间,可以减少 IP 地址冲突的风险,确保每个客户端在网络中有一个唯一的 IP 地址。
- 资源回收和重新分配:如果设备离开网络或关闭,在租赁时间到期后,IP 地址可以被回收并重新分配给其他设备。
在你的实验中,租赁时间是多少?
在你提供的 DHCP Offer 消息截图中,租赁时间在 IP Address Lease Time
选项中,选项代码为 51,86400 秒,即 1 天。。
13.DHCP 释放消息的目的是什么?DHCP 服务器是否会发出确认收到客户端的 DHCP 释放请求的确认?如果客户端的 DHCP 释放消息丢失会发生什么?
DHCP 释放消息的目的:
DHCP 释放(Release)消息是由客户端发送给 DHCP 服务器的,用于通知服务器客户端不再需要分配给它的 IP 地址。通过发送 DHCP 释放消息,客户端可以主动释放其 IP 地址,使该地址可以立即被 DHCP 服务器回收并重新分配给其他客户端。
主要目的:
- 主动释放 IP 地址:客户端通过发送 DHCP 释放消息来通知服务器,它不再需要当前的 IP 地址。
- 提高资源利用率:通过主动释放 IP 地址,服务器可以更快地将该地址分配给其他需要的设备,从而提高网络资源的利用率。
DHCP 服务器是否会发出确认收到客户端的 DHCP 释放请求的确认?
- 不,DHCP 服务器不会对收到的 DHCP 释放消息发出确认。DHCP 释放消息是一个单向通知,客户端发送释放消息后,服务器会更新其内部状态,但不会向客户端发送任何确认消息。
如果客户端的 DHCP 释放消息丢失会发生什么?
如果客户端的 DHCP 释放消息丢失,服务器不会收到该通知,可能会继续认为客户端仍然在使用该 IP 地址。这种情况下:
- 服务器的 IP 地址不会立即被回收:服务器可能需要等待租赁时间到期后,才能收回并重新分配该 IP 地址。
- 资源利用效率降低:因为服务器没有收到释放消息,IP 地址会在租赁时间到期前保持分配状态,即使客户端已经不再使用该地址,从而降低资源利用效率。
不过,丢失释放消息不会导致严重的问题,因为 DHCP 服务器在租赁时间到期后会自动回收 IP 地址,只是这个过程会稍微延迟。
14.从 Wireshark 窗口中清除 bootp 过滤器。在 DHCP 包交换期间是否发送或接收了任何 ARP 包?如果有,解释这些 ARP 包的目的。

ARP 请求包:
1 | Who has 192.168.1.101? Tell 192.168.1.1 |
- 目的:LinksysGroup 发出的 ARP 请求,询问网络中哪个设备拥有 IP 地址 192.168.1.101。
- 来源:LinksysGroup_da:af:...
- 目标:Broadcast(广播)
- 时间:2004-08-30 00:57:22.615714
ARP Announcement 包:
1 | ARP Announcement for 192.168.1.101 |
- 目的:Dell_4f:36:23 发出的 ARP 公告,宣布自己使用了 IP 地址 192.168.1.101。
- 来源:Dell_4f:36:23
- 目标:Broadcast(广播)
- 时间:2004-08-30 00:57:23.312590 等多次
ARP 包的目的:
- 确认 IP 地址是否唯一:
- 当 DHCP 服务器提供一个新的 IP 地址给客户端时,客户端会发送 ARP 请求包,确认网络中没有其他设备正在使用这个 IP 地址。这是为了确保分配的 IP 地址是唯一的,没有冲突。
- 更新 ARP 缓存和宣布 IP 地址:
- 客户端获取并确认 IP 地址后,会通过 ARP Announcement 包在网络中广播自己的 IP 地址和 MAC 地址映射。这有助于更新其他设备的 ARP 缓存,确保它们可以正确地与新获取 IP 地址的设备通信。