计网实验
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    --- title: 【计网实验】lab6-传输层实验 date: 2025-12-14 00:03:50 tags: 学习经验 categories: - [学习经验, 计网实验] --- 1. TCP基础实验 2. TCP滑动窗口机制和窗口探查机制分析 3. TCP慢启动、拥塞避免算法及拥塞处理实验 4. UDP实验 tips:TCP 实验约 **Linux** 系统,UDP 实验约 **winxp** 系统 ## 0 Linux 相关 & mooc & 实验报告 ### 0.1 Linux 相关 ##### 1 Linux 用户名&密码 用户名:root 密码:network ##### 2 Linux 配 IP 以PCB为例,配置接收端IP地址: 1. 右键点击如图的网络连接图标,选择 `Edit Connection`; ![02](https://hackmd.io/_uploads/Bypxjbif-g.png) ![03](https://hackmd.io/_uploads/SypWiZszZg.png) 2. 先查看是否有可用的配置好的ip地址, 如果没有,则点击add,如下图配置(选择 `IPv4 Settings`, `Method` 为 `Manual`, 点击 `Add`,输入 IP 地址、掩码、网管),点击apply,关闭编辑网络连接。 注意:配网关和子网掩码的之前或之后,要在旁边空白的地方点一下,看看是否配置成功了。或者配完敲一下回车。不要急于点确定。否则,容易出现配的网关等总是变成0.0.0.0 ![04](https://hackmd.io/_uploads/BkNQo-ifWg.png) 3. 鼠标左键点击网络连接图标,先点击 `disconnect` 断开网络连接,再用鼠标选择receiver eth0(你刚刚给那个 IP 的命名),出现下面界面即可。还可以 `ipconfig` 验证 ip 是否生效 ![05](https://hackmd.io/_uploads/Hkf8oZoGbl.png) ##### 3 Linux配路由器或交换机 打开命令行窗口,输入minicom,敲回车,等待几秒钟即可 ![01](https://hackmd.io/_uploads/Skq8iZozZe.png) ### 0.2 mooc ![06](https://hackmd.io/_uploads/rkrdoZjMbe.png) ![07](https://hackmd.io/_uploads/S1iOsZsfbl.png) ### 0.3 实验报告 本次实验报告共 11 题 1. TCP 基础实验:T1-T5 2. TCP 滑动窗口机制和窗口探查机制分析:T6-T7 3. TCP 慢启动、拥塞避免算法及拥塞处理实验:T8-T10 4. UDP 实验:T11 ##### T1 根据2.6中步骤3回答:TCP的连接和建立采用的是:**三次握手**方式,PCA是**主动打开**,PCB是**被动打开**。先点击发送再点击接收,会出现什么问题?为什么? **如果先点击发送再点击连接,则会失败,提示 IO错误。因为这类似于C/S模式,如果被动连接server没有启动,不接受连接,则主动连接的client不能连接上。必须先打开被动连接一方。** ##### T2 参考 ![08](https://hackmd.io/_uploads/HkcKo-ofZl.png) 发送方初始序号:209418378 ![09(1)](https://hackmd.io/_uploads/BkHc3-sz-x.png) ![10](https://hackmd.io/_uploads/Byv5hWizbl.png) ![11](https://hackmd.io/_uploads/HkFchbsz-g.png) ##### T3 TCP连接建立时,其报文首部与其它TCP报文不同,有一个“Option”字段,它的作用是什么,值为多少?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 **它的作用是给出最大报文段长度MSS,大小是发送方和接收方的MSS的较小值。这个值将在数据传输时被使用到,在本实验中,该值为1460字节。** **IEEE802.3协议规定的以太网最大帧长度为1500字节,减去20字节的IP首部和20字节的TCP首部,结果即为1460字节。** 包含Option字段的报文见下: ![12](https://hackmd.io/_uploads/HkDj2WizWg.png) ##### T4 参考 ![13](https://hackmd.io/_uploads/SJk2hZsGWl.png) ![14](https://hackmd.io/_uploads/H1zn3-oGZx.png) ##### T5 参考 ![15](https://hackmd.io/_uploads/B1462-jf-g.png) ![16](https://hackmd.io/_uploads/rJwpnZifWg.png) ![17](https://hackmd.io/_uploads/SyF6nZoGZx.png) ![18](https://hackmd.io/_uploads/HJm-pZozZg.png) ![19](https://hackmd.io/_uploads/S18Z6WjMbl.png) ![20](https://hackmd.io/_uploads/H1dbTbsz-g.png) ![21](https://hackmd.io/_uploads/S19b6-oMbl.png) ##### T6 ##### T7 ##### T8 参考 ###### (1) ssthresh = 2147483647,cwnd = 3。ssthresh的初始值很大,而cwnd的初始值很小,这样,TCP可以在开始时快速增加发送窗口,直到达到ssthresh,然后进入拥塞避免阶段,逐渐增加发送窗口。 **RFC5681慢启动初始值的规定如下:** If SMSS > 2190 bytes: IW = 2 * SMSS bytes and MUST NOT be more than 2 segments If (SMSS > 1095 bytes) and (SMSS <= 2190 bytes) : IW = 3 * SMSS bytes and MUST NOT be more than 3 segments If (SMSS <= 1095 bytes) IW = 4 * SMSS bytes and MUST NOT be more than 4 segments 计算过程如下表: | | rcv_wnd | snd_wnd_left | snd_wnd_pointer | snd_wnd_left+cwnd和<br>snd_wnd_left+rcv_wnd | snd_wnd_point- left | | ------- | -------------------------------------------------------- | ------------ | --------------- | ------------------------------------------ | ------------------- | | 发送方发出报文 | 5840 | 978938082 | 978939482 | 978942462 978943922 | 1400 | | 发送窗口右边沿 | Min(snd_wnd_left+cwnd, snd_wnd_left+rcv_wnd) = 978942462 | | | | | ![22](https://hackmd.io/_uploads/HJhRh-jMbx.png) ###### (2) ssthresh保持不变,cwnd每收到一个确认报文就加1. 因为snd_cwnd\*1460< ssthresh,处于慢启动阶段,每收到一个ACK,snd_cwnd至多增加1个MSS的数值。 发送的报文相关信息截图如下,可以发现符合这一规律。 ![23](https://hackmd.io/_uploads/H17kT-jMbx.png) ###### (3) 第60号报文时ssthresh变化为10和cwnd变化为1,因为路由器上的端口被关闭。 之后ssthresh不变,而cwnd依次加1.依次处于慢启动、拥塞避免阶段直到发送完毕。根据截图可见符合这一规律。 在发送文件为100k大小的实验中,截获的报文信息如下: ![24](https://hackmd.io/_uploads/S13Na-iMbg.png) ![25](https://hackmd.io/_uploads/ryCE6WsMZx.png) ##### T9 参考 ###### (1) **参考 1**: | | 第一个重传时间差 | 第二个重传时间差 | 第三个重传时间差 | | ------ | -------- | -------- | -------- | | 10Mbps | 0.275358 | 0.537274 | 0.123423 | | 80Kbps | 4.235234 | 9.257412 | 21.26568 | 计算超时重传时间时,采用了修正的Karn算法,同种速率下,重传时间满足:新的重传时间=2×旧的重传时间,表现为重传时间差成倍增长;转发速率越大,重传时间越短。 示例截图如下: ![26](https://hackmd.io/_uploads/HkBBabiG-e.png) ![27](https://hackmd.io/_uploads/SJDSaZjMbe.png) **参考 2** | | 第一个重传时间差 | 第二个重传时间差 | 第三个重传时间差 | | ------ | -------- | -------- | -------- | | 10Mbps | 0.2053s | 0.4128s | 0.8243s | | 80Kbps | 3.2225s | 6.4449s | 12.8898s | ![28](https://hackmd.io/_uploads/B1gPabsMWl.png) ![29](https://hackmd.io/_uploads/SJlgD6-oGbx.png) ![30](https://hackmd.io/_uploads/BkZD6WiGWl.png) ##### T10 ``` [R1]interface g0/0 [R1-GigabitEthernet0/0]undo qos lr outbound [R1-GigabitEthernet0/0]interface g0/1 [R1-GigabitEthernet0/1]undo qos lr outbound ``` ## 1 TCP 基础实验 ##### 步骤 1 组网,配置 IP、路由器、交换机 1. 组网 ![32](https://hackmd.io/_uploads/HJJd6Wifbl.png) 2. 配置 IP 1. PCA:点击“网络连接图标” -> 点击 TCP_send -> 检查`ifconfig` 192.168.1.2 2. PCB:点击“网络连接图标” -> 点击 TCP_Receiver -> 检查 `ipconfig` 192.168.2.2 -> `ping 192.168.1.2` 3. 配置路由器:PCC上 ``` minicom sys sysn R1 interface e 0/0 ip add 192.168.1.1 24 quit interface e 0/1 ip add 192.168.2.1 24 quit ``` 4. 配置交换机:PCA 上 ``` minicom sys sysn S1 vlan 2 port e 1/0/1 e 1/0/2 quit vlan 3 port e 1/0/23 e 1/0/24 quit ``` ##### 步骤 2、步骤 3 1. PCB 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 2. PCB 上双击运行桌面的 `tcptest` 程序, `Run`, 选择“作为接收端”, ` 休眠时间 ` 为 0, ` 计数器阈值 ` 为 0,点击 ` 接收 ` 3. PCA 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 4. PCA 上双击运行桌面的 `tcplog_init` 程序进行初始化, `Run` 5. PCA 上双击运行桌面的 `tcptest` 程序, `Run`,选择“作为发送端”, `要发送的文件` 为 `???300k.txt`,点击 `发送` 6. 保存 PCA、PCB报文为 `send1-学号` 和 `receive1-学号` ,**截图** > [!note]+ > 看到 TCP seq number 是 0 或者 1 的,这些都是 wireshark 软件处理过的 relative sequence number。而不是初始的 32 位随机产生的 sequence number。可以通过设置 wireshark 来解决:如图,设置一下 wireshark,edit—>preference 选 tcp,将 relative sequence number 勾选掉。 > ![33](https://hackmd.io/_uploads/H1kK6-ifZe.png) 7. PCA 上双击运行桌面的 `tcplog_read` 程序, `Run`。双击桌面 `network` 文件夹, `root`, `TCPLog`,根据文件属性的日期找到我们的数据,右键,点击最上面的那一个选项来打开文件,**截图** ##### 步骤 4 5 6 分析报文,填写报告(参考本博客第 0.3 节) ## 2 TCP 滑动窗口机制和窗口探查机制分析 前置知识 如何配置主机IP? 进入主机,点击任务栏中的网络状态图标,如果没有TCP Send或者TCP Receive的设置项,则需要自行添加。 鼠标右击相同图标,选择编辑网络,输入相应的项目名称,选择IPv4协议,然后输入熟悉的IP地址、掩码、网关等信息,之后点击`Apply`即可添加项目,后面需要启动项目则重新左击相同图标,选择对应项即可。 如何配置路由器/交换机? 进入对应主机,打开命令行,输入`minicom`后Enter,多按几次回车进入配置界面。 如何发送TCP信息? 在接收端,打开TcpTest程序,点击作为接收端,然后输入相应的配置信息。 在发送端,发送文件,需要先进行init初始化,即运行桌面上一个初始化脚本,然后再与接收端同样操作。 如何连接组网? 与winxp一样,在PCA上有对应程序。 --- 实验内容:通过TcpTest程序参数的选择和路由器端口速率的设置,制造TCP传输的不同环境,截取TCP报文,分析滑动窗口机制,以及坚持定时器的作用。 具体内容如下: 1. 滑动窗口机制和窗口侦查机制分析。 ### 实验步骤(Linux) 步骤1 按照课本图4-10进行组网,确保组网正确和路由器、PC接口IP地址配置正确。 步骤2 所有PC进入Linux系统,用户名为`root`,密码为`network`,打开所有计算机上的Wireshark脚本。(注意对报文进行TCP过滤) 步骤3 PCA即发送端在Linux下命令行中运行脚本初始化TCPConnection实时监控模块。 ``` root@qjl-desktop:~# cd /root/TCPLog root@qjl-desktop:~# ./init.sh ``` 步骤4 所有PC在Linux下打开一个新的“终端命令行”,使用命令行方式启动TcpTest程序: ``` root@qjl-desktop:~# cd /root/TCPTest/ root@qjl-desktop:~# /root/jre/bin/java TcpTest ``` 然后PCA作为发送端,选择一个300KB的文件准备发送 参数如下 - 要发送的文件:/root/snd300k.txt - 目的IP地址:192.168.2.2 - 目的端口:1234 - 发送缓存:60000 - 滞留时间:500 - 每次写入套接字的字节数:1400 - Nagle算法:enable - 信息反馈:空 PCB作为接收端,配置如下 - 要写入的文件:/root/rcv.txt - 指定端口:1234 - 休眠时间:0 - 计数器阈值:0 - 接收缓存:100000 - 滞留时间:500 - 每次读出套接字的字节数:1400 - Nagle算法:enable - 信息反馈:空 先点接收,再点发送,文件传输完成后,将截获的报文命名为"sed2-学号"和"receive2-学号",保存到本地磁盘/root/DATA/目录下。 步骤5 在PCA的终端命令行中运行脚本来读取"TCPConnection实时监控模块": ``` root@qjl-desktop:~# cd /root/TCPLog root@qjl-desktop:~# ./read.sh ``` 将本地磁盘/root/TCPLog/目录下的"tcpsnd-wnddata.txt"和"tcprtodata.txt"文件分别复制到/root/DATA/目录下并改名为"send2-学号-tcpsndwnddata.txt"和"send2-学号-tcprtodata.txt"。 步骤6 分析之前保存的报文和文件信息(截图)(实验报告) 步骤7 分析报文文件,找到窗口侦查开始的报文(截图) ## 3 TCP 慢启动、拥塞避免算法及拥塞处理实验 ##### 步骤 1 路由器 R1 上配置端口转发速率为 10Mbps ``` interface e0/0 qos lr outbound cir 10000 #存疑,参见下面note interface e0/1 qos lr outbound cir 10000 ``` > [!note] > 如图所示,设置接口转发速率10Mbps 需使用?在线帮助。 > 注意按照设备上的提示做,**注意一下转发速率的单位**,不同设备单位可能不同。 > > ![31](https://hackmd.io/_uploads/HJtFT-sfWl.png) ##### 步骤 2 1. PCB 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 2. PCA 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 ##### 步骤 3 1. PCB 上双击运行桌面的 `tcptest` 程序, `Run`, 选择“作为接收端”, ` 休眠时间 ` 为 0, ` 计数器阈值 ` 为 0,点击 ` 接收 ` 2. (不清楚用不用做)PCA 上双击运行桌面的 `tcplog_init` 程序进行初始化, `Run` 3. PCA 上双击运行桌面的 `tcptest` 程序, `Run`,选择“作为发送端”, `要发送的文件` 为 `/root/snd6m.txt`,点击 `发送` 4. PCA 点击 `发送` 后**立即**在 minicom 内 `shutdown` 路由器的一个端口。 `[R1-GigabitEthernet0/0]shutdown` **由于文件发送时间较快,务必与现在 minicom 上输入命令 shutdown,PCA 发送后立即回车,一定要保证 shutdown 一个路由器端口后,程序还在传输数据(或许可以在 TCP 协议测试软件内看到“系统 IO 错误”)。如果 shutdown 一个路由器端口前程序已经传输完数据,重做此步骤!!!** 5. 10s 后,将此端口 undo shutdown `[R1-GigabitEthernet0/0]undo shutdown` 6. **存报文** `send3-学号`, `receive3-学号` ##### 步骤 4 1. 下面两个方法二选一,看哪个能行得通走哪个 1. PCA 上双击运行桌面的 `tcplog_read` 程序, `Run`。双击桌面 `network` 文件夹, `root`, `TCPLog`,根据文件属性的日期找到我们的数据,右键,点击最上面的那一个选项来打开文件,**截图** 2. 终端命令行中运行脚本来读取“TCPConnection 实时监控模块”已记录的此 TCP 连接期间的相关参数数据 ``` root@qjl-desktop:~# cd /root/TCPLog root@qjl-desktop:~/TCPLog# ./read.sh ``` 此脚本将读取的 TCP 连接相关参数数据保存在本地磁盘/root/TCPLog/目录下的“tcpsnd-wnddata.txt"和“tcprtodata.txt”文件中,将其复制到/root/DATA/目录下并改名为“send3-学号-tcpsndwnddata.txt"和“send3-学号-tcprtodata.txt”。 ##### 步骤 5 更改路由器上的端口转发速率为 80Kbps ``` interface e0/0 qos lr outbound cir 80 interface e0/1 qos lr outbound cir 80 ``` > [!note] > 如图所示,设置接口转发速率 10Mbps 需使用?在线帮助。 > 注意按照设备上的提示做,**注意一下转发速率的单位**,不同设备单位可能不同。 > ![31](https://hackmd.io/_uploads/HJtFT-sfWl.png) ##### 步骤 6 1. PCB 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 2. PCA 打开 Wireshark,选择 `eth0` 进行抓包,过滤 tcp 报文 ##### 步骤 7 1. PCB 上双击运行桌面的 `tcptest` 程序, `Run`, 选择“作为接收端”, ` 休眠时间 ` 为 0, ` 计数器阈值 ` 为 0,点击 ` 接收 ` 2. (不清楚用不用做)PCA 上双击运行桌面的 `tcplog_init` 程序进行初始化, `Run` 3. PCA 上双击运行桌面的 `tcptest` 程序, `Run`,选择“作为发送端”, `要发送的文件` 为 `/root/snd100k.txt`,点击 `发送` 4. PCA 点击 `发送` 后**立即**在 minicom 内 `shutdown` 路由器的一个端口。 `[R1-GigabitEthernet0/0]shutdown` 此文件发送较慢,可从容配置,但依旧要 shutdown 后仍在传输局 5. 40s 后,将此端口 undo shutdown `[R1-GigabitEthernet0/0]undo shutdown` 6. **存报文** `send4-学号`, `receive4-学号` ##### 步骤 8 1. 下面两个方法二选一,看哪个能行得通走哪个 1. PCA 上双击运行桌面的 `tcplog_read` 程序, `Run`。双击桌面 `network` 文件夹, `root`, `TCPLog`,根据文件属性的日期找到我们的数据,右键,点击最上面的那一个选项来打开文件,**截图** 2. 终端命令行中运行脚本来读取“TCPConnection 实时监控模块”已记录的此 TCP 连接期间的相关参数数据 ``` root@qjl-desktop:~# cd /root/TCPLog root@qjl-desktop:~/TCPLog# ./read.sh ``` 此脚本将读取的 TCP 连接相关参数数据保存在本地磁盘/root/TCPLog/目录下的“tcpsnd-wnddata.txt"和“tcprtodata.txt”文件中,将其复制到/root/DATA/目录下并改名为“send4-学号-tcpsndwnddata.txt"和“send4-学号-tcprtodata.txt”。 ##### 步骤 9 分析文件“send3-学号”(或“receive3-学号”)和“send3-学号-tepsndwnddata.txt”(或send4-学号"和“send4-学号-tcpsndwnddata.txt”),体会慢启动、拥塞避免及拥塞处理机制,**填报告** ##### 步骤 10 分析文件“send3-学号”“send3-学号-teprtodata.txt”和“send4-学号”号-teprtodata.txt”,体会超时与重传机制。 ## 4 UDP 实验 实验内容:使用模拟通信程序UDPTest发送消息数据,并使用Wireshark软件截获报文,分析UDP的报文格式。并进而了解和理解UDP运行机理。 ### 实验步骤 步骤1 按照课本图4-20进行连线组网,注意清空交换机的所有配置 配置好各主机IP PCA 192.168.1.22 255.255.255.0 PCB 192.168.1.21 255.255.255.0 步骤2 在PCA和PCB上都启动UDPTest程序,首先设置好监听的UDP端口并启动监听。 步骤3 打开PCA PCB上的Wireshark软件,开始截获报文。 步骤4 在PCA和PCB上的UDPTest程序的发送设置部分,互设对方的IP地址和UDP监听端口(1030)。互发消息进行通信。 步骤5 互发消息一段时间后,将交换机S1和S2之间的网线拔掉,此时PCA再继续往PCB发消息。 步骤6 PCA继续往PCB发消息一段时间后,将交换机S1和S2之间的网线重新插上。PCA和PCB继续互发消息一段时间。 步骤7 操作PCA和PCB上的Wireshark软件,分析截获报文,将报文保存为"UDP-学号" 选中第一个UDP报文,展开字段后(截图) --- 其余均为实验报告内容 ## 5 讨论区 1. 1.0版本完工

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully