From 8ecc43812571c247f9cc2a97b807d405e2b36e60 Mon Sep 17 00:00:00 2001 From: KirisameVanilla <118162831+kirisamevanilla@users.noreply.github.com> Date: Thu, 11 Sep 2025 12:56:29 +0800 Subject: [PATCH] fix: fix all format in Computer Network Exps --- .../软件工程学院/计算机网络/README.md | 4 +- .../软件工程学院/计算机网络/lab/lab1/lab1.md | 129 ++++----- .../计算机网络/lab/lab2/lib2.html | 250 ------------------ .../软件工程学院/计算机网络/lab/lab2/lib2.md | 46 ++-- .../计算机网络/lab/lab3/lib3-calcuate.cpp | 9 - .../软件工程学院/计算机网络/lab/lab3/lib3.md | 41 +-- .../软件工程学院/计算机网络/lab/lab4/lib4.md | 30 ++- .../软件工程学院/计算机网络/lab/lab5/lib5.md | 41 ++- .../软件工程学院/计算机网络/lab/lab6/lib6.md | 62 ++--- .../软件工程学院/计算机网络/lab/lab7/lib7.md | 19 +- 10 files changed, 176 insertions(+), 455 deletions(-) delete mode 100755 docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.html delete mode 100755 docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3-calcuate.cpp diff --git a/docs/undergraduate/软件工程学院/计算机网络/README.md b/docs/undergraduate/软件工程学院/计算机网络/README.md index e323b49..e137a6e 100644 --- a/docs/undergraduate/软件工程学院/计算机网络/README.md +++ b/docs/undergraduate/软件工程学院/计算机网络/README.md @@ -5,11 +5,9 @@ title: 计算机网络 !!! warning "施工中" -# 计算机网络 - ## 实验报告 -- [lab1](./lab/lab1/lab1) +- [lab1](./lab/lab1/lab1.md) - [lab2 Ethernet](./lab/lab2/lib2) - [lab3 IPV4](./lab/lab3/lib3) - [lab4 ARP](./lab/lab4/lib4) diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab1/lab1.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab1/lab1.md index fea48f1..c85bf5d 100644 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab1/lab1.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab1/lab1.md @@ -1,6 +1,10 @@ -**华东师范大学软件学院实验报告** +--- +title: Lab1 +--- -**一、实验目的** +# 华东师范大学软件学院实验报告 + +## 一、实验目的 1. 学会使用curl与wget指令 @@ -10,113 +14,86 @@ 4. 学会计算并分析协议开销 -**二、实验内容与实验步骤** +## 二、实验内容与实验步骤 -1. 在控制台中输入"curl OK" +1. 在控制台中输入`curl http://1st.moe/`,并观察到`200 OK` -2. 启动Wireshark,选择监听以太网,并将捕获过滤器设置为tcp port - > 80,关闭混杂模式,并启用"enable network name resolution"选项 +2. 启动Wireshark,选择监听以太网,并将捕获过滤器设置为tcp port 80,关闭混杂模式,并启用"enable network name resolution"选项 3. 关闭所有浏览器窗口后开始捕获 -4. 重新在控制台输入"curl [**http://1st.moe/**](http://1st.moe/)" +4. 重新在控制台输入 `curl http://1st.moe/` 5. 停止Wireshark捕获 -**三、实验环境** +## 三、实验环境 -> B226机房电脑 +B226机房电脑 -**四、实验过程与分析** +## 四、实验过程与分析 1. 实验过程 - 1) 捕获内容如图所示 + 捕获内容如图所示 -> ![](./Pictures/100000010000094B000002EADEAFEA2E.png){width="17.007cm" -> height="5.3cm"} + ![捕获内容](./Pictures/100000010000094B000002EADEAFEA2E.png) -2. 1) 分析协议包的内容 +2. + 分析协议包的内容 -> ![](./Pictures/10000001000003320000015C8A9E98EE.png){width="8.504cm" -> height="3.6cm"}![](./Pictures/100000010000032800000154F3640027.png){width="8.504cm" -> height="3.579cm"}![](./Pictures/100000010000032900000152B123680E.png){width="8.504cm" -> height="3.556cm"}![](./Pictures/100000010000033300000151977B0DF0.png){width="8.504cm" -> height="3.489cm"} + ![协议包内容1](./Pictures/10000001000003320000015C8A9E98EE.png) + ![协议包内容2](./Pictures/100000010000032800000154F3640027.png) + ![协议包内容3](./Pictures/100000010000032900000152B123680E.png) + ![协议包内容4](./Pictures/100000010000033300000151977B0DF0.png) -> 根据如上四张图片,可以发现各个协议所占的字节数为 + 根据如上四张图片,可以发现各个协议所占的字节数为 -+---------------------------------------+-------------+ -| > 协议 | > 字节数 | -+---------------------------------------+-------------+ -| > Ethernet (eth) | > 14 bytes | -+---------------------------------------+-------------+ -| > Internet Protocol Version 6 (ipv6) | > 40 bytes | -+---------------------------------------+-------------+ -| > Transmission Control Protocol (tcp) | > 20 bytes | -+---------------------------------------+-------------+ -| > Hypertext Transfer Protocol (http) | > 128 bytes | -+---------------------------------------+-------------+ + | 协议 | 字节数 | + |-------------------------------------|-----------| + | Ethernet (eth) | 14 bytes | + | Internet Protocol Version 6 (ipv6) | 40 bytes | + | Transmission Control Protocol (tcp) | 20 bytes | + | Hypertext Transfer Protocol (http) | 128 bytes | -> 则包的结构大致如下 + 则包的结构大致如下 -+-------------------+--------------------+------------+-------------+ -| > eth | > ip | > tcp | > http | -+-------------------+--------------------+------------+-------------+ -| > 14 bytes | > 40 bytes | > 20 bytes | > 128 bytes | -+-------------------+--------------------+------------+-------------+ -| > Ethernet Header | > Ethernet Payload | | | -+-------------------+--------------------+------------+-------------+ -| > IP Header | > IP Payload | | | -+-------------------+--------------------+------------+-------------+ + | eth | ip | tcp | http | + |-----------------|------------------|----------|-----------| + | 14 bytes | 40 bytes | 20 bytes | 128 bytes | + | Ethernet Header | Ethernet Payload | | | + | IP Header | IP Payload | | | 3. 问题 - 1) 分析协议开销 + 1. 分析协议开销 -> 一个GET本身的大小为128 -> bytes,而其相应产生的SYN、ACK请求也应算入其开销中。根据图片 + 一个GET本身的大小为128 + bytes,而其相应产生的SYN、ACK请求也应算入其开销中。根据图片 + ![alt](./Pictures/10000001000004EE0000005E50C8B369.png) + 可以计算得出由于协议产生的总开销为86+74+(202-128)+74=308 + bytes,从而计算得出比值约为0.4156,考虑到信息传输的稳定性,协议开销是值得的。 -> ![](./Pictures/10000001000004EE0000005E50C8B369.png){width="17.096cm" -> height="1.281cm"} + 2. 以太网头部中哪一部分是解复用键并且告知它的下一个高层指的是IP,在这一包内哪一个值可以表示IP -> 可以计算得出由于协议产生的总开销为86+74+(202-128)+74=308 -> bytes,从而计算得出比值约为0.4156,考虑到信息传输的稳定性,协议开销是值得的。 + 根据图片 + ![alt](./Pictures/10000001000004000000007864293250.png) + ![alt](./Pictures/1000000100000470000000F4B4E41AC7.png) + 可以直观看出ipv6对应的分解键为0x86dd,tcp对应的分解键为6 -4. 1) 以太网头部中哪一部分是解复用键并且告知它的下一个高层指的是IP,在这一包内哪一个值可以表示IP +4. 故障分析 -> 根据图片 + 在实验过程中出现了控制台有反馈但Wireshark没有捕获的情况,经排查后发现是由于控制台指令输入错误:误将http输入为https所致。 -> ![](./Pictures/10000001000004000000007864293250.png){width="17.096cm" -> height="2.009cm"} - -> ![](./Pictures/1000000100000470000000F4B4E41AC7.png){width="17.096cm" -> height="3.667cm"} - -> 可以直观看出ipv6对应的分解键为0x86dd,tcp对应的分解键为6 - -5. 故障分析 - -> 在实验过程中出现了控制台有反馈但Wireshark没有捕获的情况,经排查后发现是由于控制台指令输入错误:误将http输入为https所致。 - -**五、实验结果总结** +## 五、实验结果总结 1. 实验完成了对一个HTTP包的拆解与分析,其大体结构大致如下 -+-------------------+--------------------+------------+-------------+ -| > Eth | > ip | > tcp | > http | -+-------------------+--------------------+------------+-------------+ -| > 14 bytes | > 40 bytes | > 20 bytes | > 128 bytes | -+-------------------+--------------------+------------+-------------+ -| > Ethernet Header | > Ethernet Payload | | | -+-------------------+--------------------+------------+-------------+ -| > IP Header | > IP Payload | | | -+-------------------+--------------------+------------+-------------+ + |th|ip|tcp|http| + |-|-|--|-| + | 14 bytes | 40 bytes | 20 bytes | 128 bytes | + | Ethernet Header | Ethernet Payload | | | + | IP Header | IP Payload | | | 2. 实验通过curl指令与Wireshark软件完成,在其中熟悉网络工具的使用,并体会到其强大之处 3. 通过查询相关资料,了解开销、分解键等概念 - -**六、附录** - -**无** diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.html b/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.html deleted file mode 100755 index f75899e..0000000 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - <center>华东师范大学软件学院实验报告</center> - - - - - - - - - - - - -

