????用了一個多周時間看完了《網(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ǔ)知識的書,也值得二刷喜鼓,強烈安利給大家副砍。
推《網(wǎng)絡(luò)是怎樣連接的》
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來链峭,“玉大人畦娄,你說我怎么就攤上這事。” “怎么了熙卡?”我有些...
- 文/不壞的土叔 我叫張陵杖刷,是天一觀的道長。 經(jīng)常有香客問我驳癌,道長挺勿,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任喂柒,我火速辦了婚禮,結(jié)果婚禮上禾嫉,老公的妹妹穿的比我還像新娘灾杰。我一直安慰自己,他們只是感情好熙参,可當我...
- 文/花漫 我一把揭開白布艳吠。 她就那樣靜靜地躺著,像睡著了一般孽椰。 火紅的嫁衣襯著肌膚如雪昭娩。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼霎终,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了升薯?” 一聲冷哼從身側(cè)響起莱褒,我...
- 正文 年R本政府宣布,位于F島的核電站系馆,受9級特大地震影響送漠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜由蘑,卻給世界環(huán)境...
- 文/蒙蒙 一闽寡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尼酿,春花似錦爷狈、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鹿响,卻和暖如春羡微,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惶我。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 文章首發(fā)于個人blog歡迎指正補充,可聯(lián)系lionsom_lin@qq.com原文地址:《網(wǎng)絡(luò)是怎樣連接的》閱讀整...
- 寫在前面的話:在這里我們要學(xué)習(xí)整理的是協(xié)議棧和網(wǎng)卡探索的讀書筆記叉跛,其中的TCP/IP松忍,三次握手,SYN筷厘,ACK鸣峭,A...
- 寫在前面的話,只有你自己知道你是否真的努力了酥艳,不要在看似努力的外表下浪費時間摊溶,表演給別人看,自己的提高才是真的充石。這...
- 2.5 IP與以太網(wǎng)的包收發(fā)操作 包的基本知識 頭部包含目的地址等控制信息莫换,大家可以把它理解為快遞包裹的面單;頭部...