当前位置: 首页 > news >正文

网络原理--TCP/IP(2)

我们在之前已经介绍到TCP协议的核心机制二,接下来我们将继续介绍其他的核心机制。

核心机制三:连接管理

即建立连接,断开连接,在正常情况下,TCP要经过三次握⼿建⽴连接,四次挥⼿断开连接。

建立连接:TCP是通过“三次握手”

在生活中的握手就是打招呼,,但握手操作没有实际的业务,只是打个“打个招呼”,我发送一个不携带业务的数据,通过这个数据和对方“打招呼”,像HTTPS、获取证书、验证证书,加密对称密钥、传输对称密钥等就是SSL协议的“握手流程”。

具体流程:

A给B发送同步报文段sync(synchronizd),在TCP中的同步,指的是数据上的同步,A告诉B,接下来我要和你建立连接,就需要你把我的关键信息保存好,同时你也把你的信息发送给我,然后B会给A返回一个ack和syn,然后A再返回一个ack.即各自让对方保存一下自己的关键信息,并各自给对方返回一个ack,告知自己收到了。

客户端和服务器在同一个场景下可以扮演不同的角色,主动发起syn的一方是客户端;在网络传输中,是要能够进行“封装和分用”的,且合并操作,是能够提高传输的效率。

注:syn这一位为1,表示同步报文.

三次握手原理:

第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;

第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;

第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。

其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。

详细过程


‌第一次握手‌:客户端发送一个SYN报文段,表示希望建立连接。该报文段包含一个随机生成的初始序列号(Seq=x),用于标识数据传输的起点。此时,客户端进入SYN_SENT状态。‌‌

‌第二次握手‌:服务器收到SYN报文段后,发送一个SYN-ACK报文段作为响应。该报文段包含一个随机生成的序列号(Seq=y)以及对客户端序列号的确认(Ack=x+1)。服务器此时进入SYN_RCVD状态,等待客户端的确认。

‌第三次握手‌:客户端收到SYN-ACK报文段后,发送一个ACK报文段作为确认。该报文段包含对服务器序列号的确认(Ack=y+1)。此时,客户端进入ESTABLISHED状态,表示连接已建立。服

相关文章:

网络原理--TCP/IP(2)

我们在之前已经介绍到TCP协议的核心机制二,接下来我们将继续介绍其他的核心机制。 核心机制三:连接管理 即建立连接,断开连接,在正常情况下,TCP要经过三次握⼿建⽴连接,四次挥⼿断开连接。 建立连接:TCP是通过“三次握手” 在生活中的握手就是打招呼,,但握手操作没有…...

Ragflow与Dify之我见:AI应用开发领域的开源框架对比分析

本文详细介绍了两个在AI应用开发领域备受关注的开源框架:Ragflow和Dify。Ragflow专注于构建基于检索增强生成(RAG)的工作流,强调模块化和轻量化,适合处理复杂文档格式和需要高精度检索的场景。Dify则旨在降低大型语言模…...

文件上传漏洞绕过WAF

文件上传漏洞绕过WAF学习笔记 1. WAF检测原理 WAF&#xff08;Web应用防火墙&#xff09;通过以下方式拦截文件上传攻击&#xff1a; 关键字匹配&#xff1a;检测文件名、内容中的敏感词&#xff08;如<?php、eval&#xff09;。 扩展名黑名单&#xff1a;拦截.php、.jsp…...

[含文档+PPT+源码等]精品基于Python实现的vue3+Django计算机课程资源平台

基于Python实现的Vue3Django计算机课程资源平台的背景&#xff0c;可以从以下几个方面进行阐述&#xff1a; 一、教育行业发展背景 1. 教育资源数字化趋势 随着信息技术的快速发展&#xff0c;教育资源的数字化已成为不可逆转的趋势。计算机课程资源作为教育领域的重要组成部…...

Qt 开源音视频框架模块之QtAV播放器实践

Qt 开源音视频框架模块QtAV播放器实践 1 摘要 QtAV是一个基于Qt的多媒体框架&#xff0c;旨在简化音视频播放和处理。它是一个跨平台的库&#xff0c;支持多种音视频格式&#xff0c;并提供了一个简单易用的API来集成音视频功能。QtAV的设计目标是为Qt应用程序提供强大的音视…...

【前端】XML,XPATH,与HTML的关系

XML与HTML关系 XML&#xff08;可扩展标记语言&#xff09;和 HTML&#xff08;超文本标记语言&#xff09;是两种常见的标记语言&#xff0c;但它们有不同的目的和用途。它们都使用类似的标记结构&#xff08;标签&#xff09;&#xff0c;但在设计上存在一些关键的差异。 XML…...

ubuntu服务器安装VASP.6.4.3

ubuntu服务器安装VASP.6.4.3 1 安装Intel OneAPI Base Toolkit和Intel OneAPI HPC Toolkit1.1 更新并安装环境变量1.2 下载Intel OneAPI Base Toolkit和Intel OneAPI HPC Toolkit安装包1.3 安装 Intel OneAPI Base Toolkit1.4 安装 Intel OneAPI HPC Toolkit1.5 添加并激活环境…...

市场加速下跌,但监管「坚冰」正在消融

