上海市建设安全协会网站/网站seo设计

上海市建设安全协会网站,网站seo设计,新加坡打工,北京网站备案域名TCP 可靠性 确保快递不丢、不乱、不过载 机制作用(快递类比)防止的问题检验和检查包裹是否损坏,损坏就重新发数据出错序列号给每个包裹编号,按顺序整理乱序、重复确认应答每送到一件,就让收件人签收丢失滑动窗口控制…

TCP 可靠性 = 确保快递不丢、不乱、不过载

机制作用(快递类比)防止的问题
检验和检查包裹是否损坏,损坏就重新发数据出错
序列号给每个包裹编号,按顺序整理乱序、重复
确认应答每送到一件,就让收件人签收丢失
滑动窗口控制一次寄几件,避免堆积过载
超时重传快递超时未送达,自动补发丢失
拥塞控制高峰期限流,减少派送压力网络堵塞
流量控制收件人快递放不下了,暂停派送过载
  • 滑动窗口和流量控制的个人理解:
  • 滑动窗口是限制某一刻的发送大小,而流量控制更像所需发送的全部流量的限制大小
  • 滑动窗口 就像一条限流高速公路,最多同时允许 5 辆车行驶(窗口大小 = 5)。
  • 流量控制 相当于整个高速的容量,如果总流量太大(接收端处理不过来),就会限速或关闭部分入口(缩小窗口)。

TCP 如何保证可靠性?

1️⃣ 检验和:接收端检测数据是否出错,若有错误则丢弃并请求重传。

2️⃣ 序列号 & 确认应答

  • 序列号:保证数据按序传输,去重重复数据。
  • 确认应答(ACK):接收方收到数据后,发送 ACK 确认,告知发送方已接收的数据范围及下次应发送的位置。

3️⃣ 滑动窗口:动态调整发送数据量,提高传输效率,防止接收端超载。

4️⃣ 超时重传:若发送数据超时未收到 ACK,认为丢失并重新发送,超时时间动态计算。

5️⃣ 拥塞控制:监测网络状态,避免因发送速率过高导致网络拥堵,保证数据高效传输。

6️⃣ 流量控制:接收端通过窗口大小告知发送方自身处理能力,避免数据过载和丢包。


TCP 滑动窗口详解

1. 滑动窗口是什么?

TCP 滑动窗口(Sliding Window)是一种流量控制机制,用于管理发送端和接收端的数据传输速率,确保高效传输的同时,防止接收端超载。
窗口大小指的是不需要等待确认应答包而可以继续发送数据包的最大值。

核心作用:

  • 提高传输效率:无需等待每个数据包的 ACK 确认才能继续发送,而是允许发送多个数据包,提高带宽利用率。
  • 避免接收方过载:根据接收方的处理能力调整发送速率,防止数据溢出。

2. 滑动窗口的工作过程

假设发送端一次最多发送 5 个数据包,窗口大小 = 5(每个数据包用 ①②③④⑤ 表示):

1️⃣ 初始状态(发送窗口 = 5)

[①②③④⑤] ⑥⑦⑧⑨🔟 ...  (窗口大小 = 5,最多可发送 5 个)
  • 发送方先发送 ①②③④⑤,等待 ACK 确认。

2️⃣ 收到部分 ACK(窗口右移)

✔① ✔② [③④⑤⑥⑦] ⑧⑨🔟 ...  
  • ①② 已收到 ACK,窗口向前滑动 2 位,允许发送 ⑥⑦。

3️⃣ 持续滑动(高效传输)

✔① ✔② ✔③ ✔④ ✔⑤ [⑥⑦⑧⑨🔟] ...  
  • 每次收到 ACK,窗口继续滑动,提高传输效率。

3. 窗口大小如何调整?

