一个字节的网络漫游故事独白

大家好,给大家介绍一下,我是一个字节。相比于你们人类据说即将达到的百岁人生的寿命,我的一生简直不直一提(我只能存活零点几个毫秒)。

也许只有那些码农才会了解我,而且也只有一部分码农。那些整天做业务的猿们想来也不会真正的了解我,更别提人类其他行业的人了。

我不甘心,虽然我微不足道,但是我对人类的贡献实在是太大了。没有我的世界根本无法想像:不能听网易云音乐,不能刷抖音,不能上拼多多,所有和网络相关的活动都无法进行。

所以,今天我要讲讲我的一生,让更多的人知道我的存在,知道我的故事,也为证明自己曾经存在过吧。


640?wx_fmt=png1640?wx_fmt=png

诞生

我的主人是一个在西二旗知名互联网公司上班的程序猿,过着1095(注:早10点晚9点,一周5天工作)的生活,很少能在晚霞中回家,自然也说不出“落霞与孤鹜齐飞”那样的句子。

这一天,他9点半到家,第一件事打开电脑,熟练地启动chrome浏览器,在地址栏敲下一个 z字符,我所有的故事就从这里开始。

当主人按下键盘上的 z键时,系统了产生一个中断信号,通知CPU过来读取键盘输入,CPU读取到 z后,将 z发送给chrome浏览器, chrome收到后,将 z显示到浏览器的地址栏上,同时后台搜索主人平时访问过的地址,排名第一的 https://www.zhihu.com/被快速补全了。

这时主人熟练地按下了回车键,chrome收到指令后,进行了一顿操作,在这电光火石之间,我诞生了,同时诞生的还有我的字节兄弟们。


640?wx_fmt=png2640?wx_fmt=png

上路

话说 Chorme老大哥接收到了URL后,首先拆解成自己能看懂的东西。 https://www.zhihu.com会被拆解成三部分: httpswww.zhihu.com/

https表示协议类型,通过这个 Chorme老大哥知道他接下来该如何与远方的网站服务器通信; www.zhihu.com表示主机名,就是Chorme老大哥要通信的对象了;第三部分则是它要向服务器要的内容(注:这里表明是空,实际上隐含的表示主目录文件的概念)。

有了这三项, Chorme老大哥就能从服务器那里获取它想要的内容了,从而展示给我的主人。

Chorme老大哥跑到 HTTP数据包生产车间,哼哧哼哧地倒腾半天,生产出了一个HTTP数据包(注:忽略https, 简单起见我们当成http),这个数据包实际上就是我和我的一群字节兄弟们,我们挤在一个集装箱内,熙熙攘攘。

我们马上就要搭乘 IP列车到远方的服务器,见识外面的世界了。集装箱被装上了 TCP专车,它将带我们来到列车站。 TCP专车很安全也很舒适,我从集装箱的缝隙中看到车前贴上了车牌: 80.

到了车站, TCP专车直接开到了列车上。这样也好, IP列车上很脏,我们坐在专车上更好。 只是列车还不知道具体要去哪,所以我们就只能先在列车上等着了。

不对啊,列车应该去 www.zhihu.com这个网站,不是已经知道了吗?对的,但是 IP列车挺笨的,也挺古板的,不认识这些字母。它只认识数字,人类称之为ip.

Chorme老大哥也有点抱怨,人类真是笨,连个ip都记不住,非得用域名来上网。害我还得拿着这个域名去问 DNS老大爷,它知道所有域名对应的ip.

这不, Chorme老大哥又跑到另外一个车间—— DNS数据包生产车间里倒腾出了一个DNS数据包,当然还是一群字节兄弟们,不过这里的兄弟就少一些了。它们在集装箱里叽叽喳喳,被装上了 UDP敞篷车,车虽然很快,但不太安全,我这些兄弟们坐在上面,提心吊胆,生怕掉下去,因为掉下去,就永远消失了。

UDP敞篷车也直接开到了 IP列车上,车前贴了车牌:53.

这回Chrome老大哥直接从 操作系统大佬那要到了 DNS老大爷的ip, 贴到了 IP列车的车头, IP列车马上全速启动,载着我这些字节兄弟,赶到了 DNS老大爷的城堡, UDP敞篷车开下列车,按照车牌号53找到了 DNS老大爷的住处。从它那拿到了 www.zhihu.com对应的ip.

DNS老大爷学问渊博,他也很仗义,从自己城堡里的 DNS数据包生产车间造出了DNS响应包,包里也是我这些字节兄弟们,它们拿着重要的资料数据—— www.zhihu.com对应的ip, 坐上了另一趟返程的 IP列车,而列车的终点就是我现在所在的地方。当然了,他们是由另一辆 UDP敞篷车载着他们回来的。

Chorme老大哥在车间接见了这些兄弟,非常感动。因为他们带回了 www.zhihu.com对应的ip. 那些兄弟争先恐后的报告自己知道的东西,有些兄弟报告1, 有些兄弟报告0, Chorme老大哥非常有经验,它把这些消息合并起来了,最终得到了它想要的ip: 118.89.204.192.

