Advertisement

Linux网络大师 (一) 写在前面

阅读量:

为什么要写这个教程

在日常工作中,人们通常使用各种编程语言来实现业务逻辑的代码开发,无论采用的是PHP、GO还是Java,这些都属于应用层的范畴。然而,应用层是建立在物理层和内核层之上的。我将应用层所具备的技术能力称为外功,而对Linux内核以及设备物理结构等方面掌握的技术能力则称为内功。之前已经提到过,不论处于职业发展的哪个阶段,拥有扎实的内功都是十分关键的。

既然内功如此重要,那么我们就可以通过学习一些底层相关的资料来提升自身能力。但令人遗憾的是,我认为目前市面上的技术资料在内功方面存在一定的不足。

首先来看网络上的技术文章。目前网上技术文章和博客的数量非常庞大,当大家遇到问题时往往第一时间会去搜索相关内容。然而你是否发现过,在网络上入门级的资料很容易找到,但深入讲解底层原理、能够帮助读者提升内功的文章却极为稀缺。

例如,当前大部分互联网应用都是通过TCP连接进行工作的。那么一台机器最多能支持多少个TCP连接?按理说,在整个业界都在讨论高并发的前提下,这应该是一个相对基础的问题了。但在我曾经提出这个问题时,在搜索引擎上翻遍了所有相关结果也未能找到令我满意的答案。

后来我决定亲自动手实验,并花了一个多月的时间一边测试一边研究内核源码,才终于彻底弄明白了这个问题。

再比如,大多数开发人员都曾处理过与网络相关的开发任务。那么一个网络数据包是如何从网卡传递到你的

全部评论 (0)

还没有任何评论哟~