rfc793-page36

在这里插入图片描述

  • rfc793原文

      If the connection is in any non-synchronized state (LISTEN,
     SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledges
     something not yet sent (the segment carries an unacceptable ACK), or
     if an incoming segment has a security level or compartment which
     does not exactly match the level and compartment requested for the
     connection, a reset is sent.
    

翻译:
如果连接处于任何非同步状态(LISTEN,SYN-SENT,SYN-RECEIVED),并且传入的数据段确认了尚未发送的内容(即传入的数据段携带了一个不可接受的确认),或者如果传入的数据段具有与连接请求的安全级别或隔间不完全匹配的安全级别或隔间,那么将发送一个复位(reset)。

Linux的实现中,reset报文分为auto-reset和active-reset,其中auto-reset仅仅根据引发reset的报文构造一个附带RST位的TCP回复报文,它并不和任何的socket相关联,发送了reset报文之后也不会针对本地的连接进行任何操作,这种方式reset报文有一个假设,那就是它将引发auto-reset的“坏报文”的产生归结为两点:
1.远端主机的“异常行为”或者是有人没有按照TCP规范而有意为之,比如establish状态时收到一个syn;
2.本端实在没有可以和该坏报文相关联的TCP连接,比如连接了一个不存在或未开启的端口。
对于active-reset,则是在可以将坏报文和既有连接联系的可预知事件发生时发送的,比如重传定时器连续超时超过了一定的次数等,当这种active-reset发送之后,本端的连接也随之烟消云散。在Linux中,auto-reset是由tcp_v4_send_reset来执行的,我想其注释已经阐述的很清晰了:

/*
 *    This routine will send an RST to the other tcp.
 *
 *    Someone asks: why I NEVER use socket parameters (TOS, TTL etc.)
 *              for reset.
 *    Answer: if a packet caused RST, it is not for a socket
 *        existing in our system, if it is matched to a socket,
 *        it is just duplicate segment or bug in other side's TCP.
 *        So that we build reply only basing on parameters
 *        arrived with segment.
 *    Exception: precedence violation. We do not implement it in any case.
 */
static void tcp_v4_send_reset(struct sk_buff *skb)
{
    ...
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis数据类型bitMap以及解决的相关实际需求

在Redis数据库中,Bitmap(位图)是一种特殊的数据结构,它不是一个独立的数据类型,而是基于String类型实现的。Bitmap主要用于存储大量二进制位(0或1)的数据,这些位可以代表不同的状态或…

CMU-TARE 探索算法官方社区问答汇总

参考引用 TARE机器人自主导航系统社区-CSDN社区云TARE平台资源链接汇总CMU团队开源算法点云地面分割 terrainAnalysis 代码解析Local Planner 代码详解以及如何适用于现实移动机器人论文翻译:Autonomous Exploration Development Environment and the Planning Algo…

3.学习前后端关联

目录 1.接口类型 2.错误状态码 3.如何定义路由 4.那如何要求前端传入一个JSON数据呢? 4.解决前后端口不同源,跨域问题 1.使用CrossOrigin 2.直接复制代码使用 5.用户登录校验 1.接口类型 POST(新增数据)、PUT(更新更改数据)、GET(查询)、DELET(删除数据) …

day05 设计计算机硬件

嵌入式学习-04_嵌入式技术之从零搭建计算机 1 添加立即数 现有系统的数据RAM存储方式(操作码+操作数)。 地址指令opcode(操作码)addr(操作数)新代码 /数据000ld_a0b000010b1000b0000100000000100001add0b000100b1010b0001000000000101010sub0b000110b1100b000110000000…

搭建PHP本地开发环境:看这一篇就够了

什么是PHP本地开发环境 PHP本地开发环境是指在个人计算机上模拟的服务器环境,这使得开发者能够在没有网络连接的情况下也能开发、测试和调试PHP应用程序。就像在你的电脑里装个小“服务器”,即使没网也能搞定PHP程序的开发和修修补补。这就是PHP本地开发…

【微服务】接口幂等性常用解决方案

一、前言 在微服务开发中,接口幂等性问题是一个常见却容易被忽视的问题,同时对于微服务架构设计来讲,好的幂等性设计方案可以让程序更好的应对一些高并发场景下的数据一致性问题。 二、幂等性介绍 2.1 什么是幂等性 通常我们说的幂等性&…

自定义类型

在之前的博客中我们讲到了C语言有三种自定义类型:结构体(结构)、枚举和联合,在这篇博客中我们将更加深入地探讨这三种自定义类型。 结构体 1.结构体的声明 struct tag {int a;char ch;int arr[3];double d;float f; }t1,t2;如上…

2022 年甘肃省职业院校技能大赛 高职组 网络系统管理竞赛 网络构建模块试题

2022 年甘肃省职业院校技能大赛 高职组网络系统管理竞赛 网络构建模块试题 目 录 考试说明… 3 任务描述… 3 任务清单… 3 (一)基础配置… 3 (二)有线网络配置… 4 (三)无线网络配置… 6 (四&a…

【数据结构】双向奔赴的爱恋 --- 双向链表

关注小庄 顿顿解馋๑ᵒᯅᵒ๑ 引言:上回我们讲解了单链表(单向不循环不带头链表),我们可以发现他是存在一定缺陷的,比如尾删的时候需要遍历一遍链表,这会大大降低我们的性能,再比如对于链表中的一个结点我们是无法直接…

【探究图论中dfs记忆化,搜索,递推,回溯关系】跳棋,奶牛隔间, 小A和uim之大逃离 II

本篇很高能,如有错误欢迎指出,本人能力有限(需要前置知识记忆化dfs,树形dp,bfsdp,tarjan) 另外,本篇之所以属于图论,也是想让各位明白,dfs就是就是在跑图&am…

DNS 服务 Unbound 部署最佳实践

文章目录 安装unbound-control配置启动服务测试 参考: 官网地址:https://nlnetlabs.nl/projects/unbound/about/ 详细文档:https://unbound.docs.nlnetlabs.nl/en/latest/index.html DNS服务Unbound部署于使用 https://cloud.tencent.com/…

cryptography,一个神奇的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个神奇的 Python 库 - cryptography。 Github地址:https://github.com/pyca/cryptography 在当今数字化时代,信息安全越来越受到重视。数据加密是保护…

海外媒体发稿:9种高效的媒体套餐内容发稿策略分析-华媒舍

海外媒体发稿:9种高效的媒体套餐内容发稿策略分析高效的媒体发布和营销推广策略对公司、本人的成就尤为重要。下面我们就对于媒体套餐内容发稿营销推广策略开展全面解析,帮助读者掌握并应用这9种合理的思路,进而获得更好的媒体营销效果。 1.媒…

基于react native的自定义轮播图

基于react native的自定义轮播图 效果示例图示例代码 效果示例图 示例代码 import React, {useEffect, useRef, useState} from react; import {Animated,PanResponder,StyleSheet,Text,View,Dimensions, } from react-native; import {pxToPd} from ../../common/js/device;c…

小目标检测篇 | YOLOv8改进之GSConv + Slim Neck提升小目标检测效果

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法GSConv来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀的…

GDAl 之绘制栅格图像的大致直方图和精准直方图(8)

gdal的绘制大致直方图是仅查看概览或者抽样像素的一个子集 import os from osgeo import gdal import matplotlib.pyplot as plt import numpy as np# Dont forget to change directory. os.chdir(rD:\DeskTop\learn_py_must\Learn_GDAL\osgeopy-data\osgeopy-data\Switzerlan…

基于Selenium+Python的web自动化测试框架!

简介: 本文将详细介绍如何运用Python结合Selenium WebDriver库搭建web自动化测试框架。 一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分…

音视频处理 - 音频概念详解,码率,采样率,位深度,声道,编码

1. 音频采样 与视频不同,音频的最小单位不是一帧,而是一个采样。 采样是当前一刻声音的声音样本,样本需要经过数字转换才能存储为样本数据。 真实声音是连续的,但是在计算机中,声音是离散且均匀的声音样本。 2. 位深…

ER图与关系模型

1.设某商业集团数据库中有三个实体集。 “公司”实体集,属性有公司编号、公司名、地址等; “仓库”实体集,属性有仓库编号、仓库名、地址等; “职工”实体集,属性有职工编号、姓名、性别等。公司与仓库间存在“隶属…

《被讨厌的勇气》读书思考笔记 (好书推荐)

《被讨厌的勇气》是一本由日本心理学家岸见一郎和奥冈昌高合著的畅销心理成长书籍。这本书基于心理学家阿尔弗雷德阿德勒的思想,介绍了“自我决定心理学”的观点,探讨了人们如何克服害怕失败,勇敢追求自己真正想要的生活。这本书在心理学、自…