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

首頁 > 課堂 > 網絡協議 > 正文

TCP如何建立/拆除連接的方法

2020-10-24 11:54:57
字體:
來源:轉載
供稿:網友

 
TCP如何建立連接
圖 1TCP 首部格式中SYN 標志位僅使用在建立TCP 連接的過程中,TCP 建立連接的過程被稱為“三路握手“連接,即一般通信雙方共需要傳輸三個數據包方能成功建立一個TCP 連接。我們通常將建立連接作為使用TCP 協議理所當然的前導過程,但很少去質疑這樣一個建立連接過程的必要性。

實際上,使用TCP 協議必須首先建立一個連接是保證TCP 協議可靠性數據傳輸的基本前提(當然由于TCP 協議是一個有狀態協議,必須通過某種機制進行通信雙方狀態上的同步,而建立連接就是這樣一種機制)。    
至于為何需要三個數據包,原因是建立連接過程中信息的交換必須至少使用三個數據包,從下文的分析來看,建立連接最多需要使用四個數據包。需要再次提到的是:SYN 標志位只是用在建立連接的三個(或者四個)數據包中,一旦連接建立完成后,之后發送的所有數據包不可設置SYN 標志位。單從保證數據可靠性傳輸角度而言,TCP 協議需要在正式數據傳輸之前首先進行某些信息的交換,這個信息即是雙方的初始序列號(另外的一些信息包括最大報文長度通報等)。
 
誠如前文所述,序列號的使用對于 TCP 協議而言至關重要,在正式數據傳輸之前,雙方必須得到對方的初始字節數據的編號,這樣才有可能對其所接收數據的合法性進行判斷,才有其它的對數據重復,數據重疊等一系列問題的進一步判別和解決。故交換各自的初始序列號必須在正式數據傳輸之前完成,我們美其名曰這個過程為連接建立過程。至于雙方TCP 協議各自狀態的更新主要是軟件設計上可靠性保證的一個輔助,并非這個所謂的建立過程所主要關注的問題。
     
初始序列號的交換從最直接的角度來說需要四個數據包:
1> 主機 A 向主機B 發送其初始序列號。
2> 主機 B 向主機A 確認其發送的初始序列號。
3> 主機 B 向主機A 發送其初始序列號。
4> 主機 A 向主機B 確認其發送的初始序列號。
 
我們將<2><3>兩步合為一步,即B 向A 確認其(A 之前發送的)初始序列號的同時發送其(即B 自己的)初始序列號。所謂確認數據包即將數據包的ACK 標志位設置為1 即可。注意這三個(或四個)數據包中SYN 標志位設置為1,而且SYN 標志位也僅在這三個(或四個)數據包中被設置為1。
 
此處有一個問題:即A,B 主機在通報各自初始序列號的同時能否傳輸一些正常數據,原理上可以(TCP 協議規范上并沒有說不可以),但是大多數實現在通報初始序列號時都不附帶正常數據,而是將其作為一個單獨的過程,由此正式確立建立連接一說。
     
TCP如何拆除連接
當前連接的雙方都可以發起拆除連接操作,但簡單的拆除連接可能會造成數據丟失。為此,TCP采用四次握手的方式拆除連接。
 
四次握手與三次握手類似:
①1發拆除請求
②2收到請求,并發確認,1收到該確認后,不再發送數據,但任然會接收數據(半連接)
③2發拆除請求
④1收到請求,并確認,到此拆除完成
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 如皋市| 宝鸡市| 安龙县| 龙井市| 西丰县| 余干县| 乳山市| 华宁县| 无棣县| 平顺县| 宝山区| 德州市| 安丘市| 芜湖县| 土默特右旗| 泉州市| 阜新市| 武安市| 岳阳市| 鱼台县| 麻江县| 墨竹工卡县| 曲麻莱县| 龙山县| 西青区| 石狮市| 依安县| 高安市| 桃江县| 奈曼旗| 清苑县| 读书| 桃园县| 抚顺县| 崇文区| 神农架林区| 怀化市| 枣阳市| 岳池县| 万山特区| 沛县|