url訪問網(wǎng)站的整個(gè)過程

在華中科技大學(xué)校園網(wǎng)下,在IE輸入www.taobao.com之后的過程詳解

1.本地過程

  • 若DNS緩存中沒有相關(guān)數(shù)據(jù),則IE瀏覽器先向DNS服務(wù)器發(fā)出DNS請求;

DNS:域名系統(tǒng),有DNS的地方就有緩存,作為域名和IP地址相互隱射的一個(gè)分布式數(shù)據(jù)庫,能使用戶方便訪問互聯(lián)網(wǎng)而不用直接讀取IP數(shù)串

  • 這一過程的目的是獲取www.taobao.com這個(gè)域名所對應(yīng)IP地址;

  • 瀏覽器向本機(jī)DNS模塊發(fā)出DNS請求,DNS模塊生成相關(guān)的DNS報(bào)文

  • DNS模塊將生成的DNS報(bào)告?zhèn)鬟f給傳輸層中的UDP協(xié)議單元

user datagram protocol是開放式系統(tǒng)互聯(lián)模型中一種無連接的傳輸層協(xié)議,全稱是用戶數(shù)據(jù)報(bào)協(xié)議,同熟知的TCP傳輸控制協(xié)議一樣,UDP協(xié)議直接位于網(wǎng)際協(xié)議IP協(xié)議的頂層,提供向失誤的簡單不可靠信息傳送服務(wù)

  • UDP協(xié)議單元將該數(shù)據(jù)封裝成IP數(shù)據(jù)包,傳遞給網(wǎng)絡(luò)層的IP協(xié)議單元

IP協(xié)議定義在網(wǎng)絡(luò)層,是為了計(jì)算機(jī)網(wǎng)絡(luò)相互鏈接進(jìn)行通信而設(shè)計(jì)的協(xié)議,規(guī)定了在網(wǎng)絡(luò)上進(jìn)行通信時(shí)遵守的規(guī)則,例如IP數(shù)據(jù)包組成,路由器如何將IP數(shù)據(jù)包發(fā)送到目的主機(jī)等

  • IP協(xié)議單元將該數(shù)據(jù)封裝成IP數(shù)據(jù)包,其中的IP地址為DNS服務(wù)器的IP地址

  • 封裝好的IP數(shù)據(jù)包將傳遞給數(shù)據(jù)鏈路層的協(xié)議單元進(jìn)行發(fā)送

  • 發(fā)送時(shí)如果ARP緩存中沒有相關(guān)數(shù)據(jù),則發(fā)送ARP廣播請求,等待ARP回復(fù)

ARP緩存表每臺主機(jī)中都有著一張ARP表,記錄著主機(jī)的IP地址和MAC地址的對應(yīng)關(guān)系,ARP協(xié)議是工作在網(wǎng)絡(luò)層的協(xié)議,它負(fù)責(zé)將IP地址解析為MAC地址

  • 得到ARP回復(fù)以后,將IP地址和路由下一條MAC地址對應(yīng)的信息寫入APR緩存表

MAC地址表:交換機(jī)根據(jù)MAC地址表轉(zhuǎn)發(fā)數(shù)據(jù)幀,在交換級中有一張記錄著局域網(wǎng)主機(jī)MAC地址與交換機(jī)接口對應(yīng)關(guān)系的表,交換機(jī)根據(jù)這張表負(fù)責(zé)將數(shù)據(jù)幀傳輸?shù)街付ǖ闹鳈C(jī)上

  • 寫入緩存以后,以路由下一跳地址填充目的MAC地址,并以數(shù)據(jù)幀形式轉(zhuǎn)發(fā)

  • 這個(gè)轉(zhuǎn)發(fā)過程可能會進(jìn)行多次,這取決于DNS服務(wù)器在校園網(wǎng)中的位置

  • DNS請求被發(fā)送到DNS服務(wù)器的數(shù)據(jù)鏈路層協(xié)議單元

數(shù)據(jù)庫鏈路層介于物理層和網(wǎng)絡(luò)層中間,將源于網(wǎng)絡(luò)層的數(shù)據(jù)可靠的傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層

  • DNS服務(wù)器的數(shù)據(jù)庫鏈路層協(xié)議單元解析收到的數(shù)據(jù)幀,將其內(nèi)部所含有 的IP數(shù)據(jù)包傳遞給網(wǎng)絡(luò)層IP協(xié)議單元

  • DNS服務(wù)器的IP協(xié)議單元解析收到的數(shù)據(jù)包,將其內(nèi)部所含有的UDP數(shù)據(jù)傳遞給傳輸層中的UDP協(xié)議單元

  • DNS服務(wù)器中的UDP協(xié)議單元解析收到的UDP數(shù)據(jù)包,將其內(nèi)部的DNS報(bào)文傳遞給該服務(wù)器上的DNS服務(wù)單元

  • DNS服務(wù)單元收到DNS請求,將域名解析為對應(yīng)的IP地址,產(chǎn)生DNS回應(yīng)報(bào)文

  • 所有應(yīng)用層報(bào)文必須通過傳輸層/網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層.因此在以下的敘述中,我將簡化這一過程的敘述,簡化形式如下
    單箭頭表示為本機(jī)內(nèi)部傳遞,雙箭頭為網(wǎng)絡(luò)上的發(fā)送

  • DNS回應(yīng)報(bào)文→UDP→IP→MAC→→請求域名解析的主機(jī);

  • 請求域名解析的主機(jī)手打數(shù)據(jù)幀,該數(shù)據(jù)幀→IP→UDP→DNS→IE瀏覽器

  • 將域名解析的結(jié)果以域名和IP地址對應(yīng)的形式寫入DNS緩存表

