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

【操作系统】每日 3 题(六十八)

✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:https://blog.csdn.net/newin2020/category_12820365.html
📚专栏简介:在这个专栏中,我将会分享操作系统面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

202. 接收队列和发送队列的区别

接收队列(Recv-Q)和发送队列(Send-Q)比较特殊,在不同的 socket 状态。它们表示的含义是不同的。

当 socket 状态处于 Established时:

  • Recv-Q 表示 socket 缓冲区中还没有被应用程序读取的字节数;
  • Send-Q 表示 socket 缓冲区中还没有被远端主机确认的字节数;

而当 socket 状态处于 Listen 时:

  • Recv-Q 表示全连接队列的长度;
  • Send-Q 表示全连接队列的最大长度;

203. 介绍一下全队列

在 TCP 三次握手过程中,当服务器收到客户端的 SYN 包后,内核会把该连接存储到半连接队列,然后再向客户端发送 SYN+ACK 包,接着客户端会返回 ACK,服务端收到第三次握手的 ACK 后,内核会把连接从半连接队列移除,然后创建新的完全的连接,并将其增加到全连接队列 ,等待进程调用 accept() 函数时把连接取出来。

在这里插入图片描述

也就说,全连接队列指的是服务器与客户端完了 TCP 三次握手后,还没有被 accept() 系统调用取走连接的队列。

204. 怎么查看协议栈的信息

对于协议栈的统计信息,依然还是使用 netstat 或 ss,它们查看统计信息的命令如下:

在这里插入图片描述

ss 命令输出的统计信息相比 netsat 比较少,ss 只显示已经连接(estab)、关闭(closed)、孤儿(orphaned) socket 等简要统计。

而 netstat 则有更详细的网络协议栈信息,比如上面显示了 TCP 协议的主动连接(active connections openings)、被动连接(passive connection openings)、失败重试(failed connection attempts)、发送(segments send out)和接收(segments received)的分段数量等各种信息。


http://www.kler.cn/a/444310.html

相关文章:

  • Marp 教程:如何在 VSCode 中引入自定义样式和主题
  • 量子芯片在新医疗领域的应用研究展望
  • # Oracle 深入学习 Part 11: Managing Tables(管理表)
  • 【模型压缩】原理及实例
  • SQL 外联结与全联结的使用详解
  • 常见异构程序设计语言
  • hpe服务器更新阵列卡firmware
  • Tomcat快速入门(Java环境介绍+Tomcat快速安装+Tomcat配置文件+Tomcat配置虚拟主机+Tomcat管理界面)
  • Linux实现两台服务器之间ssh连接
  • 【漫话机器学习系列】013.贝叶斯误差(Bayes Error)
  • C++小细节笔记
  • 详细指南:在Ubuntu 20.04 ROS 1环境下设置和使用OpenNI2 SDK
  • 3.8 路由选择器协议
  • 记一次dockerfile中使用环境变量无效的解决方式
  • RTU 通信模块赋能智慧路灯远程开关管理,点亮智慧城市节能增效
  • C/S软件授权注册系统(Winform+WebApi+.NET8+EFCore版)
  • javascript页面设计案例【使用HTML、CSS和JavaScript创建一个基本的互动网页】
  • IEC101/104中的监视点与控制点
  • 使用Python进行excel的数据简单分析
  • FFMpeg-Window下Qt使用MinGW配置FFmpeg开发环境