Skip to content

Latest commit

 

History

History
106 lines (53 loc) · 13.2 KB

File metadata and controls

106 lines (53 loc) · 13.2 KB

学习计算机网络,看哪本书好?

不能单纯的比较哪本书好,只是侧重点不同。

我是先看过一遍计算机网络:自顶向下方法,然后最近才开始看谢老师的计算机网络。来说一下我看过的感受吧。

首先计算机网络:自顶向下方法是一本好书这没错,但是这本书并不是一本入门级别的书,书中很多内容都是从设计者的角度来讲的,这本书鼓励动手实践,wireshark 抓包,动手编程,比如第二章末尾就鼓励我们使用 Python 来编写一个套接字,来为后面的 TCP 、UDP 的理解做铺垫。比如第三章讲 TCP 的时候,就鼓励我们站在设计者的角度来思考问题:你如何构建一个可靠的数据传输协议。

你不要以一个开发的角度来看这本书,而是要以一个思考者的角度,设计者的角度来看,这本书有大量的专业词汇,我的这篇文章汇总了一下这本书中有哪些比较重要的概念和解释。

如果把计算机网络书籍按照难度来分成五个等级,那么这本书的级别在 3 - 4 级,难点体现在它是一本外文书,翻译成中文会有一些解释不到位的地方,二来是这本书的思想层次从开发的角度来看有些偏高。说白了就不是一本通俗易懂讲计算机网络的书籍。

如果你只是想要简简单单入门计算机网络的话,请移步至这两本书:

图解TCP/IP

img

《网络是怎样连接的》

img

计算机网络自顶向下这本书需要多看几遍,反正我每次看都有新的感悟,好书应该都是这样的。

最好把后面的习题做了,这样你会对计算机网络的理解上升到一个更深的层次,而不单单的只是面向八股文来学计算机网络,计算机网络千万别背。。。。。。重在理解和实现。

这本书教给我的东西,比协议本身要重要得多。

1、思考并理解。虽然协议前辈都设计好了,我们用起来也很舒服。但是作者写这本书,他的目的不在于让你记住,而是让你站在设计者的角度去思考。比如讲TCP的时候,作者并没有一开始就拿出来完备的TCP的各种规则来让读者去记住,而是从一个最简单的底层模型开始,让读者去思考,如果你是设计者,你会怎么设计这个协议。当底层模型慢慢变得没那么理想,设计的协议要做哪些改动。一本好的教材就应该这样授人以渔。

2、实践实践再实践。计算机网络方面的知识,没有实践,很难学到东西。我在用wireshark抓包的时候,就发现了一些细节上的实践,书中说的和实际的情况已经不一样了,毕竟协议都是人定的。只有掌握在实践中分析问题,解决问题的能力,才是长久之道。

3、把握重点。计算机网络是我学习计算机以来,重点最不明确的一门学科。所以我刚开始学的时候,总是抓不住门道,觉得好复杂啊,这么多协议要学,什么TCP,UDP,IP,ARP,ICMP,BGP,RIP,OSFP根本记不住啊。现在虽然我可能也记不住,但是只要我知道怎么去得到我想要的信息,这就够了。时间应该就是这样节约下来的吧。

作者:颠颠De我(来自豆瓣)

来源:学习计算机网络过程中的感悟

这本书对于绝大多数童鞋看 1 - 6 章就可以了,这六章能够涵盖我们日常开发中所用到的大部分内容。

如果你是通信方向的童鞋,那你需要看第七章,关于无线网络和移动网络这块。

如果你是搞网络安全的,那么第八章是你必不可少的内容。

至于多媒体应用这块,如果你有此业务场景,可以看一下这章。

这本书最大的特点就是从应用程序开始讲起,因为应用层是距离我们开发最近的一层,通过应用层下探,来讲述一个数据包是如何经过层层封装的,每一层都封装了哪些属性,这些属性都是做什么的,这些属性对于网络传输有哪些影响,到了服务器后,这些数据包是如何给上层应用使用的。

如果你看这本书的过程中有觉得晦涩难懂的,不妨看看我写的关于计算机网络的系列文章

第一篇:计算机网络基础知识总结

第二篇:TCP/IP 基础知识总结

第三篇:计算机网络应用层协议

第四篇:40张图带你搞懂TCP/UDP

第五篇:计算机网络网络层协议

第六篇:ARP 协议总结

第七篇:万字长文爆肝 DNS 协议!

第八篇:ICMP 是个啥?

第九篇:趣聊 DHCP ,有点意思

第十篇:带带弟弟彻底搞懂链路层协议

第十一篇:浏览器输入「xxxxhub」的背后.....

第十二篇:TCP 基础知识总结(修正版)

第十三篇:TCP 的两个细节点

第十四篇:图解 HTTP 连接管理

第十五篇:HTTP 2.0 ,有点炸 !

第十六篇:5 分钟带你了解 HTTP 代理

第十七篇:原来这才是 Socket!

第十八篇:NAT 协议???

第十九篇:计算机网络简史

第二十篇:计算机网络的 166 个核心概念

第二十一篇:10 分钟讲完 QUIC 协议

另外,还有一篇如何学习计算机网络的文章。

如何系统学习计算机网络?

另外再给大家推荐一个自顶向下的搭配视频,食用起来更香

这是国立清华大学的课程 - CS 321202 計算機網路概論

我最近又在补谢老师的计算机网络,与自顶向下这本书不同的是,谢老师的计算机网络更多是从五层模型的底层开始讲起,而且我认为谢老师的计算机网络更多是偏向通信方向,比如物理层就讲到了各种信道技术、通信知识以及网络接入技术。讲到链路层会提到各种拓扑、以太网技术。所以这两本书侧重点不同,不能同一而论。大家可以根据需要选择。

不可否认这本书作为学生的教材来说是比较合适的,同时这本书也是国内教材中难得一见的好书,我认为可以和王爽的汇编语言并列。

希望广大教授和学者能够多出版这样的经典书籍,而不是出版一些驴唇不对马嘴的噱头书籍,目录看似很全,内容却一塌糊涂。