作者&#xff1a;Techub 热点速递 撰文&#xff1a;Yangz&#xff0c;Techub News 与近日气温逐步回暖不同&#xff0c;自 2 月 25 日比特币跌破 9 万美元以来&#xff0c;加密货币市场行情一路下滑。今日 10 时 50 分左右&#xff0c;比特币更是跌破 8 万美元大关&#xff0c…...

7.2 - 定时器之计算脉冲宽度实验

文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验任务是通过CPU私有定时器来计算按键按下的时间长短。 2 系统框图 参见7.1。 3 软件设计 注意事项&#xff1a; 定时器是递减计数的&#xff0c;需要考虑StartCount&#xff1c;EndCount的情况。 /***********…...

Imagination DXTP GPU IP:加速游戏AI应用,全天候畅玩无阻

日前&#xff0c;Imagination 推出了最新产品——Imagination DXTP GPU IP&#xff0c;在智能手机和其他功耗受限设备上加速图形和AI工作负载时&#xff0c;保证全天候的电池续航。它是我们最新D系列GPU的最终产品&#xff0c;集成了自2022年发布以来引入的一系列功能&#xff…...

关于流水线的理解

还是不太理解&#xff0c;我之前一直以为&#xff0c;对axis总线&#xff0c;每一级的寄存器就像fifo一样&#xff0c;一级一级的分级存储最后一级需要的数据。&#xff08;现在看来&#xff0c;我这个理解应该也是没有问题的&#xff09; 如下图&#xff0c;一开始是在解析axi…...

采样算法二:去噪扩散隐式模型(DDIM)采样算法详解教程

参考 https://arxiv.org/pdf/2010.02502 一、背景与动机 去噪扩散隐式模型&#xff08;DDIM&#xff09; 是对DDPM的改进&#xff0c;旨在加速采样过程同时保持生成质量。DDPM虽然生成效果优异&#xff0c;但其采样需迭代数百至数千次&#xff0c;效率较低。DDIM通过以下关键…...

北京大学DeepSeek提示词工程与落地场景(PDF无套路免费下载)

近年来&#xff0c;大模型技术飞速发展&#xff0c;但许多用户发现&#xff1a;即使使用同一款 AI 工具&#xff0c;效果也可能天差地别——有人能用 AI 快速生成精准方案&#xff0c;有人却只能得到笼统回答。这背后的关键差异&#xff0c;在于提示词工程的应用能力。 北京大…...

Hutool - POI:让 Excel 与 Word 操作变得轻而易举

各位开发者们&#xff0c;在日常的 Java 开发工作里&#xff0c;处理 Excel 和 Word 文件是相当常见的需求。无论是从 Excel 里读取数据进行分析&#xff0c;还是将数据写入 Excel 生成报表&#xff0c;亦或是对 Word 文档进行内容编辑&#xff0c;传统的 Apache POI 库虽然功能…...

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景&#xff1a;最近DeepSeek比较火嘛&#xff0c;然后在githup上也看到了GitHub Copilot&#xff0c;就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件&#xff0c;发现Proxy支持的模型比较多&#xff0c;通用性和适配性比较好。所以本文记录一下pro…...

Iceberg Catalog

使用限制​ 支持 Iceberg V1/V2 表格式。支持 Position Delete。2.1.3 版本开始支持 Equality Delete。支持 Parquet 文件格式2.1.3 版本开始支持 ORC 文件格式。 创建 Catalog​ 基于 Hive Metastore 创建 Catalog​ 和 Hive Catalog 基本一致&#xff0c;这里仅给出简单示…...

2025年2月个人工作生活总结

本文为 2025年2月工作生活总结。 工作记录 AI浪潮 AI非常火&#xff0c;春节至今&#xff0c;到处充斥着大量和AI、DeepSeek有关的新闻。领导也一再强调要用AI&#xff0c;甚至纳入到新一年的考核里。再往上&#xff0c;大领导开会的新闻稿里也作出要求&#xff0c;不能停下脚…...

vscode java环境中文乱码的问题

先说我的结论&#xff1a; 由于我的系统是windows的&#xff0c;所以vscode使用的是默认gbk的编码进行的。 但是我的目的是全部都使用utf-8&#xff0c;因为我的程序始终是要去linux上去运行的&#xff0c;总不能在本地是好的&#xff0c;然后到服务器上就不行了吧&#xff0c;…...

Java数据结构第十五期:走进二叉树的奇妙世界(四)

专栏&#xff1a;Java数据结构秘籍 个人主页&#xff1a;手握风云 目录 一、二叉树OJ练习题&#xff08;续&#xff09; 1.1. 二叉树的层序遍历 1.2. 二叉树的最近公共祖先 1.3. 从前序与中序遍历序列构造二叉树 1.4. 从中序与后序遍历序列构造二叉树 1.5. 根据二叉树创建…...

【MySQL】CAST()在MySQL中的用法以及其他常用的数据类型转换函数

1. cast() CAST() 在 MySQL 中用于将一个表达式的类型转换为另一个类型。这在处理不同类型的数据时非常有用&#xff0c;比如将字符串转换为数字&#xff0c;或者将浮点数转换为整数等。 1.1 CAST() 函数的基本语法 CAST() 函数的基本语法如下&#xff1a; CAST(expression…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...