加餐(二) 书单推荐:网络原理和 Linux 内核实现
你好,我是倪朋飞。欢迎来到 Linux 性能优化专栏的加餐时间。
上一期的专栏加餐,我给你推荐了一些 Linux 入门、体系结构、内核原理再到性能优化的书籍。这里再简单强调一下,主要包括下面这几本。
- Linux基础入门书籍:《鸟哥的Linux私房菜》
- 计算机体系结构书籍:《深入理解计算机系统》
- Linux编程书籍:《Linux程序设计》和《UNIX环境高级编程》
- Linux内核书籍:《深入Linux内核架构》
- 性能优化书籍:《性能之巅:洞悉系统、企业与云计算》
你可以通过学习这些书,进一步深入到系统内部,掌握系统的内部原理。这样,再结合我们专栏中的性能优化方法,你就可以更清楚地理解性能瓶颈的根源,以及性能优化的思路。
根据前面几个模块的学习,你应该也感觉到了,网络知识,要比 CPU、内存和磁盘等更为复杂;想解决相应的性能问题,也需要更多的基础知识来支撑。
而且,任何一个高性能系统,都是多台计算机通过网络组成的集群系统。网络性能,在大多数情况下,自然也就成了影响整个集群性能的核心因素。
今天,我就来给你推荐一些,关于网络的原理,以及 Linux 内核实现的书籍。
计算机网络经典教材《计算机网络(第5版)》
既然想优化网络的性能,那么,第一步当然还是要熟悉网络本身。所以,今天我推荐的第一本书,就是一本国内外广泛使用的经典教材——《计算机网络(第5版)》。
这本书按照网络协议模型,自下而上地介绍了计算机网络的基本原理。其中,涵盖范围广是其最大的特点,内容包括了物理层、数据链路层、访问控制层、网络层、传输层和应用层等,是理解计算机网络工作原理的重要参考书。
网络协议必读书籍《TCP/IP详解 卷1:协议》
掌握了计算机网络的基本原理后,接下来就要深入了解,TCP/IP 协议族中各个协议的原理。在这一点上,《TCP/IP详解 卷1:协议》,是当之无愧的圣经级书籍。
这本书按照 TCP/IP 协议族,也是自下而上介绍了各种协议的原理,并且还穿插了大量的实例,帮你更透彻地理解相关知识。我们分析网络性能时经常碰见的那些协议,这本书都有讲解,比如 ARP、ICMP、路由、TCP、UDP、NAT、DNS 等等。
无论是想学习掌握,各种网络协议的工作原理;还是更直接落实在工作上,分析优化复杂环境中的网络性能问题,这本书都是你必不可少的宝典。
Wireshark 书籍《Wireshark网络分析就这么简单》和《Wireshark网络分析的艺术》
在学习网络协议时,最大的难点,就是这些协议初学比较抽象,要理解它们的原理也比较困难。这时,如果可以借助 Wireshark 提供的图形界面,你就可以更直观形象地认识这些协议。
《Wireshark网络分析就这么简单》和《Wireshark网络分析的艺术》,就是两本不错的讲解 Wireshark 使用方法的书籍。这两本书通过诙谐风趣的案例,由浅入深地带你使用 Wireshark,来分析常见的网络问题。
正如我所说,通俗易懂是其最大特点,相对前面两本大部头来说,你读起来会轻松很多。这两本书在内容上有些重合,内容范围也并不算丰富,但作为入门书籍,却实实在在可以带你,更轻松地理解常见网络问题的分析方法。
网络编程书籍《UNIX网络编程》
熟悉了协议后,那么接下来自然就是要看,怎么使用这些网络协议,来开发各式各样的应用程序,也就是网络编程。在 Linux 中,我们需要通过套接字接口,跟网络协议栈交互。所以,这里我推荐的是一本介绍套接字接口的书籍——《UNIX网络编程》。
这本书为你详细介绍了,各种套接字 API 的使用方法,还包含了大量可以直接运行的实例。如果你是一个想实现高性能网络的开发者,这本书是很不错的参考。
《UNIX网络编程》主要介绍了套接字接口的使用方法,但并不包括 Linux 内核网络协议栈的实现方法。不过没关系,网络协议栈相关内容,我们上一期加餐推荐过的《深入Linux内核架构》中,就已经包括了,所以你不需要再借助其他内核书籍。
最后,我还是想补充一句,读书不在多,而在于精。哪怕只是啃下我推荐的这几本,你能获得的,一定是质的飞跃。
今天推荐的这些书里,你可能会觉得有些书很难,还觉得有些知识过时了。但你要知道,核心的网络原理基本没有太大变化,总是不过时的。并且网络本身,也是现代互联网和各种高可用、可扩展架构的基石。多花点儿时间坚持学和练,效果一定显而易见。
同时,在进入最后的实战进阶篇前的这几天,我也希望你能抽出时间,来复习或者补全专栏前面的知识。虽然总有人自我调侃,说技术类的东西,学了不一定会用,但是反过来说,不去学,一定不会用。坚持下去,相信在专栏结课时,我们一起,一定能看到一个更好的你。
行动起来吧!
- ninuxer 👍(6) 💬(1)
打卡day48 网络的书具有神奇的催眠作用😂
2019-03-08 - 小老鼠 👍(5) 💬(1)
计算机网络经典教材《计算机网络(第 5 版)》是不是讲IOS七层协议?我1996年大学学的,现在出入大吗?
2019-03-28 - Kingdom 👍(1) 💬(1)
好多都是大学的原课本啊,大学的时候总是学不下去,工作了才知道大学基础课程的重要性
2020-06-24 - chich chung kai 👍(1) 💬(1)
web页面终于优化了,看起来舒服多了,更加便利了。
2019-03-09 - 死后的天空 👍(0) 💬(1)
TCP/IP协议是当初考NP的时候买的,第一本看完了,第二本看了一点,UNIX网络编程买来,信誓旦旦的说每天坚持看10页,但是看了200也就坚持不住了 T _ T。
2019-03-13 - 夜空中最亮的星 👍(14) 💬(0)
学了老师的课,是时候肯一下大部头的书了
2019-03-08 - kissingers 👍(5) 💬(0)
网络还是值得投入时间的知识。长期有效 变化更新相对慢 适用面广。加油!
2019-03-08 - 我来也 👍(2) 💬(0)
[D48打卡] 还是先把手上已有的书看完了再买吧. 要不然买了也是在那躺着.😂
2019-03-08 - djfhchdh 👍(1) 💬(0)
读书有点像游戏里的加技能点,技能点是有限的,要根据计划、设计、自身角色的特点,有针对性的对书籍进行“过滤”,构建自己的技术体系,有自己的特色。
2020-08-03 - 怀揣梦想的学渣 👍(1) 💬(0)
TCP/IP那个,要么自己买原版,要么在图书馆看,千万别白嫖网上那些电子版,目前网上有些电子版,里面有残缺的,还有一些印错的。看的时候还是慎重。
2020-04-08 - 一生一世 👍(1) 💬(0)
老师出书了?我像拿到这门课的书
2019-10-30 - piboye 👍(0) 💬(0)
bgp有什么好书
2023-02-25 - aoe 👍(0) 💬(0)
谢谢老师带我起飞
2020-10-13 - 苏煌 👍(0) 💬(0)
打卡,看不完的书
2020-02-27 - 天草二十六 👍(0) 💬(0)
wireshark功能强大,入门使用较难。工具类的出书,也足以说明~
2019-09-20