推《網(wǎng)絡(luò)是怎樣連接的》

????用了一個多周時間看完了《網(wǎng)絡(luò)是怎樣連接的》狱杰,感覺寫的非常好,推薦一下并來寫寫書評,準備有時間把戶根勤先生的《計算機是怎樣跑起來的》和《程序是怎樣跑起來的》也讀讀士聪。
????這本書以一個探索之旅開始遮婶,用比較易懂的語言講述了從在瀏覽器中輸入網(wǎng)址開始蝗碎,一路追蹤到顯示出網(wǎng)頁內(nèi)容為止的整個過程,覆蓋了網(wǎng)絡(luò)的全貌旗扑。用書中的觀點蹦骑,如果只是講解TCP/IP、以太網(wǎng)這些單獨的技術(shù)臀防,讀者無法理解網(wǎng)絡(luò)技術(shù)背后的本質(zhì)意義眠菇;而如果無法理解其本質(zhì)意義边败,就只能停留在死記硬背的程度,無法做到實際應(yīng)用捎废。所以該書重點介紹了實際的網(wǎng)絡(luò)設(shè)備和軟件是如何工作的笑窜。
????接下來我來回顧總結(jié)一下這個過程。
????首先從用戶在瀏覽器中輸入網(wǎng)址(URL)開始登疗,例如當我們輸入http://www.baidu.com排截,然后按下回車鍵后,瀏覽器就會按照一定的規(guī)則去分析這個網(wǎng)址的含義谜叹,然后根據(jù)其含義生成請求消息匾寝,但是瀏覽器并不會親自負責將數(shù)據(jù)傳送給web服務(wù)器,而是會委托操作系統(tǒng)中的網(wǎng)絡(luò)控制軟件將消息發(fā)送給服務(wù)器荷腊。具體來說艳悔,瀏覽器解析用戶輸入的網(wǎng)址的含義,將生成的HTTP消息轉(zhuǎn)交給Socket庫女仰,Socket庫將收到的HTTP消息作為數(shù)據(jù)轉(zhuǎn)交給協(xié)議棧猜年。
????到達協(xié)議棧后,協(xié)議棧會對從瀏覽器接收到的消息打包疾忍,然后加上目的地址等控制信息乔外。接著協(xié)議棧將打包好的包交給網(wǎng)卡(負責以太網(wǎng)或無線網(wǎng)絡(luò)通信的硬件)然后網(wǎng)卡會將包轉(zhuǎn)換為電信號并通過網(wǎng)線發(fā)送出去,這樣這個包就進入到了網(wǎng)絡(luò)之中一罩。協(xié)議棧中又有TCP(需要連接)杨幼、UDP(不需要連接)、IP(傳送網(wǎng)路包聂渊、確定路由)差购。具體來說TCP按照網(wǎng)絡(luò)包的長度對數(shù)據(jù)進行拆分,在每個包前面加上TCP頭部并轉(zhuǎn)交給IP汉嗽,IP在TCP包前面加上IP頭部欲逃,然后查詢MAC地址,并加上MAC頭部饼暑,然后將包轉(zhuǎn)交給網(wǎng)卡驅(qū)動稳析,網(wǎng)卡驅(qū)動收到IP發(fā)來的包,將其轉(zhuǎn)交給網(wǎng)卡并發(fā)出發(fā)送指令弓叛,網(wǎng)卡檢查以太網(wǎng)的可發(fā)送狀態(tài)彰居,將包轉(zhuǎn)換成電信號通過雙絞線發(fā)送出去。當然撰筷,協(xié)議棧還有其他的功能:當發(fā)生通信錯誤時重新發(fā)送包陈惰,或者調(diào)節(jié)數(shù)據(jù)發(fā)送的速率。
????假設(shè)客戶端計算機是連接到家庭或公司的局域網(wǎng)中闭专,然后再通過ADSL和光纖到戶(FTTH)等寬帶線路接入互聯(lián)網(wǎng)奴潘。在此場景下,網(wǎng)卡發(fā)送的包會經(jīng)過交換機等設(shè)備影钉,到達用來接入互聯(lián)網(wǎng)的路由器画髓。路由器的后面就是互聯(lián)網(wǎng),網(wǎng)絡(luò)運營商會負責將包送到目的地平委。具體來說奈虾,信號通過雙絞線到達集線器,集線器將信號廣播到所有端口廉赔,這樣信號便到達交換機肉微,交換機根據(jù)收到的包的接收方MAC地址查詢自身的地址表找到輸出端口,并將包轉(zhuǎn)發(fā)到輸出端口蜡塌。
????互聯(lián)網(wǎng)的入口線路稱為接入網(wǎng)碉纳,數(shù)據(jù)從用來入互聯(lián)網(wǎng)的路由器出發(fā),進入到互聯(lián)網(wǎng)的內(nèi)部馏艾。在互聯(lián)網(wǎng)的骨干網(wǎng)中劳曹,存在很多運營商和大量的路由器,進入互聯(lián)網(wǎng)的網(wǎng)絡(luò)包就在其中經(jīng)過若干路由器的大接力琅摩,最終被發(fā)送到目標web服務(wù)器铁孵。具體來說,互聯(lián)網(wǎng)接入路由器根據(jù)收到的包的接收方IP地址查詢自身的路由表找到輸出端口房资,并將包轉(zhuǎn)發(fā)到輸出端口蜕劝。經(jīng)過互聯(lián)網(wǎng)接入路由后,輸出到互聯(lián)網(wǎng)中的包帶有了PPPoE頭部和PPP頭部轰异,然后ADSL Modem將收到的包拆分成ATM信元并將其轉(zhuǎn)換成電信號后通過電話線發(fā)送出去岖沛,ADSL Modem發(fā)送出去的信號經(jīng)過電線桿上的電話線到達電話局的DSLAM(局端多路Modem),DSLAM將收到的電信號還原成ATM信元并發(fā)送給BAS(寬帶接入服務(wù)器)溉浙,BAS將ATM信元還原成網(wǎng)絡(luò)包并加上L2TP頭部烫止,根據(jù)接收方IP地址進行轉(zhuǎn)發(fā),網(wǎng)絡(luò)包通過隧道到達位于隧道出口的隧道路由器戳稽,L2TP頭部和PPP頭部均被丟棄馆蠕,通過互聯(lián)網(wǎng)流向web服務(wù)器。
????通過了骨干網(wǎng)后惊奇,網(wǎng)絡(luò)包最終到達了web服務(wù)器所在的局域網(wǎng)中互躬,接下來它要接受防火墻的檢查,通過防火墻的檢查后颂郎,網(wǎng)絡(luò)包可能還會遇到緩存服務(wù)器和負載均衡器吼渡,如果用戶請求的頁面已經(jīng)緩存在服務(wù)器上,則代替服務(wù)器向用戶返回頁面數(shù)據(jù)乓序。如果請求的頁面沒有被緩存寺酪,緩存服務(wù)器會將請求轉(zhuǎn)發(fā)給web服務(wù)器坎背。經(jīng)過這些機制后,網(wǎng)絡(luò)包才會到達web服務(wù)器寄雀。
????當網(wǎng)絡(luò)包到達web服務(wù)器后得滤,數(shù)據(jù)會被解包并還原為原始的請求消息,然后交給web服務(wù)器程序盒犹。web服務(wù)器收到包后懂更,網(wǎng)卡和網(wǎng)卡驅(qū)動會接收這個包并轉(zhuǎn)交給協(xié)議棧,協(xié)議棧依次檢查IP頭部和TCP頭部急膀,如果沒有問題則取出HTTP消息的數(shù)據(jù)塊并進行組裝沮协。HTTP消息被恢復(fù)成原始形態(tài),然后通過Socket庫轉(zhuǎn)交給web服務(wù)器卓嫂,web服務(wù)器分析HTTP消息的內(nèi)容慷暂,并根據(jù)請求內(nèi)容將讀取的數(shù)據(jù)返回給客戶端。響應(yīng)消息回到客戶端的過程就和之前的過程相反了晨雳。
????當響應(yīng)消息到達客戶端之后呜呐,瀏覽器會從中讀取的網(wǎng)頁的數(shù)據(jù)并在屏幕上顯示出來。到此悍募,訪問web服務(wù)器的一系列操作就全部完成了蘑辑。整本書就是這樣原原本本的把這個過程呈現(xiàn)出來,講解的過程不乏形象的比喻坠宴,整本書也沒有太晦澀難懂的語言洋魂,是一本非常不錯的講解網(wǎng)絡(luò)基礎(chǔ)知識的書,也值得二刷喜鼓,強烈安利給大家副砍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市庄岖,隨后出現(xiàn)的幾起案子豁翎,更是在濱河造成了極大的恐慌,老刑警劉巖隅忿,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件心剥,死亡現(xiàn)場離奇詭異,居然都是意外死亡背桐,警方通過查閱死者的電腦和手機优烧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來链峭,“玉大人畦娄,你說我怎么就攤上這事。” “怎么了熙卡?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵杖刷,是天一觀的道長。 經(jīng)常有香客問我驳癌,道長挺勿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任喂柒,我火速辦了婚禮,結(jié)果婚禮上禾嫉,老公的妹妹穿的比我還像新娘灾杰。我一直安慰自己,他們只是感情好熙参,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布艳吠。 她就那樣靜靜地躺著,像睡著了一般孽椰。 火紅的嫁衣襯著肌膚如雪昭娩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天黍匾,我揣著相機與錄音栏渺,去河邊找鬼。 笑死锐涯,一個胖子當著我的面吹牛磕诊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纹腌,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼霎终,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了升薯?” 一聲冷哼從身側(cè)響起莱褒,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涎劈,沒想到半個月后广凸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蛛枚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年炮障,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤候。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡胁赢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出白筹,到底是詐尸還是另有隱情智末,我是刑警寧澤谅摄,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站系馆,受9級特大地震影響送漠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜由蘑,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一闽寡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尼酿,春花似錦爷狈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鹿响,卻和暖如春羡微,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惶我。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工妈倔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绸贡。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓启涯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親恃轩。 傳聞我的和親對象是個殘疾皇子结洼,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容