网络互联与互联网 - TCP 协议详解

news2025/1/9 23:58:41

文章目录

  • 1 概述
  • 2 TCP 传输控制协议
    • 2.1 报文格式
    • 2.2 三次握手,建立连接
    • 2.3 四次挥手,释放连接
  • 3 扩展
    • 3.1 实验演示
    • 3.2 网工软考

1 概述

  • 在 TCP/IP 协议簇 中有两个传输协议
    • TCP:Transmission Control Protocol,传输控制协议,是面向连接的、可靠的。
    • UDP:User Datagram Protocol,用户数据报协议,是面向无连接的、不可靠的。

2 TCP 传输控制协议

2.1 报文格式

在这里插入图片描述

参数英文名说明
源端口Sorce Port
目的端口Destination Port
序号Sequence Number保证数据的可靠性
确认号Acknowlegement Number
首部长度Header Length
保留Reserved
控制位Control bits
窗口大小Window Size进行流量控制
校验和Checksum
紧急指针Urgent
可选项Options

【其中,控制位有以下参数,其值为 1 时,表示启用。】

控制位全称描述
URGUrgent紧急。表示本报文中是否包含紧急数据
ACKAcknowledgement确认。表示前面的字段是否有效
PSHPush推送。表示立即将数据推送给上层
RSTReset重置。表示是否重置连接
SYNSynchronization同步。在建立连接时使用,用来同步序号。
① 当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段。
② 当 SYN=1,ACK=1 时,表示对方同意建立连接。
FINFinish完成。表示数据已经发送完成,可以释放连接。

2.2 三次握手,建立连接

在这里插入图片描述

说明
序号 seq:表示本次通信的字节流序号。初始序号 x、y 是自动生成的,如上图:seq = x 表示 客户端 本次的初始序号为 x,seq = y 表示 服务器 本次的初始序号为 y。
确认号 ack:确认上一步的序号,并进行 + 1 (目的:表明数据包是连续的)。
③ 当 控制位 ACK = 1 时,确认号 ack 才有值。

2.3 四次挥手,释放连接

在这里插入图片描述

说明
① 请求释放连接 中的 x、y 为上一次通信中的值
② MSL:Maximum Segment Lifetime(最大段时长)

3 扩展

3.1 实验演示

【eNSP:网络拓扑图,对接口 Ethernet 0/0/2 抓包】
在这里插入图片描述

【客户端 Client1 和 服务器 Server1 配置】
在这里插入图片描述

【抓包参数信息】
在这里插入图片描述

在这里插入图片描述

3.2 网工软考

【2021上半年 - 21,22】TCP使用的流量控制协议是( ),TCP头中与之相关的字段是( )。
(21)A.停等应答
   B.可变大小的滑动窗口协议
   C.固定大小的滑动窗口协议
   D.选择重发ARQ协议
(22)A.端口号
   B.偏移
   C.窗口
   D.紧急指针

参考答案:21=B,22=C
通过数据抓包,可以看到,窗口大小是变化的

在这里插入图片描述

【2019下半年 - 22】建立TCP连接时,被动打开一端在收到对端SYN前所处的状态为( )。
A. LISTEN
B. CLOSED
C. SYN RESECEIVD
D. LASTACK

参考答案:A

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

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

相关文章

每日后端面试5题 第八天

