国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 電腦知識 > 正文

圖解TCP建立連接全過程

2024-05-08 15:29:47
字體:
來源:轉載
供稿:網友

  TCP是因特網中的傳輸層協議,使用三次握手協議建立連接,下面是TCP建立連接的全過程。

圖解TCP建立連接全過程 sanl

  上圖畫出了TCP建立連接的過程。假定主機A是TCP客戶端,B是服務端。最初兩端的TCP進程都處于CLOSED狀態。圖中在主機下面的是TCP進程所處的狀態。A是主動打開連接,B是被動打開連接。

  首先A向B發出連接請求報文段,這時首部中的同步位SYN=1,同時選擇一個初始序號seq=x。TCP規定,SYN報文段不能攜帶數據,但要消耗掉一個序號。這時,A進入SYN-SENT狀態。

  B收到請求后,向A發送確認。在確認報文段中把SYN和ACK位都置為1,確認號是ack=x+1,同時也為自己選擇一個初始序號seq=y。請注意,這個報文段也不能攜帶數據,但同樣要消耗掉一個序號。這時B進入SYN-RCVD狀態。

  A收到B的確認后,還要向B給出確認。確認報文段的ACK置為1,確認號ack=y+1,而自己的序號seq=x+1。這時,TCP連接已經建立,A進入ESTABLISHED狀態,當B收到A的確認后,也會進入ESTABLISHED狀態。

  以上給出的連接建立過程就是常說的TCP三次握手。

  為什么A還要發送一次確認呢?這主要是為了防止已失效的連接請求報文段突然又傳送到了B,因而產生錯誤。

  所謂已失效的連接請求報文段是這樣產生的。A發送連接請求,但因連接請求報文丟失而未收到確認,于是A重發一次連接請求,成功后建立了連接。數據傳輸完畢后就釋放了連接。現在假定A發出的第一個請求報文段并未丟失,而是在某個網絡節點長時間滯留了,以致延誤到連接釋放以后的某個時間才到達B。本來這是一個早已失效的報文段。但B收到此失效的連接請求報文段后,就誤以為A又發了一次新的連接請求,于是向A發出確認報文段,同意建立連接。假如不采用三次握手,那么只要B發出確認,新的連接就建立了。

  由于A并未發出建立連接的請求,因此不會理睬B的確認,也不會向B發送數據。但B卻以為新的運輸連接已經建立了,并一直等待A發來數據,因此白白浪費了許多資源。

  采用TCP三次握手的方法可以防止上述現象發生。例如在剛才的情況下,由于A不會向B的確認發出確認,連接就不會建立。下面留個思考題給大家:如果在TCP第三次握手中的報文段丟失了會發生什么情況?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通榆县| 本溪| 灵璧县| 兖州市| 平山县| 邢台市| 南木林县| 克山县| 盐池县| 顺义区| 上杭县| 景德镇市| 烟台市| 涿鹿县| 崇文区| 宁强县| 岳阳市| 宜兴市| 河西区| 封开县| 军事| 武乡县| 张家港市| 榆中县| 聂荣县| 罗城| 肥乡县| 资溪县| 肇庆市| 福清市| 长葛市| 平江县| 阜城县| 自贡市| 大化| 无为县| 赫章县| 延寿县| 青州市| 牡丹江市| 德州市|