4端到端协议-4.3【实验】【计算机网络】

news2024/11/24 23:29:31

4端到端协议-4.3【实验】【计算机网络】

  • 前言
  • 推荐
  • 4端到端协议
    • 4.2 TCP协议流捕获与TCP协议分析
    • 4.3 TCP连接管理
      • 实验目的
      • 实验内容及实验环境
      • 实验原理
        • TCP连接管理的三个阶段
        • TCP的连接建立
        • TCP连接建立时的各状态
        • TCP的数据传输
        • TCP 的连接释放
        • 为什么A 必须等待 2MSL 的时间?
      • 实验过程
      • 实验过程演示
        • 分析三次握手
        • 分析四次挥手
      • 流程图
      • 4.3.1实验章节测验
        • 一.单选题(共7题,35.0分)
        • 二.多选题(共2题,12.0分)
        • 三.填空题(共2题,48.0分)
        • 四.判断题(共1题,5.0分)
  • 最后

前言

2023-6-15 12:19:41

以下内容源自《【实验】【计算机网络】》
仅供学习交流使用

推荐

Wireshark的安装及基本使用【计算机网络】

4端到端协议

4.2 TCP协议流捕获与TCP协议分析

4端到端协议-4.2【实验】【计算机网络】

4.3 TCP连接管理

各位同学,大家好,本次实验的内容为TCP的连接管理。

本次实验我们分成四个部分来介绍。我们先介绍实验目的,其次介绍实验内容及环境,再次介绍实验原理,最后演示实验过程。

实验目的

知识目标:
1)了解TCP连接管理的过程;
2)理解TCP的三次握手和四次挥手。
能力训练目标:
1)能够掌握TCP连接管理的过程;
2)能够分析TCP的三次握手和四次挥手。

实验内容及实验环境

