当前位置 博文首页 > Emily Yu的博客:计算机网络原理网课知乎,【知乎】计算机网络这

    Emily Yu的博客:计算机网络原理网课知乎,【知乎】计算机网络这

    作者:[db:作者] 时间:2021-07-31 15:04

    该楼层疑似违规已被系统折叠?隐藏此楼查看此楼

    操作系统和计算机网络的共同点,在于它们都是相当复杂的体系结构,如果觉得难,也许是因为自己没能产生足够的求知欲。你也说了,“无聊,晦涩”

    ——而无聊感其实是没治的。对课程的热情和对女生的爱慕感其实差不多,不能一见钟情的,可以试着培养,培养之后还是觉得无聊的,那就不是真情了。

    以下讨论如何培养自己对计算机网络的真情。

    先,计算机网络这门课,我不知道你们用哪本教材,不过任何足够好的教材,都要教给你各种五花八门协议的来龙去脉,也就是历史。学历史,要有——借用一个文

    科生的 buzzword——“大历史观”。自一九六九年 ARPANET

    以降,计算机网络是个颇有些年头的玩意。那些协议啦缩写啦什么的,大都在你出生之前就存在了。去翻翻旧的 RFC,英文的写作风格都不太一样——那时候的

    nerd 们,西装革履,坐在窄小的单色 CRT

    显示器前面,敲下一个个字符——许多人如今都已经作古,但他们苦心定制下来的各种规约(Protocol),让你今天能在知乎上面问我这个问题。这难道不

    是很神奇的事情吗?所以你要有感恩的心。有了感恩的心,妖就不再……呃,我的意思是,研究历史就会有朝圣感。

    而计算机网络的一切技术细

    节,也就是那些枯燥的部分,都是历史遗留问题。可以说,如果将现有一切推倒重来,重新考虑“多台计算机之间如何互相通信”这个计算机网络所解决的根本问

    题,再发明出来的互联网将会是完全另一番样子,而且肯定会简单很多——一个原因是技术进步了,另一个原因是人们从历史中吸取了教训

    [1]。所以,当你面对枯燥的技术细节的时候,可以试着考虑这样一个问题:如此设计的理性因素何在?它有什么改进的余地?比如,TCP

    建立会话为什么要三次握手?为什么 OSI 要有七层?进而思考一下,这样的设计合理吗?不合理的设计会被取代吗?比如,OSI

    为什么没能成功?以及,为什么人们会拥抱 REST,嫌鄙 SOAP?

    再就是,计算机网络这门课,与现实世界结合得相当紧密。编译原理本

    质上是语言学和数理逻辑学,一切都发生在完美世界里,语法树想多长就多长,不用考虑浇水施肥的问题。但是计算机网络不一样,物理层就是赤裸裸的铜线光纤红

    外线,要考虑到现实世界可能发生的各种问题,要有容错能力。这些其实都是工科的东西,更接近机电,而非数学。所以你要培养自己对现实世界的热爱,接受现实

    世界的不完美,不能痴迷于符号逻辑和二次元软妹子里。

    总结来说,计算机网络教授的是知识,也是经验和文化,不能为了学而学它…… 就像不能仅仅为了繁衍后代而把妹子。

    cs