1.UDP和TCP协议的区别 1.UDP无连接,速度快,安全性低,适合高速传输、实时广播通信等。 2.TCP面向连接,速度慢,安全性高,适合传输质量要求高、大文件等的传输,比如邮件发送等。 (还…

C语言学习系列-->【关于qsort函数的详解以及它的模拟实现】

文章目录 一、概述二、qsort函数参数介绍三、qsort实现排序3.1 qsort实现整型数组排序3.2 qsort实现结构体数组排序 四、模拟实现qsort函数 一、概述 对数组的元素进行排序 对数组中由 指向的元素进行排序,每个元素字节长,使用该函数确定顺序。 此函数使…

Vue中ElementUI结合transform使用时,发现弹框定位不准确问题

在近期开发中,需要将1920*1080放到更大像素大屏上演示,所以需要使用到transform来对页面进行缩放,但是此时发现弹框定位出错问题,无法准备定位到实际位置。 查看element-ui官方文档无果后,打算更换新的框架进行开发&am…

学校宿舍门禁:如何做好考勤管理?

随着科技的不断发展,传统的考勤方式逐渐显现出其局限性,而人脸识别技术作为一种快速、准确、无需直接接触的身份验证手段,为宿舍管理带来了全新的可能性。 宿舍管理能够让管理员随时通过系统监控宿舍内的人员流动情况,当系统检测到…

【Nginx】Nginx 简介

Ngnix 特点 模块化设计:良好的扩展性,可以通过模块方式进行功能扩展。高可靠性:主控进程和 worker 是同步实现的,一个 worker 出现问题,会立刻启动另一个 worker。内存消耗低:一万个长连接(kee…

ASE 基础知识

笔记: 1,颜色,贴图 2,加减乘除 3,菲涅尔、sin,float、vector、time 4,漫反射,法线,自发光,金属度,反射,AO明暗,折射&#…

[保研/考研机试] KY190 查找第K小数 北京邮电大学复试上机题 C++实现

题目链接: 查找第K小数_牛客题霸_牛客网查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/437195121692786918857 描述 查找一个数组的第K小的数,注意…

正中优配:创业板一天最多涨多少?

创业板是我国股票商场的一个特定板块,它首要涵盖了草创公司、小微企业和新型产业的股票买卖。作为股票商场的重要组成部分,创业板的涨跌对于投资者和商场参与者来说具有必定的影响力。那么,创业板一天最多能够涨多少呢?本文将从多…

2023年机遇与挑战:裁员速度逐渐趋缓 | 百能云芯

随着2023年已经过半,美国湾区的科技公司仍在进行着内部结构的调整,以适应不断变化的市场环境。然而,从裁员人数来看,这一调整似乎已经进入了一个步伐逐渐放缓的阶段。 根据公开文件显示,英特尔、SPT MicroElectronics和…

配置禁止生成可执行文件-火绒法

防止黑客利用漏洞上传可执行文件的方法,可以尝试通过文件服务器资源管理器(FSRM)设置文件屏蔽防止黑客利用漏洞上传特定类型的非法文件(.asp .aspx .jsp .php)。要是系统问题不能使用(FSRM),可以用火绒来干这个事儿。方法如下: 配置方法 火…

Python“牵手”阿里巴巴商品详情API接口运用场景及功能介绍

阿里巴巴电商API接口是针对阿里巴巴提供的电商服务平台,为开发人员提供了简单、可靠的技术来与阿里巴巴电商平台进行数据交互,实现一系列开发、管理和营销等操作。其中包括商品详情API接口,通过这个API接口商家可以获取商品的详细信息&#x…

大神闭关7天整理!137页Python学习笔记,全面总结看这一篇就够了

Python作为当下最热门的编程语言之一,从前几年一直火到现在,并且还有更甚的趋势。不仅吸引了众多业内人士,圈外人士也纷纷加入了学习Python的阵营之中。 但很多朋友在学习Python时,直呼:太难了,学不会&…

解锁ChatGLM-6B的潜力:优化大语言模型训练,突破任务困难与答案解析难题

解锁ChatGLM-6B的潜力:优化大语言模型训练,突破任务困难与答案解析难题 LLM(Large Language Model)通常拥有大量的先验知识,使得其在许多自然语言处理任务上都有着不错的性能。 但,想要直接利用 LLM 完成…

wazuh安装与使用

目录 一、wazuh安装 二、wazuh使用 一、wazuh安装 下载:https://wazuh.com 可以直接安装OVA这个,然后导入到Linux中就可以使用了。 导入完毕后开启,使用远程连接工具进行连接,出现以下画面则成功了。 之后可以看一下图形化界面…

9 - 蓝图

蓝图: 将项目分成一个个单独的app模块,然后将所有app分配不同的处理功能,通过路由分配将它们连接成一个大项目 目录结构: 搭建框架: (1). 新键apps 包,编辑__init__.py文件 from flask import Flask import settings from apps.user.view import user_b…

AS中回退git历史版本并删除历史提交记录

当您想把某个版本后的代码删除,回滚到指定的版本。可以使用一下的方法。 一、打开AS中git历史提交窗口 二、选择需要回滚的版本选项,右键弹出菜单。选择Reset Current Branch to Here... 三、选择 Hard 选项 soft:将合并的更改应用到当前分支…

【微服务】Ribbon的实现原理

1、场景:这里有两个服务,user-server和store-server 1.1、user服务 接口: package com.lkx.user.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController…

【vue+uniapp】切换本页面(点击导航按钮)就刷新接口

查阅资料:uni-app官网 点击导航中图标,就执行的方法(和methods同级): onTabItemTap(e) {this.getTaskTotal(); },

ubuntu执行jmeter端口不够用报错(Address not available)

ubuntu执行jmeter端口不够用报错(Address not available) 解决方案 // 增加本地端口范围 echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range// 启用快速回收TIME_WAIT套接字 sudo sysctl -w net.ipv4.tcp_tw_recycle 1// 启用套接字的重用 sudo sysctl -w net.ipv4…

LLMs 缩放法则和计算最优模型Scaling laws and compute-optimal models

在上一个视频中,您探讨了训练大型语言模型的计算挑战。在这里,您将了解关于模型大小、训练、配置和性能之间关系的研究,以确定模型需要多大。请记住,预训练期间的目标是最大化模型的学习目标性能,即在预测令牌时最小化…