最近公司项目要求,在做网络优化,包括弱网方面,视频画面卡顿,这块是很多开发中,经常需要去做处理,比如你网络正常,什么都没有问题,一旦网络不好时,就什么问题就出来了,这个问题很头痛,甚至在一些延时上非常高,网络抖动时。需要深入rtmpprotocol.c和http.c,还有tcp.c文件中。一看是看网络耗时,一个是它如何进行网络交互,不清楚流程,就一直在加日志分析。
网络协议是每个程序员入门的必修课,但是彻底掌握并应用网络协议知识却并非易事,比如常见的 TCP/IP、HTTP。作为一个有上进心的程序员,我一直想体系学习下这块儿内容,但是学过的人都知道,这事儿真的不简单。首先,网络协议的书都很厚,读起来并不是那么容易。里面概念太多了,基本都是今天看完,明天就忘。其次,协议知识琐碎又枯燥,一看书就头大,等细节了解的差不多了,又卡在了实际操作中,学过的东西不会用。而后,扔掉书本,回到工作中,又发现,网络协议真是绕不过去的坎儿啊。需要了解不同协议的优缺点。
最近看了极客时间的《趣谈网络协议》专栏,感觉写的有点意思。首先,它里面用了很多这种比喻的方式,来讲概念,把概念都讲的很活泼、很有意思。其次,它把最常见的、到最基础的、以及最重要的网络协议,都一一拆解,用故事的方式讲出来,配上作者自己的声音讲出来,每天通勤路上听两篇,就像听连载小说一样过瘾。最后,它还用一个“下单”的过程,把过程涉及的这些网络协议都串讲了一遍。从概念到应用,一个都不少,讲的真的太透彻了!
学完这个专栏,能够系统理解网络协议之间的关系了,根本用不着死记硬背,再去啃那些大部头都觉得轻松了很多。比如,理解计算机网络中的概念时,刘超是这么说的:
想象网络包就是一段Buffer,或者一块内存,是有格式的。同时,想象自己是一个处理网络包的程序,而且这个程序可以跑在电脑上,可以跑在服务器上,可以跑在交换机上,也可以跑在路由器上。你想象自己有很多的网口,从某个口拿进一个网络包来,用自己的程序处理一下,再从另一个网口发送出去。你可以把自己想象这个程序,那你的工作过程就是下面这样,是不是很好理解了?
这个专栏的作者刘超,现在在网易研究院云计算技术部担任首席架构师,到现在已经有15年研发及架构经验。过去的这些年中,他曾经在 EMC 做过类似GFS的分布式储存开发,还做过基于 Lucene 的搜索引擎,并写了500页的《Lucene原理与代码分析》;在HP和华为做过OpenStack的开发、实施和解决方案;做过Hadoop运维;还创业倒腾过Mesos容器平台。
这是课程目录:
一些评价:
在网络协议这块,打算学习下(目前已经有接近23000人购买,质量自然放心),不妨扫一扫下面二维码,限时优惠79,你还能获得系统返现8元: