TCP/IP(四)TCP的连接管理(一)三次握手

news2024/9/19 10:52:26

一   tcp连接回顾

部分内容来自小林coding TCP篇

记录的目的: 亲身参与进来,'加深'记忆

①  引入

前面我们'知道': TCP 是'面向连接 [点对点的单播]'的、可靠的、基于字节流的'传输层'通信协议

面向连接'意味'着:在使用'TCP'之前,通信双方必须先建立一条'虚拟'连接'通道channel'

②  什么是tcp连接

③  如何唯一的确定一个tcp连接

TCP和UDP可以使用同一端口   TCP和UDP可以使用同一端口吗

说明: 一个是通过'动态'变量形式,一个是通过'修改'源代码形式来扩展'nginx'反向代理的tcp连接

通过proxy_bind指令解决使用nginx作为反向代理端口耗尽问题    

nginx proxy_bind支持多个ip实现方法

Linux 中每个 TCP 连接最少占用多少内存?    命令行查看

思考: 多个 TCP 服务进程可以绑定'同一个端口'吗?

答案: 

 1、如果两个 TCP 服务进程'绑定的 IP 地址不同',而'端口相同'的话,也是可以绑定'成功'的

 2、如果两个 TCP 服务进程同时绑定的 IP 地址和端口'都相同',那么执行'bind()'时候就会出错

 错误是: 'Address already in use'

④  Linux中查看TCP状态

粗略查看'进程'的'tcp'连接数和状态:  netstat -napt | grep nginx

需求: 统计'TCP'的状态

netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'

说明: 后续深刻理解下面'八种'状态

解决webserver tcp连接大量CLOSE_WAIT 问题

⑤  TCP payload载荷长度

二   TCP三次握手

TCP'正常'建立连接是通过'三次握手'来进行的,本文暂时'不考虑'异常场景

重点: 

  1、每次握手的'目的'

  2、握手的过程'TCP'控制位变化

  3、tcp连接过程中状态时序图的转换

  4、理解TCP的'确认'机制

目标: 当前阶段对'三次握手'有一个'基本'的认识即可

①  三次握手的图谱

说明: 下面将'SYN'初始化为'1',便于'理解'

说明: 三次握手过程'简要概述'

TCP序列号和确认号是如何变化

②  次握手

server:  CLOSE --> 'LISTEN'

client:  CLOSE --> 'SYN-SENT'

补充: SYN报文'不包含应用层'信息

注意: SYN报文中32位'序列号'的内容来源

备注: SYN是TCP'建立连接'的时使用的'握手'信号

SYN: synchronous

③  次握手

server: LISTEN  -->  'SYN-RCVD'

补充: SYN+ACK报文'不包含应用层'信息

④  次握手

说明: ACK 报文可以携带'应用'数据

ACK:  ACKnowlegment '确认'

⑤  三次握手中每一次握手目的

对于nginx的内核参数

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

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

相关文章

手动抄表和自动抄表优缺点对比

随着科技的发展,自动抄表技术已经越来越成熟,被广泛应用于各个领域。然而,手动抄表在一些特定场景下仍然具有一定的优势。本文将从手动抄表和自动抄表的优缺点入手,对比分析它们的应用场景和使用价值。 1.成本低:手动抄…

