Linux系统tcp连接设置

2023-05-16

目录

    • net.ipv4.tcp_syn_retries
    • net.ipv4.ip_local_port_range
    • net.core.somaxconn
    • net.ipv4.tcp_max_syn_backlog
    • net.core.netdev_max_backlog
    • net.ipv4.tcp_synack_retries
    • net.ipv4.tcp_abort_on_overflow
    • net.ipv4.tcp_syncookies
    • net.ipv4.tcp_fastopen

  • net.ipv4.tcp_syn_retries

    • 主动建立链接时发SYN的重试次数。
    • 修改方式:echo 6 > /proc/sys/net/ipv4/tcp_syn_retries

  • net.ipv4.ip_local_port_range

    • 建立连接是本地端口可用范围
    • 修改方式: echo "32768 60999" > /proc/sys/net/ipv4/ip_local_port_range

  • net.core.somaxconn

    • 全连接队列长度 = min(backlog, 内核参数 net.core.somaxconn)
      backlog 由int listen(int sockfd, int backlog)传入。
    • 修改方式:`echo 1024 > /proc/sys/net/core/somaxconn

  • net.ipv4.tcp_max_syn_backlog

    • SYN_RCVD状态连接的最大数(半连队列长度)
      半连接队列长度 = min(backlog, 内核参数 net.core.somaxconn,内核参数 tcp_max_syn_backlog)
      backlog 由int listen(int sockfd, int backlog)传入。
    • 修改方式:echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog

  • net.core.netdev_max_backlog

    • 接收自网卡,但未被内核协议栈处理的队列长度。表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包最大数。
    • 修改方式:echo 1000 > /proc/sys/net/core/netdev_max_backlog

  • net.ipv4.tcp_synack_retries

    • 被动建立连接时,发送SYN/ACK的重试次数。
    • 修改方式:echo 5 > /proc/sys/net/ipv4/tcp_synack_retries

  • net.ipv4.tcp_abort_on_overflow

    • 超出处理能力时,对新来的SYN直接回RST,丢弃连接。
      0:关闭,1:开启。
    • 修改方式:echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow

  • net.ipv4.tcp_syncookies

    • 将连接信息编码在ISN(initialsequencenumber)中返回给客户端,这时server不需要将半连接保存在队列中,而是利用客户端随后发来的ACK带回的ISN还原连接信息,以完成连接的建立,避免了半连接队列被攻击SYN包填满。
      0:不启用,1:半连接队列(SYN queue)满时启用,2:永久启用。
    • 修改方式:echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
    • 由于cookie占用序列号空间,导致此时所有TCP可选功能失效,例如扩充窗口,时间戳等。

  • net.ipv4.tcp_fastopen

    • TFO(TCP fast open)是TCP协议的experimental update,它允许服务器和客户端在连接建立握手阶段交换数据,从而使应用节省了一个RTT的时延。但是TFO会引起一些问题,因此协议要求TCP实现必须默认禁止TFO。需要在某个服务端口上启用TFO功能的时候需要应用程序显示启用
      0:关闭,1:作为客户端是可使用TFO,2:作为服务器时可使用TFO,3:无论作为客户端还是服务器都可使用TFO。
    • 修改方式:echo 3 > /proc/sys/net/ipv4/tcp_fastopen
    • TFO仅对优化短连接有帮助,且安全性不高,建议关闭,内部网络中可以考虑开启。
      请添加图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux系统tcp连接设置 的相关文章

  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 当 TCP 序列号到达而不是预期时会发生什么情况?

    我正在编写一个程序 使用 libpcap 捕获数据包并重新组装 TCP 流 我的程序只是监视流量 因此我无法控制数据包的接收和发送 我的程序忽略所有非 TCP IP 流量 我根据 ISN 计算下一个预期序列号 然后计算连续的 SEQ 号 我
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 为什么我可以在 /proc/pid/maps 输出中看到几个相同的段?

    测试在32位Linux上进行 代码如下 int foo int a int b int c a b return c int main int e 0 int d foo 1 2 printf d n d scanf d e return
  • Mcrt1.o和Scrt1.o有什么用?

    我坚持使用以下两个文件 即 Mcrt1 o 和 Scrt1 o 谁能帮我知道这两个文件的用途 如何使用它 我们以 gcrt1 o 为例 在使用 pg 选项编译进行性能测试时非常有用 谢谢 表格的文件 crt o总是 C 运行时启动代码 大部
  • 警告:请求的映像平台 (linux/amd64) 与检测到的主机平台 (linux/arm64/v8) 不匹配

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 docker 来自守护程序的错误响应 无法选择具有功能的设备驱动程序 gpu 我在 mac 上尝试运行此命令时遇到此
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • linux命令中括号的用途是什么[重复]

    这个问题在这里已经有答案了 我在 Linux 终端中运行以下命令 谁能告诉我 Linux 终端中括号和以下命令的用途是什么 echo GET HTTP 1 0 echo 主机 www google com echo 数控 www googl
  • 捕获数据包后会发生什么?

    我一直在阅读关于网卡捕获数据包后会发生什么的内容 我读得越多 我就越困惑 首先 我读过传统上 在网卡捕获数据包后 它会被复制到内核空间中的一个内存块 然后复制到用户空间 供随后处理数据包数据的任何应用程序使用 然后我读到了 DMA 其中 N
  • PyPI 上的轮子平台约束有什么限制吗?

    是否有任何地方 PEP 或其他地方 声明关于 Linux 轮子上传范围的限制 PyPI http pypi io 应该有 具体来说 上传是否被认为是可接受的做法linux x86 64轮子到 PyPI 而不是manylinux1 x86 6
  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • 如何使用 echo 写入非 ASCII 字符?

    如何写非ASCII http en wikipedia org wiki ASCII使用 echo 的字符 是否有转义序列 例如 012或类似的东西 我想使用以下方法将 ASCII 字符附加到文件中 echo gt gt file 如果您关
  • C - 为什么我无法映射较小(256UL 或更小)的内存?

    请告诉我 为什么我的简单应用程序无法映射较小的内存 而且 为什么有这样一个特定的边界 257UL define MAP SIZE 256UL or below fail define MAP SIZE 257UL ok include
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 找出 Linux 上的默认语言

    有没有办法从C语言中找出Linux系统的默认语言 有 POSIX API 可以实现这个功能吗 例如 我想要一个人类可读格式的字符串 即德语系统上的 German 或 Deutsch 法语系统上的 French 或 Francais 等 有类

随机推荐

  • 几种CAN应用层协议介绍

    一 CanOpen n CAL 提供了所有的网络管理服务和报文传送协议 xff0c 但并 没有定义 CMS 对象的内容或者正在通讯的对象的类 型 而这正是 CANopen 切入点 n CANopen 是在 CAL 基础上开发的 xff0c
  • CImage类

    我们知道 xff0c Visual C 43 43 中的CBitmap类的功能简直太弱小了 xff0c 这曾经让Visual C 43 43 在图像处理方面的功能比较尴尬 之前笔记里面 xff0c 我们采用的CBitmap配合GDI进行透明
  • PTA 7-20 表达式转换 (25分)

    算术表达式有前缀表示法 中缀表示法和后缀表示法等形式 日常使用的算术表达式是采用中缀表示法 xff0c 即二元运算符位于两个运算数中间 请设计程序将中缀表达式转换为后缀表达式 输入格式 输入在一行中给出不含空格的中缀表达式 xff0c 可包
  • Template Mode(模板方法)

    结构化程序 程序库开发人员 class Library public void step1 void step3 void step5 应用程序开发人员 class Application piblic bool Step2 bool St
  • Strategy 模式

    enum TaxBase CN Tax US Tax DE Tax class SaleOrder TaxBase tax public if tax 61 61 CN Tax else if tax 61 61 US Tax else i
  • 观察者模式

    在软件的构建过程中 xff0c 我们需要为某些对象建立一种通知依赖关系 一个对象 xff08 目标对象 xff09 发生改变 所有的依赖对象 xff08 观察者对象 xff09 都将得到通知 xff0c 如果依赖关系过于紧密 xff0c 将
  • matlab数据分类 画直方图

    我是刚刚接触matlab的小白 xff0c 在度娘和广大网友的帮助下终于完成了这个小任务 所以想记录下 xff0c 也希望可以帮助那些学习matlab的人 小任务 xff1a 主要对txt文本里的数据 进行处理下 xff0c 然后通过mat
  • 树莓派跑一个简单c++小程序教程

    我用的是树莓派3代b型 xff0c 所使用的是Debian系统的衍生系统raspbian 对系统不太了解不清楚 树莓派开发c 43 43 程序需要的工具有编辑器vim 调试器gdb 编译器gcc或者g 43 43 xff08 大神飘过就行
  • typedef 函数指针用法

    进入正文 xff1a 代码简化 促进跨平台开发的目的 typedef 行为有点像 define 宏 xff0c 用其实际类型替代同义字 不同点 xff1a typedef 在编译时被解释 xff0c 因此让编译器来应付超越预处理器能力的文本
  • 关于红外相机热成像相机的一些sdk使用方法

    将红外热成像相机转化成c格式 xff0c 从而用opencv进行显示 先看一些开发手册的函数 定义一个函数指针 typedef long CBF IR long lData long lParam CBF IR pCBFframe 相机接口
  • opencv显示图像并转换成灰度图(c++) day1

    include lt opencv2 opencv hpp gt include lt iostream gt using namespace cv int main Mat src 61 imread 34 aa jpg 34 Mat g
  • 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对

    基础不夯实 xff0c 工作两行泪 include lt stdio h gt int main 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 2 3 5 8 13 21 34 int m 61
  • 如果你还在用STM32F103,那么你OUT了

    自从ARM公司2007年首推出Cortex内核 xff0c ST凭借基于ARM CORTEX M3内核的STM32F1 xff0c 无疑成为了最大的赢家之一 特别是STM32F103系列 xff0c 更是成为市场上最通用的MCU系列之一 不
  • 瑞芯微RK1808开发板之进入系统

    参照RK1808 EVB用户指南 V10 20181226 pdf用户指南配置 文档获取地址https github com rockchip linux docs tree master SoC 20platform 20related
  • 瑞芯微RK1808编译rknn_demo

    操作步骤在ubuntu16 04下编译 官方给的sdk里的rknn demo不能直接编译 缺少一些动态链接库 xff0c 还需要完善一些CMakeLists txt内容 首先在rknn demo下新建一个build 进入 build文件夹下
  • libcurl在嵌入式设备C 的使用

    libcurl在嵌入式设备C 的使用 bingqingsuimeng的专栏 CSDN博客 linux configure prefix 61 root work code curl 7 61 1 curl linux disable sha
  • 某些项目因位于工作空间目录中而被隐藏

    今天晚上突然想建一个小项目 xff0c 建在了F project projectname 建完后发现项目并没有导入到Eclipse中 xff0c 于是又自己重新导入 xff0c 导入到最后一步就报了如题错误 在网上找了下原因 按照这篇博客h
  • C++关于文件检索的源码转译技巧(R"()"方式)

    在C C 43 43 编写代码的过程中 xff0c 经常会用到检索文件路径的时候 xff0c 首先要明确一点 xff0c 由于 符号是C C 43 43 的保留符号 xff0c 因此直接粘贴路径字符串在代码中是不能使用的 例如下面的方法 x
  • 嵌入式课程 之 中断和串口通信实验

    版权归如下公司 xff0c 禁止非授权转载 xff1a 北京西普阳光教育科技股份有限公司 xff08 https www simpleware com cn xff09 维周机器人科技有限公司 xff08 http www vejoe co
  • Linux系统tcp连接设置

    目录 net ipv4 tcp syn retriesnet ipv4 ip local port rangenet core somaxconnnet ipv4 tcp max syn backlognet core netdev max