计算机网络自学指南

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

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

当然视频是最快速的入门方式,你可以先看视频有所了解后再去看书系统学习。

视频

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

1. 计算机网络微课堂

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

image-20210716172640287

2. 2019 王道考研 计算机网络

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

image-20210716172646786

3. 韩立刚计算机网络谢希仁

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

image-20210717082425101

4. 计算机网络(谢希仁第七版)-方老师

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

image-20210717082728484

博客

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

互联网协议入门-阮一峰: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 文档了 RFC Index

学习 HTTP ,必须要看一下 MDN 官网 HTTP | MDN

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

GeeksforGeeks 学习计算机网络也非常不错 Basics of Computer Networking – GeeksforGeeks

Tutorialspoint 系统学习计算机,不仅仅局限于计算机网络 Computer – Networking

国外优秀的学习网站不能少了 javapoint Types of Computer Network – javatpoint

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

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

书籍

网络是怎样连接的

image-20210717082738649

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

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

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

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

图解 HTTP

image-20210717082745847

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

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

图解 TCP/IP

img

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

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

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

计算机网络 第七版

image-20210717082756260

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

计算机网络 谢希仁

image-20210717082803295

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

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

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

HTTP 权威指南

image-20210717082811170

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页面呢,sigh)。

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

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

TCP/IP 详解

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

image-20210717082819698

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

计算机网络实战最有效的当然就属于抓包了,有很多抓包工具比如

wireshark、sniffer、httpwatch、iptool、fiddle 等,但是我用的和使用频率最高的应该就是 wireshark 了,关于 wireshark 还有两本实战方面的书你需要知道

wireshark 数据包分析实战

image-20210717082827980

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

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

总的来说,是初步认识和了解wireshark的好书

wireshark 网络分析就是这么简单

image-20210717082836588

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

总结,读完数据包分析实战来读这本。

Wireshark网络分析实战

image-20210717082844214

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

实验

借鉴一些大佬的回答,给你推荐一个斯坦福课程的实验

推荐 Stanford 课程 cs144,配合《计算机网络:自顶向下方法》(Computer Networking: A Top-Down Approach)。具体来说就是跟着 cs144 的课程安排走一遍,完成课程的lab

原文作者:程序员cxuan
来源公众号:程序员cxuan
原文地址:https://github.com/crisxuan/bestJavaer