书买回家,十本有八本在书架上吃灰。剩下那两本?你得真撕开塑封、插上网线,跟它硬碰硬。高传善老师这本配套指南,算硬骨头。刚拆快递,我随手翻了两页,心里咯噔一下:这排版,这行文,难道又是干瘪的公式和标准答案?你猜怎么着。习题解答真不跟你绕弯子。列步骤。推公式。甩结论。干脆得有点不近人情。可等你真沉下心,跟着那十六个实验往下敲代码。手感,突然就顺了。

实验指导那六块砖头,砌得死死的。描述。目的。环境。基础。要求。提示。不画大饼。不整速成。头回跑TCP Socket通信,终端里死活蹦出Connection timed out。我盯着黑底白字,愣是憋了半小时。书里没直接给答案。就留了句提示:查查端口占用和系统防火墙。我这才咂摸过味儿来。学这东西,哪是听人念完PPT就完事儿的?非得自己把手弄脏。去跟那些看不见的“三次握手”和“四次挥手”死磕。记得那天晚上,命令行扒了半天进程。是个老旧测试脚本在偷占端口。关掉。再跑。通了。什么灵光一闪的豁然开朗?没有。更像是一脚踩实了泥地。

以前我总把计算机网络当题库。OSI七层模型?TCP/IP协议栈?背熟,应付考试,拉倒。可这书里的代码,硬是把那些飘在空中的概念,拽回了泥地里。自己亲手敲下一段。看着数据包从本地窗口蹦出去。在局域网里转悠一圈。又原封不动,落进另一个窗口。你会突然明白。平时刷微信、看网页、缓冲视频。背后全是这些土里土气的指令,在吭哧吭哧干活。

书里特意标了一嘴:所有实验不需要配置特殊的网络设备,代码都实际跑过。我看这儿的时候,手指头停了停。现在这环境。谁不天天喊着“开箱即用”、“一键部署”、“云原生”?能有人愿意把最底层的逻辑拆成碎渣,一步步教你怎么自己搭架子。确实少见。这让我想起刚入行那阵。系统一报错,手指头比脑子快。Ctrl+C/V找现成偏方。压根懒得读日志。咱们早就习惯了踩在巨人肩膀上顺手摘果子。自己弯腰种树的手艺,反倒生疏了。网络从来不是变魔术。它就是把一堆死规矩玩明白了。别指望有什么捷径。

不过说实在的,这书也不挑不出刺儿。行文太老实。甚至带着股老派教材特有的板正劲儿。习惯了刷碎片文章、追求“爽感”的人。翻起来大概会觉得磨叽。不够刺激。我觉得可能未必适合所有读者。尤其是那些只想搞个Demo交差、或者刚入门想走捷径的朋友。翻两页,估计就劝退了。但转念一想。网络协议本身就不需要整那些虚头巴脑的。人家要的是稳当。可靠。按章办事。书里的习题解答也一个德行。不玩虚的。纯靠逻辑推演和步骤拆解。这种下笨功夫的写法。未必讨喜。反倒能把复杂系统啃透。路是一寸寸铺出来的。急不得。硬刚反而容易走火入魔。

书合上的时候。外头早就黑透了。屏幕上的终端窗口还亮着。那个小脚本安安静静地跑着。跟条暗河似的。我突然觉得。咱们天天在互联网里扑腾。却很少真正伸手摸过它的河底。这书没跟你扯什么高深理论。就是递过来一把小铁锹。说:往下挖。水就在那儿。能不能挖到。全看你能在这坑里蹲多久。肯不肯出点汗。