《网络是怎样连接的》探索之旅 @阿狸不歌

《网络是怎样连接的》 封面

      图灵出的网络基础相关的书我也看了不少了,像《HTTP权威指南》、《图解HTTP》、《HTTPS权威指南:在服务器和Web应用上部署SSL/TLS和PKI》、《HTTP 小书》专门讲述 HTTP/HTTPS协议;《图解TCP/IP》、《TCP/IP详解》专门介绍TCP/IP协议;《图解网络硬件》、《图解服务器端网络架构》、《以太网权威指南》则主要介绍网络硬件。像本书一样囊括主要的网络协议、网络硬件等综合性的书,图灵倒好像是出的第一本。 要说类似本书这样介绍网络基础原理的书,市面其实还是很多的,一般名字就叫《计算机网络原理/计算机网络概论》,通常出自各大学出版社,如果你是计算机系的学生,那这门课是要必过的。但是这些都是典型的教材风格,内容嘛,大概只能以枯燥来形容,要不是为了考试,你可能是很难啃下去的。而《网络是怎样连接的》这本书的原版(日文)竟然已经重印了32次,号称“蹲马桶就能看懂”,并且适合“向老妈、女友等普及计算机知识”,究竟是如何做到?让我们来看一看吧……

       全书围绕着一张图来说,每一章的内容都在这张图上 —— 万一在旅途中迷失了方向,请务必回来看一看这张地图

网络探索之旅

      如果打开几本大学版《计算机网络》的目录,你会发现,它们的目录几乎都是一样的:第一章:概述、第二章:物理层、第3章:数据链路层、第4章:网络层、第5章:传输层、第6章:应用层、第7章:网络安全。按部就班的介绍网络协议栈的每一层,而且还是从离用户“最远”的物理层说起。

        本书没有采用这种套路,而是从每个网民都会的“上网”(三步:打开浏览器、输入网址、浏览网页)这件事说开去,揭示了“上网”背后的全过程。作者从“上网”这个常见的场景切入,把整个网络的全貌如此清晰地展现出来,并引导着读者在思考“网络是怎样连接的”过程中层层递进,环环相扣的不断追问与回答。并最终“实现” “不理解网络的全貌,也就无法理解每一种网络技术背后的本质意义”的目标。


        本书的特点不是生硬的列出概念,而是用比较浅显易懂的词语来解释概念,比如以DNS域名结构为例:

某《计算机网络原理》教材中如是说——

       在分层结构的DNS域名中,必须有一个是顶级域名,然后在这个顶级域名下面再申请,或者注册二级、三级,甚至更多级别的域名,各级域名间同样是以小圆点(.)分隔、连接的。最右边的部分代表的是顶级域名,左边部分代表的是子域名,而且是级别最低的域名写在最前面,级别最高的域名写在最后面。下级域名必须隶属于上级域名。例如,itct.com.cn这个DNS域名是一个三级域名,其中itct是三级域名(在本域名中级别最低),它隶属于其二级域名com,而二级域名com又隶属于其一级域名(又称顶级域名)cn。

《网络是怎样连接的》则是用了大家比较熟悉的 事业集团部门、科室 来举例 ——

      DNS服务器中的所有信息都是按照域名以分层次的结构来保存的。层次结构这个词听起来可能有点不容易懂,其实就类似于公司中的事业集团部门、科室这样的结构。层次结构能够帮助我们更好地管理大量的信息。DNS中的域名都是用句点来分隔的,比如www.lab.glasscom.com,这里的句点代表了不同层次之间的界限,就相当于公司里面的组织结构不用部、科之类的名称来划分,只是用句点来分隔而已A。在域名中,越靠右的位置表示其层级越高,比如www.lab.glasscom.com这个域名如果按照公司里的组织结构来说,大概就是“com事业集团glasscom部lab科的www”这样。其中,相当于一个层级的部分称为域。因此,com域的下一层是glasscom域,再下一层是lab域,再下面才是www这个名字。

      很显然,“向老妈、女友等”普及DNS域名的知识用公司里面的组织结构来举例更好令人理解。


       日式科普书有个特点,就是喜欢在书中设计几个人物,以打诨插科的方式伴随读者的阅读过程,把一些值得思考的问题或者是重要的概念通过幽默的问答方式展现出来,让人轻松的就能记住知识要点。本书当中的人物是探索队员与探索队长,下面一段关于socket(套接字)的对话就很典型——

