网络编程之TCP, UDP, I/O 小记

本文深入探讨了TCP协议如何实现数据传输的可靠性,包括确认机制、RTT估算、超时重传和流量控制等关键概念。同时,文章详细介绍了建立连接的三次握手和断开连接的四次挥手过程,以及TIME_WAIT状态的作用。此外,还讲解了I/O多路复用的意义和I/O模型的不同类型,包括阻塞式I/O、非阻塞I/O、I/O复用、信号驱动和异步AIO。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

这两天学习了 《 UNIX 网络编程 》的 chapter1,2,6, 简要总结一下。

OSI 七层模型

七层网络模型,前三层为用户相关,后四层为系统内核相关。

  • 应用层

  • 表示层

  • 会话层

  • 传输层 TCP/UDP/SCTP

  • 网络层 IPv4 IPv6

  • 数据链路层 下面两层为设备驱动程序及硬件

  • 物理层

传输层协议

TCP 是如何做到可靠性?
  • 确认机制
  • RTT估算
  • 超时重传
  • 流量控制
建立连接:三次握手
  • server listen

  • client -> server (SYNj)

  • server -> client (SYNk ACKj+1)

  • client -> server(ACKk+1)

  • 建立连接

断开链接:四次挥手

这里的四次是指有四个过程,并不是一定有四个包发送,也可能被动关闭一方直接将ACKFIN发送到主动接收方。

图待补充

主动关闭的一方在接收到FIN时进入状态 TIME_WAIT 半关闭状态

TIME_WAIT状态

主动关闭端状态,时间为2*MSL,原因如下:

  • 可靠的实现了TCP全双工连接的中止
  • 允许老的重复分节在网络中消逝,防止下个新的连接建立时,还收到了上个连接的报文

I/O 多路复用

多路复用存在意义:

  • 存在多个描述符,如交互式输入和套接字
  • 同时处理多个套接字
  • 服务端处理监听套接字同时处理已连接套接字
  • 服务端同时处理多个协议,TCP/UDP
I/O 模型

(图待补充)

  • 阻塞式I/O
  • 非阻塞I/O
  • I/O复用(select函数维护多个描述符)
  • 信号驱动
  • 异步 AIO
POSIX 定义的同步/异步

同步: 请求进程阻塞,直到I/O操作完成

异步:请求进程不阻塞

根据该定义,前四种I/O模型,进程都是阻塞的。只有最后AIO才是异步

资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 《一芯量产工具 FirstChip MpTools 20211024 详解及应用》 在数字存储领域,U 盘作为便携式存储设备的典型代表,其稳定性和可靠性极为关键。而 “FirstChip_MpTools_20211024” 正是专为一芯(FirstChip)芯片打造的 U 盘量产工具,主要用于 FC1178 和 FC1179 系列芯片的 U 盘生产、测试与修复工作。本文将深入剖析该工具的功能、使用方法以及其在 U 盘量产过程中的重要作用。 一芯(FirstChip)是一家专注于存储控制器研发的企业,其 FC1178 和 FC1179 芯片被广泛应用于众多 U 盘产品中。这些芯片具备高性能、低功耗以及高兼容性等诸多优点,但在少数情况下,也可能会出现诸如数据丢失、无法识别等故障,此时就需要借助专业的量产工具来进行修复。 “FirstChip MpTools” 是一款功能强大的一芯 U 盘量产管理软件,具备以下功能:一是进行初始化与格式化操作,能够清除 U 盘中的所有数据,并且可以设置不同的文件系统格式,比如 FAT32、NTFS 或 exFAT,以满足不同用户的多样化需求;二是开展性能测试,通过读写速度测试来评估 U 盘的实际性能,帮助用户判断 U 盘的读写速度是否达到了预期的标准;三是进行坏块检测与修复,扫描 U 盘中可能存在的坏块,并尝试对其进行修复,从而确保 U 盘能够稳定运行;四是实现容量调整,允许用户根据实际需求对 U 盘的可用容量进行调整,在处理扩容盘或者修复容量异常的 U 盘时极为实用;五是进行安全擦除,能够彻底删除 U 盘上的所有数据,确保信息安全无虞;六是开展固件升级,对 U 盘的固件进行更新,以此提高兼容性、修复已知问题或者解锁新的功能。 使用 “FirstChip M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值