udp通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出現丟包現象,實際應用中要求程式設計師程式設計驗證。
udp與tcp位於同一層,但它不管資料報的順序、錯誤或重發。因此,udp不被應用於那些使用虛電路的面向連線的服務,udp主要用於那些面向查詢—應答的服務,例如nfs。相對於ftp或telnet,這些服務需要交換的資訊量較小。使用udp的服務包括ntp(網路時間協議)和dns(dns也使用tcp)。
欺騙udp包比欺騙tcp包更容易,因為udp沒有建立初始化連線(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與udp相關的服務面臨著更大的危險。
三.tcp三次握手的詳細過程
採用三次握手確認建立乙個連線,位碼即tcp標誌位,有6種標示:
syn(synchronous建立聯機)
ack(acknowledgement 確認)
psh(push傳送)
fin(finish結束)
rst(reset重置)
urg(urgent緊急)
sequence number(順序號碼)
acknowledge number(確認號碼)
establish 建立,建立
具體過程:
1.第一次握手:client將標誌位syn置為1,隨機產生乙個值seq=j,並將該資料報傳送給server,client進入syn_sent狀態,等待server確認。
2.第二次握手:server收到資料報後由標誌位syn=1知道client請求建立連線,server將標誌位syn和ack都置為1,ack=j+1,隨機產生乙個值seq=k,並將該資料報傳送給client以確認連線請求,server進入syn_rcvd狀態。
3.第三次握手:client收到確認後,檢查ack是否為j+1,ack是否為1,如果正確則將標誌位ack置為1,ack=k+1,並將該資料報傳送給server,server檢查ack是否為k+1,ack是否為1,如果正確則連線建立成功,client和server進入established狀態,完成三次握手,隨後client與server之間可以開始傳輸資料了。
四.四次揮手
由於tcp連線時全雙工的,因此,每個方向都必須要單獨進行關閉,這一原則是當一方完成資料傳送任務後,傳送乙個fin來終止這一方向的連線,收到乙個fin只是意味著這一方向上沒有資料流動了,即不會再收到資料了,但是在這個tcp連線上仍然能夠傳送資料,直到這一方向也傳送了fin。首先進行關閉的一方將執行主動關閉,而另一方則執行被動關閉,上圖描述的即是如此。
(1)第一次揮手:client傳送乙個fin,用來關閉client到server的資料傳送,client進入fin_wait_1狀態。
(2)第二次揮手:server收到fin後,傳送乙個ack給client,確認序號為收到序號+1(與syn相同,乙個fin占用乙個序號),server進入close_wait狀態。
(3)第三次揮手:server傳送乙個fin,用來關閉server到client的資料傳送,server進入last_ack狀態。
(4)第四次揮手:client收到fin後,client進入time_wait狀態,接著傳送乙個ack給server,確認序號為收到序號+1,server進入closed狀態,完成四次揮手。
TCP IP三次握手詳解 計算機網路
tcp是面向連線的協議。運輸連線是用來傳送tcp報文的。tcp運輸連線的建立和釋放是每一次面向連線的通訊中必不可少的過程。運輸連線有三個階段 連線建立 資料傳送 連線釋放 下圖是這三個階段的示意圖 連線的建立 tcp的連線採用客戶伺服器的方式。主動發起連線建立的應用程序叫做客戶 client 被動等...
計算機網路 三次握手
假設a為客戶端,b為服務端。首先b處於listen 監聽 狀態,等待客戶的連線請求。a向b傳送連線請求報文,syn 1,ack 0 選擇乙個初始的序號x b收到連線請求,如果同意建立連線,則向a傳送連線確認報文,syn 1,ack 1 確認號為1,同時也選擇乙個初始的序號y。a收到b的連線確認序號後...
計算機網路面試總結 三次握手
urg 緊急指標標誌 ack 確認序號標誌 psh push標誌 rst 重制連線標誌 syn 同步序號,用於建立連線過程 fin finish標註,用於釋放連線 握手是為了建立連線,tcp三次握手的流程圖如下 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線 針對syn...