Search K
Appearance
Appearance
这本小册是比较偏底层原理的,有不少的章节是需要抓包实验的,在这里我提供了一份小册食用指南,帮助你更好的阅读这本小册。
要想阅读这本小册,你需要具备基本的网络知识,比如在学校里上过网络课或者自学过相关的知识。
对于完全缺乏网络基础知识的读者,建议先随便选取一本成系统的计算机网络相关的书籍,先大致了解计算机网络到底是做什么的,才能更好的理解本小册想要表达的内容。
这本小册需要你了解基本的 linux 命令行操作,比如 ssh 登录服务器、vim、基本的文件命令等。
这些知识不是这本小册重点介绍的内容,网上也有很多教程。如果遇到什么问题,可以直接联系我帮助解决。
我的实验环境是 Mac 上用 Parallels Desktop 启动的 CentOS 7 Linux 虚拟机。强烈建议你在 Linux 环境下完成这本小册的实验。CentOS 官网:www.centos.org/ ,推荐的版本是当前最新的 CentOS 7 版本。
CentOS 7 默认的防火墙不是 iptables,而是 firewall,但是我更偏好 iptables,你可以用下面的命令关掉它
// 停止 firewall 服务
sudo systemctl stop firewalld.service
// 禁止开机启动
sudo systemctl disable firewalld.service
// 安装 iptables
sudo yum install -y iptablesParallels Desktop 是付费的工具,你也可以使用免费的 VirtualBox 运行 CentOS 虚拟机。虚拟机简单易用、安全、效率高,而且可以比较方便的做快照、克隆、备份、迁移,可以随时创建多个虚拟机进行测试,不用担心改了什么配置造成系统崩溃、无法复原等问题。
TCP 的知识浩如烟海,我把自己工作中遇到的最频繁的、觉得最重要的内容抽取了出来,写成了这本小册,大概覆盖了下面这些内容
小册的内容会持续更新,如果觉得更好的实验方式,或者有更清晰易懂的讲解方法,我会进行修改。
面试题目前还在大量搜集整理中,小册上更新得还不够多,我的目标是每一节都有两到三个练习题,让大家能巩固本节所学的知识。还需要较多的时间,我会慢慢补充上来。最后有一节内容是关于练习题解答的。
小册部分把工具篇大部分放到了最后几节,需要的时候可以进行针对性的查阅。单独把工具 packetdrill 拎到了最前面,因为这个工具实在是太重要了,很多实验都是用这个工具进行模拟重现。除了工具篇,建议你按小册写的顺序依次阅读,中间会穿插讲解很多的知识。
TCP 的知识体系复杂,在多年的演进过程中也留下了很多坑,大家遇到任何疑惑的地方可以随时加我的微信(zhangya_no1)进行联系或者在群里提问,我会在业余时间尽力解答大家所提的问题。对一些比较典型的问题,我会汇总更新到群里并把它补充到小册的文章中,希望能跟大家一起共建。
欢迎关注我的公众号,虽然现在还没有什么内容。不过我会慢慢写一些偏原理一点的分布式理论、网络协议、编程语言相关的东西,随缘。

TCP 协议是基础中的基础,也是一门实验性比较强的知识。网络包看不见、摸不着,抓包才是让网络包现出原型的好办法。这本小册更多的想介绍一些工具和方法,让大家都有能力去模拟、去做实验、去抓包,当通过抓包验证到自己的想法的时候,那种喜悦只有自己能体会到了,😁。
在最后一篇文章中,我会把小册推荐的所有书籍都列出来,作为开篇,我建议你拥有下面两本书籍:
这两本书籍可以作为案头工具书,遇到相关的知识可以去书中找找书上是如何解释的,交叉印证自己的想法。
让我们开启 TCP 协议的学习之旅吧。