写点什么

阿里大牛肝出的 443 页 TCP/IP 协议趣谈笔记,竟然在 GitHub 标星 27k+

用户头像
Java 白
关注
发布于: 3 小时前

前言:

十个人程序员里面,有十个都会说自己学过网络协议,九个人都会说自己懂网络协议。但是面试的时候,问几个问题,能回答的可能只有两三个。不信?来,我问你几道。

1、TCP 协议跟 UDP 协议有什么区别?

你说这个很简单?好,我们再问第二道。

2、HTTPS 协议的底层原理是什么?

不知道了?没关系,再来看一道题

3、阿里的 Dubbo 框架都使用了哪些传输协议和序列化协议?

不清楚啦?其实,参加过大厂面试的小伙伴应该都清楚,无论是国内的互联网大厂还是硅谷的 IT 公司,面试的时候多多少少都会问一些网络协议的知识。

网络协议是编程领域比较晦涩难懂的部分,但又是面试官特别喜欢问的问题,毕竟几乎所有的程序运行都会涉及到网络协议。

比如说你想优化公司的网站访问速度,大概的思路是减少 HTTP 请求,同时设置静态文件缓存时间、压缩情况、保持持久的连接时间等参数,但这些东西,又需要你系统了解 HTTP 协议。

分享一下我之前的学习经历吧,当时为了面试,更为了打好基本功,就一口气买了好几本“经典书”,信心满满地开始,可是学了一段时间之后才发现,这事并不简单呀。

“经典书”都很厚(比如《TCP/IP 详解》),读起来并不是那么容易,里面谈到了很多参数的含义,基本都是今天看完,明天就忘记的状态,最终就是放桌子上落灰了。

而且,对于书本里这些枯燥的讲解,也不知道怎么才能和工作结合起来,以及为什么这些协议会有这样看似「反人类」的设计。

所以我也没有坚持读下去。但扔掉书,回到工作中又发现,网络协议始终是绕不开的短板。

怎样能够更轻松地学习网络协议呢?这时候我遇到来,幸有一位大神替我指点迷津,这个大神就是前网易云计算的首席架构师。他甩给了我一本网络协议神级文档,一起看一下

目录:



由于文章篇幅限制,仅展示部分内容,需要获取完整版学习的朋友添加小助理 vx:bjmsb0606006 即可免费获得资料~

1 章通信协议概述


1.1 为什么要学习网络协议


1.2 网络分层的真实含义


1.3 ifconfig:熟悉又陌生的命令行


1.4 DHCP 与 PXE:IP 地址是怎么来的,又是怎么没的


2 章从二层到三层


2.1 从物理层至 MA 心层:如何在宿舍里自己组网玩联机游戏


2.2 交换机与 VLAH:办公室太复杂,我要回学校


2.3 ICMF 与 ping:投石问路的侦察兵


2.4 世界这么大,我想出网关:欧洲十国游与玄奘西行


2.5 路由协议:“西出网关无故人”“敢问路在何方”


3 章重要的传输层


3.1 UDP:虽然简单但是可以定制化


3.2TCP(上):虽然复杂,使用起来却轻松


3.3 TCP (下):西行必定多妖孽,恒心智慧消磨雅


3.4 socket : Talk is cheap, show me the code


4 章常用的应用层


4.1 HTTP:看个新闻原来这么麻烦


4.2 HTTPS:点外卖的过程原来这么复杂


4.3 流媒体协议:如何在直播里看到帅哥美女


4.4 P2P 协议:下载电影分布式协议速度快


5 章陌生的数据中心


5.1 DNS:网络世界的地址簿


5.2HTTPDNS: 网络世界的地址簿也会指错路


5.3 CDN:你去小卖部取过快递吗


5.4 数据中心:我是开发商,自己拿地盖别墅


5.5 VPN:朝中有人好做官


5.6 移动网络:去巴塞罗那,手机也上不了“脸书”


6 章云计算中的网络


6.1 云中网络:自己拿地成本高:购买公寓更灵活


6.2 软件定义网络:共享基础设施的小区物业管理办法


6.3 云中网络之安全:虽然不是土豪,也需要基本保障


6.4 云中网络之 QoS:室友疯狂下电影。我该怎么办


6.5.云中网络之隔离 GRE 、VXLAN:虽然住一个小区,也要保护隐私


7 章容器技术中的网络


7.1 容器网络:来去自由的日子,不买公寓去合租


7.2 容器网络之 Flannel:每人一亩三分地


7.3 容器网络之 calico:为了高效说出善意的谎言


7.4 RPC 概述:远在天边,近在眼前


8 章微服务相关协议


8.1 基于 XML 的 SOAP:不要说 NBA,请说美国职业篮球联赛


8.2 基于 JSON 的 RESTful 接口协议:我不关心过程,请给我结果


8.3 二进制类 RPC 协议:还是叫 NBA 吧,总说全称多费劲


8.4 跨语言类 RPC 协议:交流之前,双方先交换一下专业术语表


9 章网络协议知识串讲


9.1 知识串讲:用“双*”的故事串起网络协议的碎片知识(上)


9.2 知识串讲:用“汉*”的故事串起网络协议的碎片知识(中)


9.3 知识串讲:用“双*”的故事串起网络协议的碎片知识(下)


9.4 搭建一个网络实验环境:授人以鱼不如授人以渔


内容展示到此为止,需要完整内容的小伙伴只需添加小助理 vx:bjmsb0606006 即可获取下载方式

用户头像

Java 白

关注

还未添加个人签名 2021.06.21 加入

Java使我秃头

评论

发布
暂无评论
阿里大牛肝出的443页TCP/IP协议趣谈笔记,竟然在GitHub标星27k+