TCP協(xié)議三次握手

          Posted on 2007-03-12 15:03 Hally 閱讀(1568) 評論(0)  編輯  收藏 所屬分類: 技術(shù)文章轉(zhuǎn)載
          在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個連接。

            第一次握手:建立連接時,客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);

            第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài);

            第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。

            完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù),在上述過程中,還有一些重要的概念:

            未連接隊列:在三次握手協(xié)議中,服務(wù)器維護(hù)一個未連接隊列,該隊列為每個客戶端的SYN包(syn=j)開設(shè)一個條目,該條目表明服務(wù)器已收到SYN包,并向客戶發(fā)出確認(rèn),正在等待客戶的確認(rèn)包。這些條目所標(biāo)識的連接在服務(wù)器處于Syn_RECV狀態(tài),當(dāng)服務(wù)器收到客戶的確認(rèn)包時,刪除該條目,服務(wù)器進(jìn)入ESTABLISHED狀態(tài)。
          Backlog參數(shù):表示未連接隊列的最大容納數(shù)目。

            SYN-ACK 重傳次數(shù) 服務(wù)器發(fā)送完SYN-ACK包,如果未收到客戶確認(rèn)包,服務(wù)器進(jìn)行首次重傳,等待一段時間仍未收到客戶確認(rèn)包,進(jìn)行第二次重傳,如果重傳次數(shù)超過系統(tǒng)規(guī)定的最大重傳次數(shù),系統(tǒng)將該連接信息從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。

            半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務(wù)從收到SYN包到確認(rèn)這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。

          posts - 43, comments - 200, trackbacks - 0, articles - 2

          Copyright © Hally

          主站蜘蛛池模板: 汾西县| 铁岭市| 乌拉特前旗| 镇远县| 郸城县| 双牌县| 鹿邑县| 娱乐| 黄大仙区| 普定县| 韶山市| 宁安市| 塘沽区| 仪陇县| 东海县| 天全县| 镶黄旗| 屏山县| 禄劝| 磐安县| 海南省| 环江| 横峰县| 尼玛县| 莫力| 肇东市| 广水市| 渭源县| 甘德县| 瓦房店市| 嵊州市| 安徽省| 富锦市| 津南区| 双江| 鲁甸县| 临湘市| 榆社县| 曲周县| 宜宾市| 林口县|