乙個完整的網路訪問過程的分析 從計算機網路的角度

2021-07-25 03:40:39 字數 1589 閱讀 4377

首先,我們要明確上網需要的四個引數(本機),分別是:

1、本機的ip位址

2、子網掩碼

3、閘道器的ip位址

4、dns的ip位址

這裡,我以自己的電腦為例(我的電腦用的是配置ip,當然大多數用的都是動態獲取也就是dhcp),截圖如下:

引數解釋:

a、閘道器本質上是乙個網路通向其他網路的ip位址。預設閘道器必須是本網段的ip位址,一般是本網段的第乙個ip。本機ip和子網掩碼相與就得到本網段【網路號】。

b、dns【domainname system網域名稱系統】,網域名稱和ip相互對應對映的分布式資料庫。dns協議執行在udp協議之上,使用53埠。

另外,我們需要明確,建立乙個完整的socket連線需要的5個引數,分別是:

(本機ip,本機埠號,使用的網路協議,要訪問的機器的ip,要訪問機器的埠號)

第一步:確定本機引數(其實上面已經有了),這裡我們通過命令列的方式來獲取,用ipconfig/all(注意:linux系統下使用的是ifconfig)

這裡我們使用dns協議,向dns伺服器傳送資料報,dns伺服器開啟的是53埠(此時5要素都明確了),資料報結構如下:

第五步:應用層

瀏覽器訪問使用的是http協議,構造的資料報如下:

http請求的內容如下:假定其長度為4960個位元組,他會被嵌在tcp資料報之中。

第六步:傳輸層(tcp協議)

tcp資料報需要設定埠,接收方的預設埠是80,本機的埠是乙個隨機生成的1024到65535之間的整數。假定為8888。

tcp資料報的包頭長度為20位元組,加上http資料報,為4980位元組。

第七步:網路層(ip協議)

然後tcp資料報再嵌入ip資料報,ip資料報需設定雙方ip【已知】。ip資料報的頭長度為20位元組,總共是5000位元組

第八步:網際介面層(乙太網協議)

ip資料報嵌入乙太網資料報,乙太網資料報需設定雙方mac位址【已知】,接收方即閘道器mac位址【通過arp協議得到】。

乙太網資料報的資料部分最大為1500位元組,因此ip資料報必須分成4個包,因為每個包都有自己的ip標頭,因此四個包的ip資料報的長度分別是1500,1500,1500,560。

第九步:伺服器響應

這就是從計算機網路角度分析的乙個網路訪問的過程。具體的細節當然還有很多,這些也只能算是乙個大致的過程。

乙個url完整的訪問過程

乙個url完整的訪問過程 iii.資源路徑 question 554991 如果網路位址不是ip位址通過dns網域名稱解析將該系統解析成ip位址 a 開啟瀏覽器,輸入乙個網域名稱 電腦會發出乙個dns請求到本地的伺服器,本地dns服務一般都是你的 網路接入服務商提供,b 查詢www.163.com ...

爬蟲基礎 乙個完整的網路請求過程

平時用的比較多的是瀏覽器,比如瀏覽器去請求乙個 然後 返回資料,這個過程在我們使用時看起來是非常普遍的,這裡來簡單介紹一下它的具體流程。發起乙個慕課網首頁的請求 在瀏覽輸入imooc.com 瀏覽器首先會查詢dns伺服器 查詢網域名稱imooc.com的ip位址 查詢到後,dns伺服器會將ip位址返...

乙個完整的HTTP請求過程

資料在各層之間的傳遞過程 伺服器響應http請求,瀏覽器得到html 瀏覽器解析html 並請求html 中的資源 如js css 瀏覽器對頁面進行渲染呈現給使用者 網域名稱解析 與伺服器建立連線 伺服器響應http請求,瀏覽器得到html 瀏覽器解析html 並請求html 中的資源 如js cs...