計算機網路面試題(1) TCP

2021-09-24 13:06:13 字數 1762 閱讀 5560

tcp三次握手、四次揮手示意圖,要能夠描述過程。

詳解參考

osi七層網路模型和tcp/ip四層網路模型

3. tcp和udp的區別

tcp:面向連線,面向位元組流,可靠服務,資源要求較多,速度慢

udp:無連線,面向報文,不可靠,資源要求較少,速度快

4. tcp如何保證可靠傳輸

1、確認和重傳:接收方收到報文就會確認,傳送方傳送一段時間後沒有收到確認就重傳。

2、資料校驗

3、資料合理分片和排序:

udp:ip資料報大於1500位元組,大於mtu.這個時候傳送方ip層就需要分片(fragmentation).把資料報分成若干片,使每一片都小於mtu.而接收方ip層則需要進行資料報的重組.這樣就會多做許多事情,而更嚴重的是,由於udp的特性,當某一片資料傳送中丟失時,接收方便無法重組資料報.將導致丟棄整個udp資料報.

tcp會按mtu合理分片,接收方會快取未按序到達的資料,重新排序後再交給應用層。

4、流量控制:當接收方來不及處理傳送方的資料,能提示傳送方降低傳送的速率,防止包丟失。

5、擁塞控制:當網路擁塞時,減少資料的傳送。

擁塞控制與流量控制的區別:

擁塞控制是防止過多的資料注入到網路中,可以使網路中的路由器或鏈路不致過載,是乙個全域性性的過程。

流量控制是點對點通訊量的控制,是乙個端到端的問題,主要就是抑制傳送端傳送資料的速率,以便接收端來得及接收。

擁塞控制演算法

慢開始:剛剛加入網路的連線設定cwnd = 1,一點一點地提速,不要一上來就把路佔滿。

擁塞避免:當擁塞視窗 cwnd 達到乙個閾值時,視窗大小不再呈指數上公升,而是以線性上公升,避免增長過快導致網路擁塞。

快速重傳:當接收方收到失序資料時,立即返回重複ack,不能延遲傳送。

快恢復:至少收到了3個duplicated acks,說明網路也不那麼糟糕,可以快速恢復。

tcp揮手中的time_wait就是主動斷開的一方,傳送完最後一次ack之後進入的狀態

作用:(1)保證可靠關閉:若主動方的應答ack因為擁塞等原因被丟棄,那麼被動方會重新傳送fin+ack, 那麼主動方還可以再次傳送應答ack;

(2)讓遲來的報文(資料或者fin等)有足夠的時間被識別和丟棄,防止影響新的連線。因為通訊雙方都將處於time_wait狀態的連線(客戶端ip、客戶端埠、服務端ip、服務端埠)定義為不可重新使用。

(3)msl是報文傳輸的最大生存時間,超過msl的報文將被丟棄,這就是time_wait設定成2msl(傳送方傳送、接收方傳送加起來的時間)的原因;msl比ttl大一些。

如發現系統存在大量time_wait狀態的連線,通過調整核心引數解決:

net.ipv4.tcp_syncookies = 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉。

net.ipv4.tcp_fin_timeout 修改系預設的 timeout 時間

計算機網路面試題(1)

應用層 提供使用者與網路間的介面。http ftp smtp 運輸層 程序到程序間的資料傳輸。tcp udp 網路層 主機到主機之間的資料傳輸。ip 選路協議 資料鏈路層 相鄰結點之間的資料傳輸。ppp 乙太網 物理層 在物理介質上傳輸位元流。傳輸控制協議 tcp transmission cont...

計算機網路面試題

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...