戏说西游||TCP/IP协议的由来(灵感来自“码农翻身”微信公众号)
引子
话说唐僧师徒四人西行取经,终于来到了西方极乐世界,取得真经,然而如何运回真经成了大问题,故事就这样展开了:
大唐王朝贞观八十一年,某日清晨
“悟空,为师带领你们终于取得真经,可是奈何如何将真经运回东土大唐呢?”
“师傅,不用担心,俺老孙在筋斗云的基础上开发出了运输真经的法术--‘TCP协议’,只要严格学习俺法术的口诀,严格遵守俺定制的规则,只需要不断的往筋斗云上放经文,筋斗云就会自动往返运输真经,俺可保真经运回大唐!”
“不愧是悟空,既然如此,悟能,这件事情为师就交给你了,看来为师还得再去跟佛祖多讨些经书来。”
大圣、八戒、沙僧一行来到了“大雷音寺224仓库”,准备运输真经。大圣问八戒:“呆子,俺昨晚已把‘TCP协议’法术口诀传授与你,你可学会此门法术?”
八戒一脸惭愧:“这门法术口诀太长了,原理也太复杂了,所以我并没有学会,哼哼哼。”
大圣笑道,“你这个蠢猪,虽然曾是天蓬元帅,但是现在最新的法术也还是要仔细钻研学习的啊。”
八戒好奇道:“愿闻其详。”
悟空懒洋洋的站起来说:“你要想真正的学会‘TCP协议’法术,那你先说说咱们的真经是要从哪儿运输到哪儿啊?”
八戒赶紧拿出师傅之前写好的地址说:“要从大雷音寺224仓库运输到大唐王城”
“大唐王朝有很多门,真经要进那个门啊?” 悟空接着问。
“昨天师傅说了,发到80号门。”
大圣说:“恩,呆子还算你记性好,走吧,咱们到前面去。”
大雷音寺224仓库前面是一个佛教广场,平时有一些教徒来念经,现在只有悟空师兄弟三人。
“你等等,我先给大唐王城80号门的看守建立个连接”大圣说着,默念口诀,一片云凭空出现。
大圣默念口诀在云上写了一封信:
“看守看守,我是大圣,我现在在大雷音寺224仓库,我想和你建立连接,我的序号是1024,收到请回话!”
筋斗云上刻着:
发云地:西土大雷音寺224仓库
收云地:大唐王城,80号门
大圣念了一句口诀,筋斗云快速的飘向了东方。
过了一个时辰,筋斗云回来了,上面写着:
“大圣大圣,收到了您的来信,你的信里面有个序号是1024,对不对?同意建立咱们的连接,我这边的序号是2048”
八戒犹豫不决道,“难道这样连接就建立好了吗?TCP法术就这么容易吗?”
大圣拍了八戒一下脑袋,懒懒的说道,"呆子,这样只是第一步,要想建立连接,还需要再给他们发一封信"
“守卫守卫,我收到你的确认信了,也看到了你的序号是2048,我开始运输真经了”
八戒在一旁暗自忖道:“这就是连接吗?我咋没看见你的筋斗云把大唐和大雷音寺连接起来啊?”
“大师兄,那你为啥要使用筋斗云发三封信呢?”,沙和尚也帮腔道。
“这就是我的法术的精髓所在---三次握手”,俺老孙给你分析一下啊,“这三次握手主要是为了验证我这边和大唐守卫那边的发信和收信能力没问题, 这样就证明连接是通的,那就可以正式发送经文了。”
第一次握手:大雷音寺发信,王城收到了,此时王城就会明白---大雷音寺发信能力和自己的收信能力是没问题的;
第二次握手:王城发信,大雷音寺收到了,此时大雷音寺就会明白---大雷音寺的发信和收信都是好的, 同时王城的发信和收信也都是没问题的。 要不然收不到来自王城回复的筋斗云上的回信 , 但是王城还不知道自己的发信功能如何?所以就需要第三次握手啦;
第三次握手:大雷音寺再次发信,王城收到了,此时大雷音寺已经确认,双发的收信,发信都是没问题的。
这次回应的目的只是消除王城守卫对自己的发信功能以及大雷音寺的收信功能的担忧而已。
八戒紧接着问道,“大师兄,你这么辛苦的建立连接,为什么不亲自使用筋斗云运送经文呢?”
大圣说道:“想当初佛祖为了让我安心取经,便在俺的筋斗云上做了限制,俺不能和筋斗云一块飞回大唐,所以我就自己创建了‘TCP协议’法术,让我的筋斗云自己去送货,就算在路上筋斗云消失了也没事,我还可以再使用法力重新产出新的筋斗云”
"那这些筋斗云怎么知道把真经送到大唐王城啊?"
"不用担心,俺老孙的筋斗云都有俺的灵性,俺还让俺的猴子猴孙在天界的不同岔路口做了标记,每个标记点的猴子猴孙都会看到俺的筋斗云上的信,他们知道路,会把俺的筋斗云放到一个新的正确的天界道路,继续飘向目的地,最终就会到达大唐王城。俺的猴子猴孙可是很有灵性的,还给他们自己起了一个艺名叫‘路由器’。”
“对了,这些经书太多了,必须要把经书拆分成一个一个小包裹。”
“给每个包裹编个号吧”,大圣说道:“这样到了大唐,守卫们就能安照编号顺序放好了”
“万一猴哥您的筋斗云在半路上法力不足,飘散了怎么办?那经书不是丢了吗?”
“筋斗云在路上飘散了,那就重新再抄写一份经书再往大唐发送一份就行呗,这种情况,没有别的办法,就只能重新发送那一个包裹。”
大圣默念口诀,把经书分为了10个包裹,并按编号摆成了一列。
“我的法力只能支撑三个筋斗云,所以每次最多只能发送3个包裹,按序号发,先发1,2,3包裹”,大圣说着使用法术产生了3个筋斗云,装上经书,筋斗云向着大唐飘走了。
大圣接着说道,“根据俺老孙筋斗云的速度,如果过了3个时辰,大唐还没给咱们确认,那就是丢了,只能重发了。”
过了三个时辰,正当八戒昏昏欲睡时,筋斗云终于回来了,云上写着:1号包裹收到了。
“看来俺老孙的法术还是比较有效的啊” ,大圣说,“大唐确认收到了一号包裹的经书,咱们可以再发一个了”,说着又默念法术,把第4号包裹发了出去。
八戒这次却没搭话,暗自思索着:“对‘TCP协议’法术终于有了一些理解,大师兄就是每次只要保证有3个经书包裹发出去,并且确认没有丢失就可以继续发了。”
又过了一会,一下子飘了过来三个筋斗云,带来了2,3,4号经书包裹的确认。
“大师兄你也太厉害了,要是不丢包裹的话,那岂不是很快就可以把经书运完了啊,那俺老猪就可以早早回高老庄迎娶高小姐啦!”,八戒在一旁赞叹不已。
大圣看到八戒又在犯花痴,懒得理他,又使用筋斗云把5,6,7号发了出去。
可是等了很久,5号包裹的确认收到却迟迟没来,过了三个时辰,大圣道,“看来5号包裹的筋斗云在路上飘散了,经书包裹已经丢了,呆子,你再去大雷音寺仓库抄写一份回来,一定要和之前5号包裹内的内容一模一样啊!”
“那6、7号包裹呢?大唐有没有收到呢?”
“我现在还不知道,如果收到了,他们会先存下来,如果也没有收到,那还得向5号包裹一样,重新发送。”
这时悟净问道:“大师兄,你为什么要一起发三个包裹呢?你不能发一个等着确认一个吗?”
“为了提高发送包裹的效率,我的法术里使用了‘滑动云协议(滑动窗口协议)’,如果云N=1,就是发一个等着确认一个,但是这样就太慢了,再说俺老孙也不能一直干这一件事啊,我就把N设定的大一点,设为3,这样就能一边发送经文包裹,一边确认,这样不就可以快一点嘛。”
八戒只能再去大雷音寺重新抄写了5号包裹的经文,重新让大圣又发了一次。
过了三个时辰,7号包裹的筋斗云飘了回来!
大圣说:“看来俺的筋斗云还是不错的,大唐说已经收到了7号包裹,他的意思也就是说5、6号也都收到了。要不然他们不会发7号的确认云。”
接下来大圣又发了8,9,10号包裹,终于都正常的收到了大唐守卫的确认云。
大圣又让猴子猴孙去大唐守卫做了确认,才知道原来守卫收到了第5号包裹,只不过筋斗云确认的路上飘散丢了,大圣没有收到确认包,才重新发送了一份。
于是八戒急急忙忙的去向师傅邀功,说了大圣的“TCP协议”法术运送经书的方法。
师傅笑着摇摇头,“悟空,你这就是为了确保筋斗云运输上的不可靠性,建立一个相对可靠的发送经书的方法,但是如果筋斗云在路上飘散导致经书包裹丢失,还必须要让悟净他们重新抄写经书,还要重新发送这个经书包裹啊,这个‘TCP协议’看起来虽然相对安全可靠,但还是稍有不足。”
预知后事如何,且听下回分解!
预知后事如何,且听下回分解!
预知后事如何,且听下回分解!
PS:TCP/IP协议
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议,同时也是Internet国际互联网络的基础。
TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。
协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
灵感来自“码农翻身” 微信公众号!!!!
本文出自 “胡付博” 博客,请务必保留此出处http://hufubo.blog.51cto.com/7662396/1829015