网络
未读
深入理解Linux网络——TCP协议三次握手和四次挥手详细流程
系列文章:深入理解Linux网络——内核是如何接收到网络包的深入理解Linux网络——内核与用户进程协作之同步阻塞方案(BIO)深入理解Linux网络——内核与用户进程协作之多路复用方案(epoll)深入理解Linux网络——内核是如何发送网络包的深入理解Linux网络——本机网络IO深入理解Lin
网络
未读
深入理解Linux网络——TCP连接建立过程(三次握手源码详解)
系列文章:深入理解Linux网络——内核是如何接收到网络包的深入理解Linux网络——内核与用户进程协作之同步阻塞方案(BIO)深入理解Linux网络——内核与用户进程协作之多路复用方案(epoll)深入理解Linux网络——内核是如何发送网络包的深入理解Linux网络——本机网络IO深入理解Lin
网络
未读
深入理解Linux网络——本机网络IO
系列文章:深入理解Linux网络——内核是如何接收到网络包的深入理解Linux网络——内核与用户进程协作之同步阻塞方案(BIO)深入理解Linux网络——内核与用户进程协作之多路复用方案(epoll)深入理解Linux网络——内核是如何发送网络包的前面的章节深度分析了网络包的接收,也拆分了网络包的发
网络
未读
深入理解Linux网络——内核是如何发送网络包的
一、相关实际问题查看内核发送数据消耗的CPU时应该看sy还是si在服务器上查看/proc/softirqs,为什么NET_RX要比NET_TX大得多发送网络数据的时候都涉及那些内存拷贝操作零拷贝到底是怎么回事为什么Kafka的网络性能很突出二、网络包发送过程总览调用系统调用send发送内存拷贝协议处
网络
未读
深入理解Linux网络——内核与用户进程协作之多路复用方案(epoll)
一、内核和用户进程协作之epoll1)epoll内核对象的创建2)为epoll添加socket1. 分配并初始化epitem2. 设置socket等待队列3. 插入红黑树3)epoll_wait之等待接收4)数据到达5)小结二、问题解答在上一部分的阻塞模式中(详见深入理解Linux内核网络——内核
网络
未读
深入理解Linux网络——内核与用户进程协作之同步阻塞方案(BIO)
在上一部分中讲述了网络包是如何从网卡送到协议栈的(详见内核是如何接收到网络包的),接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。进程与内核配合有多种方案,这里我们这分析两种典型的:同步阻塞方案(Java中习惯叫BIO)多路IO复用方案
网络
未读
深入理解Linux网络——内核是如何接收到网络包的
一、实际相关问题RingBuffer是什么,为什么会丢包网络相关的硬中断、软中断是什么Linux里的ksoftirqd内核线程是干什么的为什么网卡开启多队列能提升网络性能tcpdump是如何工作的iptable/netfilter是在那一层实现的tcpdump能否抓到被iptable封禁的包网络接收