Chorme老大哥拿着这个ip来到了我所在的列车前面,我激动地要叫起来了:终于我要出发了!它熟练地把 118.89.204.192贴到了列车的前面,马上列车就开动了,我上路了。

IP列车的列车长在掌管着车头的方向,决定着我们的命运走向。路网非常复杂,而车头上只有一个ip地址,根本没告诉列车长应该走哪条路。这不难,富有经验的列车长根据车头的ip地址查到了下一个大站(路由器)的地址,之后再根据这个大站地址查到(ARP协议)途经的下一个小站(交换机或集线器)应该走的轨道。在每个小站,对照这个大站地址,列车长就知道该走哪条路。搞定!

经过了很多的小站,我们终于到了下一个大站了。站点的工作人员看着我们车头前的ip地址,查了下表(路由表)告诉我们下一个大站的地址,并且告诉我们途径的下一个小站应该走哪条轨道。列车长就这样,一路拿这张表,顺利地把们带到了终点: 118.89.204.192.

不过,刚刚就在到终点的前一刻,列车被拦住了,一群荷枪实弹的警卫冲上来了,一些胆小的字节兄弟们都哭了,我也是屏气凝声。他们先是查看了车头的ip地址,再查看了列车长手里的表,还看了下我们的 TCP专车的车牌。很快就放行了,虚惊一场!


640?wx_fmt=png3640?wx_fmt=png

新生

到了终点站后,列车首先停下接受工作人员的检查。列车长出示了他手里的表,对了一下表上标注的下一站地址确实是:知乎。接着又看了下列车头部标注的ip地址,就算检查通过了,第一关很轻松。

接下来,我们坐的 TCP专车开下列车了。进了一个 TCP车牌检查站,工作人员看了下车牌号80, 也挥手示意我们通过。

接着我们都下车走进了 主页车间,进去后,我们先按我们身上的标号排好了位置,工作人员将我们每个人所代表的信息进行了聚拢。得到了各种关于主人的信息,比如他所用的浏览器的版本,cookie等等信息,我知道,我们的使命完成了。果然,一道光闪过,我们都消失了,完成了我们光荣的一生。

主页车间领导马上下达生产命令:1组去仓库拉取最新话题,2组去商业中心获取今天的广告主信息……

很快,各组都完成了任务,车间在一阵轰鸣过后,新的一批字节兄弟诞生了,他们带着这些话题、广告信息,和我们当年出生的时候一样,熙熙攘攘。但是我知道,我获得了新生。


640?wx_fmt=png4640?wx_fmt=png

归家

像我们当年一样,这些新出生的字节兄弟依次坐上了 TCP专车IP列车一路跋涉,去往我出发的地方,那是我梦开始的地方。

我所经历的,他们未曾少过一分。


640?wx_fmt=png5640?wx_fmt=png

定格

Chrome老大哥终于等来了这些字节兄弟,在他们排好队后,老大哥看清了字节兄弟们代表的内容:话题 如何在西二旗地铁优雅地装逼,热度10w, 广告 上午植发,下午上班……

这些是 Chrome老大哥最擅长的事情,分分钟将他们显示在了网页上。字节兄弟们终于完成了使命,定格在了retina屏幕上。

我的主人点开第一话题后,看了一会儿。然后瞅到了到植发广告,他偷偷地开启了隐身模式,仔细地研究了起来……


640?wx_fmt=png6640?wx_fmt=png

后记

第一次尝试这种题材的文章,供大家一乐!有写得不到位的地方,欢迎探讨!


另外,推荐大家去看《网络是怎样连接的》这本书,看完可以形成对网络的整体印象,写得非常好!



推荐阅读:

“三次握手,四次挥手”你真的懂吗?

深度解密HTTP通信细节



640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

swap最大值和平均值_SWAP:Softmax加权平均池

swap最大值和平均值Blake Elias is a Researcher at the New England Complex Systems Institute.Shawn Jain is an AI Resident at Microsoft Research.布莱克埃里亚斯 ( Blake Elias) 是 新英格兰复杂系统研究所的研究员。 Shawn Jain 是 Microsoft Research 的 AI驻地 。 …

该酷的酷该飒的飒,穿出自己的潮流前线

精选匈牙利白鸭绒填充,柔软蓬松 舒适感很强,回弹性好 没有什么异味很干净安全 宝贝穿上去保暖又舒适 树脂拉链+金属按扣,松紧帽檐+袖口 下摆还做了可调节抽绳,细节满满防风保暖很nice 短款设计相较于…

pytorch卷积可视化_使用Pytorch可视化卷积神经网络

pytorch卷积可视化Filter and Feature map Image by the author筛选和特征图作者提供的图像 When dealing with image’s and image data, CNN are the go-to architectures. Convolutional neural networks have proved to provide many state-of-the-art solutions in deep l…

Golang之轻松化解defer的温柔陷阱

defer是Go语言提供的一种用于注册延迟调用的机制:让函数或语句可以在当前函数执行完毕后(包括通过return正常结束或者panic导致的异常结束)执行。深受Go开发者的欢迎,但一不小心就会掉进它的温柔陷阱,只有深入理解它的…

