1. 程式人生 > >socket三次握手連線和四次斷開連線

socket三次握手連線和四次斷開連線

連線握手:
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。






TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了


這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0




TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.




4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求連線握手:連線握手:
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。












TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了




這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0








TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.








4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎連線握手:
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。












TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了




這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0








TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.








4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎連線握手:
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。












TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了




這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0








TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.








4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎連線握手:
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。












TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了




這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0








TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.








4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎
1.客戶端傳送建立連線請求
2.服務端確認連線請求
3.客戶端確認已經連線
以上3步完成後即可使用send recv了
斷開握手:如果要正確斷開必須經過4次握手。
1.客戶端傳送請求停止TCP連線請求
2.服務端收到請求後將這一個socket關閉
3.服務端傳送反向請求客戶端關閉socket連線
4.客戶端確認服務端請求,關閉socket連線。












TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象,每一次完整的資料傳輸都必須經過建
立連線,資料傳輸和終止連線3個過程,TCP建立連線的過程稱為三次握手,下面看一下三次握手的具本過程
TCP三次握手過程
1 主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B ,向主機B 請求建立連線,通過這個資料段,
主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我.
2 主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:
我已經收到你的請求了,你可以傳輸資料了;你要用哪佧序列號作為起始資料段來回應我
3 主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了




這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了.
3次握手的特點
沒有應用層的資料
SYN這個標誌位只有在TCP建產連線時才會被置1
握手完成後SYN標誌位被置0








TCP建立連線要進行3次握手,而斷開連線要進行4次,這是由於TCP的半關閉造成的,因為TCP連線是全雙工的(
即資料可在兩個方向上同時傳遞)所以進行關閉時每個方向上都要單獨進行關閉,這個單方向的關閉就叫半關閉.
關閉的方法是一方完成它的資料傳輸後,就傳送一個FIN來向另一方通告將要終止這個方向的連線.當一端收到一個FIN,它必須
通知應用層TCP連線已終止了這個方向的資料傳送,傳送FIN通常是應用層進行關閉的結果.








4次斷開
1 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎
2 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1
3 由B 端再提出反方向的關閉請求,將FIN置1
4 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式,大大提高了資料通訊的可靠性,使傳送資料端
和接收端在資料正式傳輸前就有了互動,為資料正式傳輸打下了可靠的基礎