網(wǎng)絡工程師(11):詳解電腦間通信

現(xiàn)在魄鸦,我們已經(jīng)解決了網(wǎng)絡中的基本問題,接下來讓我們討論一下兩臺電腦究竟是怎樣通信的壁顶。

假設(shè)PCA為用戶電腦际乘,PCB為提供web服務的服務器。PCA的IP地址為10.1.1.2衔肢,掩碼255.255.255.0庄岖,網(wǎng)關(guān)10.1.1.1;PCB的IP地址為10.1.4.2角骤,掩碼255.255.255.0隅忿,網(wǎng)關(guān)10.1.4.1。我們來討論PCA訪問PCB的整個過程(各層協(xié)議的封裝內(nèi)容較多邦尊,我們只填寫其中便于我們理解通信的主要內(nèi)容背桐。部分內(nèi)容雖然很重要,但跟我們理解通信關(guān)系不大蝉揍,就不在這里填寫了链峭,比如序號等)。

用戶在PCA上打開瀏覽器又沾,地址欄輸入http://10.1.4.2:80弊仪,http的默認端口號為80熙卡,一般省略不寫,只寫http://10.1.4.2就可以励饵。瀏覽器把此套接字信息向下傳遞給傳輸層TCP協(xié)議(http是基于TCP的)驳癌。

TCP收到應用層的信息后,填寫TCP的“快遞單”曲横,源端口號隨機選取動態(tài)端口號49152~65535中的一個喂柒,假設(shè)為56789,目的端口號為80禾嫉,SYN=1灾杰,把自己設(shè)置為握手請求報文,再向下傳遞給網(wǎng)絡層IP協(xié)議熙参。

“快遞小哥”IP收到后艳吠,填寫“快遞單”,源IP地址填寫10.1.1.2孽椰,目的IP地址填寫10.1.4.2昭娩,協(xié)議號填寫6(表示這份快遞是TCP的,UDP是17)黍匾。此時栏渺,IP協(xié)議發(fā)現(xiàn)源地址與目的地址不在同一個網(wǎng)段,因此需要查找電腦的ARP表中锐涯,有沒有網(wǎng)關(guān)10.1.1.1的MAC地址磕诊,如果沒有,則向網(wǎng)關(guān)發(fā)ARP Request報文請求網(wǎng)關(guān)的MAC地址纹腌,并寫入ARP表中霎终,再向下傳遞給鏈路層的以太網(wǎng)協(xié)議。

鏈路層以太網(wǎng)收到后升薯,填寫以太網(wǎng)封裝莱褒,目的MAC地址填寫網(wǎng)關(guān)的MAC地址MAC_R1,源MAC地址填寫自己的MAC地址MAC_PCA涎劈,Type填寫0x0800(0x表示后面的數(shù)字是十六進制广凸,0800表示快遞是IP給下來的)后,把這些信息用二進制通過線纜傳給了R1责语。

R1收到后炮障,發(fā)現(xiàn)目的MAC是自己的MAC地址,于是拆除以太網(wǎng)封裝坤候,并根據(jù)Type的內(nèi)容0x0800把數(shù)據(jù)交給IP協(xié)議胁赢。

IP協(xié)議收到后,根據(jù)IP封裝中的目的地址10.1.4.2查找路由表白筹,發(fā)現(xiàn)下一跳地址是10.1.2.2智末,此地址與R1的E1/1接口相連谅摄,接口地址是10.1.2.1/24,于是把數(shù)據(jù)包送到接口E1/1系馆,E1/1接口需要把此數(shù)據(jù)包送給對面的10.1.2.2送漠,需要再次封裝為以太網(wǎng)幀才可以傳遞過去,于是查看路由器上ARP表中有沒有10.1.2.2對應的MAC地址由蘑,若沒有闽寡,則從接口E1/1發(fā)送ARP Request請求10.1.2.2的MAC地址并寫入ARP表中。把數(shù)據(jù)包封裝為以太網(wǎng)幀尼酿,源MAC為MAC_R1爷狈,目的MAC為MAC_R2,Type還是0x0800裳擎,發(fā)送給了R2涎永。

R2收到后把剛才R1做的事再做一遍,數(shù)據(jù)被發(fā)給了R3鹿响。

