0%

wireSharkLab

实验一、GetStarted

本次实验的主要目标是向你介绍 Wireshark。以下问题将展示你已经能够启动并运行 Wireshark,并且已经探索了它的一些功能。根据你的 Wireshark 实验回答以下问题:

  1. 在上面第7步的未过滤数据包列表窗口中列出出现在协议列中的3种不同的协议。

分别有SSDP、DNS、ICMPv6,如下图

image-20240608010240201

  1. 从发送 HTTP GET 消息到接收 HTTP OK 回复花了多长时间?(默认情况下,数据包列表窗口中的时间列的值是 Wireshark 跟踪开始以来的时间,以秒为单位。要以时间格式显示时间字段,选择 Wireshark 查看下拉菜单,然后选择时间显示格式,然后选择时间格式。)

image-20240608010755604

由上图可知,中间间隔了大概0.2s

  1. gaia.cs.umass.edu 的互联网地址是什么(也称为 www-net.cs.umass.edu)?你计算机的互联网地址是什么?

image-20240608011107832

在 Wireshark 中,选中 HTTP GET 请求数据包后,在数据包详细信息窗口中可以找到以下信息:

  • 源 IP 地址:这就是我的计算机的互联网地址172.18.168.120。
  • 目的 IP 地址:这就是 gaia.cs.umass.edu 的互联网地址128.119.245.12。
  1. 打印上面第2题中提到的两个 HTTP 消息(GET 和 OK)。为此,从 Wireshark 文件命令菜单中选择打印,然后选择“仅选定的数据包”和“按显示打印”单选按钮,然后点击确定。

打印结果如下:

image-20240608011854689

实验二、HTTP

一、The Basic HTTP GET/response interaction

根据步骤的要求实验结果截屏如下

image-20240608014619648

问答问题如下:

image-20240608020350934

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

Page1
image-20240608021913091

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

image-20240610001629922

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文档

image-20240610003729656

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身份验证

image-20240610005603834
image-20240610005611363

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端口号是什么?

image-20240610012023256

根据HTTP/POST下的字段可以发现,源IP地址为172.18.168.120,TCP端口号为7847

2.gaia.cs.umass.edu的IP地址是什么?它在这个连接中发送和接收TCP段的端口号是多少?

image-20240610012255568

还是刚刚的内容下方便可以找到,目标IP地址为128.119.245.12,目标端口号为80

3.如果你已创建自己的跟踪文件,请回答客户端计算机(源)的IP地址和TCP端口号是什么?

image-20240610012849946

下载并打开跟踪文件,可以看到源IP地址为192.168.1.102,TCP端口号为1161

二、TCP基础

4.用于启动客户端计算机和gaia.cs.umass.edu之间TCP连接的TCP SYN段的序列号是多少?该段中是什么标识段为SYN段?

image-20240610013118719

序列号为0,标志位是0x002,代表是SYN段

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

image-20240610013413738

相对序列号为0,确认字段为相对序列号+1,是1. 标志位是0x012,代表这是一个SYN,ACK段

6.包含HTTP POST命令的TCP段的序列号是多少?

image-20240610013659129

找到包含HTTP POST命令的TCP段。可以通过在“Info”列中找到包含“POST”的条目。发现其序列号为164041

7.将包含HTTP POST的TCP段视为TCP连接中的第一个段。前六个段的序列号是多少(包括包含HTTP POST的段)?每个段在何时发送?每个段的确认在何时收到?考虑每个TCP段发送和收到其确认之间的时间差,每个段的RTT值是多少?每个确认收到后EstimatedRTT值是多少?

image-20240610014211540

通过点击每个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段的长度是多少?

image-20240610015408184

第一个段(HTTP POST命令段):104字节

第二个段:60字节

第三个段:60字节

第四个段:60字节

第五个段(HTTP 200 OK):784字节

第六个段:54字节

9.在整个跟踪记录中,接收方广告的最小可用缓冲区空间是多少?接收方缓冲区空间的不足是否曾经限制了发送方?

image-20240610015711835

我找到的最小的缓冲空间大小为5840,没有窗口大小为0的情况,因此接收方缓冲区空间未曾限制发送方。

10.跟踪文件中是否有任何重传的段?你检查了(在跟踪中)什么来回答这个问题?

选择一个标记为“[TCP Retransmission]”的段,查看其详细信息。确认该段的序列号与之前的段相同,表示这是一个重传段。

但我没有找到含有“[TCP Retransmission]”的段,因此没有任何重传的段

11.接收方通常在一个ACK中确认多少数据?你能识别出接收方每接收两个段就确认一次的情况吗?

image-20240610020552227

