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

61、探索计算机的内部世界:从比特到字节的奇妙之旅 本文深入探讨了计算机的基本原理,从比特和字节的基础知识到CPU内部结构,包括算术逻辑单元(ALU)、控制单元、时钟同步等核心概念。同时介绍了程序控制、中断系统、外设接口以及磁盘存储的工作机制,并展望了计算机技术的未来发展趋势,如量子计算和人工智能。 阅读详情

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

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

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

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

640?wx_fmt=png
1
640?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=png
2
640?wx_fmt=png

上路

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

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

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

Chrome老大哥跑到 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敞篷车载着他们回来的。

Chrome老大哥在车间接见了这些兄弟,非常感动。因为他们带回了 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=png
3
640?wx_fmt=png

新生

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

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

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

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

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

640?wx_fmt=png
4
640?wx_fmt=png

归家

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

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

640?wx_fmt=png
5
640?wx_fmt=png

定格

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

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

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

640?wx_fmt=png
6
640?wx_fmt=png

后记

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

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

吐血总结《Mysql从入门到入魔》,图文并茂 文章目录1. 查询1.1 查询多列1.2 检索唯一值1.3 限制输出1.4 注释2. ORDER BY 排序2.1 单列排序3.2 多列排序3.3 指定排序方向4. WHERE 过滤数据4.1 WHERE 子句操作符4.2 范围值检查4.3 空值检查5. 高级数据过滤5.1 WHERE 组合过滤5.2 IN 操作符5.3 NOT 操作符6. 通配符过滤6.1 % 通配符6.2 _ 通配符7. 创建计算字段7.1 计算字段7.2 拼接字段7.3 执行算数计算8. 函数8.1 常用文本处理函数8.2 日期和时间 阅读详情

相关推荐

虚拟化Esxi 和 华为交换机--配置链路捆绑

在这种模式下,Eth-Trunk的建立和成员接口的加入都需要手工配置,没有LACP协议的参与。● 在没有配置802.3ad聚合时,启用基于IP哈希的路由将中断网络,因此必须先对虚拟交换机进行更改。再去修改交换机的链路聚合模式(交换机配置为手动模式的链路聚合)当服务器需要通过交换机从远端服务器获取配置文件后才可以启动链路聚合时,交换机的链路聚合口需要配置lacp force-forward。● 交换机必须设置手动模式的链路聚合,虚拟交换机的负载平衡方法必须设置为基于IP哈希的路由。

ling 2117

Java逆向工程从字节码到源码的奇妙之旅

每一次成功的逆向,都是对人类智慧的一次致敬,是对计算机科学深层理解的一次升华。这些工具通过分析字节码的控制流、数据类型和方法调用,尝试重建原始的代码结构。这是一场从字节码到源代码的奇妙旅程,如同考古学家从残破的陶片还原完整的陶器,程序员通过逆向工程,试图还原那些被编译成字节码的Java程序的原始面貌。特别是在面对经过混淆处理的代码时,逆向工程师需要发挥创造力,通过上下文推断变量和方法的真实含义,逐步还原程序的逻辑。这场从字节码到源代码的旅程,永远充满着挑战与惊喜,等待着更多勇敢的探索者去发现其中的奥秘。

lScHjaiY的博客 352

opencv简单小项目

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。要开始一个OpenCV项目,你需要安装OpenCV库,这通常可以通过Python的pip包管理器完成。替换为你要加载的图像的实际路径。这个例子展示了OpenCV项目的基本结构,你可以在此基础上添加更多的图像处理功能。如果你需要更详细的指导或代码示例,请告诉我你的具体需求。

youyouxiong的博客 972

《凤凰项目——一个IT运维传奇故事》关于运维员的那些事

欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图.

WQ_IT2013的博客 1298

Rancher操作手册(v2.7.5-rc1)

选择需要创建ingress的命名空间 ==》填写ingress名称 ==》在“规则”一栏,选择“Prefix” ==》输入访问路径 ==》选择访问路径对应的service ==》如果需要继续添加访问路径,点击“添加路径”,重复前面的步骤即可。选择需要创建Deployment的命名空间 ==》填写Deployment名称 ==》选择通用 ==》填写容器名称 ==》填写镜像 ==》选择镜像的拉取密文 ==》点击添加端口或Service。点击左侧菜单栏的集群里的“项目/命名空间”,点击右下角的“创建命名空间”。

weixin_60197334的博客 5573

【VisionMaster】图像源模块之本地图像

图像采集之图像源

zhy29563 6962

运维的烦恼

      这是一位国外的IT运维人员写的文章,您看了以后可能会发现,您也遇到过很多类似的事情。可见,IT运维人员的烦心事儿是不分国籍的,他们存在于世界的各个角落,世界上所有的IT运维人员都在面对着共同的问题。所以,51CTO才曾经发出了类似“网管需要在困难中成长”的声音。以下是这位外籍IT运维主管发出的牢骚和口水。我在IT部门已经打拼了几十年,有趣的是,无论技术怎样进步,技术支持工作大体上还是老

Life 1820

virtuoso--DFF

27-实验课-std_cell2

qq_61440044的博客 2007
上一篇: 一种简单易懂的 MyBatis 分库分表方案
下一篇: 阿里巴巴 Nacos 分布式配置中心原理
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值