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

关于计算机网络如何学习,我就拿自己亲身实践的来举例吧,因为我也自学学起的。

我觉得最重要的就是看书(博客) + 实践

首先是看书。

书籍推荐

书也分为不同的层次,最基础的入门书籍有

网络是怎样连接的

这是我推荐给你的第一本书。如何系统学习计算机网络?

这本书是日本人写的,它和《程序是怎样运行的》、《计算机是怎样跑起来的》统称为图解入门系列,最大的特点就是风趣幽默,简单易懂。这本书通过多图来解释浏览器中从输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。

本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从业人员阅读。

所以如果大家是新手的话,强烈推荐一下这本书。

日本人就爱图解,同样图解系列的入门书籍还有《图解 HTTP》、《图解 TCP/IP》。

图解 HTTP

这是我推荐给你的第二本书。

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

《图解 HTTP》是 HTTP 协议的入门书籍,当然 HTTP 也是属于计算机网络的范畴,这本书适合于想要对 HTTP 有基本认知的程序员,同样也适合查漏补缺

这类书看起来就毫无难度了,不得不说图解系列是给小白的圣经,它能增强你的自信,让你觉得计算机其实没那么难,这是非常重要的。初学者,最怕的就是劝退了。

图解 TCP/IP

这是我推荐给你的第三本书

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

上面的图解 HTTP 是针对 HTTP 协议的,那么《图解 TCP/IP》就是针对 TCP/IP 协议簇中的协议了,这本书我已经看了 80% 了,还是比较系统的一本书,基本上涵盖了 TCP/IP 协议簇中的所有协议知识了,这本书看完了完全就可以直接深入理解 TCP/IP 协议簇了

对于新手来说,最重要的一点就是帮助你理解,怎么简单怎么来,这样才能快速入门,对于快餐式的社会来说,快速理解当然是当仁不让的首选了。

如果上面这几本书你都搞定了的话,那你就可以读一下 《计算机网络:自顶向下方法》这本书了,这本书可以作为基础书籍也可以作为进阶书籍,这里我归为了进阶书籍,因为里面有一些章节不是那么好理解,比如介绍网络层的时候,会分为数据平面和控制平面,介绍 TCP 和 UDP 的时候,也会聊到一些原理性问题。

计算机网络:自顶向下方法

这是我推荐给你的第四本书如何系统学习计算机网络?

这本书是一本计算机网络的圣经书籍,圣经就在于人人都应该读一下这本书,原著非常经典,翻译也很不错,我自己也马上就看完了,这本书会从顶层也就是网络层逐步下探到物理层,一层一层的带你入门,解释各层之间的协议,主要特征是什么,一个数据包的发送历程。这本书并不局限于某个具体的协议,而是从宏观的角度来看待计算机网络到底是什么,里面有一些专业名词,理解并掌握后会对深入学习计算机网络非常有用。

计算机网络:谢希仁版

这是我推荐给你的第五本书籍如何系统学习计算机网络?

这本书是很多大学的教材,也是一本非常好的进阶书籍,这本书相对于自顶向下方法更多是对于通信网络的阐述。

这本书的特点是突出基本原理和基本概念的阐述,同时力图反映计算机网络的一些最新发展。本书可供电气信息类和计算机类专业的大学本科生和研究生使用,对从事计算机网络工作的工程技术人员也有参考价值

现在我们接着聊,如果上面这两本书随便一本看完了,那么恭喜你已经是一个老手了,你的网络基础能打败 90% 以上的人了,如果你还不满足的话,那你就需要继续深入,继续深入也是我推荐给你的提高书籍。

HTTP 权威指南

这是我推荐给你的第六本书

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

HTTP 权威指南是深入 HTTP 非常值得一看的书,这本书写的非常全了。

此书第一部分是 HTTP 的概述,如果你没有时间,通读第一部分就能让你应付普通的日常开发工作。

第二部分主要讲现实世界中 HTTP 的架构,也可以看作 HTTP 的全景图,包括 Web Server/Cache/Proxy/Gateway,是全书中精华的部分。

第三部分主要是 HTTP 安全,其中 Basic 和 Digest 概略看下即可,现实世界中用的应该不多。看 HTTPS 最好有一些计算机安全基础,这样会顺畅很多。

