如何自学并且系统学习计算机网络?(知乎问答)
作者:李振两
链接:https://www.zhihu.com/question/22354846/answer/101432582
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 入门
第一本书 建议看谢希仁的《计算机网络基础》
2.进阶
然后第二本要看 《TCP/IP详解1:协议》
这个阶段需要多思考和动手
网络在LINUX系统上发挥的最淋漓尽致,所以在学习的时候最好学习LINUX配合使用
学习LINUX,推荐《鸟哥的LINUX私房菜:基础篇》
学习网络过程中,要不断抓包分析等,自己能写些简单的应用来发包更是完美
抓包工具推荐:LINUX环境下用TCPDUMP,windows环境下用 wireshark
这个阶段写习完后,已经是个小高手了。
主要技能应该是:
对TCP,IP,DNS,icmp等协议应该都蛮熟了得了,dhcp/tftp/ftp等协议也应该都懂些,重点是要学会如何分析一个协议
LINUX系统的基本操作也差不多了
3.高手阶段
这个阶段需要有一点的编程能力,指C/C++编程
主要学习的方向是
协议的实现和协议的架构原理
协议的实现方面, 主要学习底层协议(指传输层及以下)的实现, 这些协议都是在操作系统层面实现的,最好的教材是《TCP/IP详解:实现》
至于网络架构这块,可以学习《计算机网络》这本书
大概就说这么多了~~
计算机网络的核心在于
协议—-LINUX操作系统—-C/C++
这三块结合起来,并不断的实践和思考~~才能成为真正高手
更多博客文章,请访问我的独立博客:一日程博客:http://www.yiricheng.cn/