綜述網絡訪問的整個過程(轉)

假設訪問新浪主頁。

1.若DNS緩存中沒有相關數據,則IE瀏覽器先向DNS服務器發出DNS請求:這一過程的目的是獲取www.sina.com這個域名所對應的IP地址;IE瀏覽器向本機DNS模塊發出DNS請求,DNS模塊生成相關的DNS報文;DNS模塊將生成的DNS報文傳遞給傳輸層的UDP協議單元;UDP協議單元將該數據封裝成UDP數據報,傳遞給網絡層的IP協議單元;IP協議單元將該數據封裝成IP數據包,其中目的IP地址為DNS服務器的IP地址;封裝好的IP數據包將傳遞給數據鏈路層的協議單元進行發送;發送時如果ARP緩存中沒有相關數據,則發送ARP廣播請求,等待ARP回應;得到ARP回應后,將IP地址與路由下一跳MAC地址對應的信息寫入ARP緩存表;寫入緩存后,以路由下一跳地址填充目的MAC地址,并以數據幀形式轉發;這個轉發過程可能會進行多次,這取決于DNS服務器在校園網中的位置;DNS請求被發送到DNS服務器的數據鏈路層協議單元;DNS服務器的數據鏈路層協議單元解析收到的數據幀,將其內部所含有的IP數據包傳遞給網絡層IP協議單元;DNS服務器的IP協議單元解析收到的IP數據包,將其內部所含有的UDP數據報傳遞給傳輸層的UDP協議單元;DNS服務器的UDP協議單元解析收到的UDP數據包,將其內部所含有的DNS報文傳遞給該服務器上的DNS服務單元;DNS服務單元收到DNS請求,將域名解析為對應的IP地址,產生DNS回應報文;(所有應用層報文必須通過傳輸層、網絡層和數據鏈路層,因此在下面的敘述中,我將簡化這一過程的敘述,簡化形式如下面的樣子,其中單箭頭為本機內部傳遞,雙箭頭為網絡上的發送)DNS回應報文→UDP→IP→MAC→→請求域名解析的主機;請求域名解析的主機收到數據幀,該數據幀→IP→UDP→DNS→IE瀏覽器;將域名解析的結果以域名和IP地址對應的形式寫入DNS緩存表。

2.IE瀏覽器與www.sina.com.cn建立TCP連接:IE瀏覽器向www.sina.com.cn發出TCP連接請求報文;該請求TCP報文中的SYN標志位被設置為1,表示連接請求;該TCP請求報文→IP(DNS)→MAC(ARP)→→校園網關→→www.sina.com.cn主機;該TCP請求報文經過IP層時,填入的目的IP地址就是上面DNS過程獲得的IP地址;經過數據鏈路層時,若MAC地址不明,還要進行上面所敘述的ARP過程;www.sina.com.cn收到的數據楨→IP→TCP,TCP協議單元會回應請求應答報文;該請求應答TCP報文中的SYN和ACK標志位均被設置為1,表示連接請求應答;該TCP請求應答報文→IP→MAC(ARP)→→校園網關→→請求主機;請求主機收到數據幀→IP→TCP,TCP協議單元會回應請求確認報文;該請求應答TCP報文中的ACK標志位被設置為1,表示連接請求確認;該TCP請求確認報文→IP→MAC(ARP)→→校園網關→→www.sina.com.cn主機;www.sina.com.cn收到的數據幀→IP→TCP,連接建立完成;在這個過程中,任何一個報文出錯或超時,都要進行重傳;這個過程被稱為TCP建立連接的三次握手。

3.IE瀏覽器開始HTTP訪問過程IE瀏覽器向www.sina.com.cn發出HTTP-GET方法報文;該HTTP-GET方法報文→TCP→IP→MAC→→校園網關→→www.sina.com.cn主機;www.sina.com.cn收到的數據幀→IP→TCP→HTTP,HTTP協議單元會回應HTTP協議格式封裝好的HTML超文本形式數據;HTTP-HTML數據→TCP→IP→MAC(ARP)→→校園網關→→請求主機;請求主機收到的數據幀→IP→TCP→HTTP→IE瀏覽器,瀏覽器會以網頁形式顯示HTML超文本,就是我們所看到的網頁。

4.斷開TCP連接IE瀏覽器向www.sina.com.cn發出TCP連接結束請求報文;該請求TCP報文中的FIN標志位被設置為1,表示結束請求;該TCP結束請求報文→IP→MAC(ARP)→→校園網關→→www.sina.com.cn主機;www.sina.com.cn收到的數據幀→IP→TCP,TCP協議單元會回應結束應答報文;該結束應答TCP報文中的FIN和ACK標志位均被設置為1,表示結束應答;該TCP結束應答報文→IP→MAC(ARP)→→校園網關→→請求主機;這個過程需要雙向進行,因此www.sina.com.cn主機也會按上述流程再做一次;整個過程被稱為TCP斷開連接的四次握手。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 個人認為,Goodboy1881先生的TCP /IP 協議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,091評論 0 8
  • 1.這篇文章不是本人原創的,只是個人為了對這部分知識做一個整理和系統的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,132評論 6 174
  • 引 打開瀏覽器,在地址欄輸入URL,回車,出現網站內容。這是我們幾乎每天都在做的事,那這個過程中到底是什么原理呢?...
    Cloudox_閱讀 2,937評論 0 1
  • 在華中科技大學校園網下,在IE輸入www.taobao.com之后的過程詳解 1.本地過程 若DNS緩存中沒有相關...
    DecadeHeart閱讀 6,245評論 0 4
  • 1. 基礎知識 1.1 3種常見的計算機體系結構劃分 OSI分層(7層):物理層、數據鏈路層、網絡層、傳輸層、會話...
    Mr希靈閱讀 19,942評論 6 120