R3收到后羡微,拆除以太網(wǎng)封裝,根據(jù)IP封裝中的目的地址10.1.4.2查找路由表惶我,發(fā)現(xiàn)這個地址與本路由器地址為10.1.4.1/24的接口直連妈倔。把數(shù)據(jù)送到此接口后,查找路由器的ARP表中有沒有10.1.4.2的MAC地址绸贡,若沒有就從接口發(fā)ARP Request請求启涯,然后封裝成以太網(wǎng)幀發(fā)出去。

我們發(fā)現(xiàn)恃轩,路由器如果發(fā)現(xiàn)數(shù)據(jù)封裝中的目的IP地址不是自己接口的,則會根據(jù)路由表送到出接口黎做,然后再封裝為以太網(wǎng)幀發(fā)出去叉跛,并不改變網(wǎng)絡層之上的任何內(nèi)容。也就是說蒸殿,數(shù)據(jù)從源地址發(fā)送到目的地址期間筷厘,沿途所有路由器只會根據(jù)每條鏈路的不同,改變鏈路層封裝宏所,并不改變網(wǎng)絡層之上的任何內(nèi)容酥艳。

從數(shù)據(jù)轉(zhuǎn)發(fā)的角度,路由器工作在鏈路層和網(wǎng)絡層爬骤,并不關(guān)心網(wǎng)絡層之上的東西充石,這也是為什么把路由器歸為三層設(shè)備。同理霞玄,交換機只根據(jù)以太網(wǎng)鏈路層封裝轉(zhuǎn)發(fā)數(shù)據(jù)骤铃,不關(guān)心鏈路層之上的內(nèi)容拉岁,所以交換機也歸為二層設(shè)備。

最后惰爬,我們看看PCB收到后怎么處理喊暖。

PCB收到后,看到目的MAC為MAC_PCB撕瞧,正是自己的陵叽,所以拆除以太網(wǎng)封裝,并根據(jù)Type內(nèi)容交給IP協(xié)議丛版。網(wǎng)絡層IP協(xié)議查看封裝中的目的IP地址為10.1.4.2巩掺,還是自己的IP地址,于是拆除IP封裝硼婿,根據(jù)協(xié)議號6锌半,交給TCP協(xié)議。TCP協(xié)議查看封裝中的目的端口號為80寇漫,查看應用層HTTP進程是否存在刊殉,若不存在,則報Port Unreachable(端口不可達)錯誤州胳,否則本端以56789為目的端口號记焊,80為源端口號,與對端進行三次握手建立TCP連接栓撞,連接建立成功后遍膜,把本機的Web主頁內(nèi)容層層封裝后傳給網(wǎng)關(guān)R3,之后過程與前述基本相同瓤湘,最終到達PCA瓢颅。

于是,PCA的瀏覽器呈現(xiàn)出了精彩的網(wǎng)頁內(nèi)容弛说。


小Q:配置電腦的IP地址信息時挽懦,如果不配置網(wǎng)關(guān)會有什么結(jié)果?

歡迎大家留言討論木人。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末信柿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子醒第,更是在濱河造成了極大的恐慌渔嚷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稠曼,死亡現(xiàn)場離奇詭異形病,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門窒朋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搀罢,“玉大人,你說我怎么就攤上這事侥猩±浦粒” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵欺劳,是天一觀的道長唧取。 經(jīng)常有香客問我,道長划提,這世上最難降的妖魔是什么枫弟? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮鹏往,結(jié)果婚禮上淡诗,老公的妹妹穿的比我還像新娘。我一直安慰自己伊履,他們只是感情好韩容,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唐瀑,像睡著了一般群凶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哄辣,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天请梢,我揣著相機與錄音,去河邊找鬼力穗。 笑死毅弧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的当窗。 我是一名探鬼主播形真,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼超全!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起邓馒,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤嘶朱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后光酣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疏遏,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了财异。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倘零。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖戳寸,靈堂內(nèi)的尸體忽然破棺而出呈驶,到底是詐尸還是另有隱情,我是刑警寧澤疫鹊,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布袖瞻,位于F島的核電站,受9級特大地震影響拆吆,放射性物質(zhì)發(fā)生泄漏聋迎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一枣耀、第九天 我趴在偏房一處隱蔽的房頂上張望霉晕。 院中可真熱鬧,春花似錦捞奕、人聲如沸牺堰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萌焰。三九已至,卻和暖如春谷浅,著一層夾襖步出監(jiān)牢的瞬間扒俯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工一疯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留撼玄,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓墩邀,卻偏偏與公主長得像掌猛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子眉睹,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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