一次web訪問背后的過程

最近這段時間一直在學習計算機網(wǎng)絡(luò)方面的知識洽损,今天書差不多算是看完了,所以想寫一篇文章來給自己這段時間對于計算機網(wǎng)絡(luò)的學習做一個總結(jié)吧吧雹∏妥矗可能會顯得很基礎(chǔ)和啰嗦,主要是初學者泊窘,不要介意熄驼。

我們學生在學校經(jīng)常會用自己的筆記本電腦來上網(wǎng),比如想通過瀏覽器打開百度的主頁烘豹,這個動作看起來很簡單瓜贾,其實背后蘊藏著很多的計算機網(wǎng)絡(luò)方面的知識。

首先我們的電腦為了可以與外網(wǎng)通信携悯,需要獲得自己本機的IP地址祭芦;一臺主機通常直接與一臺路由器連接,該路由器即為該主機的默認路由器(default router)憔鬼,又稱為第一跳路由器(first-hop router)龟劲,每當某主機發(fā)送一個分組時,該分組就被傳送給它的默認路由器轴或,我們將源主機的默認路由器稱為源路由器(source router)昌跌,把目的主機的默認路由器稱為目的路由器(destination router)。(所以一個分組從源主機到目的主機的選路問題顯然可歸結(jié)為從源路由器到目的路由器的選路問題照雁。)所以我們的電腦為了可以與外界通信蚕愤,也需要建立與自己的默認路的連接,此時需要獲得自己默認路由器的地址饺蚊;為了可以瀏覽網(wǎng)頁萍诱,需要DNS域名服務(wù)系統(tǒng),來把網(wǎng)頁地址轉(zhuǎn)換為該網(wǎng)頁所在服務(wù)器的IP地址污呼,為了獲得DNS的服務(wù)裕坊,需要取得本地DNS服務(wù)器的地址。

我們的電腦首先運行的是DHCP(Dynamic host configuration protocol)--動態(tài)主機配置協(xié)議曙求,DHCP協(xié)議使用的傳輸層協(xié)議是UDP碍庵,主機將DHCP請求經(jīng)傳輸層UDP、網(wǎng)絡(luò)層IP以及以太網(wǎng)中802.3協(xié)議的封裝后的幀以廣播的形式(目的地址是全1)發(fā)送到本地局域網(wǎng)中悟狱,然后本地局域網(wǎng)中的DHCP服務(wù)器接收請求静浴,并發(fā)送一個DHCP響應(yīng)給主機,響應(yīng)包括分配給主機的IP地址挤渐,其默認路由器的IP地址苹享,以及DNS服務(wù)器的名字和IP地址。如下圖所示,是主機與本地DHCP服務(wù)器通信的示意圖得问。

此時我們的電腦主機已經(jīng)獲得了自己的IP地址囤攀、默認路由器的IP地址以及DNS服務(wù)器的IP地址和名字。在我們發(fā)送HTTP請求的時候需要先獲得網(wǎng)址:www.baidu.com所在服務(wù)器的IP地址宫纬,這樣我們才可以跟該web服務(wù)器通信焚挠,發(fā)送HTTP請求。此時就需要運行DNS協(xié)議漓骚,向DNS服務(wù)器發(fā)送請求蝌衔,當主機把DNS請求經(jīng)UDP、IP封裝成網(wǎng)絡(luò)層的IP數(shù)據(jù)包以后蝌蹂,到鏈路層都是利用MAC地址而非IP地址在交換機噩斟、路由器等之間進行轉(zhuǎn)發(fā)的,但是主機現(xiàn)在只知道DNS服務(wù)器的IP地址孤个,而不知道DNS服務(wù)器的MAC地址剃允,此時需要運行網(wǎng)絡(luò)層的ARP(Address Resolution Protocol)-地址解析協(xié)議,根據(jù)IP地址獲取物理地址(MAC地址)齐鲤。而且在鏈路層中源和目的MAC地址都是相鄰兩個鏈路中適配器的MAC地址斥废,所以主機利用ARP協(xié)議向整個局域網(wǎng)發(fā)出ARP請求的廣播幀,然后默認路由器接收幀并把ARP響應(yīng)幀回送給主機佳遂,ARP響應(yīng)幀包括路由器接口的MAC地址营袜。