实验内容
1)启动Wireshark捕获当前活动网络连接;
2)使用某种工具创建TCP连接,并进行释放。
3)分析TCP连接管理的过程。
实验环境
1)可运行 Windows 操作系统的 PC 一台。
2)每台 PC 具有以太网卡一块,通过双绞线与局域网相连,并可接入因特网;
3)Wireshark 程序(可以从 http://www.wireshark.org/下载)

实验原理

TCP连接管理的三个阶段。

本实验的实验原理是TCP连接管理的三个阶段

TCP连接管理的三个阶段

TCP的连接管理有三个阶段,即:连接建立、数据传送和连接释放。连接管理的目的是使运输连接的建立和释放都能正常地进行。
双方通信采用客户/服务器方式,客户(client)主动发起连接建立请求,服务器(server)被动等待接收连接建立请求。
连接管理的目的是使运输连接的建立和释放都能正常地进行。

连接建立过程中要解决以下三个问题:

  • 要使每一方能够确知对方的存在。
  • 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。
  • 能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。

TCP的连接建立

我们先分析TCP的连接建立过程。现假定客户A要与服务器B进行通信,在通信前需要建立连接,客户端主动发起连接请求,服务器端被动的接收请求,图中方框内显示的是TCP的连接状态,最初两端都处于CLOSED状态。TCP采用三次握手(three-way handshake)来建立连接。具体步骤如下:

在这里插入图片描述
客户端A的TCP 向服务器 B发送连接请求报文段,其首部中的同步位 SYN = 1,指明客户端期望连接的服务器端口并选择一个初始序号seq= x,表明传送数据时的第一个数据字节的序号是 x。TCP规定,该请求报文段不能携带数据,但需消耗掉一个序号。此时,TCP客户进程进入SYN-SENT状态。
在这里插入图片描述

服务器端B收到连接请求后,若同意建立连接,则回送确认报文。
在这里插入图片描述
在确认报文段中要求SYN=1和ACK=1,确认号ack= x+1,同时选择一个初始序号seq= y。该确认报文也不能携带数据,但同样需消耗一个序号。此时TCP服务器进程进入SYN-RCVD状态。
在这里插入图片描述

客户端A收到确认报文后,还需对该确认报文进行确认。
在这里插入图片描述

此时,报文段中置ACK=1,确认号ack= y+1,序号seq= x+1。客户 A 的 TCP 通知上层应用进程,连接已经建立。此时,客户端进入ESTABLISHED状态。
TCP规定,此报文段可携带数据,若不携带数据则不消耗序号,即下一个数据报文段的序号依然是seq= x+1。

在这里插入图片描述
服务器B 的 TCP 收到客户 A 的确认后,也通知其上层应用进程:TCP 连接已经建立。
,此时进入ESTABLISHED状态,双方可以开始传送数据,进入TCP数据传送阶段。

在这里插入图片描述

TCP连接建立时的各状态

现在,我们把TCP连接建立时各个状态也加上,大家可以观察一下在TCP连接建立的三次握手过程中客户A和服务器B的状态变化。
在这里插入图片描述

TCP的数据传输

当TCP连接建立成功完成后,通信的客户机与服务器双方就行进入数据传输阶段,进行数据的双方就可以向对端进行数据发送。
在这里插入图片描述

TCP 的连接释放

下面我们将介绍TCP的连接释放过程。
当数据传输结束后,通信的双方都可以主动释放连接。
主动发起释放连接报文段的一边为客户端,另一端为服务器端。
现假定现在客户 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。
最初两端都处于ESTABLISHED状态,释放连接要经过两个二次握手,具体步骤如下:

在这里插入图片描述

客户A发送连接释放报文,并停止再发送数据。该报文置FIN=1,并选择一个初始序号seq= u,其值为已传送过的数据最后一个字节的序号加1。此时,客户端进入FIN-WAIT-1状态。TCP规定,FIN报文段即使不携带数据,也需消耗掉一个序号。
在这里插入图片描述
服务器B收到连接释放请求报文后,回送确认报文。
在这里插入图片描述
确认报文中确认号是ack= u+1,报文段自己的序号是v,即服务器端已传送过的数据的最后一个字节的序号加1,服务器端进入CLOSE-WAIT状态。此时,从客户端到服务器的TCP连接已经释放,客户不会再给服务器发送数据。但是,服务器若有数据要发送,客户仍需要接收,该状态称为半关闭(half-close)状态。客户收到服务器的确认报文后,进入FIN-WAIT-2状态。
在这里插入图片描述
若服务器B没有数据传送,其应用进程就通知 TCP 释放连接,则向客户端A发送连接释放报文段。
在这里插入图片描述

该报文置FIN=1,序号为w,重复上次已发送过的确认号ack= u+1,服务器端进入到LAST-ACK状态。
在这里插入图片描述

A 收到连接释放报文段后,必须发出确认。
在这里插入图片描述

确认报文中置ACK=1,确认号ack= w+1,而自己的序号是seq= u+1,客户端进入到TIME-WAIT状态。但是,现在TCP连接还没有释放掉
在这里插入图片描述
客户端必须经过等待计时器设置的时间2MSL(最长报文段寿命,Maximum Segment Lifetime)之后,客户端才进入到CLOSED状态。
此时,双方的TCP连接最终释放。
现在,我们把TCP连接释放时各个状态也加上,大家可以观察一下在TCP连接释放的四次握手过程中客户A和服务器B的状态变化。

在这里插入图片描述

为什么A 必须等待 2MSL 的时间?

第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B。
第二,防止 “已失效的连接请求报文段”出现在本连接中。A 在发送完最后一个 ACK 报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

2023-6-15 12:31:32

实验过程

以下介绍实验过程,主要展示使用Wireshark捕获TCP连接SMTP服务器的过程,分析其中TCP连接建立和连接释放的过程。

使用Wireshark捕获TCP连接SMTP服务器的过程,分析其中TCP连接建立和连接释放的过程。

实验过程演示

2023-6-15 12:41:46

使用上篇的结果进行分析
4端到端协议-4.2:实验过程演示

提前使用ipconfig命令查询本机IP地址

在这里插入图片描述

查看我们想要连接的远程主机的地址
网易邮箱服务器103.74.29.40

在这里插入图片描述

打开WireShark
捕获WLAN

在这里插入图片描述

使用telnet命令
连接远程主机25端口
SMTP工作在TCP的25号端口

telnet smtp.163.com 25

连接成功后
断开连接

QUIT

在这里插入图片描述

打开WireShark
过滤
SMTP
在这里插入图片描述
过滤
ip.addr==103.74.29.40

在这里插入图片描述

可以看到
三次握手(18 19 20)、数据通信、四次挥手(37 38 39 40)

分析三次握手

分析TCP连接中的第一次握手

双击NO.18的包

TCP部分
可以看到

源			23157
目的			25
TCP段长度	0
序列号 		0 	3158929752
确认号 		0	0
头部大小		32 bytes
标志位		SYN
窗口信息 	64240=64240
选项信息		MSS、Window scale、SACK permitted

在这里插入图片描述

分析TCP连接中的第二次握手

双击NO.19的包

TCP部分
可以看到

源			25
目的			23157
TCP段长度	0
序列号 		0 	2876780709
确认号 		1	3158929753
头部大小		32 bytes
标志位		SYN,ACK
窗口信息 	29200=29200
选项信息		MSS、Window scale、SACK permitted

在这里插入图片描述

分析TCP连接中的第三次握手

双击NO.20的包

TCP部分
可以看到

源			23157
目的			25
TCP段长度	0
序列号 		1 	3158929753
确认号 		1	2876780710
头部大小		20 bytes
标志位		ACK
窗口信息 	138096=516*256
选项信息		无

在这里插入图片描述

分析四次挥手

分析TCP连接中的第一次挥手

双击NO.37的包

TCP部分
可以看到

源			25
目的			23157
TCP段长度	0
序列号 		75 	2876780784
确认号 		7	3158929759
头部大小		20 bytes
标志位		FIN,ACK
窗口信息 	29312=229*128
选项信息		无

在这里插入图片描述

分析TCP连接中的第二次挥手

双击NO.38的包

TCP部分
可以看到

源			23157
目的			25
TCP段长度	0
序列号 		7	3158929759
确认号 		76 	2876780785
头部大小		20 bytes
标志位		ACK
窗口信息 	131840=515*356
选项信息		无

在这里插入图片描述

分析TCP连接中的第三次挥手

双击NO.39的包

TCP部分
可以看到

源			23157
目的			25
TCP段长度	0
序列号 		7	3158929759
确认号 		76 	2876780785
头部大小		20 bytes
标志位		FIN,ACK
窗口信息 	131840=515*356
选项信息		无

在这里插入图片描述

分析TCP连接中的第四次挥手

双击NO.40的包

TCP部分
可以看到

源			25
目的			23157
TCP段长度	0
序列号 		76 	2876780785
确认号 		8	3158929760
头部大小		20 bytes
标志位		ACK
窗口信息 	29312=229*128
选项信息		无

在这里插入图片描述
2023-6-15 13:12:44

流程图

在这里插入图片描述

4.3.1实验章节测验

2023-6-15 13:15:29

4.3 实验小测已完成本次成绩:100
最高成绩:100重做 还可以重做1次 查看作答记录
截止时间:2023-07-08 22:55:00

一.单选题(共7题,35.0分)

1【单选题】主机甲向主机乙发送一个(SYN=1,seq=11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP段可能是( )(5.0分)
A、(SYN=0,ACK=0,seq=11221,ack=11221)
B、(SYN=1,ACK=1,seq=11220,ack=11220)
C、(SYN=1,ACK=1,seq=12345,ack=11221)
D、(SYN=0,ACK=0,seq=11220,ack=11220)

我的答案:C:
(SYN=1,ACK=1,seq=12345,ack=11221) 
;得分: 5.0分

2【单选题】主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300字节、400字节和500字节的有效载荷,第3个段的序号为900。若主机乙仅正确接收到第1和第3个段,则主机乙发送给主机甲的确认序号是( )(5.0分)
A、300
B、500
C、1200
D、1400

我的答案:B:
500
;得分: 5.0分

3【单选题】TCP协议的连接建立需要( )次握手?(5.0分)
A、二
B、三
C、四
D、五

我的答案:B:
三
;得分: 5.0分

4【单选题】通常情况,TCP协议的连接释放需要( )次挥手?(5.0分)
A、二
B、三
C、四
D、五

我的答案:C:
四
;得分: 5.0分

5【单选题】已知TCP通信双方是A和B, A发起建立连接过程, A的初始序号为100,B的初始序号为200,请问,第三次握手中报文段的确认号是( )。(5.0分)
A、100
B、199
C、200
D、201

我的答案:D:
201
;得分: 5.0分

6【单选题】已知TCP通信双方是A和B, A发起建立连接过程, A的初始序号为100,B的初始序号为200,第三次握手没携带数据,请问数据传送阶段中A给B发送的第一个报文段的序号是( )。(5.0分)
A、101
B、100
C、200
D、99

我的答案:A:
101
;得分: 5.0分

7【单选题】已知TCP通信双方是A和B,A发送给B的最后一个报文段的序号为7000,数据部分长度为1000字节,此刻假设A主动发起连接释放请求,请问第一次挥手的报文段序号为( ),第二次挥手的报文段确认号为( )。(5.0分)
A、8000,8001
B、7999,8000
C、8001,8000
D、8001,8002

我的答案:A:
8000,8001
;得分: 5.0分

二.多选题(共2题,12.0分)

1【多选题】TCP协议的连接管理过程包含三个阶段:( )、( )和( )?(6.0分)
A、 连接建立
B、数据传送
C、连接释放
D、连接管理

我的答案:ABC:
A; 连接建立;
B;数据传送;
C;连接释放;
得分: 6.0分

2【多选题】TCP连接建立过程中 不会 涉及到下面哪些TCP报文段?( )(6.0分)
A、SYN
B、SYN+ACK
C、ACK
D、FIN
E、FIN+ACK

我的答案:DE:
D;FIN;
E;FIN+ACK;
得分: 6.0分

三.填空题(共2题,48.0分)

1【填空题】主机A向主机B发送了三个TCP报文段,序号分别为30、100、180,请回答以下问题。(所有空只填写数字)
(1)第一个报文段携带了 (1) 字节的数据。
(2)主机B收到第一个报文段后发给A的确认号是 (2) 。
(3)主机B收到第二个报文段后发回的确认号是 (3) 。
(4)主机B收到第三个报文段后,发回的确认号是280,窗口字段为300,试问:A发送的第三个报文段携带了 (4) 字节数据,A接下来可以发送的起始字节为 (5) ,结束字节为 (6) 。(36.0分)

我的答案:得分: 36.0分
第一空: 70
第二空: 100
第三空: 180
第四空: 100
第五空: 280
第六空: 579

2【填空题】
在这里插入图片描述

请问该TCP报文段的实际窗口值为 (1) ,窗口扩大移位值为 (2) (12.0分)

我的答案:得分: 12.0分
第一空: 132352
第二空: 8
log2(256)

四.判断题(共1题,5.0分)

1【判断题】TCP通信双方通过三次握手建立连接,前两次握手的报文段都不携带数据(有效载荷),第三次握手的报文段可以带数据,也可以不带数据。(5.0分)

我的答案:√
得分: 5.0分

2023-6-15 13:21:33

最后

2023-6-15 13:25:41

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。

祝大家逢考必过
点赞收藏关注哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东到家机器学习平台建设

目录 前言 机器学习平台总体架构 模型训练平台 特征模型管理平台 在线模型预测服务 算法应用实践 总结和展望 1. 前言 京东到家作为行业领先的即时零售平台,一直把为消费者提供快捷便利高效高质量的即时零售服务作为自己的责任。到家算法团队作为支持京东到家各个…

Linux服务第一章:web基础与http协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、DNS与域名1.什么是域名?2.域名注册2.1阿里云域名申请流程 3.DNS解析 二、网页的概念1.网页(HTTP/HTTPS)的基本概念2.HTML概述…

【python】flask+pymysql 实现Web端操作数据库!

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。 Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用…

Modbus协议基于modscan 的设备数据收发过程模拟

Modbus协议基于modscan 的设备数据收发过程模拟 一、基本介绍二、工具使用说明2.1 Modsim32的使用 - 模拟从设备 - 生成设备数据2.1.1 新建虚拟设备 - modsim文件2.1.2 打开虚拟设备 - modsim文件2.1.3 连接设置2.1.3.1 modbus /tcp连接2.1.3.2 COM连接 2.1.4 配置 - 设置数据自…

python 加速(1)

文章目录 简单步骤像Python一样做torch 的一切安装Cmake安装 Torch (GPU)CMakeLists.txt试用小样设置 CLion 环境 Cuda配置VS C 环境建上手的文件step1: interpolation.cppstep2: interpolation_kernel.custep3: include/ utils.hstep4: setup.pystep5: …

FPGA_学习_08_有限状态机

状态机是FPGA编程必学内容之一,因为状态机在项目用的特别多。 那为什么状态机这么重要呢? 在写这篇blog之前,搜到CSDN一位大佬的博客,有一句话令我醍醐灌顶: “FPGA不同于CPU的一点特点就是CPU是顺序执行的&#xff0c…

操作系统页面置换算法详解(OPT算法、FIFO算法、LRU算法解释+缺页数计算)

名人说:一花独放不是春,百花齐放花满园。——《增广贤文》 作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 〇、页面置换算法是什么?一、OPT算法1、算法介绍2、举例二、FIFO算法1、…

【嵌入式模型转换】算能盒子SE5 芯片板子BM1684

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1.环境准备2. 开发机安装环境 前言 官网文档指引:https://doc.sophgo.com/sdk-docs/v23.03.01/docs_latest_release/docs/SophonSDK_doc/zh/html/c…

ffmpeg capture decklink

确保decklink设备已经接入 lspci | grep Blackm02:00.0 Multimedia video controller: Blackmagic Design DeckLink SDI Micro 确保decklink驱动已经正确安装 lsmod | grep blackmagicblackmagic_io 2068480 2 确保ffmpeg已经启用decklink,如何配置之前的博文已经…

高磁场型霍尔效应测试系统

高磁场型霍尔效应测试系统由:电磁铁、电磁铁电源、高精度恒流源高精度电压表、高斯计、霍尔效应样品支架、标准样品、系统软件。用于测量半导体材料的载流子浓度、迁移率、电阻率、霍尔系数等重要参数,而这些参数是了解半导体材料电学特性必须预先掌控的…

conda下jupyter lab 多kernel

1.安装ipykernel pip install ipykernel2.手动添加 --kernel python -m ipykernel install --name tensorflow --display-name "tensroflow"3. 查看创建的kernel jupyter kernelspec list4. 修改配置文件kernel.json,使得已创建的kernel匹配 5. 修改配…

【Axure教程】根据标签数自动调整尺寸的多选下拉列表

​多选下拉列表常用于需要用户从一组选项中选择多个选项的情况。它提供了一个下拉菜单,用户可以点击展开并选择他们感兴趣的多个选项。多选下拉列表可以用于展示可选标签,并允许用户选择多个标签。例如,在一个博客发布界面上,可以…

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中,有时我们需…

飞书小程序开发教程——获取app_access_token

前言 最近在玩飞书小程序,真是受够了某信的小程序,一坨坨的限制加恶心人的手段。体验了飞书加飞书文档的功能真的还是飞书好用,又可以定制机器人啥的真方便。 但是飞书除了开发者文档真没啥资料,估计没啥人写吧…本专栏后续就慢慢…

DVPP媒体数据处理视频编码问题案例

DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP视频编码问题…

未磁科技全球首台64通道无液氦心磁图仪及首个培训基地落户北京安贞医院

【全球首台64通道无液氦心磁图仪在北京安贞医院举行开机仪式】 近日,在北京安贞医院举行了未磁科技全球首台64通道无液氦心磁图仪开机仪式,中国医学装备协会赵自林理事长、北京安贞医院纪智礼书记、张宏家院长、宋现涛教授,以及未磁科技蔡宾…

【离散化+枚举】代码源每日一题div2 全部相等

全部相等 - 题目 - Daimayuan Online Judge 题意: 思路: 首先,子序列最长,想到了DP,但是子序列DP,D不出来,所以要放弃想法 不难发现,这道题和顺序没有关系,所以可以说…

Vision Pro,难成初代iPhone

“一个全新的增强显示平台,一个革命性的新产品”,这是苹果CEO库克给Apple Vision Pro的评价。 当苹果拿出Vision Pro时,想必整个科技行业都感到震惊。这不仅是因为苹果时隔十六年后,再次在WWDC带来“革命性产品”,更是…

Ai 赋能|这 6 款免安装的工具,功能超神~

今天小呆给小伙伴们分享几款小巧好用的工具,功能非常实用,而且全都免费,值得大家使用! 1、Pix Fix 修复画质损坏的图像 Pix Fix 是一个免费的线上图片工具,可以对过度压缩造成损毁的图片以算法为基础进行噪点的修复&…

【枚举+数学】代码源每日一题div2 数学

数学 - 题目 - Daimayuan Online Judge 题意: 思路: 首先把条件理一下 gcd(s1,s2)K 按照惯用套路 设 s1k1*K s2k2*K 那么就是(k1k2)*Ksum 所以K是sum的一个因子 因此只需要枚举sum的因子即可 但是注意数据范围:1e9 说明不能直接枚…