KeepAlive可以简单理解为一种状态保持或重用机制,比如当一条连接建立后,我们不想它立刻被关闭,如果实现了KeepAlive机制,就可以通过它来实现连接的保持
事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反 应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个
摘要:Linux操作系统,无论是编写客户端程序还是服务端程序,在高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制。
笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。
事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反 应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个
机器一般过质保之后,就会因为各种各样的问题而宕机。而这一次的宕机,让笔者观察到了平常观察不到的tcp在对端宕机情况下的行为。经过详细跟踪分析原因之后,发现可以通过调整内核tcp参数来减少宕机造成的影响。
介绍 Linux 网络 I/O 的工作原理及结构组成,并且与上次分享的磁盘 I/O 原理进行结合,对网上大家经常提及的零拷贝原理进行解读。
原文链接: 这个 TCP 问题你得懂:Cannot assign requested address
在linux的高性能网络编程中,绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表现出无可比拟的优势。epoll能让内核记住所关注的描述符,并在对应的描述符事件就绪的时候,在epoll的就绪链表中添
专注于服务器后台开发,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等
TCP与UDP最大的不同,就是有连接的概念,而连接的建立是由内核完成的。系统调用listen,就是为了告诉内核,它要处理发给这个TCP端口的连接请求。所以对于这个题目,最直接的想法就是由应用层自己负责TCP的连接。为了能够收到TCP的握手数据包,可以尝试使用原
很多读者从接触网络知识以来,应该听说过这句话:TCP 协议是流式协议。那么这句话到底是什么意思呢?所谓流式协议,即协议的内容是像流水一样的字节流,内容与内容之间没有明确的分界标志,需要我们人为地去给这些协议划分边界。
TCP传输层面试中常问的问题汇总
分布式系统可以总结为是处于不同物理位置的多个进程组成的整体,为了确保这个整体有效并且高效的对外提供服务,每个节点之间都有可能需要进行通信来交换信息,而这个交换信息的过程多数使用的是tcp协议。tcp协议是位于ip层之上的传输层协议,在这个传输层里有
TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操心系统提供的内核参数的理解与应用。
TCP 三次握手背的滚瓜烂熟? 如果握手过程中发生丢包,你能说清楚每个阶段会发生什么?又如何设置超时重传次数? 都不知道,没关系,看这篇能为你全部解答,通过抓包的方式,把不可见的 TCP,显示在你眼前
不管面试 Java 、C/C++、Python 等开发岗位, TCP 的知识点可以说是的必问的了。
图解 TCP 重传、滑动窗口、流量控制、拥塞控制发愁等重要机制。
TCP 是一种面向连接的单播协议,在 TCP 中,并不存在多播、广播的这种行为,因为 TCP 报文段中能明确发送方和接受方的 IP 地址。
TCP 握手一定三次?挥手一定四次? 有 SACK 为什么还要 D-SACK? ...... 你要的全都有
TCP 三次握手背的滚瓜烂熟? 如果握手过程中发生丢包,你能说清楚每个阶段会发生什么?又如何设置超时重传次数? 都不知道,没关系,看这篇能为你全部解答,通过抓包的方式,把不可见的 TCP,显示在你眼前
源码 + 实验解析 TCP 半连接队列和全连接队列
不管面试 Java 、C/C++、Python 等开发岗位, TCP 的知识点可以说是的必问的了。
图解「当键入网址后,到网页显示,其间发生了什么」面试题
程序员天天都在写代码,关注的都是更高层次的封装,今天我们换个思路,让程序那些事来带你看一看隐藏在表象之下的网络和他们的性能分析。
  TCP是面向连接的。在一个应用进程可以开始向另外一个应用进程发送数据之前,这两个进程必须先相互“握手”,即他们必须相互发送某些预备报文段,以建立确保数据传输的参数。
确认信息并不是按窗口中字节的顺序收到的,此时该怎么办?
套接字与套接字编程
TCP实现流量控制的具体过程是什么样的?
在这里记录一下我目前(2020年04月25日16:02:00)所知道的关于TCP协议的一切东西。
此文并不会针对 `TCP` 展开做详尽的说明,也不会针对如何使用 Socket 库进行说明,协议格式定义,如何传输等都不在本文范围之内,本文关注是的移动端如何进行高效并简洁的编写基于 `TCP` 的业务代码,让长链接的业务代码和短链接的业务代码写起来一样高效
本系列文章将整理各个流媒体传输协议,包括 RTP/RTCP,RTMP,希望通过深入梳理协议的设计细节,能够给流媒体领域的开发者带来一定的启发。
本文将深入讲解TCP的拥塞控制机制以及如何基于TCP传输来设计一个实时音视频系统。
最近花了些时间在学习TCP/IP协议上,首要原因是由于本人长期以来对TCP/IP的认识就只限于三次握手四次分手上,所以希望深入了解一下。再者,TCP/IP和Linux系统层级的很多设计都可以用于中间件系统架构上,比如说TCP 拥塞控制算法也可以用于以响应时间来限流
图解 TCP 重传、滑动窗口、流量控制、拥塞控制发愁等重要机制。