大家好,给大家介绍一下,我是一个字节。相比于你们人类据说即将达到的百岁人生的寿命,我的一生简直不直一提(我只能存活零点几个毫秒)。
也许只有那些码农才会了解我,而且也只有一部分码农。那些整天做业务的猿们想来也不会真正的了解我,更别提人类其他行业的人了。
我不甘心,虽然我微不足道,但是我对人类的贡献实在是太大了。没有我的世界根本无法想像:不能听网易云音乐,不能刷抖音,不能上拼多多,所有和网络相关的活动都无法进行。
所以,今天我要讲讲我的一生,让更多的人知道我的存在,知道我的故事,也为证明自己曾经存在过吧。
诞生
我的主人是一个在西二旗知名互联网公司上班的程序猿,过着1095(注:早10点晚9点,一周5天工作)的生活,很少能在晚霞中回家,自然也说不出“落霞与孤鹜齐飞”那样的句子。
这一天,他9点半到家,第一件事打开电脑,熟练地启动chrome浏览器,在地址栏敲下一个z
字符,我所有的故事就从这里开始。
当主人按下键盘上的z
键时,系统了产生一个中断信号,通知CPU过来读取键盘输入,CPU读取到z
后,将z
发送给chrome浏览器, chrome收到后,将z
显示到浏览器的地址栏上,同时后台搜索主人平时访问过的地址,排名第一的https://www.zhihu.com/
被快速补全了。
这时主人熟练地按下了回车键,chrome收到指令后,进行了一顿操作,在这电光火石之间,我诞生了,同时诞生的还有我的字节兄弟们。
上路
话说Chorme老大哥
接收到了URL后,首先拆解成自己能看懂的东西。https://www.zhihu.com
会被拆解成三部分:https
、www.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专车
的车牌。很快就放行了,虚惊一场!
新生
到了终点站后,列车首先停下接受工作人员的检查。列车长出示了他手里的表,对了一下表上标注的下一站地址确实是:知乎。接着又看了下列车头部标注的ip地址,就算检查通过了,第一关很轻松。
接下来,我们坐的TCP专车
开下列车了。进了一个TCP车牌检查站
,工作人员看了下车牌号80, 也挥手示意我们通过。
接着我们都下车走进了主页车间
,进去后,我们先按我们身上的标号排好了位置,工作人员将我们每个人所代表的信息进行了聚拢。得到了各种关于主人的信息,比如他所用的浏览器的版本,cookie等等信息,我知道,我们的使命完成了。果然,一道光闪过,我们都消失了,完成了我们光荣的一生。
主页车间
领导马上下达生产命令:1组去仓库拉取最新话题,2组去商业中心获取今天的广告主信息……
很快,各组都完成了任务,车间在一阵轰鸣过后,新的一批字节兄弟诞生了,他们带着这些话题、广告信息,和我们当年出生的时候一样,熙熙攘攘。但是我知道,我获得了新生。
归家
像我们当年一样,这些新出生的字节兄弟依次坐上了TCP专车
,IP列车
一路跋涉,去往我出发的地方,那是我梦开始的地方。
我所经历的,他们未曾少过一分。
定格
Chrome老大哥
终于等来了这些字节兄弟,在他们排好队后,老大哥看清了字节兄弟们代表的内容:话题如何在西二旗地铁优雅地装逼
,热度10w, 广告上午植发,下午上班
……
这些是Chrome老大哥
最擅长的事情,分分钟将他们显示在了网页上。字节兄弟们终于完成了使命,定格在了retina屏幕上。
我的主人点开第一话题后,看了一会儿。然后瞅到了到植发广告,他偷偷地开启了隐身模式,仔细地研究了起来……
后记
第一次尝试这种题材的文章,供大家一乐!有写得不到位的地方,欢迎大家补充!
原文出处: https://www.cnblogs.com/qcrao-2018/p/10338706.html
作者:Stefno
共同学习,写下你的评论
评论加载中...
作者其他优质文章