华东师范大学软件学院实验报告

- - - - - - - - - - - - - - - - - - - - -
实验课程: 计算机网络年级: 2024实验成绩:
实验名称: Ethernet姓名: 张春晓实验日期: 2024.11.29
实验编号: 2学号: 10234507025实验时间: 2学时
-
-

一、实验目的

-

学习以太网帧的组成

-

二、使用内容与实验步骤

-
    -
  1. 捕获帧 -
      -
    1. 对一个远程服务器使用 ping 指令发送信息,并检查是否有回复;
    2. -
    3. 启动 Wireshark ,选择过滤 icmp ,开启“启用 MAC 名称解析”选项,开始捕获以太网帧;
    4. -
    5. 重复第一步;
    6. -
    7. 终止 ping 指令,返回 Wireshark 并停止捕获。
    8. -
    -
  2. -
  3. 检查捕获到的数据 -
      -
    1. 选择捕获到的任意数据包,查看其结构与组成数据包字节的详细信息;
    2. -
    3. 展开以太网报头字段并查看详细信息。
    4. -
    -
  4. -
  5. 以太网帧结构 -绘制一个显示以太网头字段位置与大小的 ping 报文图。
  6. -
  7. 以太网地址范围 -绘制一张图,显示电脑、路由器、远程服务器的相对位置。
    -用以太网地址标注计算机与路由器,IP 地址标注计算机与远程服务器。
    -并显示以太网和互联网其他部分在图中的位置。
  8. -
  9. 广播帧 -启动 Wireshark ,选择过滤 ether multicast ,等待一段时间,捕获广播与组播以太网帧,并根据结果完成以下两个任务:
    -
      -
    1. 找到广播以太网地址
    2. -
    3. 找到以太网地址的哪一位确认是单播还是组播
    4. -
    -
  10. -
