欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TCP戀愛(ài)史 三次握手和四次分手

  發(fā)布時(shí)間:2016-07-06 16:21:01   作者:佚名   我要評(píng)論
TCP戀愛(ài)史很浪漫,經(jīng)過(guò)了三次握手和四次分手,想要知道TCP三次握手和四次分手的過(guò)程,請(qǐng)閱讀下文

TCP協(xié)議非常重要,這里把它的連接和釋放整理一下。

首先是三次握手:

1、  客戶端發(fā)起,像服務(wù)器發(fā)送的報(bào)文SYN=1,ACK=0,然后選擇了一個(gè)初始序號(hào):seq=x。

SYN是干什么用的?

在鏈接的時(shí)候創(chuàng)建一個(gè)同步序號(hào),當(dāng)SYN=1同時(shí)ACK=0的時(shí)候,表明這是一個(gè)連接請(qǐng)求的報(bào)文段。如果對(duì)方有意鏈接,返回的報(bào)文里面SYN=1,ACK=1,。從這個(gè)意義上來(lái)說(shuō),SYN=1的時(shí)候,就表明這是一個(gè)‘請(qǐng)求’或者‘接受請(qǐng)求’的報(bào)文。

SYN=1的報(bào)文段不能攜帶數(shù)據(jù),但是要消耗掉一個(gè)序號(hào)。

ACK是干什么用的?

僅當(dāng)ACK=1的時(shí)候,確認(rèn)字號(hào)(期望收到對(duì)方下一個(gè)報(bào)文段的第一個(gè)數(shù)據(jù)字節(jié)的編號(hào))才有效。因此,TCP規(guī)定,當(dāng)鏈接建立之后,所有往來(lái)的報(bào)文里面的ACK都應(yīng)該是1(事實(shí)上,也只有客戶端發(fā)起的鏈接請(qǐng)求報(bào)文的ACK沒(méi)有置1)。

現(xiàn)在的狀態(tài):客戶端進(jìn)入SYN-SEND狀態(tài);

2、  服務(wù)器接收到了SYN=1,ACK=0的請(qǐng)求報(bào)文之后,返回一個(gè)SYN=1,ACK=1的確認(rèn)報(bào)文。

同時(shí),確認(rèn)號(hào)ack=x+1,同時(shí)也為自己選擇一個(gè)初始序號(hào)seq=y

現(xiàn)在的狀態(tài):服務(wù)器進(jìn)入SYN-REVD狀態(tài);

3、  客戶端接收到了服務(wù)器的返回信息之后,還要給服務(wù)器返回最后一條確認(rèn),ACK=1,確認(rèn)號(hào)ack=y+1;

現(xiàn)在的狀態(tài):客戶端進(jìn)入ESTABLISHED狀態(tài)。

下面說(shuō)一下為什么兩次握手不行,非得三次:

首先說(shuō)明一種正常的情況,就是客戶端發(fā)送了一條請(qǐng)求鏈接的報(bào)文,但是由于網(wǎng)絡(luò)原因丟失了,所以,不可能接收到服務(wù)器端的確認(rèn)。這個(gè)時(shí)候,客戶端就就只有再一次發(fā)送原來(lái)的請(qǐng)求報(bào)文,這次服務(wù)器收到之后返回確認(rèn),客戶端再確認(rèn)一次,鏈接確立。

然后考慮一種不正常的情況,客戶端發(fā)了兩次請(qǐng)求鏈接的報(bào)文,第二條被服務(wù)器捕捉到,返回?cái)?shù)據(jù),完成了兩次握手。數(shù)據(jù)傳送完成之后,鏈接關(guān)閉。但是這時(shí)候,第一條擁塞的請(qǐng)求報(bào)文現(xiàn)在到達(dá)了服務(wù)器端,服務(wù)器還以為客戶端要又一次建立連接,于是發(fā)送確認(rèn),然后把自己敞開(kāi),等著客戶端發(fā)送過(guò)來(lái)數(shù)據(jù)。于是,很多的網(wǎng)絡(luò)資源就是這樣浪費(fèi)掉了。

要是實(shí)行三次握手,服務(wù)器收到了一條過(guò)期的請(qǐng)求報(bào)文,返回確認(rèn)信息,客戶端接收到了服務(wù)器的信息之后感到莫名其妙,心想:我又沒(méi)要鏈接,你返回這個(gè)是不是瘋了。于是不置一詞。服務(wù)器過(guò)一段時(shí)間還沒(méi)有收到第三次握手的數(shù)據(jù),知道客戶端并沒(méi)有要求建立鏈接的請(qǐng)求,含淚離開(kāi)。

然后是四次分手:

現(xiàn)在雙方的狀態(tài)都是ESTABLISHED狀態(tài)。

1、  客戶端發(fā)起請(qǐng)求,請(qǐng)求斷開(kāi)鏈接。FIN=1,seq=u。u是之前傳送過(guò)來(lái)的最后一個(gè)字節(jié)的序號(hào)+1。

FIN:用來(lái)釋放一個(gè)鏈接,當(dāng)FIN=1的時(shí)候,表明此報(bào)文的發(fā)送方已經(jīng)完成了數(shù)據(jù)的發(fā)送,沒(méi)有新的數(shù)據(jù)要傳送,并要求釋放鏈接。

客戶端進(jìn)入FIN-WAIT-1狀態(tài),等著服務(wù)器返回確認(rèn);

