計算機網路面試題(一)

2021-09-24 05:20:40 字數 2211 閱讀 7004

乙個合法的url應包含三部分

協議 http/https

dns 網域名稱

router 路由

dns 由乙個頂級域和若干個子域構成,子域又可以劃分成各種子域的集合。當訪問網頁時,我們需要將dns對映成指定ip,再通過埠構建乙個tcp連線來獲取網頁資源。

過程如下, 有兩條url分別是m.baidu.com, www.baidu.com.

解析過程如下

www-->10.0.0.1完成對映

m-->10.0.0.2完成對映而實際上瀏覽器的dns解析過程是先訪問本地host檔案,如果沒有,則訪問本地dns快取或指定伺服器的dns快取,成功則與目標主機建立tcp/ip連線,否則返回無法解析該網網域名稱錯誤。

當瀏覽器成功獲取到ip與埠資訊,與目標主機成功建立tcp/ip連線後,向目標主機傳送http請求進行操作。

而再建立tcp/ip連線的時候,需要經歷三次握手,而斷開連線需要經歷四次揮手過程。

我們要清楚tcp是一面向連線的、可靠的位元組流服務。其中,面向連線意味著兩個使用tcp的應用(通常是乙個客戶和乙個伺服器)在彼此交換資料之前必須先建立乙個tcp連線。在乙個tcp連線中,僅有兩方進行彼此通訊;而位元組流服務意味著兩個應用程式通過tcp鏈結交換8b, 為了保證t資料傳輸的可靠性,tcp還提供以下方式進行保證:

資料報校驗:目的是檢測資料在傳輸過程中的任何變化,若校驗出包有錯,則丟棄報文段並且不給出響應,這時tcp傳送資料端超時後會重發資料;

對失序資料報重排序:既然tcp報文段作為ip資料報來傳輸,而ip資料報的到達可能會失序,因此tcp報文段的到達也可能會失序。tcp將對失序資料進行重新排序,然後才交給應用層;

丟棄重複資料:對於重複資料,能夠丟棄重複資料;

應答機制:當tcp收到發自tcp連線另一端的資料,它將傳送乙個確認。這個確認不是立即傳送,通常將推遲幾分之一秒;

超時重發:當tcp發出乙個段後,它啟動乙個定時器,等待目的端確認收到這個報文段。如果不能及時收到乙個確認,將重發這個報文段;

流量控制:tcp連線的每一方都有固定大小的緩衝空間。tcp的接收端只允許另一端傳送接收端緩衝區所能接納的資料,這可以防止較快主機致使較慢主機的緩衝區溢位,這就是流量控制。tcp使用的流量控制協議是可變大小的滑動視窗協議。

第一次握手:client將標誌位syn置為1,隨機產生乙個值seq=j,並將該資料報傳送給server,client進入syn_sent狀態,等待server確認。

第二次握手:server收到資料報後由標誌位syn=1知道client請求建立連線,server將標誌位syn和ack都置為1,ack=j+1,隨機產生乙個值seq=k,並將該資料報傳送給client以確認連線請求,server進入syn_rcvd狀態。如果server發現無程序執行這個監聽行為,他送回乙個設定了rst的應答。

第三次握手:client收到確認後,檢查ack是否為j+1,ack是否為1,如果正確則將標誌位ack置為1,ack=k+1,並將該資料報傳送給server,server檢查ack是否為k+1,ack是否為1,如果正確則連線建立成功,client和server進入established狀態,完成三次握手,隨後client與server之間可以開始傳輸資料了。

第一次揮手:client傳送乙個fin,用來關閉client到server的資料傳送,client進入fin_wait_1狀態。

第二次揮手:server收到fin後,傳送乙個ack給client,確認序號為收到序號+1(與syn相同,乙個fin占用乙個序號),server進入close_wait狀態。此時tcp鏈結處於半關閉狀態,即客戶端已經沒有要傳送的資料了,但服務端若傳送資料,則客戶端仍要接收。

第三次揮手:server傳送乙個fin,用來關閉server到client的資料傳送,server進入last_ack狀態。

第四次揮手:client收到fin後,client進入time_wait狀態,接著傳送乙個ack給server,確認序號為收到序號+1,server進入closed狀態,完成四次揮手。

在成功建立tcp/ip連線訪問後,web端就是返回乙個資源供瀏覽器渲染展示。對於網頁的資源訪問也是通過這樣方式進行獲取

當完成整個資源的訪問後,tcp連線釋放。釋放過程就是上面的四次揮手過程。

以上就是乙個完成請求url的過程

計算機網路面試題

tcp udp區別以及tcp如何保證傳輸可靠性 tcp是基於連線的協議,udp是面向非連線的協議 tcp傳輸可靠,udp傳輸不可靠 tcp的可靠性是通過順序編號和確認 ack 來實現的。tcp在開始傳送乙個段時,首先將該段插入到傳送佇列之中,同時啟動時鐘。其後,如果收到了接受端對該段的ack資訊,就...

計算機網路面試題

常見題 1 osi開放式網際網路參考模型有哪些組成?2 客戶端傳給伺服器時經過tcp ip的四層模型?3 從輸入 到獲得頁面的過程?4 cookie作用是啥?和session區別是啥?tcp ip 1 什麼是tcp協議?什麼是udp協議?2 tcp udp區別?3 tcp報文頭有哪些組成?4 udp...

計算機網路面試題

傳輸層網路層 應用層 3 http協議 報文格式 請求報文 響應報文 請求頭各種字段 響應頭各種字段 http狀態碼。4 https協議 詳細握手過程 各種演算法 摘要演算法 數字簽名 數字證書的原理與過程 http與https 輸入乙個url到瀏覽器返回頁面發生了什麼 網易 cookie與sess...