日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解TCP协议的服务特点以及连接建立与终止的过程(俗称三次握手四次挥手)

發(fā)布時間:2024/7/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解TCP协议的服务特点以及连接建立与终止的过程(俗称三次握手四次挥手) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載請附本文的鏈接地址:http://blog.csdn.net/sahadev_/article/details/50780825?,謝謝。


tcp/ip技術(shù)常常會在我們面試的時候出現(xiàn),很多公司也要求需要掌握tcp/ip,socket等,所以掌握這項技術(shù)會為我們面試的時候加分。

好,今天我就簡單的介紹一下tcp技術(shù):

首先說一下tcp位于運輸層,現(xiàn)在網(wǎng)絡(luò)被分為了5層,由上往下說:

應(yīng)用層,運輸層,網(wǎng)絡(luò)層,鏈路層,物理層。

應(yīng)用層:就是我們使用的http技術(shù)或者ftp協(xié)議包裝了我們要傳輸?shù)臄?shù)據(jù)。

運輸層:它會將應(yīng)用層的數(shù)據(jù)包裝發(fā)送給網(wǎng)絡(luò)層,它為應(yīng)用層提供了各種各樣的傳輸方式。例如tcp提供了可靠的傳輸?shù)膫鬏敿夹g(shù),就是由運輸層來實現(xiàn)的。

網(wǎng)絡(luò)層:對運輸層的數(shù)據(jù)進(jìn)一步的包裝,并將上層數(shù)據(jù)包發(fā)往目的端。例如我們通常所熟悉的ip協(xié)議就位于這一層。

鏈路層:這一層為IP發(fā)送和接收數(shù)據(jù)報,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機中對應(yīng)的網(wǎng)絡(luò)接口卡,他們一起處理與電纜的物理接口細(xì)節(jié)。

物理層:就是我們的電話線,光纜,wifi之類的。


簡單介紹了下網(wǎng)絡(luò)協(xié)議的分層,回來說說tcp協(xié)議的特點:

·應(yīng)用數(shù)據(jù)被分割成TCP認(rèn)為最適合發(fā)送的數(shù)據(jù)塊,由TCP傳遞給IP的信息單位成為報文段或段。

·當(dāng)TCP發(fā)出一個段后,它啟動一個定時器,等待目的端確認(rèn)收到這個報文段。如果不能及時收到一個確認(rèn),將重發(fā)這個報文段。

·當(dāng)TCP收到法子TCP鏈接另一端的數(shù)據(jù),它將發(fā)送一個確認(rèn),這個確認(rèn)不是立即發(fā)送,通常將推遲幾分之一秒。

·TCP將保持它首部和數(shù)據(jù)的檢驗和,這是一個端到端的檢驗和,目的是檢測數(shù)據(jù)在傳送過程中的任何變化。如果收到段的檢驗和有差錯,TCP將丟棄這個報文段和不確認(rèn)收到此報文段(希望發(fā)送端超時重發(fā))。

·既然TCP報文段作為IP數(shù)據(jù)報來傳輸,而IP數(shù)據(jù)報的到達(dá)可能會失序,因此TCP報文段的到達(dá)也可能會失序。如果必要,TCP將對收到的數(shù)據(jù)進(jìn)行重新排列,將收到的數(shù)據(jù)以正確的順序交給應(yīng)用層。

·既然IP數(shù)據(jù)報會重復(fù)發(fā)送,TCP的接收端必須丟棄重復(fù)的數(shù)據(jù)(因為會超時重發(fā))

·TCP還能提供流量控制。TCP鏈接的每一方都有固定大小的緩沖控件。TCP的接收端允許另一端發(fā)送接受端緩沖區(qū)所能接納的數(shù)據(jù)。這將防止較快主機致使較慢主機的緩沖區(qū)溢出。


通過以上特點,TCP會保證發(fā)送端應(yīng)用層的數(shù)據(jù)正確,準(zhǔn)確,按次序到達(dá)目的端應(yīng)用層。


說完了TCP協(xié)議的特點,我們接下來描述一下三次握手與四次揮手,網(wǎng)上的很多文章對這塊講的不詳細(xì),不是按照專業(yè)詞語來描述的,使我們?nèi)狈υ淼睦斫狻?/span>

三次握手過程:

1.客戶端發(fā)送一個SYN段(SYNchronous,TCP首部中同步序號標(biāo)志)指明將要鏈接的服務(wù)器接口,段中包含初始序號ISN(Initial Sequence Number 初始序號)。

2.服務(wù)端發(fā)回SYN段作為應(yīng)答,其中包含服務(wù)端的初始序號以及將確認(rèn)序號,確認(rèn)序號設(shè)置為客戶的ISN值加1,以對客戶的SYN報文段進(jìn)行確認(rèn)。

3.客戶端必須將確認(rèn)序號設(shè)置為服務(wù)器的ISN值加1并發(fā)送給服務(wù)端,以對服務(wù)端的SYN報文段進(jìn)行確認(rèn)。


四次揮手過程:

為什么要有4次揮手呢,因為TCP連接是全雙工的,即數(shù)據(jù)在兩個方向上能同時傳遞,所以關(guān)閉的時候需要先將一邊關(guān)閉,再將另一邊關(guān)閉。

1.當(dāng)一段完成數(shù)據(jù)發(fā)送任務(wù)之后,可以發(fā)送一個FIN(也就是finish,TCP首部中的結(jié)束標(biāo)志),來終止這個方向連接。

2.當(dāng)另一端收到FIN之后,它必須通知應(yīng)用層另一端已經(jīng)終止了那個方向的數(shù)據(jù)傳送。并且它需要發(fā)回一個ACK(ACKnowledgment TCP首部中的確認(rèn)標(biāo)志)進(jìn)行確認(rèn),確認(rèn)序號為收到的序號加1,和SYN一樣,FIN也同樣會包含一個序號。同時TCP的這一端還向應(yīng)用層傳送一個文件結(jié)束符。

3.接著這一端,也就是剛開始接收到FIN碼的這一端會發(fā)送一個FIN來請求關(guān)閉另一邊的通路。

4.客戶端收到之后必須發(fā)揮一個確認(rèn),并將確認(rèn)序號設(shè)置為收到序號加1。


好了,以上就是關(guān)于TCP的特點以及三次握手與四次揮手的過程,希望大家可以讀懂吸收成為自己的知識,有不明白的歡迎留言討論。

總結(jié)

以上是生活随笔為你收集整理的详解TCP协议的服务特点以及连接建立与终止的过程(俗称三次握手四次挥手)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。