计算机网络
文章平均质量分 94
学习MOOC
4C++
记录C++体系的学习
展开
-
I/O多路转接之 select 与 poll
在Linux系统中,I/O多路转接是一种重要的I/O模型,它能够同时等待多个文件描述符的就绪状态,同时处理多个客户端的请求而不创建多线程,提高程序的效率。本文将重点介绍I/O多路转接中的select和poll。原创 2024-08-17 23:25:22 · 1096 阅读 · 0 评论 -
五种IO模型
在进行网络编程或文件操作时,IO模型的选择对程序的性能和效率有着重要的影响。本文将介绍五种IO模型,并详细讨论非阻塞IO的相关内容。数据准备、数据读写通俗一点: IO = 等待 + 拷贝。原创 2024-08-17 22:23:56 · 730 阅读 · 0 评论 -
从Linux内核探索 Socket 的本质
socket 中文套接字,可理解为一套用于连接的数字。sock在内核,socket_fd在用户空间,socket层介于内核和用户空间之间。在操作系统内核空间里,实现网络传输功能的结构是sock,基于不同的协议和应用场景,会被泛化为各种类型的xx_sock,它们结合硬件,共同实现了网络传输功能。为了将这部分功能暴露给用户空间的应用程序使用,于是引入了socket层,同时将sock嵌入到文件系统的框架里,sock就变成了一个特殊的文件,用户就可以在用户空间使用文件句柄,也就是socket_fd来操作内核。原创 2024-08-16 23:13:15 · 831 阅读 · 0 评论 -
既然IP层会分片,为什么TCP层也还要分段?
数据在TCP分段,在IP层就不需要分片,同时发生重传的时候只重传分段后的小份数据。TCP分段时使用MSS,IP分片时使用MTU。MSS是通过MTU计算得到,在三次握手和发送消息时都有可能产生变化。IP分片是不得已的行为,尽量不在IP层分片,尤其是链路上中间设备的IP分片。因此,在IPv6中已经禁止中间节点设备对IP报文进行分片,分片只能在链路的最开头和最末尾两端进行。建立连接后,路径上节点的MTU值改变时,可以通过PMTU发现更新发送端MTU的值。原创 2024-08-16 21:54:10 · 871 阅读 · 0 评论 -
TCP 通信全流程分析:从连接建立到数据传输的深度探索
假设主动关闭方发送的最后一个 ACK 丢失了,被动关闭方会因为没有收到 ACK 而重传 FIN 报文。如果主动关闭方没有处于 TIME_WAIT 状态而是直接关闭,就无法响应重传的 FIN 报文,导致被动关闭方不能正常关闭连接。原创 2024-08-08 17:22:06 · 1201 阅读 · 0 评论 -
计算机网络基础:宏观认识
随着信息技术的飞速发展,计算机网络已经成为了现代社会不可或缺的一部分。无论是工作、学习还是娱乐,我们几乎都离不开网络。那么,计算机网络究竟是如何运作的呢?本文将带领大家走进计算机网络的世界,了解网络的发展背景,认识局域网和广域网的概念,深入理解网络协议的意义,并重点探讨TCP/IP五层结构模型,以及网络传输的基本流程和封装分用机制。原创 2024-04-17 23:07:49 · 851 阅读 · 0 评论 -
HTTP协议:网络通信的基石
HTTP 协议作为互联网的基础,不断演进和发展,为我们提供了高效、便捷的网络通信服务。深入理解 HTTP 协议对于开发 Web 应用、优化网络性能以及保障网络安全都具有重要意义。原创 2024-08-01 21:49:36 · 1019 阅读 · 0 评论