第四部分主要是关于 HTTP Message Body 的部分,包括 Content Negotiation,MIME Type,chunked encoding等,概略看下即可。

第五部分的内容,Web Hosting 可以认真看下,了解下 Virtual Host(话说我上学的时候一直搞不懂 Virtual Host,一个 IP 怎么能同时 Host 两个不同域名的 Web 页面呢)。

剩下三章已经过时,基本可以忽略。最后的附录,可以用作边用边学的字典,如果你自己来写 Web Server,那么这一部分是极有价值的参考。

总而言之,无论你是前端还是后端,只要是 Web 相关的,那么此书就是必读的。

TCP/IP 详解

这是我推荐给你的第七本书

这是一本被翻译耽误的经典书,两个硬核作者 Kevin R. Fall 和 W. Richard Stevens 被南开大学的某计算机系的译者给毁了。我第一开始读这本书以为是自己智商不够,原来是翻译瞎TM翻啊。语句不通且不说,您好歹走点心,改点措辞也行啊,纯粹是生搬硬套谷歌翻译啊,哎。

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

来看看豆瓣读者们对这本书的评价吧,比我有力量多了。

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

这个回答给我看乐了,嗯,把这本书当作一本 Google 词典确实是一种不错的选择。

不过这本书确实是一本非常好的书,这本书的关注点在于 TCP/IP 协议栈上,可以说把 TCP/IP 讲透讲细了,比如讲 TCP 就会分别从连接管理、TCP 超时重传、TCP 拥塞控制、TCP 保活机制来讲起,不管你是从事哪个技术栈的研究,不管你是程序员还是网络工程师,这本书都是你值得一读的一本,不过要读最好还是读英文版。

TCP/IP 详解有三本,第二本是

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

这本黑皮书主要是介绍如何实现 TCP/IP 协议的,这本书很难入门。书中给出了约 500 个图例,15000 行实际操作的 C 代码,采用举例教学的方法帮助你掌握 TCP/IP 实现。

本书不仅说明了插口 API 和协议族的关系以及主机实现与路由器实现的差别。还介绍了 4.4BSD-Lite 版的新的特点。本书适用于希望理解 TCP/IP 协议如何实现的人,包括编写网络应用程序的程序员以及利用 TCP/IP 维护计算机网络的系统管理员。

第三卷是 tcp 事务协议、http、nntp 和 unix 域协议

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

这本书看的人就更少了。

第 3 卷详细介绍了当今 TCP/IP 程序员和网络管理员必须非常熟悉的四个基本主题:TCP 的扩展、Hyper 文本传输协议、网络新闻传输协议和 UNIX 域协议。与前两卷一样,本书介绍了 4.4BSD-Lite 网络代码中的示例和实现细节。

嗯。。。有一些沉重了,其实这些深入协议底层的书籍我们 99% 的人都接触不到,但是为了回答的完整性,我就都列出来了,这样的好处是让你能系统了解。

上面都是一些理论书籍,下面是稍微偏实战一些的书籍了。

计算机网络实战最有效的当然就属于抓包了,有很多抓包工具比如 wireshark、sniffer、httpwatch、iptool、fiddle 等,但是我用的和使用频率最高的应该就是 wireshark 了,关于 wireshark 还有几本实战方面的书你需要知道

wireshark 数据包分析实战

这是我推荐给你的第八本书

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

初学者必备,介绍了 wireshark 安装,嗅探网络流量,wireshark 的基本使用,用 wireshark 分析了一圈常用的TCP,UDP 协议,也简要分析了 HTTP 等应用层协议,概要介绍了一些 TCP 重传的机制,最后是无线分析。

整个书定位应该是入门级别的,基本上每章都是简要介绍,并没有特别深入大张阔斧地进行描述。文章行文思路清晰,译者的翻译水平也不错。总的来说,是初步认识和了解 wireshark 的好书

wireshark 网络分析就是这么简单

这是我推荐给你的第九本书

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

读的时候你会忍不住笑的,区别于《Wireshark数据包分析实战》,本书就像一本侦探小说集,以幽默风趣的语言风格,借助wireshark以理性的思考来不断探险,根据蛛丝马迹来侦破案情。总结,读完数据包分析实战来读这本。

Wireshark网络分析实战

