《TCP/IP协议详解》三卷,第一卷特别经典,适合反复地看,对于几个基础的协议一定要非常清晰,比如IP、TCP、UDP、ICMP,一定记住每个协议所有字段细节,ping,traceroute 的工作原理。可以做一些小实验:
比如ping,你可以先ping 小包、再ping 大包,如2000字节,再ping 2000 DF=1,看看会发生什么?做实验的同时,用抓包软件来capture看看协议的具体字段,以及协议如何交互,再对照书看看是不是作者描述得那样!这样很快就熟悉了,千万不要一直看书,一定要做实验。
好多协议都可以在个人电脑上做实验的,比如ARP,DHCP,IP,TCP,UDP,ICMP,DNS,traceroute , HTTP, HTTPS 等等,可以用抓包软件的过滤器 filter 来过滤你感兴趣的协议,
如果想了解一些路由协议相关的,可以看Jeff Doyle 的《TCP/IP Routing》,也很经典!
TCP/IP很成熟也很普及,没有落伍,即使现在出现了IPv6,也仅仅是IP头的改变,TCP还是可以重用的!
如果按照年龄大小来定义的话,应该是如下的顺序:
书籍 > RFC > 网络国际会议(ICNP,NSDI等)
而如果只是想了解现实世界的网络协议设计,书籍 + wireshark分析 + 一点点RFC应该是够用的。
比如ping,你可以先ping 小包、再ping 大包,如2000字节,再ping 2000 DF=1,看看会发生什么?做实验的同时,用抓包软件来capture看看协议的具体字段,以及协议如何交互,再对照书看看是不是作者描述得那样!这样很快就熟悉了,千万不要一直看书,一定要做实验。
好多协议都可以在个人电脑上做实验的,比如ARP,DHCP,IP,TCP,UDP,ICMP,DNS,traceroute , HTTP, HTTPS 等等,可以用抓包软件的过滤器 filter 来过滤你感兴趣的协议,
如果想了解一些路由协议相关的,可以看Jeff Doyle 的《TCP/IP Routing》,也很经典!
TCP/IP很成熟也很普及,没有落伍,即使现在出现了IPv6,也仅仅是IP头的改变,TCP还是可以重用的!
如果按照年龄大小来定义的话,应该是如下的顺序:
书籍 > RFC > 网络国际会议(ICNP,NSDI等)
而如果只是想了解现实世界的网络协议设计,书籍 + wireshark分析 + 一点点RFC应该是够用的。
这套书至今仍然很经典、实用。值得精读,值得收藏。里面的工具虽然旧,但依然值得练习。
只是第三卷可以不看了,意思不大。
至于IPv6,以及其他网络协议。我主要是是看RFC学的(涉及通信的看3GPP规范为主)。有实际工程经验,基础扎实的情况下,看RFC比一般的书要强得多。RFC的写作质量,大部分都很高。
只是第三卷可以不看了,意思不大。
至于IPv6,以及其他网络协议。我主要是是看RFC学的(涉及通信的看3GPP规范为主)。有实际工程经验,基础扎实的情况下,看RFC比一般的书要强得多。RFC的写作质量,大部分都很高。
========================================================================================================================
如果想对网络有个清晰、全面的认识,可以阅读三本书籍:
如果想自己设计一个网络系统,可以阅读三本书籍:
- 第一本就是潘爱民翻译的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》,此书对网络系统实现模型进行分析,抽象出设计网络系统的一般规则,同时分析在真实网络系统实现中如何运用这些规则。
- 第三本是“亲自动手,从零开始构建一个网络系统”,选择一款合适的硬件平台,Learn by doing。
参考:
https://www.zhihu.com/question/23219785
https://www.zhihu.com/question/19774914?group_id=3686949