2.IE瀏覽器與www.taobao.com建立TCP連接:TCP建立連接的三次握手

  • IE瀏覽器向www.taobao.com發(fā)出TCP連接請求報(bào)文
    該請求TCP報(bào)文中的SYN標(biāo)志位被設(shè)置為1,表示連接請求;

  • 該TCP請求報(bào)文→IP(DNS)→MAC(ARP)→→校園網(wǎng)關(guān)→→www.taobao.com主機(jī);

  • 該TCP請求報(bào)文經(jīng)過IP層時(shí),填入的目的IP地址就是上面DNS過程獲得的IP地址;

  • 經(jīng)過數(shù)據(jù)鏈路層時(shí),若MAC地址不明,還要進(jìn)行上面所敘述的ARP過程;

  • www.taobao.com收到的數(shù)據(jù)幀→IP→TCP,TCP協(xié)議單元會回應(yīng)請求應(yīng)答報(bào)文;

  • 該請求應(yīng)答TCP報(bào)文中的SYN和ACK標(biāo)志位均被設(shè)置為1,表示連接請求應(yīng)答;

  • 該TCP請求應(yīng)答報(bào)文→IP→MAC(ARP)→→校園網(wǎng)關(guān)→→請求主機(jī);

  • 請求主機(jī)收到數(shù)據(jù)幀→IP→TCP,TCP協(xié)議單元會回應(yīng)請求確認(rèn)報(bào)文;

  • 該請求應(yīng)答TCP報(bào)文中的ACK標(biāo)志位被設(shè)置為1,表示連接請求確認(rèn);

  • 該TCP請求確認(rèn)報(bào)文→IP→MAC(ARP)→→校園網(wǎng)關(guān)→→www.taobao.com主機(jī);

  • www.taobao.com收到的數(shù)據(jù)幀→IP→TCP,連接建立完成;

在這個(gè)過程中,任何一個(gè)報(bào)文出錯(cuò)或超時(shí),都要進(jìn)行重傳;
這個(gè)過程被稱為TCP建立連接的三次握手。

3.IE瀏覽器開始HTTP訪問過程

  • IE瀏覽器向www.taobao.com發(fā)出HTTP-GET方法報(bào)文;

  • 該HTTP-GET方法報(bào)文→TCP→IP→MAC→→校園網(wǎng)關(guān)→→www.taobao.com主機(jī);
    www.taobao.com收到的數(shù)據(jù)幀

  • →IP→TCP→HTTP,HTTP協(xié)議單元會回應(yīng)HTTP協(xié)議格式封裝好的HTML超文本形式數(shù)據(jù);

  • HTTP-HTML數(shù)據(jù)→TCP→IP→MAC(ARP)→→校園網(wǎng)關(guān)→→請求主機(jī);

  • 請求主機(jī)收到的數(shù)據(jù)幀→IP→TCP→HTTP→IE瀏覽器,瀏覽器會以網(wǎng)頁形式顯示HTML超文本,就是我們所看到的網(wǎng)頁。

4.斷開TCP連接:TCP斷開連接的四次握手

  • IE瀏覽器向www.taobao.com發(fā)出TCP連接結(jié)束請求報(bào)文;
  • 該請求TCP報(bào)文中的FIN標(biāo)志位被設(shè)置為1,表示結(jié)束請求;
  • 該TCP結(jié)束請求報(bào)文→IP→MAC(ARP)→→校園網(wǎng)關(guān)→→www.taobao.com主機(jī);
  • www.taobao.com收到的數(shù)據(jù)幀→IP→TCP,+ + TCP協(xié)議單元會回應(yīng)結(jié)束應(yīng)答報(bào)文;
  • 該結(jié)束應(yīng)答TCP報(bào)文中的FIN和ACK標(biāo)志位均被設(shè)置為1,表示結(jié)束應(yīng)答;
  • 該TCP結(jié)束應(yīng)答報(bào)文→IP→MAC(ARP)→→校園網(wǎng)關(guān)→→請求主機(jī);
  • 這個(gè)過程需要雙向進(jìn)行,因此www.taobao.com主機(jī)也會按上述流程再做一次,整個(gè)過程被稱為斷開連接的四次握手
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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