2、  服務(wù)器收到客戶端的請(qǐng)求斷開(kāi)鏈接的報(bào)文之后,返回確認(rèn)信息。ACK=1,seq=v,ack=u+1。

服務(wù)器進(jìn)入CLOSE-WAIT狀態(tài)。

這個(gè)時(shí)候,客戶端不能給服務(wù)器發(fā)送信息報(bào)文,只能接收。但是服務(wù)器要是還有信息要傳給服務(wù)器,仍然能傳送。

3、  當(dāng)服務(wù)器也沒(méi)有了可以傳的信息之后,給客戶端發(fā)送請(qǐng)求結(jié)束的報(bào)文。FIN=1,ACK=1,

ack=u+1,seq=w。

這個(gè)時(shí)候的狀態(tài):服務(wù)器進(jìn)入LAST-ACK狀態(tài)。

4、  客戶端接收到FIN=1的報(bào)文之后,返回確認(rèn)報(bào)文,ACK=1,seq=u+1,ack=w+1。

發(fā)送完畢之后,客戶端進(jìn)入等待狀態(tài),等待兩個(gè)時(shí)間周期。關(guān)閉。

為什么最后還要等待兩個(gè)時(shí)間周期呢?

1、  客戶端的最后一個(gè)ACK報(bào)文在傳輸?shù)臅r(shí)候丟失,服務(wù)器并沒(méi)有接收到這個(gè)報(bào)文。這個(gè)候。

服務(wù)器就會(huì)超時(shí)重傳這個(gè)FIN消息,然后客戶端就會(huì)重新返回最后一個(gè)ACK報(bào)文,等待兩個(gè)時(shí)間周期,完成關(guān)閉。如果不等待這兩個(gè)時(shí)間周期,服務(wù)器重傳的那條消息就不會(huì)收到。服務(wù)器就因?yàn)榻邮詹坏娇蛻舳说男畔⒍鵁o(wú)法正常關(guān)閉。

2、  預(yù)防上一次在三次握手中提到的失效的報(bào)文干擾。兩個(gè)時(shí)間周期過(guò)去之后,所有的報(bào)文都會(huì)在網(wǎng)絡(luò)中消失,保證下一次重新連接的時(shí)候有亂七八糟的報(bào)文影響。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 圖解TCP/IP協(xié)議 幫助大家輕松理解三次握手

    這篇文章主要介紹了圖解TCP/IP協(xié)議,幫助大家輕松學(xué)會(huì)TCP/IP協(xié)議,需要的朋友可以參考下
    2015-12-16
  • TCP的三次握手和四次揮手

    TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。
    2022-10-19
  • 白話理解TCP為什么一定要進(jìn)行三次握手

    這篇文章主要介紹了白話理解TCP為什么一定要進(jìn)行三次握手,本文用通俗易懂的語(yǔ)言清晰、簡(jiǎn)潔、有趣的表達(dá)了為什么一定要進(jìn)行三次握手,需要的朋友可以參考下
    2015-06-17
  • 網(wǎng)絡(luò)協(xié)議 TCP三次握手與四次斷開(kāi)的詳細(xì)觀察

    這篇文章主要為大家介紹了網(wǎng)絡(luò)協(xié)議之tcp協(xié)議,TCP三次握手與四次斷開(kāi)是怎么的一種情況呢,下面我們來(lái)看看觀察TCP三次握手與四次斷開(kāi),需要的朋友可以參考下
    2015-04-29
  • 圖解TCP通信三次握手和四次分手

    這篇文章主要介紹了圖解TCP通信三次握手和四次分手,對(duì)正在學(xué)習(xí)TPC通信的同學(xué)會(huì)有些幫助,需要的朋友可以參考下
    2014-09-24
  • TCP為什么需要進(jìn)行三次握手深入解析

    本文將詳細(xì)介紹TCP為什么需要進(jìn)行三次握手,需要深入了解的朋友可以參考下
    2012-11-19
  • TCP協(xié)議的概念以及與UDP的區(qū)別

    這篇文章主要為大家介紹了什么是tcp?tcp協(xié)議的基礎(chǔ)知識(shí)有哪些?與udp的區(qū)別在哪里?以下將詳細(xì)介紹tcp的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2014-09-16
  • 分享下TCP/IP、Http、Socket的區(qū)別

    傳輸層的TCP是基于網(wǎng)絡(luò)層的IP協(xié)議的,而應(yīng)用層的HTTP協(xié)議又是基于傳輸層的TCP協(xié)議的,而Socket本身不算是協(xié)議,就像上面所說(shuō),它只是提供了一個(gè)針對(duì)TCP或者UDP編程的接口
    2014-05-28
  • 怎么配置局域網(wǎng)中的各機(jī)器的TCP/IP協(xié)議

    xp系統(tǒng)下載SyGate安裝好后,不能馬上就使用,還必須對(duì)局域網(wǎng)內(nèi)各機(jī)器的TCP/IP協(xié)議進(jìn)行一些設(shè)定。下面是具體的設(shè)置過(guò)程,感興趣的朋友可以參考下
    2013-12-16
  • 最常見(jiàn)的TCP/IP中3688端口是什么?

    最常見(jiàn)的是TCP和UDP端口,這是用來(lái)在互聯(lián)網(wǎng)上的計(jì)算機(jī)之間的數(shù)據(jù)交換,3688/udp端口使用服務(wù)類型簡(jiǎn)單的推- S- S簡(jiǎn)單的推協(xié)議,基礎(chǔ)概念不是很了解的朋友可以參考下本文
    2013-11-20

最新評(píng)論