再谈到计算机网络的学习

本文在Creative Commons许可证下发布

如果想对网络有个清晰、全面的认识,可以阅读三本书籍:
  第一本就是Andrew S.Tanenbaum的《计算机网络》,此书讲明白了网络之道,即计算机网络通信的主要原理;
  第二本是W.Richard Stevens的《TCP/IP详解卷一:协议》,此书讲明白了网络之术,即TCP/IP协议簇的工作过程;
  第三本是Douglas E.Comer的《计算机网络与因特网》,此书尝试在更广泛意义上解答“计算机网络和因特网是如何工作的”这一基本问题,解释了协议是如何使用硬件和应用是如何使用协议来满足用户的需求。
如果想自己设计一个网络系统,可以阅读三本书籍:
  第一本就是Douglas E.Comer的《Network Systems Design Using NPs》,此书从包处理算法开始,引导我们了解发生在包上的每一件事。本书的独特之处是以一种“与应用无关”的方式描述各种系统结构和设计思路。再多一句,大多数国外大学教授网络系统设计与实现课程的参考蓝本;
  第二本是George Varghese的《Network Algorithmics:An Interdisciplinary Approach to Designing Fast Networked Devices》,此书对网络系统实现模型进行分析,抽象出设计网络系统的一般规则,同时分析在真实网络系统实现中如何运用这些规则。
  重要的是选择一款合适的硬件平台
  当代计算机网络的核心在于
  协议----FreeBSD操作系统----C/C++
  这三块结合起来,并不断的实践和思考~~才能成为真正高手。当代网络在FreeBSD系统上发挥的最淋漓尽致,所以在学习的时候最好学习FreeBSD配合使用。
  学习FreeBSD,可以参看www.freebsd.org
  学习网络过程中,要不断抓包分析等,自己能写些简单的应用来发包更是完美
  抓包工具推荐:FreeBSD环境下用TCPDUMP,windows环境下用 wireshark
  这个阶段学习完后,已经是个高手了。。
  主要技能应该是:对TCP,IP,DNS,icmp等协议应该都很熟悉,dhcp/tftp/ftp等协议也应该都懂些,重点是要学会如何分析一个协议
 
原文地址:https://www.cnblogs.com/evilqliang/p/12587358.html