还是根据之前的截图,得出结论

  1. 第一个ACK段
    • 确认号:159389
  2. 第二个ACK段
    • 确认号:162309
    • 确认的数据量:162309 - 159389 = 2920字节
  3. 第三个ACK段
    • 确认号:164041
    • 确认的数据量:164041 - 162309 = 1732字节
  4. 第四个ACK段
    • 确认号:164091
    • 确认的数据量:164091 - 164041 = 50字节
  5. 第五个ACK段
    • 确认号:164091(没有变化)
    • 确认的数据量:0字节

是否存在每接收两个段就确认一次的情况

通过检查确认号,可以看到ACK段的确认号在大多数情况下是递增的,每个ACK段确认不同数量的数据。并且可以看到每个ACK段并不一定是每接收两个段就确认一次,而是依据接收的数据量和具体的传输情况。

12.TCP连接的吞吐量(每单位时间传输的字节数)是多少?解释你是如何计算这个值的。

第一个TCP数据段

image-20240610021412345
image-20240610021450522

可以看到其序列号是566

最后一个TCP数据段

image-20240610021530636

可以看到其序列号是164091

  • 第一个数据段:
    • 序列号:566
    • 发送时间:2004-08-21 21:44:20.612118
  • 最后一个数据段:
    • 序列号:164091
    • 发送时间:2004-08-21 21:44:26.221522

计算方法:

  1. 确定传输的数据量
    • 传输的数据量 = 最后一个数据段的序列号 - 第一个数据段的序列号 + 最后一个数据段的长度
    • 传输的数据量 = 164091 - 566 + 54(假设最后一个数据段的长度为54字节)
    • 传输的数据量 = 164091 - 566 + 54 = 163579字节
  2. 确定传输的时间
    • 传输的时间 = 最后一个数据段的时间 - 第一个数据段的时间
    • 传输的时间 = 21:44:26.221522 - 21:44:20.612118
    • 传输的时间 = 5.609404秒
  3. 计算吞吐量
    • 吞吐量(字节/秒)= 传输的数据量 / 传输的时间
    • 吞吐量 = 163579字节 / 5.609404秒
    • 吞吐量 ≈ 29166.61 字节/秒

结果:

TCP连接的吞吐量约为 29166.61 字节/秒。

三、 TCP拥塞控制的实际应用

image-20240610023619971

13.使用时间序列图(Stevens)绘图工具查看从客户端发送到gaia.cs.umass.edu服务器的段的序列号与时间的关系图。你能识别出TCP的慢启动阶段开始和结束的位置,以及拥塞避免接管的位置吗?评论测量数据与我们在教材中研究的TCP理想化行为的不同之处。

慢启动阶段

  1. 开始位置:慢启动阶段始于TCP连接的开始,也就是三次握手完成后的第一个数据包发送。
  2. 特征:
    • 发送窗口大小从一个段开始,并以指数级增长。
    • 每次接收到一个ACK,发送窗口大小加倍。

拥塞避免阶段

  1. 结束位置:慢启动阶段结束时,拥塞窗口大小达到慢启动阈值(ssthresh)。
  2. 开始位置:拥塞避免阶段开始于慢启动阶段结束之后。
  3. 特征:
    • 发送窗口大小以线性增长(每个RTT增加一个MSS)。
    • 每次接收到一个ACK,发送窗口大小增加一个MSS/MSS。

测量数据与理想化TCP行为的不同之处

  1. 丢包和重传:
    • 在实际网络中,由于网络拥塞、线路质量等原因,数据包可能会丢失或延迟,导致重传。
    • 在理想化的TCP模型中,假设网络没有丢包且传输是连续的。
  2. 网络拥塞:
    • 实际网络中,网络拥塞会影响RTT和吞吐量,导致拥塞窗口大小的调整。
    • 理想化模型中,假设网络拥塞情况较少。
  3. ACK延迟:
    • 实际中,接收方可能会延迟发送ACK,从而影响发送方的拥塞窗口调整。
    • 理想化模型假设ACK立即返回。

14.在你从计算机向gaia.cs.umass.edu传输文件时,回答上述两个问题。

识别方法和上面类似,具体来讲

实际数据中的识别

  1. 慢启动阶段
    • 在Wireshark的时间序列图中,从数据包发送的开始(例如,时间点为21:44:20)到某个时间点(例如,21:44:25),可以看到序列号随时间以指数级增长。
    • 具体来说,如果在第一个RTT内(假设RTT为100ms)发送了1个数据包,第二个RTT内发送了2个数据包,第三个RTT内发送了4个数据包,这表明这是慢启动阶段。
  2. 拥塞避免阶段
    • 当时间序列图中的增长趋势从指数级变为线性(例如,从21:44:25到21:44:30),可以看到每个RTT内发送的数据包数量增长变得较慢。
    • 例如,在这个阶段,每个RTT内发送的数据包数量增加一个固定的数量(例如,每个RTT增加一个MSS)。

