《深入理解Linux网络: 修炼底层内功,掌握高性能原理》一书深入探讨了Linux网络技术的核心原理和实践方法,帮助读者更好地理解网络协议栈、套接字编程、网络性能优化等内容。通过本书的学习,读者能够提升自身对Linux网络的理解和应用能力,提高系统性能。
深入理解Linux网络: 修炼底层内功,掌握高性能原理读后感(一)
感觉这本书就是为我写的一样。之前读过内核协议栈的源代码,对内核的有个大概的认识,但是因为缺乏实际的问题作为导向,所以抓不住重点。飞哥的书正好补上了这个空缺。尤其是关于veth+bridge的相关源码梳理,前后逻辑清晰,醍醐灌顶。还有关于对epoll关键代码的讲解,也很到位。
如果是纯新手第一次看内核代码,还是不要太心急,跟着飞哥书上标出来的流程自己跟着源码走一遍,遇到不会的地方可以去网上查一查相关的资料。内核是一个很庞大的系统,不要指望一本书就能解决所有问题。
深入理解Linux网络: 修炼底层内功,掌握高性能原理读后感(二)
2024-08-17
背景:
1、自己有发心想啃协议栈了(但对于多年前买的大部头,当时跟风买,也没好好投精力,同时看着也吃力),就想着网上看看有没有新的材料出现,2023-06-19在JD买了一本。
2、自己非科班出身,水平有点差,深度也不够
学习过程:
1、2023H2就开始零零星的投入看了下(chap1-5),确实觉得条理性比较ok,每个分段写得好,但是吧(可能跟学习方法有关),书上笔记也记了,但脑子里没怎么记住。
2、2023H1又零星把《Linux内核源码剖析-TCP/IP实现》上、下册,大概翻了一遍(H2的时候,准备第二轮深入一下前9章,也就是【网络驱动程序-怎么收发包-到协议栈】这部分ok一下,算是知道了零星细节
3、看别人总归不是事嘛,于是想借助书的框架,形成一个自己的知识笔记,就借助AI,整理了一下(上周卡在中断,软中断,导致的收发),【不会的地方,又去看了下 内核的中断基础知识 】本周算是串起来了
心得:
1、如果基础差,单纯想从这本书去获得硬知识还是蛮难的,可以啃那本ULNI,从知识体系来说,可以先看网络设备驱动(也算是一个主题,先把它ok掉)
2、知识上如何学得不多,可以学一下作者的写作和画图水平(这个能力我比较欠缺),尝试把自己知道的写出来,让小白都听得懂,然后该深入的点自己也能深入去讲,就是把知识分了各个层
3、当你如果把 ULNI 书的前三部分(1-13章)看懂50%以上,再靠这本书来复习一下知识点也是可以的,毕竟大部头也不好带,这本书放在包里也算正常厚度,【那个时候,你不仅仅只是一个初遍的读者,而是有了基础,会带着思考去看,这样更有利于加深自己的复习】
深入理解Linux网络: 修炼底层内功,掌握高性能原理读后感(三)
说明#
经朋友推荐发现一本好书:《深入理解 Linux 网络》,本文以思维导图的形式,展示俺做的笔记,原书对 Linux 网络进行了详细的源码分析,非常推荐~本文就没有长篇文字了,图片都是自己画的,希望有人引用时,能够注明本文 GitHub 地址 _
同步阻塞流程(整体):
同步阻塞流程(细节):
epoll 原理:
整体流程:
read + send 系统调用:
sendfile 系统调用:
建立连接流程:
内核内存划分:
Java 编程思想-最全思维导图-GitHub 下载链接,需要的小伙伴可以自取~
原创不易,希望大家转载时请先联系我,并标注原文链接。