判断一个类是否为另一类的子类issubclass()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断一个类是否为另一类的子类 issubclass() 选择题 下列代码执行输出的结果是? class A: pass class B(A): pass class C: pass print("【执行】print(issubclass(A,A))") print(i…

spring boot+ vue+ mysql开发的一套厘米级高精度定位系统源码

UWB室内高精度定位系统源码,自主版权演示 UWB技术最核心的能力就是精准的定位与测距,当然它还具备通信功能。不过,目前主流通信技术已经相当成熟,无需UWB兼顾去做通信传输。而且,如果使用UWB通信功能,反而会…

中性配色能给室内空间带来怎样的魅力

虽然人们对中性卧室总是有一些议论,甚至有些人强烈反对中性卧室,认为它们缺乏特色或个性,但你不得不承认,当有人把中性卧室设计得恰到好处时,视觉上会非常愉悦。 室内设计师设计中性卧室的技巧 我们认为中性卧室设计中…

计算机毕业设计选题推荐-springboot 小说阅读平台

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Java 反射机制到底是什么?

Java 反射机制是 Java 语言的一个重要特性。大家应该先了解两个概念,编译期和运行期。 编译期是指把源码交给编译器编译成计算机可以执行的文件的过程。在 Java 中也就是把 Java 代码编成 class 文件的过程。编译期只是做了一些翻译功能,并没有把代码放…

大端字节序存储 | 小端字节序存储介绍

为什么存储的顺序有些变动呢? 大小端的介绍 我们在创建变量时,操作系统就会给你分配空间,比如你创建了【short/int/double/float】的变量,这些变量的类型都是大于1个字节的,操作系统会根据你这个变量的类型&#xff…

低功耗、高性能处理器RK3326、RK3308、RK2206、RK2108芯片可广泛应用于各种产品领域。

1、RK3326 一款低功耗、高性能的多媒体处理芯片。 RK3326采用4颗Cortex-A35CPU和一个Mali-G31 GPU核心,能够提供高效的处理性能和图形渲染能力,可广泛应用于各种便携式设备,如平板电脑、智能手机、掌机、AI智能音箱等领域。 详细参数 • 四核…

LeetCode【322】零钱兑换

题目: DP问题都需要推导公式 公式推导: 以例子1为例,凑成11,需要dp10 一个1元硬币 凑成11,需要dp9 一个2元硬币 凑成11,需要dp6,一个5元硬币,故: dp[11] min (dp[10] 1, dp[9] …

【Windows】RPC调用过程实例详解

概述:windows 创建 RPC调用过程实例详解 参考文章:Remote procedure call (RPC)(远程过程调用 (RPC)) - Win32 apps | Microsoft Learn 文章目录 0x01、生成 UUID 和模版(IDL)文件0x02、添加 acf 文件0x03、编译 idl 文件0x04、客…

networkX-04-查找k短路

文章目录 1.构建图2.使用networkX查找最短路径3.自己构建方法 教程仓库地址:github networkx_tutorial import networkx as nx import matplotlib.pyplot as plt1.构建图 # 创建有向图 G nx.DiGraph()# 添加带权重的边 edges [(0, 1, 1), (0, 2, 2), (1, 2, 1), …

Flink中的时间和窗口

1.Flink的时间和窗口 在传统的批处理系统中,我们可以等到一批数据全部都到齐了之后,对其做相关的计算;但是在实时处理系统中,数据是源源不断的,正常情况下,我们就得来一条处理一条。那么,我们应…

大厂设计师力推的14款平面图设计工具!

从事设计行业的工人或多或少会接触到平面图。例如,在建造新房、办公室、酒店等任何类型的建筑时,都需要使用平面图来保证项目的准确性。因此,掌握绘制平面图软件的技巧也非常重要。在保证效率的同时,结果的准确性也非常高。在本文…

SunTorque智能扭矩系统助力螺栓拧紧装配如何实现智能化

新能源汽车的出现,在逐步实现技术创新升级的大环境下,汽车零部件总体数量趋于减少。但由于动力系统及结构的差异,电动汽车新增100-200个与动力系统、电气系统等相关零部件,其装配工况也随之改变。例如过流元器件、密封部件、功率模…

数据挖掘与统计分析——T检验,正态性检验和一致性检验——代码复现

T检验是一种统计测试,用于确定两个样本组的均值是否有统计学上的显著差异。以下是对T检验的详细介绍: 定义: T检验是一种参数检验,它的前提是数据近似于正态分布。它通过计算T统计量,并将其与特定分布(T分…

SpringBoot集成Quartz实现定时任务

文章目录 Quartz简介pom依赖内存方式存储Quartz简介pom依赖内存方式存储数据库方式存储分布式任务支持 Quartz简介 Quartz的快速入门见: Quartz官方文档_w3cschool Quartz 存储方式有两种:MEMORY 和 JDBC。默认是内存形式维护任务信息,服务…

企业需要ERP系统的八大理由,最后一个尤其重要

许多企业仍在质疑自己是否真的需要**ERP系统**。日常事务已经非常繁重,如果再加上寻找和实施一个新系统的挑战,那就更麻烦了。 公司业务在不断发展,出现了一些增长,订单也在不断增加,扭亏为盈,总体来说还算…

PostGIS310升级334

环境: centos7 postgis3.1.0alpha1 postgis3.3.4 如果您运行的是 PostGIS 3 或更高版本,则应升级到已安装的具有PostGIS_Extensions_Upgrade功能的最新版本。 SELECT postgis_extensions_upgrade(); 之前测试过从320升级334,直接执行路径…

巧用指标平台DataIndex,五步法轻松实现指标管理

开发部门在做指标加工的全流程中,是否经常出现如下问题: 业务部门看指标数据的时候,看到两个名称相似的指标,不清楚两个指标的差异性,来咨询开发部门指标计算口径,开发部门配合业务部门翻找代码&#xff…

RT-Thread HWTIMER设备(学习)

定时器简介 硬件定时器一般有2种工作模式,定时器模式和计数器模式。不管是工作在哪一种模式,实质都是通过内部计数器模块对脉冲信号进行计数,下面是定时器的一些重要概念。 计数器模式:对外部输入引脚的外部脉冲信号计数。定时器…