原文:一文彻底搞通TCP之send & recv原理

接触过网络开发的人,大抵都知道,上层应用使用send函数发送数据,使用recv来接收数据,而send和recv的实现原理又是怎样的呢 在前面的几篇文章中,我们有提过,TCP是个可靠的 全双工协议。其流量控制或者拥塞控制依赖于滑动窗口和拥塞窗口的滑动来实现,而这两个窗口的滑动实现则是依赖于TCP中的两个buffer,这两个buffer则是TCP socket在内核中的发送缓冲区 send buffe ...

2021-10-20 14:30 3 1652 推荐指数:

查看详情

彻底搞通TCP滑动窗口

在我们当初学习网络编程的时候,都接触过TCP,在TCP中,对于数据传输有各种策略,比如滑动窗口、拥塞窗口机制,又比如慢启动、快速恢复、拥塞避免等。通过本文,我们将了解滑动窗口在TCP中是如何使用的。 滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴: TCP是双工的协议,会话的双方 ...

Mon Nov 01 17:36:00 CST 2021 0 288
TCPsendrecv函数小结

Send函数:   在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不能容纳的那部分数据,并等待 ...

Fri Jan 04 08:46:00 CST 2019 0 1019
一文彻底搞懂 TCP三次握手、四次挥手过程及原理

一文彻底搞懂 TCP三次握手、四次挥手过程及原理 TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。 无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中 ...

Sat Jun 06 18:10:00 CST 2020 10 31462
一文彻底搞懂 TCP三次握手、四次挥手过程及原理

原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处! TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。 无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中 ...

Tue Feb 25 04:17:00 CST 2020 0 2126
【转】TCP之深入浅出sendrecv

本篇我们用一个测试机上的阻塞socket实例来说明主题。文章中所有图都是在测试系统上现截取的。 需要理解的3个概念 1. TCP socket的buffer 每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的流量(拥塞)控制便是依赖于 ...

Thu Jun 14 07:31:00 CST 2018 0 941
tcprecv/send和滑动窗口知识学习

转自:http://hi.baidu.com/gamedot/item/9a140eb9a615fbee4ec7fdc0 一、TCP的滑动接收窗口大小实际上就是socket的接收缓冲区大小的字节数。   1、以上这话不绝对,接收滑动窗口大小会随着内核接收缓冲区可接收数据大小变化 ...

Thu Aug 25 00:03:00 CST 2016 0 1574
一文彻底搞懂CAS实现原理 & 深入到CPU指令

本文导读: 前言 如何保障线程安全 CAS原理剖析 CPU如何保证原子操作 解密CAS底层指令 小结 朋友,文章优先发布在公众号上,如果你愿意,可以扫右侧二维码支持一下下~,谢谢! 前言 日常编码过程中,基本不会直接用到 CAS 操作,都是 ...

Mon Dec 02 21:33:00 CST 2019 0 2329
一文彻底搞懂BERT

一文彻底搞懂BERT 一、什么是BERT? 没错下图中的小黄人就是文本的主角Bert ,而红色的小红人你应该也听过,他就是ELMo。2018年发布的BERT 是一个 NLP 任务的里程碑式模型,它的发布势必会带来一个 NLP 的新时代。BERT 是一个算法模型,它的出现打破了大量 ...

Sun May 31 23:53:00 CST 2020 0 1184
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM