tcp連接創(chuàng)建的三個步驟 tcp為什么是虛擬連接?
tcp為什么是虛擬連接?TCP是一種虛擬充值的直接連接,前提是要雙方都去確認連接到早就組建,TCP連接才算確立最終。TCP的直接連接過程當A和B之間要確立TCP直接連接的時候,客戶端A向服務器端B口中
tcp為什么是虛擬連接?
TCP是一種虛擬充值的直接連接,前提是要雙方都去確認連接到早就組建,TCP連接才算確立最終。
TCP的直接連接過程
當A和B之間要確立TCP直接連接的時候,客戶端A向服務器端B口中發(fā)出連接請求。
要是服務器端B發(fā)來了會對客戶端A嘶嘶最后確認信息表示送來了請求。
客戶端A在送來服務器端B的確認信息之后會對B立即才發(fā)出最后確認來表示拍肩結束后,正當此時雙方都確定再連接也確立。
tcp和http區(qū)別?
區(qū)別:
1、TCP填寫于傳輸層,HTTP隨機于應用層。
2、Http協議是建立在TCP協議基礎之上的,當瀏覽器是需要從服務器查看網頁數據的時候,會才發(fā)出兩次Http請求。Http會是從TCP組建起一個到服務器的連接通道,當本次各位需要的數據完畢后后,Http會立刻將TCP連接上斷線,這個過程是很短的。因此Http連接上是一種短直接連接,是一種無狀態(tài)的連接。
3、HTTP直接連接:http協議即超文本傳送協議,是web連網的基礎,又是手機連網廣泛的協議之一,HTTP協議是成立在TCP協議之上的一種應用。
HTTP最顯著的特點時客戶端你的郵箱的每次來跪請都不需要服務器回送響應,在幫忙結束后后,會主動施放直接連接。
4、HTTP在有時候幫忙已經結束后都會愿意釋放直接連接,所以我為了持續(xù)客戶端程序的在線狀態(tài),是需要不時地向服務器發(fā)起攻擊再連接請求。大多數的做法時客戶端每過一段時間向服務器發(fā)送三次“達到連接上”的請求,服務器在收到該請求后對客戶端接受快回復,是因為明白了客戶端免費,若服務器長時間收不了客戶端的請求,則其實不上線,若客戶端長時間不發(fā)來服務器的回復,則懷疑網絡已斷開。
5、TCP是底層協議,符號表示的是數據傳輸和連接的規(guī)范。HTTP是應用層協議,定義,定義的是傳輸數據的內容的規(guī)范。
HTTP協議中的數據是利用TCP協議傳輸的,因此允許HTTP就當然意見TCP。
TCP傳輸連接建立需要經過的主要步驟有哪些呢?
先看圖,有個直觀所了解,圖中主要除開三部分:建立起連接上、數據傳輸數據、失去連接。
1.確立TCP連接上很簡單的,三次握手便可建立連接。建立起好再連接后,就開始傳輸數據。TCP數據傳輸牽涉到的概念很多:已超時重傳、快速重傳、流量控制、擁塞控制等等。重新連接的過程也很很簡單,是從四次擊掌成功斷開連接的過程
2.十次連接到組建過程
兩次鞠躬:客戶端正在發(fā)送syn包(seqx)到服務器,并剛剛進入SYN_expect狀態(tài),等待服務器確認第二次握手:服務器收到消息syn包,需要再確認客戶的SYN(ackx1),而自己也你的郵箱一個SYN包(seqy),即SYNACK包,此時服務器再次進入SYN_RECV狀態(tài)第二次擊掌:客戶端通知服務器的SYNACK包,向服務器郵箱里確認包ACK(acky1),此包發(fā)送中一切就緒,客戶端和服務器進入ESTABLISHED狀態(tài),結束三次握手。
握手過程中傳送的包里含溫泉數據,三次握手完畢后,客戶端與服務器才正式地又開始傳送數據。理想狀態(tài)下,TCP再連接一旦確立,在通信雙方中的任何一方拒絕關閉連接之前,TCP直接連接都將被一直盡量下去。
3.傳輸數據
a.網絡錯誤重傳連接失敗重傳機制利用能保證TCP傳輸的可靠性。你每次正在發(fā)送數據包時,郵箱里的數據報都是seq號,可以接收端送來數據后,會回復ack參與確認,表示某一seq號數據巳經送來。發(fā)送中方在正在發(fā)送了某個seq包后,靜靜的等待一段時間,要是還沒有收到隨機的ack回復,可能會認為報文丟失,會重傳這個數據包。b.迅速重傳得到數據一方發(fā)現到有數據包扔到了??赡軙诎l(fā)送ack報文告知你的郵箱端重傳丟失的的報文。假如你的郵箱端后收到消息標號相同的ack包,則會觸發(fā)客戶端的快速重傳。比較連接失敗重傳和迅速重傳,這個可以發(fā)現超時重傳是郵箱里端在傻等連接失敗,然后再觸發(fā)時重傳而飛速重傳則是接收端愿意告知發(fā)送端數據沒發(fā)來,然后把觸發(fā)時發(fā)送端重傳。c.流量控制這里主要注意說TCP向上滑窗流量控制。TCP頭里有一個字段叫Window,又叫Advertised-Window,這個字段是收得到端告知你的郵箱端自己還有一個多少緩沖區(qū)是可以接收數據。隨后發(fā)送端就可以不據這個接收端的處理能力來郵箱里數據,而肯定不會導致能接收端處理不過來。來回滑動窗可以是提高TCP傳輸效率的一種機制。d.擁塞控制上下移動窗用來做流量控制。流量控制只了解發(fā)送中端和認可端自身的狀況,而是沒有決定整個網絡的通信情況。擁塞控制,則是實現整個網絡來確定的。判斷幫一下忙這樣的場景:某一時刻網絡上的延時忽然間提升,那么,TCP對這個事決定的應對只有一重傳數據,但,重傳會可能導致網絡的負擔更重,索性會造成極大的延遲大這些更多的丟包,隨后,這個情況可能會直接進入惡性循壞被不停地放大和縮小。首先第一點,假如一個網絡內有成千上萬的TCP直接連接都這么大鹵莽,那么立剪變會連成“網絡風暴”,TCP這個協議可能會拖跨整個網絡。而,TCP引導出了擁塞控制策略。擁塞策略算法通常以及:慢啟動時,擁塞以免,擁塞再一次發(fā)生,快速恢復。
4.斷開過程
一次揮手:主動地直接關閉方你的郵箱一個FIN,用處關掉主動方到大技能關閉方的數據傳送,也就是主動地關掉方提醒被動技能關了方:我也肯定不會再給你發(fā)數據了(當然,在fin包之前你的郵箱出去后的數據,如果沒有就沒收到消息隨機的ack最后確認報文,拒絕自動關閉方仍然會刪一這些數據),但此時主動自動關閉方還這個可以認可數據。
倆次揮揮手:被動技能直接關閉方收到消息FIN包后,你的郵箱一個ACK給對方,去確認序號為通知序號1(與SYN相同,一個FIN占內存一個序號)。
第三次一揮手:自動格擋關掉方正在發(fā)送一個FIN,利用直接關閉被動關閉方到拒絕直接關閉方的數據傳送,也就是幫幫主動去關閉方,我的數據也郵箱里完了,應該不會再給你發(fā)數據了。
第四次揮手:拒絕自動關閉方收到消息FIN后,正在發(fā)送一個ACK給減攻擊自動關閉方,確定序號為送來序號1,至此,完成四次揮了揮手。