JAVA實習找工作——網絡編程

常見的網絡模型

應用層

傳輸層:TCP、UDP

網絡層:IP

數據鏈路層

物理層

問題一:TCP協議和UDP協議

TCP:1.使用TCP協議前,必須建立TCP連接,形成傳輸數據通道;2.傳輸前採用“三次握手”的方式,是可靠的;3.在連接中可以進行大數據量的傳輸;4.傳輸完畢,需要釋放連接,效率低

UDP:1.將數據、源、目的封裝成數據包,不需要建立連接;2.每個數據包不能超過64k;3.可以廣播發送,不需要確認;4.發送結束後無需釋放資源,效率高。

問題二:TCP的三次握手和四次揮手

TCP的三次握手

第一次握手:客戶端發送syn=x包到服務端,syn:同步序列編號

第二次握手:服務端接受syn包,生成確認包ack=x+1,並且發送自己的syn=y包,所以服務端發送syn+ack包,此時服務端狀態爲SYN_RECV

第三次握手:客戶端接收到syn+ack,發送確認包ack=y+1。此時連接建立成功,客戶端和服務端均爲ESTABLISHED狀態

TCP的四次揮手

第一次揮手:客戶端發送FIN,用來關閉客戶端到服務器的數據傳送,然後等待服務器的確認。其中終止標誌位FIN=1,序列號seq=u。

第二次揮手:服務器收到這個FIN,它發送一個ACK,確認ack爲收到的序號加一。

第三次揮手:服務器關閉了服務器到客戶端的連接,發送一個FIN給客戶端。

第四次揮手:客戶端收到FIN後,併發回一個ACK報文確認,並將確認序號seq設置爲收到序號加一。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章