1.什麼是tcp連線?
當網路通訊採用tcp協議的時候,在真正的讀寫操作之前,server與client之間必須建立乙個連線。當讀寫操作完畢之後,雙方不再需要這個連線時,就斷開這個連線。連線時是三次握手,斷開時則需要四次分手。所以說每個連線都是比較消耗資源的。
三次握手:
客戶端從close狀態開啟之後(syn_send),傳送乙個訊息(syn)給服務端,此時服務端時listen狀態。服務端接收這個資料後(syn_recived),傳送乙個應答(ack)給客戶端。客戶端接收這個應答之後,給服務端傳送乙個應答(estab-listen)。
四次揮手:
客戶端傳送乙個訊息告訴服務端,我沒有資料傳送給你了(fin_wait1),服務端應答說哦,你先等一下,我還有一些資料要給你)。然後服務端(close_wait)傳送資料給客戶端(fin_wait2),客戶端收到之後(time_wait),傳送乙個應答說。我收到資料了,你關閉吧。服務端接收資料之後,關閉。客戶端等待2秒,如果沒有應答的話,也關閉。
2.什麼是tcp長連線?
長連線就是傳送接收乙個資料之後,這個連線不斷開,仍然可以傳遞接收資料,當不需要傳遞資料的時候斷開就是長連線。短連線就是傳送接收乙個資料之後,連線斷開就是短連線。http1.0之前預設短連線。http1.0之後缺省長連線(keepalive)
3.tcp和udp的區別?
tcp傳輸控制協議,提供面向連線的,可靠的位元組流服務,當客戶端和服務端彼此交換資料的之前,必須雙方建立乙個連線之後才能傳輸資料。tcp提供超時重發,丟棄重複資料。檢驗資料,流量控制等功能,保證資料從一端傳遞到另一端。
udp資料傳輸協議,是乙個資料報傳輸協議。傳輸資料不可靠。因為它不管資料是被另一端收到。都按照順序傳輸。也不管接收方的cpu,磁碟狀態是否良好。所有它的傳輸效率很高。
一次http請求:
查快取-》dns解析——》獲取ip->建立連線——>傳輸資料——》接收報文資料並響應-》關閉連線。
正向**:客戶端請求-》**伺服器-》伺服器
反向**:客戶端請求-》ngnix**請求->伺服器
TCP和UDP協議理解
我們學習過什麼是 資料報 理解資料報,對於網路管理的網路安全具有至關重要的意義.比如,防火牆的作用本質就是檢測網路中的資料報,判斷其是否違反了預先設定的規則,協議 欄中有 tcp udp 等名詞,它們是什麼意思呢?現在我們就來講講什麼是tcp和udp 面向連線的tcp 面向連線 就是在正式通訊前必須...
TCP和UDP的區別
tcp transimission control protocol 傳輸控制協議 和udp user datagram protocol 是傳輸層的兩種實現版本!它們之間提供基本的服務又各有所長。因此,根據對特定服務質量的要求,應用層軟體單元可以選擇通過傳輸層的tcp版本或者udp版本來傳輸資料。...
TCP和UDP的區別
tcp和udp都是傳輸層的協議,他們的區別主要如下 1 tcp,全名 傳輸控制協議 是面向連線的,也就是說在傳送方和接收方在傳送資料之前,必須通過三次握手建立連線,相當於現實生活中的打 功能,必須先撥號,接通後才能說話,udp,全名 使用者資料報協議 是無連線的,其中一方向向另一方傳送資料時不需要建...