1. 程式人生 > >網路協議劃分、各協議位於哪一層、三次握手四次揮手

網路協議劃分、各協議位於哪一層、三次握手四次揮手

1.網路協議劃分如下圖:


2.各協議位於哪層

網路層:IP、ICMP、ARP、RARP、BOOTP 傳輸層:TCP、UDP 應用層:FTP、HTTP、DNS、TELNET、SMTP

3.TCP/IP三次握手和四次揮手

三次握手:

客戶端傳送連線請求報文,伺服器端接收到後回覆ack報文,併為這次連線分配資源,客戶端接收到ack報文後,也回覆ack報文,併為這次連線分配資源。三次握手結束,TCP連線建立。 為什麼要三次:防止客戶端的連線請求報文在網路中間某節點延時時間過長後,本應已失效,但仍然傳到了伺服器端,伺服器端認為這是一個新的連線,若無第三次握手,伺服器端在傳送ack報文後認為連線建立,等待接收訊息,但並不會收到客戶端的資料。

四次揮手:

客戶端傳送FIN報文,伺服器端收到後傳送ack報文,但此時伺服器端可能還有資訊沒傳送完,待將需傳送給客戶端的資料都發送給客戶端後,伺服器端傳送FIN報文給客戶端,客戶端收到後,傳送ack報文給伺服器端,然後等待一段時間,若無伺服器端返回的訊息,就表示伺服器端關閉了連線,客戶端也關閉連線。四次揮手結束,TCP連線關閉。 為什麼要四次:因伺服器端接收到客戶端發來的FIN報文時,可能還會需要給客戶端傳送資料,故此時只能傳送一個ack報文,不能直接確認將連線關閉,只發送ack報文表示確認收到客戶端的關閉連線請求,待資料均傳送完後再發送FIN報文告知客戶端可以關閉連線了。