1️⃣ 流量控制(Flow Control)

  • 接收端调整窗口大小(rwnd,防止缓存溢出。例如:

    • 缓存充足 → 窗口大 → 发送方可发送更多数据。

    • 缓存快满了 → 窗口缩小 → 发送方减少数据发送。

    • 缓存满了 → 窗口变 0 → 发送方暂停发送,等待窗口恢复。

2️⃣ 拥塞控制(Congestion Control)

  • 发送端根据网络情况调整窗口大小(cwnd,防止网络拥堵。例如:

    • 网络畅通cwnd 增加,提高发送速率。

    • 检测到丢包cwnd 减小,降低发送速率。


TCP 拥塞控制详细解析

四大算法:

  • 慢开始(Slow Start)

  • 拥塞避免(Congestion Avoidance)

  • 快速重传(Fast Retransmit)

  • 快速恢复(Fast Recovery)


明确拥塞产生的基础过程:A发送报文,B回一个ACK表示收到,循环操作

慢开始

初始阶段指数增长,避免一开始就占满带宽,即每收到一次ACK就指数增长下一次发送报文的大小,但由此带来的问题是,从1开始的指数增长会不会也变得很大,导致拥塞,于是引出拥塞避免

拥塞避免

为慢开始的指数增长设定一个阈值,一旦超过后,不再指数增长,而是每次+1

快速重传

TCP 规定:当发送方连续收到 3 个重复 ACK,说明某个数据包丢失了。发送方立即重传丢失的数据包,而不等待超时。

  • 例:发送方发送 pkt1, pkt2, pkt3, pkt4。
    pkt2 丢失,接收方收到 pkt3 后,发送 重复 (在很短的时间内)ACK(pkt2)。

  • 发送方收到 3 个 ACK(pkt2),立即重传 pkt2,无需等待超时。(如果没有快速重传机制,正常是接收方每收到pkt2,所以一直不发送pkt2的ACK导致发送方没接到这个ACK最终超时,才进行重新发送)

快速恢复

避免慢开始,从丢包前的一半窗口大小开始,随后采用拥塞避免算法逐步增加窗口

  • 设想一下当前链路每次传输100,突然丢包,如果没有快速恢复,则根据慢开始算法从1开始,重新增长速度,太低效,因此规定,减少窗口大小到1/2而不从1开始,即,从50开始,同时停止指数增长,每次+1,复用拥塞避免的逻辑而不使用慢开始,这就是快速恢复。

什么是 SYN洪泛攻击?如何防范?

SYN洪泛攻击属于 DOS 攻击的一种,它利用 TCP 协议缺陷,通过发送大量的半连接请求,耗费 CPU 和内存资源。

1. 什么是半连接(Half-Open Connect)

在 TCP 三次握手过程中,服务器发送 [SYN/ACK] 后(第二次握手后),进入 SYN_RECV 状态,等待客户端的 [ACK]

  • 若收到 [ACK],连接建立。
  • 若未收到,服务器会 重发 [SYN/ACK] 直至超时,占用资源。
2. SYN 攻击原理

攻击者伪造 大量不存在的 IP 地址,向服务器发送 [SYN],服务器回复 [SYN/ACK] 并等待 ACK,但客户端 不会响应

  • 影响:大量半连接占满队列,导致正常请求无法处理,甚至服务器瘫痪。
  • 检测:若服务器出现 大量 SYN_RECV 连接,且来源 IP 随机,基本可判定为 SYN 攻击。
3. SYN 攻击防范
  • 网络层防护
    • 通过 防火墙/路由器 过滤异常流量。
    • 限制 每个 IP 的 SYN 速率
  • TCP/IP 协议栈优化
    • 增加最大半连接数,提高抗攻击能力。
    • 缩短 SYN 超时时间,减少资源占用。
  • SYN Cookies 技术
    • SYN/ACK 中嵌入 特殊编码(Cookie),不分配资源,只有客户端回复正确的 ACK 才真正建立连接。
    • 特点:无需维护半连接队列,可有效抵御 SYN 攻击。

https://github.com/0voice

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

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

相关文章

杰发科技AC7801——滴答定时器获取时间戳

1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…

湖仓一体概述

湖仓一体之前,数据分析经历了数据库、数据仓库和数据湖分析三个时代。 首先是数据库,它是一个最基础的概念,主要负责联机事务处理,也提供基本的数据分析能力。 随着数据量的增长,出现了数据仓库,它存储的是…

第十五届蓝桥杯单片机组4T模拟赛三(第二套)

本套试题在4T平台中的名字为第15届蓝桥杯单片机组模拟考试三,不知道哪套是4T的模拟赛,所以两套都敲一遍练练手感。 为了代码呈现美观,本文章前面的各个模块在main函数中的处理函数均未添加退出处理,在最后给出的完整代码中体现。 …

CT技术变迁史——CT是如何诞生的?

第一代CT(平移-旋转) X线球管为固定阳极,发射X线为直线笔形束,一个探测器,采用直线和旋转扫描相结合,即直线扫描后,旋转1次,再行直线扫描,旋转180完成一层面扫描,扫描时间3~6分钟。矩阵象素256256或320320。仅用于颅脑检查。 第二代CT (平移-旋转) 与第一代无质…

Android APK组成编译打包流程详解

Android APK(Android Package)是 Android 应用的安装包文件,其组成和打包流程涉及多个步骤和文件结构。以下是详细的说明: 一、APK 的组成 APK 是一个 ZIP 格式的压缩包,包含应用运行所需的所有文件。解压后主要包含以…

基于Rook的Ceph云原生存储部署与实践指南(上)

#作者:任少近 文章目录 1 Ceph环境准备2 rook部署ceph群集2.1 Rook 帮助地址2.2 安装ceph2.3 获取csi镜像2.4 Master参加到osd2.5 设置默认存储 3 Rook部署云原生RBD块存储3.1 部署storageclass资源3.2 部署WordPress使用RBD3.3 WordPress访问 4 Rook部署云原生RGW…

DeepSeek R1/V3满血版——在线体验与API调用

前言:在人工智能的大模型发展进程中,每一次新模型的亮相都宛如一颗投入湖面的石子,激起层层波澜。如今,DeepSeek R1/V3 满血版强势登场,为大模型应用领域带来了全新的活力与变革。 本文不但介绍在线体验 DeepSeek R1/…

Spring Data JPA 中的分页实现:从 BasePage 到 Pageable

文章目录 Spring Data JPA 中的分页实现:从 BasePage 到 Pageable背景:为什么需要分页?认识 BasePage 类深入 toPageable() 方法1. 处理页码和页面大小2. 处理排序方向3. 处理排序字段4. 生成 Pageable 对象 实战:如何使用 BasePa…

Android Studio 新版本Gradle发布本地Maven仓库示例

发布代码到JitPack示例:https://blog.csdn.net/loutengyuan/article/details/145938967 以下是基于 Android Studio 24.2.2(Gradle 8.10.2 AGP 8.8.0 JDK17) 的本地 Maven 仓库发布示例,包含aar和jar的不同配置: 1.…

python量化交易——金融数据管理最佳实践——qteasy创建本地数据源

文章目录 qteasy金融历史数据管理总体介绍本地数据源——DataSource对象默认数据源查看数据表查看数据源的整体信息最重要的数据表其他的数据表 从数据表中获取数据向数据表中添加数据删除数据表 —— 请尽量小心,删除后无法恢复!!总结 qteas…

LDR6020 PD3.1 协议芯片在特定设备中的应用

在电子设备互联互通的时代,芯片技术成为提升设备性能与功能的关键驱动力。LDR6020 PD3.1 协议芯片以其出色的性能,在 TYPE-C 台式显示器 / 便携显示器、一拖二快充线以及手机电脑转接器等设备中展现出独特价值,为用户带来更便捷、高效的使用体…

PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 TIFF

TIFF文件是高质量图像的首选。它们广泛用于印刷、存档和图形设计。企业通常需要转换PDF文档以获得更好的兼容性。了解如何以编程方式执行此转换可以节省时间和资源。在这篇教程中,我们将探讨如何使用 Python 将 PDF 转换为 TIFF。 本文涵盖以下主题: P…

服务器IPMI用户名、密码批量检查

背景 大规模服务器部署的时候,少不了较多的网管和监测平台,这些平台会去监控服务器的性能、硬件等指标参数,为了便于管理和控制,则需要给服务器IPMI带外管理添加较多的用户,这就需要对较多的服务器检查所对应的IPMI用…

< 自用文儿 > Gobuster 暴力扫描工具与 SecLists 安全测试词表集合

Ethice 道德问题 GFW 的保护下,很多的设备操作系统是停留在更老的版本,应用软件也是,因此很多的漏洞没有被修复。通讯没有使用加密,例如网页没有使用 HTTPS 网站很多。几乎是半裸的在网络上等着被食。 不做恶是下限。 环境&…

【Cadence射频仿真学习笔记】2.4GHz低噪放LNA仿真设计

课程分为3个部分, 一、LNA结构与噪声优化方法 噪声优化的方法是:限定功耗的噪声和功率同时匹配噪声匹配和功率匹配一般不会同时达到, 对于PCSNIM结构的噪声分析,我们只需要了解与哪些参数有关优化思路是:1.信号源阻抗…

【洛谷入门赛】B4042 顺序结构 202410 场

题意 给你一个变量 a a a:小 Y 会让 a a a 先加 5 5 5 再把它们的和乘 3 3 3 最后输出;小 L 会让 a a a 先乘 3 3 3 再加 5 5 5 最后输出。 要求出小 Y 和小 L 分别会输出什么东西。 思路 这道题按照题目意思模拟就可以了,重点是考…

【Azure 架构师学习笔记】- Azure Databricks (13) -- 搭建Medallion Architecture part 1

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (12) – Medallion Architecture简介 前言 上文已经介绍了关于Medallion的知识,本文开始用ADB 来实现, 但是基于内容较…

社交APP如何打造高粘性兴趣社群

想要打造一款成功的社交 APP 兴趣社群,关键在于充分激发用户的主动分享意愿,同时构建起深度互动机制。与其在一开始就将大量资源投入到广告宣传中,倒不如把精力集中在深度挖掘和精心维护首批核心用户上。例如,可以尝试设计在线测试…

【操作系统】同步与互斥

同步与互斥 一、同步与互斥的概念1.1 同步与异步1.2 进程互斥 二、进程互斥的实现2.1 软件实现2.1.1 单标志法2.1.2 双标志先检查法2.1.3 双标志后检查法2.1.4 Peterson法 2.2 硬件实现2.2.1 中断指令2.2.2 TestAndSet指令2.2.3 Swap指令 三、互斥锁四、信号量机制4.1 整型信号…

性能附录:如何计算并发用户数(摘自高楼老师《性能30讲》)

高楼老师《性能30讲》: 性能测试实战30讲-极客时间 感兴趣的同学可以去读一下,个人感觉写的非常好 目录 什么是并发? 在线用户数、并发用户数怎么计算 总结 什么是并发? 我们假设上图中的这些小人是严格按照这个逻辑到达系统的,那显然,…