开篇词 | 想成为技术牛人?先搞定网络协议!
刘超
讲述:刘超大小:2.81M时长:06:08
该思维导图由 AI 生成,仅供参考
你好,我是刘超,网易研究院云计算技术部的首席架构师。我主要负责两部分工作,对内支撑网易核心业务上云,对外帮助客户搞定容器化与微服务化架构。
当极客时间约我做“趣谈网络协议”专栏的时候,我非常开心,因为网络协议也是我长期研究和关注的点。摸爬滚打 15 年,有了一些收获也溅了一身血,我才能在这里和你分享。
为什么网络协议这么重要呢?为什么“计算机组成与系统结构”“数据结构与算法”“操作系统”“计算机网络”“编译原理”,会成为大学计算机的核心课程呢?至少看起来,这些内容没有“多少天搞定 MFC、Structs”这样的内容更容易帮你找到工作。我毕业的时候,也感到很困惑。
不过当时我抱着一个理想,也可能是大多数程序员的理想:我要做技术牛人,我要搞定大系统。
工作 15 年,我在 EMC 做过类似 GFS 的分布式存储开发,做过基于 Lucene 的搜索引擎,做过 Hadoop 的运维;在 HP 和华为做过 OpenStack 的开发、实施和解决方案;还创业倒腾过 Mesos 容器平台,后来在网易做 Kubernetes。
随着见过的世面越来越多,我渐渐发现,无论是对于大规模系统的架构,还是对于程序员的个人职业生涯,网络和网络协议都是绕不过去的坎儿。
集群规模一大,我们首先想到的就是网络互通的问题;应用吞吐量压不上去,我们首先想到的也是网络互通的问题。不客气地讲,很多情况下,只要搞定了网络,一个大型系统也就搞定了一半。所以,要成为技术牛人,搞定大系统,一定要过网络这一关,而网络协议在网络中占有举足轻重的地位。
相信大部分人都思考过“技术变化太快,容易过时”的问题。毕竟,技术浪潮一浪接一浪,新技术层出不穷。从搜索引擎、大数据、云计算,到人工智能、区块链,简直就是“你方唱罢我登场”。这里面究竟有没有最本质的东西,使得你掌握了它,就能在新技术的滚滚浪潮中,保持快速学习的能力?
通过对大量开源技术的代码进行分析,我发现很多技术看起来轰轰烈烈,扒下外衣,本质的东西其实就是基础知识和核心概念。想要不被滚滚而来的新技术淘汰,就要掌握这些可以长久使用的知识,而网络协议就是值得你学习,而且是到 40 岁之后依然有价值的知识。
但是,要想真正学习和掌握网络协议,也并非易事。下面这些场景,你是不是也感同身受呢?
网络协议知识点太多,学完记不住。我们都学过计算机网络课程,学的时候感觉并不难。尤其这门课没有公式,更像是文科。学了一大堆,也背了一大堆,应付完考试之后,最终都“还给老师”了。
看上去懂了,但是经不住问。没关系,网上有很多的文章嘛。于是,你会搜索很多文章去看。看的时候,你感觉别人说的很有道理,好像理解了,但是经不住问,一问就发现,你只是了解了大概的流程,很多细节还是不知道。所以说,从能看懂到能给别人讲明白,中间还有很长一段距离。
知识学会了,实际应用依旧不会。细节都摸索得差不多了,但是当你自己去应用和调试的时候,发现还是没有思路。比如,当创建出来的虚拟机不能上网的时候,该怎么办呢?学过的东西,怎么还是不会用?
我把这样的网络协议学习过程总结为:一看觉得懂,一问就打鼓,一用就糊涂。
那网络协议究竟该怎么学?基于这个问题,我决定从以下三个角度和你分享我所理解的网络协议。
第一,我会从身边经常见到的事情出发,用故事来讲解各种网络协议,然后慢慢扩展到不熟悉的领域。
例如,每个人都会查看 IP 地址,那我们就从这个命令开始,展开一些概念;很多人都在大学宿舍组过简单的网络来打游戏,我就从宿舍里最简单的网络概念开始讲;然后说到办公室,说到日常上网、购物、视频下载等过程涉及的协议;最后说到最陌生的数据中心。
第二,我会用贴近场景的方式来讲解网络协议,将各个层次的关系串起来,而非孤立地讲解某个概念。
常见的计算机网络课程往往会按照网络分层,一层一层地讲,却很少讲层与层之间的关系。例如,我们学习路由协议的时候,在真实场景中,这么多的算法和二层是什么关系呢?和四层又是什么关系呢?例如,在真实的网络通信中,我们访问一个网站,做一个支付,在 TCP 进行三次握手的时候,IP 层在干嘛?MAC 层又在干嘛?这些你是不是都清楚?
第三,我会在讲解完各个层次的网络协议之后,着重剖析如何在当下热门领域使用这些协议,比如云计算、容器和微服务。
一方面你可以知道网络协议真实应用的地方,另一方面你也可以通过上手使用云计算、容器、微服务来进一步加深对于协议的理解。
千里之行,始于足下。不管何时,我相信,扎实的功底和过硬的技术,都会是你职业发展的助力器。
希望这个专栏,不仅可以帮你理清繁杂的网络协议概念,帮你构建一个精准的网络协议知识框架,帮你在热门领域应用这些底层知识,更重要的是给你一种学习知识的方法和态度:看似最枯燥、最基础的东西往往具有最长久的生命力。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
网络协议是成为技术牛人的关键,本文由网易研究院云计算技术部首席架构师刘超撰写。刘超通过自身15年的工作经验,强调了网络协议在大型系统架构和个人职业生涯中的重要性。他指出,掌握网络协议是保持快速学习能力的关键,因为许多新技术的本质都是基础知识和核心概念。尽管学习网络协议并非易事,但刘超提出了三个角度来帮助读者理解网络协议:通过故事讲解各种网络协议,贴近场景地串联各个层次的关系,以及剖析如何在当下热门领域使用这些协议。他强调网络协议的长久价值,并鼓励读者以扎实的功底和过硬的技术作为职业发展的助力器。文章内容深入浅出,为读者提供了学习网络协议的方法和态度,强调了基础知识的重要性。
2018-05-14551人觉得很赞给文章提建议
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈网络协议》,新⼈⾸单¥68
《趣谈网络协议》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(233)
- 最新
- 精选
- 会飞的置顶急需学习网络协议,多久更新一篇啊?
作者回复: 以后每周三次
2018-05-17381 - 乔良qiaoliang程序员长青秘诀:网络协议,操作系统,数据库,数据结构与算法,敏捷开发,体力好,颈椎腰椎手腕视力。。
作者回复: 颈椎非常重要
2018-05-247186 - 没有昵称刘老师的网络协议理论知识,看了至少三遍,很系统,很全面,值得拥有!只不过之前这块太薄弱,偶然搜到一本叫做《网络是怎么连接的》的书籍,看了一遍,很是推荐这本书,再配上刘老师的课,简直是锦上添花!
作者回复: 推荐
2019-03-18848 - 约书亚似乎是原声哎,赞。极客时间的配音,念英文的时候实在是... 带过不少刚入门的人,问我先研究哪个基础时我都会建议网络。在我眼里网络技术最好玩,很绕很复杂但原理并不难懂,可是出了问题却很难找,也不像其他类型的问题可以绕过去,所以平日里就要做大量积累
作者回复: 是的,网络最基础,但是比较难搞
2018-05-1434 - 大树刘哥出手,必是精品,非常期待。从openstack开发的时候就关注你了,那笔记和思维导图画得是相当漂亮和详实。后来你写的每一篇文章都细细拜读,打印装订成册,方便查阅。你能把很多晦涩难懂的原理用简单的比喻说得很形象,而且脉络清晰,体系完整。这次出音频,果断订阅,绝对物超所值。
作者回复: 谢谢夸奖,为了原汁原味,绝对保证原声讲解
2018-05-15215 - A_吖我去刘超老师普通话还可以
作者回复: 哈哈,略带山东味儿
2018-05-176 - 颇忒妥最近在整openstack 网络规划的确很见功底,希望老师早点讲一下虚拟化网络的内容
作者回复: 当时搞openstack的时候,也是网络搞了好久,最后日志里面打印出所有的ovs的操作命令,一个个看,十分痛苦。欢迎看系列文章《别以为真懂openstack》,以及《openvswitch操作手册》
2018-05-165 - zjgking更重要的是给你一种学习知识的方法和态度:看似最枯燥、最基础的东西往往具有最长久的生命力。
作者回复: 是的,就像馒头最无味道,但是能吃一辈子。红烧肉很好吃,但是受不了天天吃
2019-08-284 - Linux云计算网络第二遍看,嘻嘻
作者回复: 赞
2018-08-313 - 是男人就开巴巴托斯这个专栏真是很棒。虽然没有一篇篇全看,有选择的碎片式阅读,根据兴趣和需要再扩展阅读,每天都有收获的。这些基础理论对实例中的工作帮助很大。 最近解决了两个古怪问题 1. 一个是zuul 由于使用xhrstream模拟websocket,有大量的close wait 2. 一个是tomcat servlet用rmi client连接到了错误的服务器端口,使用的连接建立成功但是长时间read阻塞。直到两小时socket alive timeout 最终导致全部tomcat worker挂了两个小时。
作者回复: 赞,学以致用,棒
2019-08-152
收起评论