你們好,給你們介紹一下,我是一個字節。相比於大家人類聽說即將達到的百歲人生的壽命,個人一輩子簡直不直一提(我只能存活零點幾個毫秒)。html
也許只有那些碼農纔會瞭解我,並且也只有一部分碼農。那些成天作業務的猿們想來也不會真正的瞭解我,更別提人類其餘行業的人了。chrome
我不甘心,雖然我微不足道,可是我對人類的貢獻實在是太大了。沒有個人世界根本沒法想像:不能聽網易雲音樂,不能刷抖音,不能上拼多多,全部和網絡相關的活動都沒法進行。segmentfault
因此,今天我要講講個人一輩子,讓更多的人知道個人存在,知道個人故事,也爲證實本身曾經存在過吧。瀏覽器
個人主人是一個在西二旗知名互聯網公司上班的程序猿,過着1095(注:早10點晚9點,一週5天工做)的生活,不多能在晚霞中回家,天然也說不出「落霞與孤鶩齊飛」那樣的句子。安全
這一天,他9點半到家,第一件事打開電腦,熟練地啓動chrome瀏覽器,在地址欄敲下一個z
字符,我全部的故事就從這裏開始。服務器
當主人按下鍵盤上的z
鍵時,系統了產生一箇中斷信號,通知CPU過來讀取鍵盤輸入,CPU讀取到z
後,將z
發送給chrome瀏覽器, chrome收到後,將z
顯示到瀏覽器的地址欄上,同時後臺搜索主人平時訪問過的地址,排名第一的https://www.zhihu.com/
被快速補全了。cookie
這時主人熟練地按下了回車鍵,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屏幕上。
個人主人點開第一話題後,看了一下子。而後瞅到了到植髮廣告,他偷偷地開啓了隱身模式,仔細地研究了起來……
第一次嘗試這種題材的文章,供你們一樂!有寫得不到位的地方,歡迎你們補充!
另外,推薦你們去看《網絡是怎樣鏈接的》,看完能夠造成對網絡的總體印象。寫得很是好!