这是我推荐给你的第十本书

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

其内容涵盖了 Wireshark 的基础知识,抓包过滤器的用法,显示过滤器的用法,基本/高级信息统计工具的用法,Expert Info 工具的用法,Wiresahrk 在 Ethernet、LAN 及无线 LAN 中的用法,ARP 和 IP 故障分析,TCP/UDP故障分析,HTTP 和 DNS 故障分析,企业网应用程序行为分析,SIP 多媒体和 IP电话,排除由低带宽或高延迟所引发的故障,认识网络安全等知识。

书籍推荐大概就是上面那些,除了书之外,还有一些视频、博客、官网网站可以学习

视频推荐

很烦微信公众平台怎么不支持外链呢,这个体验就很差啊。

今天在 b 站看视频的时候,看到了一句话众所周知,b 站是用来搞学习的,对于我们学习编程的童鞋来说,b 站有着非常多的学习资源,但是有一些质量并不是很好,看了之后不容易理解,这也是写这一篇文章的原因,为大家分享一些质量超高的计算机基础的学习视频,往下看就完了。

1. 计算机网络微课堂(有字幕无背景音乐版)(陆续更新中……)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

学习计算机网络,我首先推荐的 UP 主湖科大教书匠,他讲的计算机网络十分通俗易懂,重点的地方讲的十分细致,并且还有一些实验,更好的是有考研 408 的难题的讲解,也是非常适合考研党,除了课程内容外还有很多习题讲解视频,特别赞的一点是每天动态里都会更新一道考研题,播放量也非常的多。

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

2. 2019 王道考研 计算机网络_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

既然说到了考研,那我就不得不提一下王道考研了,恭喜你发现了宝藏。王道考研的计算机网络视频,播放量非常多,而且老师是一位小姐姐,声音十分动听,声音这么好听的老师给你讲课,妈妈再也不用担心我的学习了呢,总之,这个视频的质量也非常高,弹幕全是对小姐姐的高度评价。(王道考研其他的视频也不错哦,暗示一下:操作系统,数据结构等等)

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

3. 韩立刚计算机网络 谢希仁 第7版 2020年12月_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

韩立刚老师所讲的计算机网络视频,内容比较多,但是讲解的通俗易懂,并且老师讲课的经验也十分的丰富。配套的教材是谢希仁老师的计算机网络教材,韩老师的最近的一个视频视频比较新,播放量还比较少,但是他讲的是真的不错,相比于王道考研所讲的计算机网络,韩老师更加细致一些。

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

4. 计算机网络(谢希仁第七版)-方老师_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

在计算机网络方面,我还想推荐的一位老师就是方老师,也是一位小姐姐老师。她的视频配套的教材也是谢老师的网络教材,在线看的小伙伴也超多,弹幕都是对方老师的评价。

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

博客推荐

推荐几个不错的学习博客。

互联网协议入门-阮一峰:http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i….

网络协议-兰亭风雨:http://blog.csdn.net/ns_code/article/category/1805481

HTTP协议:http://www.cnblogs.com/TankXiao/category/415412.html

Unix 网络编程:http://blog.csdn.net/chenhanzhun/article/category/2767131/2

TCP/IP详解:http://blog.csdn.net/chenhanzhun/article/category/2734921/1

计算机网络面试题:http://blog.csdn.net/shadowkiss/article/details/6552144

国外优秀计算机网络站点:http://www.tcpipguide.com/free/t_TCPSlidingWindowAcknowledgmentSystemForDataTranspo-6.htm

当然最硬核的就是 RFC 文档了 https://tools.ietf.org/rfc/index

学习 HTTP ,必须要看一下 MDN 官网 https://developer.mozilla.org/zh-CN/docs/Web/HTTP

学习计算机网络,Cloudflare 你必须要去看 https://www.cloudflare.com/zh-cn/learning/

GeeksforGeeks 学习计算机网络也非常不错 https://www.geeksforgeeks.org/basics-computer-networking/

Tutorialspoint 系统学习计算机,不仅仅局限于计算机网络 https://www.tutorialspoint.com/computer_fundamentals/computer_networking.htm

国外优秀的学习网站不能少了 javapoint https://www.javatpoint.com/types-of-computer-network

以上这些网站都是我精心汇总的一些内容。