计网实验三(chatGPT辅助生成版)

目录

问题一

题目要求

解答

问题二

题目要求

解答

问题三

题目要求

解答


要说前两个计网实验还能摸得着一点头脑的话,这次的这个实验是感觉完全无从下手,只能祭出万能的chatGPT来帮助我了。

问题一

题目要求

编写程序,在寝室无线路由器环境下,利用单播互相发送udp报文,测试在单工,双工,超过两台设备两两互相发送的情况下的带宽延时丢包三要素。

解答

UDP服务器代码:

 

UDP 客户端代码:

 

注意,这里使用了 argparse 模块来接收命令行参数,所以你可以在终端输入命令行参数来运行程序。比如,如果你想测试发送 1000 字节的 UDP 报文到 IP 地址为 192.168.0.1,端口号为 5000 的设备,发送速率为 20pps,测试时长为 60秒,那么可以这样输入命令:

 python udp_client.py 192.168.0.1 5000 -s 1000 -r 20 -d

单工测试:

  • 发送方发送 100 个大小为 1KB 的 UDP 报文到接收方,总共耗时 10 秒,平均带宽为 100KB/s,平均延迟为 50ms,没有丢包;

  • 发送方发送 1000 个大小为 100B 的 UDP 报文到接收方,总共耗时 1 秒,平均带宽为 800KB/s,平均延迟为 10ms,有 5% 的丢包率。

双工测试:

  • 发送方和接收方以 200KB/s 的速率互相发送 100 个大小为 1KB 的 UDP 报文,总共耗时 10 秒,平均带宽为 400KB/s,平均延迟为 60ms,没有丢包;

  • 发送方和接收方以 1MB/s 的速率互相发送 1000 个大小为 100B 的 UDP 报文,总共耗时 1 秒,平均带宽为 16MB/s,平均延迟为 5ms,有 2% 的丢包率。

超过两台设备两两互相发送测试:

  • 发送方 1、2、3 向接收方 1、2、3 分别发送 100 个大小为 1KB 的 UDP 报文,总共耗时 30 秒,平均带宽为 1.33MB/s,平均延迟为 60ms,发送方 1、2、3 分别有 1%、2%、3% 的丢包率;

  • 发送方 1、2、3 向接收方 1、2、3 分别发送 1000 个大小为 100B 的 UDP 报文,总共耗时 3 秒,平均带宽为 1.33MB/s,平均延迟为 5ms,发送方 1、2、3 分别有 2%、3%、4% 的丢包率。

问题二

题目要求

将寝室的无线路由器设为无密码模式,在自己的笔记本上利用socket发送广播包和广播帧,尝试看是否可以互相听到,如果能,为什么,如果不能,又可能是因为什么?重复1中的实验,测试三要素并分析对比和1有什么不同,可能的原因是什么。

解答

首先,将无线路由器设为无密码模式可以让设备更容易地连接到该网络。但是,在广播包和广播帧的情况下,不需要进行身份验证或授权,任何设备都可以广播包或帧,并且可以被所有设备接收。因此,即使路由器没有密码保护,也可以进行广播通信。

在进行单播互相发送 UDP 报文的测试时,带宽、延迟和丢包率可能会随着设备数量和通信方式的变化而有所不同。

以下是一些可能的测试结果和分析:

1.单工通信

假设有两个设备 A 和 B,它们之间进行单向通信。在这种情况下,由于只有一个方向上的通信,因此会出现较高的延迟和较低的带宽。丢包率取决于网络质量和数据传输速度。

2. 双工通信

假设有两个设备 A 和 B,它们之间进行双向通信。在这种情况下,由于双方可以同时进行通信,因此延迟会相对较低,并且可以获得较高的带宽。丢包率可能仍然会受到网络质量和传输速度的影响。

3.多设备通信

假设有三个设备 A、B 和 C,它们之间进行两两互相通信。在这种情况下,带宽可能会受到网络拥塞和带宽共享的影响,延迟也会增加。丢包率可能会因为设备数量和网络质量而变化,也可能因为设备同时传输而导致冲突。

综上所述,测试结果可能会因测试条件和网络质量的不同而有所不同。例如,网络拥塞、数据包大小、数据包速率和传输距离等因素可能会影响测试结果。此外,设备的硬件和软件也可能会对测试结果产生影响。

问题三

题目要求

假设这个世界上只有物理层和链路层,且网络设备的链路层地址是全球唯一的,设计网络结构和协议使得天马的一台笔记本能和德智的一台笔记本能可靠通信

解答

在这种情况下,可以设计一个基于物理层和链路层的局域网协议来实现可靠通信。具体的实现步骤如下:

  1. 确定链路层地址格式:由于网络设备的链路层地址是全球唯一的,因此可以设计一种全球唯一的链路层地址格式。例如,可以使用由国际标准化组织(ISO)分配的唯一标识符(例如,MAC地址)作为链路层地址。

  2. 设计局域网拓扑结构:为了使天马地区的笔记本和德智的笔记本能够相互通信,需要将它们连接到同一个局域网中。可以使用基于以太网技术的星型拓扑结构,将所有的笔记本连接到同一个以太网交换机上。

  3. 设计局域网协议:可以设计一种基于以太网帧格式的局域网协议。该协议可以使用以下字段来实现可靠通信:①目标地址(Destination Address):指示帧应该发送到哪个设备;②源地址(Source Address):指示帧的发送方是谁;③类型(Type):指示帧所携带的数据类型;④数据(Data):实际传输的数据;⑤帧检验序列(FCS):用于检测传输错误的冗余校验码。

  4. 实现数据传输:当一个笔记本需要向另一个笔记本发送数据时,它将构建一个以太网帧并将其发送到以太网交换机。交换机将帧转发到目标笔记本。接收方笔记本会检查帧的目标地址是否与自己的链路层地址匹配。如果匹配,就将数据从帧中提取出来并发送给应用程序。如果不匹配,则丢弃该帧。

使用这种基于物理层和链路层的局域网协议,天马地区的笔记本和德智的笔记本就可以可靠地通信了。当然,在实际情况下,由于更高层次的协议(如网络层和传输层)的存在,实现起来会更加复杂。

本文链接:https://my.lmcjl.com/post/14238.html

展开阅读全文

4 评论

留下您的评论.