誰知道那種網站(輸入www)

目錄一、面試真題二、面試官心理分析三、面試題剖析1、面試題用瀏覽器請求一個鏈接的時候,經歷瞭哪些過程(DNS解析過程)?2、面試官心裡分析這個問題,其實就是跟之前的那個一樣,他就是考察考察你的基本功,看你對基本的網絡通信知識有沒有瞭解。而且話說回來,考察一個人的基本功,就這個問題應該是相當經典和直接的一個問題,你理解清楚瞭,那麼網絡通信這塊的一些基本概念,你基本都瞭解瞭。3、面試題剖析如果你閱讀過昨天發佈文章,就應該知道網絡七層模型大概都是怎麼回事瞭,然後四層模型其實就是會話層、表示層和應用層,合並為瞭一個應用層,同時沒把物理層算在內並且我們也大概知道每一層的協議和作用,網絡通信的時候都是怎麼回事瞭,現在我們來看看假設通過瀏覽器發送一個請求,你訪問到那個網站對應的機器,然後人傢再給你一個響應的全過程。現在我們先假設,我們給電腦設置瞭幾個東西:ip地址:192.168.31.37子網掩碼:255.255.255.0網關地址:192.168.31.1DNS地址:8.8.8.8這時,我們打開一個瀏覽器,請求www.baidu.com地址,這個時候找DNS服務器,DNS服務器解析域名之後,返回一個ip地址,比如172.194.26.108。接著會判斷兩個ip地址是不是一個子網的,用子網掩碼255.255.255.0,對兩個ip地址做與運算,拿到192.168.31.0和172.194.26.0,明顯不是一個子網的。如圖:那就得發送一個數據包給網關,其實你就認為是我們的路由器吧,就是192.168.31.1,而且我們是可以拿到網關ip地址的mac地址的,現在我們從應用層出發,通過瀏覽器訪問一個網站,是走應用層的http協議的,並且要把瀏覽器發出的請求打包成數據包,要把哪些東西給放到數據包中去呢?http協議分為幾個部分:請求方法+URL地址+http版本比如GEThttp://172.194.26.108/testHTTP/1.1,類似這種請求頭,類似下面這種:Host:upload.jiangsu.ioProxy-Connection:keep-aliveUser-Agent:Mozilla/5.0等等。。。請求體,比如常見的可以放一個json這就構成瞭一個http請求報文瀏覽器請求一個地址,先按照應用層的http協議,封裝一個應用層數據包,數據包裡就放瞭http請求報文,這個時候會將這個http請求報文打包成一個數據包,僅僅隻是數據包的數據部分,此時是數據包是沒有頭的。上面根據http協議搞一個http請求報文,然後搞一個數據包出來,就是網絡模型中到的應用層幹的事兒瞭。接著就是跑傳輸層來瞭,這個層是tcp協議,這個tcp協議會讓你設置端口,發送方的端口隨機選一個,接收方的端口一般是默認的80端口。這個時候,會把應用層數據包給封裝到tcp數據包中去,而且會加一個tcp頭,這個tcp數據包是對應一個tcp頭的,這個tcp頭裡就放瞭端口號信息。如圖:接著跑到網絡層來瞭,走ip協議,這個時候會把tcp頭和tcp數據包,放到ip數據包裡去,然後再搞一個ip頭,ip頭裡本機和目標機器的ip地址。這裡本機ip地址是192.168.31.37,目標機器是172.194.26.108。因為,通過ip協議,可以判斷說,兩個ip地址不是在一個子網內的,所以此時隻能將數據包先通過以太網協議廣播到網關上去,通過網關再給他發送出去,如圖:接著是數據鏈路層,這塊走以太網協議,這裡是把ip頭和ip數據包封到以太網數據包裡去,然後再加一個以太網數據包的頭,頭裡放瞭本機網卡mac地址,和網關的mac地址。但是以太網數據包的限制是1500個字節,但是假設這個時候ip數據包都5000個字節瞭,那麼需要將ip數據包切割一下。這個時候一個以太網數據包要切割為4個數據包,每個數據包包含瞭以太網頭、ip頭和切割後的ip數據包,4個數據包的大小分別是1500,1500,1500,560。ip頭裡包含瞭每個數據包的序號。如圖:這4個以太網數據包都會通過交換機發到你的網關上,然後你的路由器是可以聯通別的子網的,這個是時候你的路由器就會轉發到別的子網的可能也是某個路由器裡去,然後以此類推吧,N多個路由器或者你叫網關也行,N多個網關轉發之後,就會跑到百度的某臺服務器,接收到4個以太網數據包。百度服務器接收到4個以太網數據包以後,根據ip頭的序號,把4個以太網數據包裡的ip數據包給拼起來,就還原成一個完整的ip數據包瞭。接著就從ip數據包裡面拿出來tcp數據包,再從tcp數據包裡取出來http數據包,讀取出來http數據包裡的各種協議內容,接著就是做一些處理,然後再把響應結果封裝成htp響應報文,封裝在http數據包裡,再一樣的過程,封裝tcp數據包,封裝ip數據包,封裝以太網數據包,接著通過網關給發回去。如下圖:————- END ————-另外推薦儒猿課堂的1元系列課程給您,歡迎加入一起學習~互聯網Java工程師面試突擊課(1元專享)SpringCloudAlibaba零基礎入門到項目實戰(1元專享)億級流量下的電商詳情頁系統實戰項目(1元專享)Kafka消息中間件內核源碼精講(1元專享)12個實戰案例帶你玩轉Java並發編程(1元專享)Elasticsearch零基礎入門到精通(1元專享)基於Java手寫分佈式中間件系統實戰(1元專享)基於ShardingSphere的分庫分表實戰課(1元專享)

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/41290.html