比较实际测量数据与理想化TCP行为的不同之处

  1. 丢包和重传
    • 实际网络中,由于网络拥塞、线路质量等原因,数据包可能会丢失或延迟,导致重传。这会导致拥塞窗口的调整和传输速率的波动。
    • 理想化模型中,假设网络没有丢包且传输是连续的。
  2. 网络拥塞
    • 实际网络中,网络拥塞会影响RTT和吞吐量,导致拥塞窗口大小的调整。
    • 理想化模型假设网络拥塞情况较少,传输更为平稳。
  3. ACK延迟
    • 实际中,接收方可能会延迟发送ACK,从而影响发送方的拥塞窗口调整。
    • 理想化模型假设ACK立即返回,传输过程更加顺畅。

实际测量数据示例:

  • 慢启动阶段
    • 起始时间:21:44:20
    • 结束时间:21:44:25
    • 特征:序列号随时间以指数级增长。
  • 拥塞避免阶段
    • 起始时间:21:44:25
    • 结束时间:21:45:25
    • 特征:序列号随时间以线性增长。

实验四、DHCP

image-20240610134508643

1.DHCP 消息是通过 UDP 还是 TCP 发送的?

image-20240610140802667

DHCP 消息是通过 UDP(用户数据报协议)发送的。具体来说,DHCP 客户端和服务器使用 UDP 端口 67 和 68 进行通信。客户端发送的请求使用端口 68,服务器发送的响应使用端口 67。

2.画一个时间数据报图,说明客户端和服务器之间的第一个四包发现/提供/请求/确认 DHCP 交换的顺序。对于每个包,指出源和目标端口号。端口号是否与本实验中给出的示例相同?

output

上图展示了客户端和服务器之间的第一个四包发现/提供/请求/确认 DHCP 交换的顺序:

  1. DHCP Discover(发现包)
    • 源端口号:68
    • 目标端口号:67
  2. DHCP Offer(提供包)
    • 源端口号:67
    • 目标端口号:68
  3. DHCP Request(请求包)
    • 源端口号:68
    • 目标端口号:67
  4. DHCP ACK(确认包)
    • 源端口号:67
    • 目标端口号:68

3.你的主机的链路层(例如以太网)地址是什么?

image-20240610135221115

主机的链路层地址是 00:08:74:4f:36:23

4.DHCP 发现消息中的哪些值与 DHCP 请求消息不同?

发现消息

image-20240610135716809

请求消息

image-20240610135650346

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

主要区别:

  1. 消息类型 (Message Type)
    • 发现消息的消息类型为 1。
    • 请求消息的消息类型为 3。
  2. 事务 ID (Transaction ID)
    • 发现消息的事务 ID 为 0xb310。
    • 请求消息的事务 ID 为 0xb311。

这两个字段的值是区分 DHCP 发现消息和请求消息的主要因素。其他字段,如源和目标地址、端口号等,在这两个消息中是相同的。

  1. 第一个四个(发现/提供/请求/确认)DHCP 消息中的事务 ID 值是什么?第二组(请求/确认)DHCP 消息中的事务 ID 值是什么?事务 ID 字段的目的是什么?

第一个四个 DHCP 消息中的事务 ID 值:

  1. DHCP Discover - Transaction ID: 0x3e5e0ce3

  2. DHCP Offer - Transaction ID: 0x3e5e0ce3

  3. DHCP Request - Transaction ID: 0x3e5e0ce3

  4. DHCP ACK - Transaction ID: 0x3e5e0ce3

第二组(请求/确认)DHCP 消息中的事务 ID 值:

  1. DHCP Request - Transaction ID: 0x257e55a3
  2. DHCP ACK - Transaction ID: 0x257e55a3

事务 ID 字段的目的:

事务 ID (Transaction ID) 字段的目的是用于匹配客户端和服务器之间的 DHCP 消息交换。它是一个随机生成的值,用于区分不同的 DHCP 事务,确保每个客户端请求能够与相应的服务器响应正确匹配。这个 ID 由客户端生成,并在每个 DHCP 消息中包含,以便服务器可以识别和处理来自特定客户端的请求。

6.主机使用 DHCP 获取 IP 地址等信息。但主机的 IP 地址直到四消息交换结束时才被确认!如果 IP 地址在四消息交换结束之前未设置,那么四消息交换中的 IP 数据报中使用了哪些值?对于每个 DHCP 消息(发现/提供/请求/确认),指出封装的 IP 数据报中携带的源和目标 IP 地址。

image-20240610140614018

DHCP 消息和相应的 IP 地址:

  1. DHCP Discover 消息
    • 源 IP 地址:0.0.0.0
    • 目标 IP 地址:255.255.255.255
  2. DHCP Offer 消息
    • 源 IP 地址:192.168.1.1
    • 目标 IP 地址:255.255.255.255
  3. DHCP Request 消息
    • 源 IP 地址:0.0.0.0
    • 目标 IP 地址:255.255.255.255
  4. 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 消息。