u-net语义分割_使用U-Net的语义分割

u-net语义分割Picture By Martei Macru On Unsplash图片由Martei Macru On Unsplash拍摄 Semantic segmentation is a computer vision problem where we try to assign a class to each pixel . Unlike the classic image classification task where only one class value is …

我国身家超过亿元的有多少人?

目前我国身家达到亿元以上的人数,从公开数据来看大概有13万人,但如果把那些统计不到的隐形亿万富翁计算在内,我认为至少有20万以上。公开资料显示目前我国亿万富翁人数达到133000人根据胡润2018财富报告显示,目前我国(…

地理空间数据

摘要 (Summary) In this article, using Data Science and Python, I will show how different Clustering algorithms can be applied to Geospatial data in order to solve a Retail Rationalization business case.在本文中,我将使用数据科学和Python演示如何将…

嵌入式系统分类及其应用场景_词嵌入及其应用简介

嵌入式系统分类及其应用场景Before I give you an introduction on Word Embeddings, take a look at the following examples and ask yourself what is common between them:在向您介绍Word Embeddings之前,请看一下以下示例并问问自己它们之间的共同点是什么&…

山东男子5个月刷信用卡1800次,被银行处理后他选择29次取款100元

虽然我国实行的是存款自愿,取款自由的储蓄政策,客户想怎么取款,在什么时候取,取多少钱,完全是客户的权利,只要客户的账户上有钱,哪怕他每次取一毛钱取个100次都是客户的权利。但是明明可以一次性…

深发银行为什么要更名为平安银行?

深圳发展银行之所以更名为平安银行,最直接的原因是平安银行收购了深圳发展银行,然后又以平安集团作为主体,以深圳发展银行的名义收购了平安银行,最后两个人合并之后统一命名为平安银行。深圳发展银行更名为平安银行,大…

高斯过程分类和高斯过程回归_高斯过程回归建模入门

高斯过程分类和高斯过程回归Gaussian processing (GP) is quite a useful technique that enables a non-parametric Bayesian approach to modeling. It has wide applicability in areas such as regression, classification, optimization, etc. The goal of this article i…

假如购买的期房不小心烂尾了,那银行贷款是否可以不还了?

如今房价一路高升,再加上开发商融资难度越来越大,现在很多人都开始打期房的主意。期房不论是对开发商还是对购房者来说都是双赢的,开发商可以以较低的融资成本维持楼盘的开发,提高财务杠杆,而购房者可以较低的价格买房…

在银行存款5000万,能办理一张50万额度的信用卡吗?

拥有一张大额信用卡是很多人梦寐以求的事情,大额信用卡不仅实用,在关键时刻可以把钱拿出来刷卡或者取现,这是一种非常方便的融资方式。然而大额信用卡并不是说谁想申请就可以申请下来,正常情况下,10万以上额度以上的信…

hotelling变换_基于Hotelling-T²的偏最小二乘(PLS)中的变量选择

hotelling变换背景 (Background) One of the most common challenges encountered in the modeling of spectroscopic data is to select a subset of variables (i.e. wavelengths) out of a large number of variables associated with the response variable. It is common …

商业银行为什么大量组织高净值小规模活动?

在管理界有一个非常著名的定律叫做二八定律,所谓28定律就是20%的客户贡献了企业80%的利润。虽然这个定律在银行不一定适用,但同样的道理用于银行营销也是合适的。银行之所以经常组织一些高净值小规模的活动,因为这些客户的资产和价值比较高&a…

在县城投资买一辆出租车,一个月能收入多少钱?

在县城投资出租车能赚多少钱具体要看你是什么县城,比如西部的县城勉强能养活自己,中部的县城一个月能赚个5、6千,东部的小县城月赚个万元以上也有可能。具体回报率怎么样可以先算下投资一个出租车的成本投资一个出租车的构成成本比较多&#…

通过ISO镜像文件安装Ubuntu(可实现默认启动Windows的双系统)

解压文件 使用WinRAR等软件,Ubuntu ISO镜像文件中的casper文件夹解压到硬盘中的任意分区根目录,把ISO镜像也放在那个分区根目录。 使用Grub4dos启动Ubuntu 使用grub4dos启动Ubuntu,menu.lst写法如下。其中root命令指定了硬盘分区编号&#xf…

命名实体识别 实体抽取_您的公司为什么要关心命名实体的识别

命名实体识别 实体抽取Named entity recognition is the task of categorizing text into entities, such as people, locations, and dates. For example, for the sentence, On April 30, 1789, George Washington was inaugurated as the first president of the United Sta…

表达式测试

1111 (parameters) -> { statements; }//求平方 (int a) -> {return a * a;}//打印,无返回值 (int a) -> {System.out.println("a " a);}

有关西电的课程学分相关问题:必修课、选修课、补考、重修、学分

注:最近一年多以来学校的政策改动比较大,听说有选修一旦选了就必须通过,否则视为挂科需要重修的;还有的说是选修课学分够了再多选可能要收费(未经确认,可能只是误传);等各种说法。本…