此時主機算是知道了默認路由器的MAC地址,可以把DNS請求幀發(fā)送到默認路由器上丑罪。接著路由器從接收的幀中把IP數(shù)據(jù)包取出來,然后根據(jù)目的IP地址把該數(shù)據(jù)包從校園網(wǎng)發(fā)送到外網(wǎng)上凤壁,然后經(jīng)過多個路由器的轉(zhuǎn)發(fā)最終到達DNS服務(wù)器吩屹,路由器根據(jù)轉(zhuǎn)發(fā)表來轉(zhuǎn)發(fā)該數(shù)據(jù)包,其中的轉(zhuǎn)發(fā)表是根據(jù)各種選路算法拧抖、選路協(xié)議來確定的煤搜,其中包括RIP,OSPF唧席、IS-IS以及BGP等協(xié)議擦盾。DNS服務(wù)器一層層拆解數(shù)據(jù)包,最終得到DNS的請求淌哟,然后DNS服務(wù)器再回送一個DNS響應(yīng)迹卢,響應(yīng)含有域名www.baidu.com的web服務(wù)器的IP地址,然后也是相似的經(jīng)運輸層徒仓、網(wǎng)絡(luò)層腐碱、鏈路層和物理層到達主機的默認路由器,最終到達主機掉弛。

當知道了web服務(wù)器的IP地址以后症见,主機就可以發(fā)送HTTP請求了喂走,HTTP協(xié)議所使用的運輸層協(xié)議是TCP,TCP連接建立需要三次握手谋作,第一次握手:客戶機到服務(wù)器的SYN芋肠、seq=x;第二次握手:服務(wù)器到客戶機的SYN遵蚜、ACK帖池、ack=x+1、seq=y和第三次握手:客戶機到服務(wù)器的ACK谬晕、seq=x+1碘裕、ack=y+1,客戶機在第三次握手時就把數(shù)據(jù)發(fā)送給服務(wù)器了攒钳,此時TCP連接已經(jīng)建立帮孔。

客戶機把HTTP請求發(fā)送到TCP socket中,當包含該HTTP請求的TCP數(shù)據(jù)段到達web服務(wù)器以后不撑,服務(wù)器回送一個帶有HTTP響應(yīng)(網(wǎng)頁內(nèi)容)的TCP數(shù)據(jù)段給主機文兢,主機從TCP數(shù)據(jù)段中取出HTTP響應(yīng),然后交付給響應(yīng)的socket端口焕檬,瀏覽器最終讀取并解釋和渲染該網(wǎng)頁最終顯示在主機屏幕上姆坚。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市实愚,隨后出現(xiàn)的幾起案子兼呵,更是在濱河造成了極大的恐慌,老刑警劉巖腊敲,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件击喂,死亡現(xiàn)場離奇詭異,居然都是意外死亡碰辅,警方通過查閱死者的電腦和手機懂昂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來没宾,“玉大人凌彬,你說我怎么就攤上這事⊙ィ” “怎么了铲敛?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長羹蚣。 經(jīng)常有香客問我原探,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任咽弦,我火速辦了婚禮徒蟆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘型型。我一直安慰自己段审,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布闹蒜。 她就那樣靜靜地躺著寺枉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绷落。 梳的紋絲不亂的頭發(fā)上姥闪,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音砌烁,去河邊找鬼筐喳。 笑死,一個胖子當著我的面吹牛函喉,可吹牛的內(nèi)容都是我干的避归。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼管呵,長吁一口氣:“原來是場噩夢啊……” “哼梳毙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捐下,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤账锹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坷襟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牌废,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年啤握,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晶框。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡排抬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出授段,到底是詐尸還是另有隱情蹲蒲,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布侵贵,位于F島的核電站届搁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卡睦,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一宴胧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧表锻,春花似錦恕齐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至确镊,卻和暖如春士骤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蕾域。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工拷肌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人束铭。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓廓块,卻偏偏與公主長得像,于是被迫代替她去往敵國和親契沫。 傳聞我的和親對象是個殘疾皇子带猴,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)懈万,斷路器拴清,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 1.這篇文章不是本人原創(chuàng)的,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的会通,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,065評論 6 174
  • 個人認為口予,Goodboy1881先生的TCP /IP 協(xié)議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評論 0 8
  • 西藏是我一直以來的夢想涕侈。趁著假期終于可以去西藏完成夢想了沪停!喜歡西藏的朋友可以關(guān)注我。隨我一起去感受西藏的無限風光裳涛!...
    孫家二小姐閱讀 555評論 0 1
  • 郭相麟 在喜悅與失望中 看事事無常 所思所想 不是想象中的簡單 而是想要的復雜 有時所謂的承諾 不過是浮華的表象 ...
    郭相麟閱讀 235評論 0 0