1.計算機網路漫談:
2.面試常考題:
3.tcp/ip中的幾個標識:syn, fin, ack, psh, rst, urg.
syn(synchronous建立聯機) ack(acknowledgement 確認) psh(push傳送) fin(finish結束) rst(reset重置) urg(urgent緊急)sequence number(順序號碼) acknowledge number(確認號碼)
syn表示建立連線,
fin表示關閉連線,
ack表示響應,
psh表示有 data資料傳輸,
rst表示連線重置。
具體詳情請移步:
4. tcp/ip 三次握手,四次揮手
四次揮手:
tcp狀態遷移圖
詳情請移步:
5.為什麼是三次握手,而不是兩次?
由於現在a並沒有發出建立連線的請求,因此不會理睬b的確認,也不會向b傳送資料。但b卻以為新的運輸連線已經建立了,並一直等待a傳送資料。b的許多資源就這樣白白浪費了。
(1).為了保證a傳送的最有乙個ack報文段能夠到達b。這個ack報文段有可能丟失,因而使處在last-ack狀態的b收不到對已傳送的fin和ack報文段的確認。b會超時重傳這個fin和ack報文段,而a就能在2msl時間內收到這個重傳的ack+fin報文段。接著a重傳一次確認。
(2).就是防止上面提到的已失效的連線請求報文段出現在本連線中,a在傳送完最有乙個ack報文段後,再經過2msl,就可以使本連線持續的時間內所產生的所有報文段都從網路中消失。
7 .arp的中文意思是(位址解析協議),請用簡單語言說明其的工作原理。
(1). 首先,每台主機都會在自己的arp緩衝區 (arp cache)中建立乙個 arp列表,以表示ip位址和mac位址的對應關係。
(2). 當源主機需要將乙個資料報要傳送到目的主機時,對應會首先檢查自己 arp列表中是否存在該 ip位址的mac位址, 如果有就直接將資料報傳送到這個mac位址;如果沒有,就向本地網段發起乙個arp請求的廣播包,查詢此目的主機對應的mac位址。此arp請求資料報裡包括源主機的ip位址、硬體位址、以及目的主機的ip位址。
(3). 網路中所有的主機收到這個arp請求後,會檢查資料報中的目的ip是否和自己的ip位址一致。如果不相同就忽略資料報;如果相同,該主機首先將傳送端的mac位址和ip位址新增到自己的arp列表中,如果arp表中已經存在該ip的資訊,則將其覆蓋,然後給源主機傳送乙個 arp響應資料報,告訴對方自己是它需要查詢的mac位址;
(4). 源主機收到這個arp響應資料報後,將得到的目的主機的ip位址和mac位址新增到自己的arp列表中,並利用此資訊開始資料的傳輸。如果源主機一直沒有收到arp響應資料報,表示arp查詢失敗。
8.有關套接字scoket程式設計的過程中的三次握手
從圖中可以看出,當客戶端呼叫connect時,觸發了連線請求,向伺服器傳送了syn j包,這時connect進入阻塞狀態;伺服器監聽到連線請求,即收到syn j包,呼叫accept函式接收請求向客戶端傳送syn k ,ack j+1,這時accept進入阻塞狀態;客戶端收到伺服器的syn k ,ack j+1之後,這時connect返回,並對syn k進行確認;伺服器收到ack k+1時,accept返回,至此三次握手完畢,連線建立。
總結:客戶端的connect在三次握手的第二個次返回,而伺服器端的accept在三次握手的第三次返回。
重點參考該部落格:
結合《深入理解計算機系統》p655頁 配合食用更佳
– 申請乙個socket (socketwatch)用來監聽的
– 繫結到乙個ip位址和乙個埠上
– 開啟偵聽,等待接授客戶端的連線
– 當有連線時建立乙個用於和連線進來的客戶端進行通訊的socket(socketconnection)
– 即續監聽,等侍下乙個客戶的連線
– 申請乙個socket(socketclient)
– 連線伺服器(指明ip位址和埠號)
9.我們從乙個使用者的角度來自頂向下的過一遍,乙個網路資料報的過程。
首先我們設定了本機引數:
子網掩碼:255.255.255.0
然後開啟瀏覽器訪問谷歌的**:www.google.com,按下回車。這意味著,瀏覽器要向google傳送乙個網頁請求的資料報。
第一步:
主機會像dns伺服器傳送請求,已知dns伺服器為8.8.8.8,於是我們向這個位址傳送乙個dns資料報(53埠);然後,dns伺服器做出響應,告訴我們google的ip位址是172.194.72.105。於是,我們知道了對方的ip位址。
第二步:
接下來,我們要判斷,這個ip位址是不是在同乙個子網路,這就要用到子網掩碼。已知子網掩碼是255.255.255.0,本機用它對自己的ip位址192.168.1.100,做乙個二進位制的and運算(兩個數字都為1,結果為1,否則為0),計算結果為192.168.1.0;然後對google的ip位址172.194.72.105也做乙個and運算,計算結果為172.194.72.0。這兩個結果不相等,所以結論是,google與本機不在同乙個子網路。
第三步:
因此,我們要向google傳送資料報,必須通過閘道器192.168.1.1**,也就是說,接收方的mac位址將是閘道器的mac位址。至此傳送的各種必要引數已經基本確定了,資料報也可以傳送了。
簡而言之:
瀏覽器向dns伺服器查詢輸入url對應的ip位址。
瀏覽器根據ip位址與目標web伺服器在80埠上建立tcp連線
瀏覽器獲取請求頁面的html**。
瀏覽器在顯示視窗內渲染html。
視窗關閉時,瀏覽器終止與伺服器的連線。
10.交換機與路由器的差別?
工作層次不同
交換機主要工作在資料鏈路層(第二層)
路由器工作在網路層(第三層)。**依據不同主要功能不同
交換機主要用於組建區域網,連線同屬於乙個(廣播域)子網的所有裝置,負責子網內部通訊(廣播)。
路由主要功能是將由交換機組好的區域網相互連線起來,或者將他們接入internet。
交換機能做的,路由都能做。
交換機不能分割廣播域(子網),路由可以。
路由還可以提供防火牆的功能。
路由配置比交換機複雜。
11.tcp狀態轉移圖
重點可以參考:
計算機網路9 計算機網路效能
1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位時間 ...
計算機網路 計算機網路的效能
目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...
計算機網路學習 計算機網路效能
出自 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...