探索队员: Socket库也好,套接字(socket)也好,这个名字到底是怎么来的呢?

探索队长: 你知道灯泡 💡 的插座吗?就是灯具里面把灯泡 💡 拧进去的那个孔。

队员: 知道呀。

队长: 其实那个就是socket。

队员: 啥?你说Socket库就是灯泡💡 的插座?

队长:  你想象一下,假设我们有一段程序,把它“咔”一下插到一个套接字里,于是我们就可以开始通信了,就跟灯泡 💡 插进去就亮一样。

队员: 似乎有点牵强吧?

队长: 哪有?套接字的背后就是传输数据的通道,这个通道和我们的通信对象是相连接的,就像流过电线的电流一样,数据就在这个通道中流动,所以我们插进去一个程序,就可以和对方通信了,能理解不?

看了这一段对话,你对于向向老妈或者女友解释什么是“套接字”就一定很有信心了吧😄  !

套接字 vs 灯泡

再看看某《计算机网络原理》教材里关于Socket的解释——

      前面介绍OSI/RM的传输层服务时,提到过传输通信两端的端点就是TSAP地址,对应的就是传输层协议端口。在TCP/IP网络中,同样有端点的概念,但它并不是直接采用OSI/RM中的TSAP叫法,而是称为“套接字”(Socket),就像在TCP中仍然把所传输的数据称为“数据段”,而没有采用OSI/RM中的TPDU叫法一样。当然,需要说明的是,Socket并不能直接等同于TSAP,它们只是类似,实际上Socket只是利用了TSAP地址,因为在它所包括的一组参数中就有TSAP地址—端口。“套接字”最早使用于UNIX操作系统中,后来被广泛地应用于Windows和Linux系统中,成为了事实上的TCP标准。

      Socket可以看成是在两个网络应用程序进行通信连接时的一个端点(或者称为“逻辑接口”),它是连接应用程序和网络驱动程序的桥梁,如图10-35所示。从位置上看,它与本章前面介绍的TSAP是不一样的,因为TSAP是位于传输层上边缘(但仍属于传输层),而Socket是完全位于应用层,但它调用了传输层的端口。Socket包括了TSAP地址,同样它还包括了在本章前面所介绍的服务原语。

看着上面这一堆的缩写、术语、你懵逼了没有呢?上面固然也用了“桥梁”来做比喻,可是哪有

就像流过电线的电流一样,数据就在这个通道中流动,所以我们插进去一个程序,就可以和对方通信了。

这样的比喻来的浅显易懂呢?

      很多年前,我买的第一本编程书,满篇都是“句柄”(handler) 、“宏”(Macro)这样令人费解的词,看得我很快就从入门到放弃了。如今,有这样一本读起来轻松愉快的《网络是怎样连接的》就在你面前,还不快下手还等什么呢?


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 参考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麦子阅读 2,938评论 0 14
  • 定义 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议主要由三个要素组成:语义、语法及时...
    FlyAndroid阅读 979评论 0 10
  • 引言 网络学习的核心内容就是网络协议的学习 网络协议:网络中进行数据交换而建立的规则、标准或者说是约定的集合因为不...
    _凉风_阅读 1,970评论 8 22
  • 1. 网络编程概述 1.1 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接...
    JackChen1024阅读 1,028评论 0 3
  • 拍摄于西安南郊,一场春雨过后,空气清新,华灯初上;万家灯火和车水马龙下,是多少普通人的故事!
    小豆丁要吃豆阅读 134评论 0 1