-

三、实验环境

- -

四、实验过程与分析

-
    -
  1. 捕获帧
    -ping
    -Wireshark
  2. -
  3. 检查捕获到的数据

    -ping
  4. -
  5. 以太网帧结构
    - - - - - - - - - - - - - - - - - - - -
    Ethernet IIIP&ICMP
    DestinationSourceType60 Bytes
    6 Bytes6 Bytes2 Bytes
    Ethernet HeaderEthernet Payload
    -
  6. -
  7. 以太网地址范围
    -mermaid
  8. -
  9. 广播帧 -捕获内容如图:
    -broadcast
    -
      -
    1. 以太网地址为 ff:ff:ff:ff:ff:ff,在 Wireshark 中标注为 Broadcast
    2. -
    3. 第一个字节的末位为1是组播,反之则是单播,所有比特均为1则是广播
    4. -
    -
  10. -
-

五、试验结果总结

-

在本次实验中,我顺利地完成了各项任务,了解并学习到了以太网传输的各项细节

- - - - - \ No newline at end of file diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.md index eddd83a..3410af5 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab2/lib2.md @@ -1,10 +1,8 @@ -#
华东师范大学软件学院实验报告
-| **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | -| :------------------------ | :--------------------- | :------------------------ | -| **实验名称:** Ethernet | **姓名:** | **实验日期:** 2024.11.29 | -| **实验编号:** 2 | **学号:** | **实验时间:** 2学时 | - --- +title: Lab2 - Ethernet +--- + +# 华东师范大学软件学院实验报告 ## 一、实验目的 @@ -23,11 +21,11 @@ 3. 以太网帧结构 绘制一个显示以太网头字段位置与大小的 ping 报文图。 4. 以太网地址范围 - 绘制一张图,显示电脑、路由器、远程服务器的相对位置。
- 用以太网地址标注计算机与路由器,IP 地址标注计算机与远程服务器。
+ 绘制一张图,显示电脑、路由器、远程服务器的相对位置。 + 用以太网地址标注计算机与路由器,IP 地址标注计算机与远程服务器。 并显示以太网和互联网其他部分在图中的位置。 5. 广播帧 - 启动 Wireshark ,选择过滤 ether multicast ,等待一段时间,捕获广播与组播以太网帧,并根据结果完成以下两个任务:
+ 启动 Wireshark ,选择过滤 ether multicast ,等待一段时间,捕获广播与组播以太网帧,并根据结果完成以下两个任务: 1. 找到广播以太网地址 2. 找到以太网地址的哪一位确认是单播还是组播 @@ -41,22 +39,22 @@ ## 四、实验过程与分析 -1. 捕获帧
- ![ping](./lib3-1.png)
- ![Wireshark](./lib3-2.png) -2. 检查捕获到的数据
- ![ping](./lib3-3.png) -3. 以太网帧结构
- +1. 捕获帧 + ![ping](./lib2-1.png) + ![Wireshark](./lib2-2.png) +2. 检查捕获到的数据 + ![ping](./lib2-3.png) +3. 以太网帧结构 +
- + - + @@ -64,15 +62,15 @@ - + - +
Ethernet IIEthernet II IP&ICMP
Destination Source Type60 Bytes60 Bytes
6 Bytes2 Bytes
Ethernet HeaderEthernet Header Ethernet Payload
-4. 以太网地址范围
+4. 以太网地址范围 ![mermaid](./lib2-5.png) -5. 广播帧 - 捕获内容如图:
- ![broadcast](./lib3-4.png)
+5. 广播帧 + 捕获内容如图: + ![broadcast](./lib2-4.png) 1. 以太网地址为 ff:ff:ff:ff:ff:ff,在 Wireshark 中标注为 Broadcast 2. 第一个字节的末位为1是组播,反之则是单播,所有比特均为1则是广播 diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3-calcuate.cpp b/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3-calcuate.cpp deleted file mode 100755 index 4e3ced2..0000000 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3-calcuate.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -using namespace std; - -int main() -{ - printf("%x",0x4500+0x0034+0xd124+0x4000+0x2606+0xe0f4+0x344a+0xe83b+0xda06+0xac1e); - return 0; -} \ No newline at end of file diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3.md index 5a7f593..1f78642 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab3/lib3.md @@ -1,9 +1,8 @@ +--- +title: Lab3 - IPv4 +--- -#
华东师范大学软件学院实验报告
-| **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | -| :------------------------ | :--------------------- | :------------------------ | -| **实验名称:** IPV4 | **姓名:** | **实验日期:** 2024.12.08 | -| **实验编号:** 3 | **学号:** | **实验时间:** 2学时 | +# 华东师范大学软件学院实验报告 ## 一、实验目的 @@ -38,7 +37,6 @@ 3. 将得到的和分为两段,使得其中的一段为最右边的 4 位 16 进制数,计算两段之和; 4. 检查结果是否为 0xffff 。 - ## 三、实验环境 - 实验仪器:ThinkPad X230i @@ -50,9 +48,10 @@ ## 四、实验过程与分析 1. 捕获轨迹 - ![wget](./lib3/lib3-2.png) + ![wget](./lib3-2.png) traceroute 获取到的信息如下: - ``` + + ``` bash traceroute to 1st.moe (52.74.232.59), 30 hops max, 60 byte packets 1 * * * 2 10.100.5.1 (10.100.5.1) 8.795 ms 8.962 ms 9.096 ms @@ -85,20 +84,20 @@ 29 * * * 30 * * * ``` -2. - ![wget](./lib3/lib3-2.png) + +2. ![wget](./lib3-2.png) + 3. 1. IP结构 - + - + @@ -108,7 +107,7 @@ - + @@ -125,21 +124,22 @@ - + - +
IPIP TCP
Version Header LengthDifferentiated - Services FieldDifferentiated Services Field Total Length Identification FlagsHeader Checksum Source Address Destinatoin Address32 Bytes32 Bytes
4 bits4 Bytes
Ethernet HeaderEthernet Header Ethernet Payload
- 2. + 2. 1. 服务端 IP 地址为 52.74.232.59;电脑 IP 地址为 172.30.218.6 2. 总长字段为 52 = 20 + 32 ,所以计算时包含 IP 报头与 IP 负载 3. 不同 4. 电脑发送的 TTL 值为 38 ,是一个较小的值 5. 通过查看 Flags 字段 6. 长度为 20 Bytes ,编码在 IP 报头第一个字节的 4~8 位 -4. - ![wget](./lib3/lib3-3.png) +4. + ![wget](./lib3-3.png) 5. 执行如下代码: - ``` + + ``` c #include using namespace std; @@ -150,4 +150,5 @@ return 0; } ``` + 其结果为0x4fffb,计算4+fffb=ffff,故正确。 diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab4/lib4.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab4/lib4.md index 6542d3f..527125c 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab4/lib4.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab4/lib4.md @@ -1,8 +1,8 @@ -#
华东师范大学软件学院实验报告
-| **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | -| :------------------------ | :--------------------- | :------------------------ | -| **实验名称:** ARP | **姓名:** | **实验日期:** 2024.12.13 | -| **实验编号:** 4 | **学号:** | **实验时间:** 2学时 | +--- +title: Lab4 - ARP +--- + +# 华东师范大学软件学院实验报告 ## 一、实验目的 @@ -42,7 +42,8 @@ 1. 捕获 1. 执行`ifconfig`指令,得到的输出如下: - ``` + + ``` bash enp0s25: flags=4099 mtu 1500 ether 3c:97:0e:27:a3:96 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) @@ -69,27 +70,31 @@ TX packets 4771 bytes 2531632 (2.4 MiB) TX errors 0 dropped 76 overruns 0 carrier 0 collisions 0 ``` + 在 `wlan0` 下的 `ether` 一行可以得知计算机以太网地址为 `e0:06:e6:c4:be:04` 。 2. 执行 `route` 指令,得到的输出如下: + ``` Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 600 0 0 wlan0 172.31.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlan0 ``` + 可以得知默认网关的 ip 地址为 `172.31.0.0` 。 3. 启动捕获。 4. 执行 `arp -a` 指令,得到输出 `_gateway (172.31.0.1) at 54:c6:ff:7b:38:02 [ether] on wlan0` 。随后执行 `sudo arp -d 172.31.0.1` 指令清除缓存,该指令没有输出,若重复执行,则会得到 `No ARP entry for 172.31.0.1` 输出。 - 5. 在观察到已经捕获 7 个 ARP 流量包后停止捕获,其界面如图:
+ 5. 在观察到已经捕获 7 个 ARP 流量包后停止捕获,其界面如图: ![arp](./lib4-1.png) -2. 检查捕获
- *因为捕获到的包数量较少,故不设置过滤器。*
- 请求包:
+2. 检查捕获 + *因为捕获到的包数量较少,故不设置过滤器。* + 请求包: ![request](./lib4-2.png) - 回复包:
+ 回复包: ![reply](./lib4-3.png) -3. ARP 请求与回复 +3. ARP 请求与回复 其图例如下 + ```mermaid flowchart LR computer[计算机
MAC e0:06:e6:c4:be:04
IP 172.31.215.159] @@ -97,6 +102,7 @@ computer--request
Who has 172.31.0.1? Tell 172.31.215.159-->gateway gateway--reply
172.31.0.1 is at 54:c6:ff:7b:38:02-->computer ``` + 4. 以太网上的 ARP 详细信息 1. 请求的操作码为 `0x0001` ,回复的操作码为 `0x0002` 。 2. 请求与回复的的 ARP 报头均为 28 bytes,对于报文,请求的报文为 42 bytes,回复的报文为60 bytes。 diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab5/lib5.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab5/lib5.md index a7d959e..546d038 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab5/lib5.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab5/lib5.md @@ -1,8 +1,7 @@ -#
华东师范大学软件学院实验报告
-| **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | -| :------------------------ | :--------------------- | :------------------------ | -| **实验名称:** UDP | **姓名:** | **实验日期:** 2024.12.20 | -| **实验编号:** 5 | **学号:** | **实验时间:** 2学时 | +--- +title: Lab5 - UDP +--- +# 华东师范大学软件学院实验报告 ## 一、实验目的 @@ -15,19 +14,19 @@ 2. 浏览网页以产生 UDP 流量。 3. 停止浏览,等待一分钟左右观察背景 UDP 流量。 4. 停止捕获。 -2. 检查捕获到的数据
- 观察所捕获到的流量包,UDP 协议包包括如下字段:源端口、目标端口、长度、校验和。
+2. 检查捕获到的数据 + 观察所捕获到的流量包,UDP 协议包包括如下字段:源端口、目标端口、长度、校验和。 **注意:协议列所列出的协议可能是 UDP 之上的应用程序协议名称而非 UDP** -3. UDP 消息结构
- 制作一份 UDP 报文图例并回答如下问题:
+3. UDP 消息结构 + 制作一份 UDP 报文图例并回答如下问题: 1. 长度字段包含什么? 1. UDP 有效负载 2. UDP 有效负载与 UDP 报头 3. UDP 有效负载、UDP 报头与底层报头 2. UDP 校验和的长度为多少?(以位为单位) 3. UDP 报头的长度为多少字节? -4. UDP 使用
- 回答如下问题:
+4. UDP 使用 + 回答如下问题: 1. 给出标识上层协议为 UDP 的 IP 协议字段的值 2. 检查 UDP 消息并提供**当电脑既不是源IP地址也不是目标IP地址时**使用的目标 IP 地址 3. 捕获到的 UDP 消息的典型大小为多少 @@ -42,21 +41,21 @@ ## 四、实验过程与分析 -1. 捕获 +1. 捕获 本步骤采用老师所提供的捕获文件 -2. 检查捕获到的数据 - 捕获包如图所示
+2. 检查捕获到的数据 + 捕获包如图所示 ![package](./lib5-1.png) -3. UDP 消息结构
- 观察下图所列出的包
+3. UDP 消息结构 + 观察下图所列出的包 ![struct](./lib5-2.png) 1. UDP 报头为 8 bytes,负载为 143 bytes,二者之和恰为 UDP 长度字段所标注的 151 bytes,故 UDP 长度字段包括 **UDP 有效负载与 UDP 报头**。 2. UDP 校验和的长度为 2 bytes,即 16 位。 3. UDP 报头的长度为 8 bytes。 - UDP 报文结构如下表所示:
+ UDP 报文结构如下表所示: - + @@ -64,7 +63,7 @@ - + @@ -74,8 +73,8 @@
UDP HeaderUDP Header UDP Payload
Destination Port Length Checksum many bytes many bytes
2 bytes
4. UDP 使用 - 1. 如图所示,IP 协议字段的值为 0x11 ,即 17
+ 1. 如图所示,IP 协议字段的值为 0x11 ,即 17 ![IP](lib5-3.png) - 2. 如图所示,目标 IP 地址为 239.255.255.250
+ 2. 如图所示,目标 IP 地址为 239.255.255.250 ![des](lib5-4.png) 3. 捕获到的 UDP 消息大小大多在 100 bytes 与 300 bytes 之间。 diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab6/lib6.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab6/lib6.md index 59151af..7e37973 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab6/lib6.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab6/lib6.md @@ -1,8 +1,8 @@ -#
华东师范大学软件学院实验报告
-| **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | -| :------------------------ | :--------------------- | :------------------------------------------ | -| **实验名称:** TCP | **姓名:** | **实验日期:**
2024.12.27
2025.01.03 | -| **实验编号:** 6 | **学号:** | **实验时间:** 2学时 | +--- +title: Lab6 - TCP +--- + +# 华东师范大学软件学院实验报告 ## 一、实验目的 @@ -110,33 +110,33 @@ - + - + + + + + + + + + + + - + + + + + + + + +
TCP 报头TCP 报头 TCP 负载
源端口 - 目标端口 - 序列号 - 确认号 - 报头长度 - Flags - 窗口 - 校验和 - 紧急指针 - Options - TCP Payloads源端口目标端口序列号确认号报头长度Flags窗口校验和紧急指针OptionsTCP Payloads
2 bytes - 2 bytes - 4 bytes - 4 bytes - 4 bits - 12 bits - 2 bytes - 2 bytes - 2 bytes - 12 bytes + 2 bytes2 bytes4 bytes4 bytes4 bits12 bits2 bytes2 bytes2 bytes12 bytes Many bytes
@@ -196,7 +196,7 @@ ``` 5. TCP 数据传输 - + IO 图表如图: ![IO](lib6-5.png) @@ -204,11 +204,11 @@ ![IO](lib6-6.png) 1. 下载方向的大致数据速率是 - + $$ \frac{\frac{1}{8}(18+35+13+8+46+23+28+21) packets}{0.1 s} = 240\ packets/s $$ - + $$ \frac{\frac{1}{8}(185300+401500+149100+91780+527700+263900+321200+226600) bits}{0.1 s} =2708850\ bits/s $$ @@ -224,7 +224,7 @@ $$ \frac{\frac{1}{8}(16+29+13+8+32+10+23+22) packets}{0.1 s} = 191.25\ packets/s $$ - + $$ \frac{\frac{1}{8}(8448+15310+6864+4224+16990+5280+12140+11620) bits}{0.1 s} =101095\ bits/s $$ diff --git a/docs/undergraduate/软件工程学院/计算机网络/lab/lab7/lib7.md b/docs/undergraduate/软件工程学院/计算机网络/lab/lab7/lib7.md index 1778425..e9c84bb 100755 --- a/docs/undergraduate/软件工程学院/计算机网络/lab/lab7/lib7.md +++ b/docs/undergraduate/软件工程学院/计算机网络/lab/lab7/lib7.md @@ -1,4 +1,5 @@ #
华东师范大学软件学院实验报告
+ | **实验课程:** 计算机网络 | **年级:** 2024 | **实验成绩:** | | :-------------------------------- | :--------------------- | :------------------------ | | **实验名称:** Socket Programming | **姓名:** | **实验日期:** 2025.01.03 | @@ -44,9 +45,9 @@ 1. 0号客户端发送测试文本0(测试短文本):`text0:hello, world`,服务端显示:`text0:hello, world`,正常发送,Wireshark 捕获到的包信息如下。 - ![png3](./lib7-3.png) + ![png3](./lib7-3.png) - 2. 0号客户端发送测试文本1(测试ACSII可显示字符):text1: !"#\$%&'()\*+,-./0123456789:;<=>?\`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^\_@abcdefghijklmnopqrstuvwxyz{|}~,服务端显示:text1: !"#\$%&'()\*+,-./0123456789:;<=>?\`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^\_@abcdefghijklmnopqrstuvwxyz{|}~,正常发送,Wireshark 捕获到的包信息如下。 + 2. 0号客户端发送测试文本1(测试ACSII可显示字符):text1: ``!"#\$%&'()*+,-./0123456789:;<=>?`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@abcdefghijklmnopqrstuvwxyz{|}~``,服务端显示:text1: ``!"#\$%&'()*+,-./0123456789:;<=>?`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_@abcdefghijklmnopqrstuvwxyz{|}~``,正常发送,Wireshark 捕获到的包信息如下。 ![png4](./lib7-4.png) @@ -59,7 +60,7 @@ 4. 0号客户端发送测试文本3(测试中文文本):`text3:你好,世界`,服务端显示:`text3:你好,世界`,正常发送,Wireshark 捕获到的包信息如下。 ![png7](./lib7-7.png) - + 5. 0号客户端发送测试文本4(测试长文本):`text4:0123456789abcdef...0123456789abcdef`(共计32774字节),服务端显示:`text4:0123456789abcdef...012345678`(共计4096字节),文本发送不正常,仅发送前 4096 字节,检查 Wireshark ,可以发现0号客户端共发送16个包,前15个包中每个包携带255字节的文本,最后一个包携带16字节的文本,捕获到的第一个与最后一个客户端包信息如下。 ![png](./lib7-8.png) @@ -91,17 +92,17 @@ ![png12](./lib7-12.png) 0号客户端发送了带有 SYN 的信息包,由于服务端已经关闭,7701端口空闲,故返回带有RST的数据报,0号客户端收到后报告错误并退出 - + 7. 执行指令`./client`,不指定地址,报错`usage: simplex-talk host` 6. 多客户端测试 - + 1. 重新启动服务端 2. 启动0号客户端,观察 Wireshark ,可以发现0号客户端使用端口为53092 3. 0号客户端发送文本`client0`,服务端显示:`client0`,正常发送。 4. 启动1号客户端,观察 Wireshark ,可以发现1号客户端使用端口为43676,Wireshark 捕获包信息如下: - ![png13](./lib7-13.png) + ![png13](./lib7-13.png) 5. 1号客户端发送文本`client1`,服务端没有显示,但 Wireshark 捕获到信息包。 6. 0号客户端发送文本`text from client0`,服务端显示`text from client0`,正常发送。 @@ -124,9 +125,9 @@ 5. 尝试重新启动服务端,报错`simplex-talk: bind: Address already in use`,Wireshark 未捕获到内容 6. 客户端退出 7. 尝试重新启动服务端,服务端正常运行 - + 测试截图如下: - + ![png15](./lib7-15.png) 8. 局域网通信测试 @@ -281,7 +282,7 @@ main() exit(1); } while (len = recv(new_s, buf, sizeof(buf), 0)) - fputs(buf, stdout); + fputs(buf, stdout); close(new_s); } }