目录
第1 章 通信协议概述 ................................................................................................................. 1
1.1 为什么要学习网络协议 ........................................................................................ 1
1.2 网络分层的真实含义 .......................................................................................... 10
1.3 ifconfig:熟悉又陌生的命令行 .......................................................................... 17
1.4 DHCP 与PXE:IP 地址是怎么来的,又是怎么没的 ...................................... 25
第2 章 从二层到三层 ............................................................................................................... 36
2.1 从物理层到MAC 层:如何在宿舍里自己组网玩联机游戏 ........................... 36
2.2 交换机与VLAN:办公室太复杂,我要回学校 .............................................. 43
2.3 ICMP 与ping:投石问路的侦察兵 ................................................................... 56
2.4 世界这么大,我想出网关:欧洲十国游与玄奘西行 ...................................... 64
2.5 路由协议:“西出网关无故人”“敢问路在何方” .......................................... 74
第3 章 最重要的传输层 ........................................................................................................... 86
3.1 UDP:虽然简单但是可以定制化 ...................................................................... 86
3.2 TCP(上):虽然复杂,使用起来却轻松 ......................................................... 93
3.3 TCP(下):西行必定多妖孽,恒心智慧消磨难 ........................................... 103
3.4 socket:Talk is cheap, show me the code ............................................................. 116
第4 章 最常用的应用层 ......................................................................................................... 127
4.1 HTTP:看个新闻原来这么麻烦 ...................................................................... 127
4.2 HTTPS:点外卖的过程原来这么复杂 ............................................................ 141
4.3 流媒体协议:如何在直播里看到帅哥美女 .................................................... 151
4.4 P2P 协议:下载电影,分布式协议速度快 ..................................................... 163
第5 章 陌生的数据中心 ......................................................................................................... 174
5.1 DNS:网络世界的地址簿 ................................................................................ 174
5.2 HTTPDNS:网络世界的地址簿也会指错路 .................................................. 181
5.3 CDN:你去小卖部取过快递吗 ........................................................................ 192
5.4 数据中心:我是开发商,自己拿地盖别墅 .................................................... 199
5.5 VPN:朝中有人好做官 .................................................................................... 210
5.6 移动网络:去巴塞罗那,手机也上不了“脸书” ........................................ 225
第6 章 云计算中的网络 ......................................................................................................... 238
6.1 云中网络:自己拿地成本高,购买公寓更灵活 ............................................ 238
6.2 软件定义网络:共享基础设施的小区物业管理办法 .................................... 251
6.3 云中网络之安全:虽然不是土豪,也需要基本保障 .................................... 266
6.4 云中网络之QoS:室友疯狂下电影,我该怎么办 ........................................... 282
6.5 云中网络之隔离GRE、VXLAN:虽然住一个小区,也要保护隐私 .......... 291
第7 章 容器技术中的网络 ..................................................................................................... 311
7.1 容器网络:来去自由的日子,不买公寓去合租 ............................................ 311
7.2 容器网络之Flannel:每人一亩三分地 ........................................................... 324
7.3 容器网络之Calico:为了高效说出善意的谎言 ............................................. 332
7.4 RPC 概述:远在天边,近在眼前 .................................................................... 346
第8 章 微服务相关协议 ......................................................................................................... 358
8.1 基于XML 的SOAP:不要说NBA,请说美国职业篮球联赛 ..................... 358
8.2 基于JSON 的RESTful 接口协议:我不关心过程,请给我结果 ................. 364
8.3 二进制类RPC 协议:还是叫NBA 吧,总说全称多费劲 ............................ 370
8.4 跨语言类RPC 协议:交流之前,双方先交换一下专业术语表 ................... 379
第9 章 网络协议知识串讲 ..................................................................................................... 390
9.1 知识串讲:用“双11”的故事串起网络协议的碎片知识(上) ................ 390
9.2 知识串讲:用“双11”的故事串起网络协议的碎片知识(中) ................ 398
9.3 知识串讲:用“双11”的故事串起网络协议的碎片知识(下) ................ 406
9.4 搭建一个网络实验环境:授人以鱼不如授人以渔 ........................................ 416