image-20240610141106206

提供的 IP 地址:192.168.1.101

包含提供的 DHCP 地址的消息:DHCP Offer 消息

9.在本作业的示例截图中,主机和 DHCP 服务器之间没有中继代理。追踪中的哪些值表明没有中继代理?你的实验中是否有中继代理?如果有,中继代理的 IP 地址是什么?

image-20240610141601599

没有中继代理的标志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

  1. 客户端接受了 DHCP 服务器提供的 IP 地址:192.168.1.101。
  2. 客户端请求的地址位置:在 DHCP Request 消息的 Option: (50) Requested IP Address 字段中。

12.解释租赁时间的目的。在你的实验中,租赁时间是多少?

租赁时间的目的:

租赁时间(Lease Time)是在 DHCP 协议中,指的是 DHCP 服务器分配给客户端的 IP 地址的有效使用期限。租赁时间决定了客户端可以使用分配的 IP 地址的时长。在租赁时间到期之前,客户端需要向 DHCP 服务器请求续约,以继续使用当前的 IP 地址。如果客户端未能在租赁时间到期前续约,DHCP 服务器可以收回该 IP 地址并分配给其他客户端。

主要目的

  1. 动态分配 IP 地址:通过设置租赁时间,DHCP 服务器可以更高效地管理和分配 IP 地址,确保网络资源的合理利用。
  2. 防止 IP 地址冲突:通过控制租赁时间,可以减少 IP 地址冲突的风险,确保每个客户端在网络中有一个唯一的 IP 地址。
  3. 资源回收和重新分配:如果设备离开网络或关闭,在租赁时间到期后,IP 地址可以被回收并重新分配给其他设备。

在你的实验中,租赁时间是多少?

在你提供的 DHCP Offer 消息截图中,租赁时间在 IP Address Lease Time 选项中,选项代码为 51,86400 秒,即 1 天。。

image-20240611125130352

13.DHCP 释放消息的目的是什么?DHCP 服务器是否会发出确认收到客户端的 DHCP 释放请求的确认?如果客户端的 DHCP 释放消息丢失会发生什么?

DHCP 释放消息的目的:

DHCP 释放(Release)消息是由客户端发送给 DHCP 服务器的,用于通知服务器客户端不再需要分配给它的 IP 地址。通过发送 DHCP 释放消息,客户端可以主动释放其 IP 地址,使该地址可以立即被 DHCP 服务器回收并重新分配给其他客户端。

主要目的

  1. 主动释放 IP 地址:客户端通过发送 DHCP 释放消息来通知服务器,它不再需要当前的 IP 地址。
  2. 提高资源利用率:通过主动释放 IP 地址,服务器可以更快地将该地址分配给其他需要的设备,从而提高网络资源的利用率。

DHCP 服务器是否会发出确认收到客户端的 DHCP 释放请求的确认?

  • ,DHCP 服务器不会对收到的 DHCP 释放消息发出确认。DHCP 释放消息是一个单向通知,客户端发送释放消息后,服务器会更新其内部状态,但不会向客户端发送任何确认消息。

如果客户端的 DHCP 释放消息丢失会发生什么?

如果客户端的 DHCP 释放消息丢失,服务器不会收到该通知,可能会继续认为客户端仍然在使用该 IP 地址。这种情况下:

  1. 服务器的 IP 地址不会立即被回收:服务器可能需要等待租赁时间到期后,才能收回并重新分配该 IP 地址。
  2. 资源利用效率降低:因为服务器没有收到释放消息,IP 地址会在租赁时间到期前保持分配状态,即使客户端已经不再使用该地址,从而降低资源利用效率。

不过,丢失释放消息不会导致严重的问题,因为 DHCP 服务器在租赁时间到期后会自动回收 IP 地址,只是这个过程会稍微延迟。

14.从 Wireshark 窗口中清除 bootp 过滤器。在 DHCP 包交换期间是否发送或接收了任何 ARP 包?如果有,解释这些 ARP 包的目的。

image-20240611125457251

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 包的目的:

  1. 确认 IP 地址是否唯一
    • 当 DHCP 服务器提供一个新的 IP 地址给客户端时,客户端会发送 ARP 请求包,确认网络中没有其他设备正在使用这个 IP 地址。这是为了确保分配的 IP 地址是唯一的,没有冲突。
  2. 更新 ARP 缓存和宣布 IP 地址
    • 客户端获取并确认 IP 地址后,会通过 ARP Announcement 包在网络中广播自己的 IP 地址和 MAC 地址映射。这有助于更新其他设备的 ARP 缓存,确保它们可以正确地与新获取 IP 地址的设备通信。
-------------本文结束感谢您的阅读-------------