三次握手和四次揮手簡述 三次握手及四次揮手在TCP/ip模型的哪一層進行的?最好有理由~?
三次握手及四次揮手在TCP/ip模型的哪一層進行的?最好有理由~?TCP/IP由四層組成:網(wǎng)絡接口層、網(wǎng)絡層、傳輸層和應用層。三次握手和四個波發(fā)生在第三層:傳輸層。理由:三次握手和四次波是TCP協(xié)議保
三次握手及四次揮手在TCP/ip模型的哪一層進行的?最好有理由~?
TCP/IP由四層組成:網(wǎng)絡接口層、網(wǎng)絡層、傳輸層和應用層。
三次握手和四個波發(fā)生在第三層:傳輸層。理由:三次握手和四次波是TCP協(xié)議保證可靠全連接的手段,TCP協(xié)議屬于傳輸層協(xié)議。當然,三次握手和四個波發(fā)生在第三層——傳輸層
面向TCP連接
就像呼叫一樣,你需要撥號、振鈴和連接。發(fā)表演講
過程:
a:我想和你建立聯(lián)系
B:好的,我知道。我也想和你建立連接
a:我知道你收到了我的連接請求,我也收到了你的連接請求
滑動窗口:
主要是為了避免一次發(fā)送太多數(shù)據(jù),導致對方的緩存溢出。
滑動窗口是一種動態(tài)協(xié)商,即當建立連接時,它將進行協(xié)商
同時,當緩沖區(qū)發(fā)生變化時,它將進行協(xié)商。
主要目的是避免在一方斷開連接而另一方不知道時浪費資源來維護斷開的連接
過程:
假設已經(jīng)建立了三個連接
A:我要與您斷開連接
B:好的,我知道你要斷開連接
B:我也要和你斷開連接
A:好的,然后斷開連接
三次握手:第三次握手一次握手:客戶端向服務器發(fā)送一個syn數(shù)據(jù)包(syn=x)并進入syn發(fā)送狀態(tài),等待服務器確認;第二次握手:當服務器收到syn包時,必須確認客戶端的syn(ACK=x1),同時發(fā)送一個syn包(syn=y),即syn ACK包。此時,服務器進入synRecv狀態(tài);第三次握手:客戶機接收服務器的syn+ACK數(shù)據(jù)包并向服務器發(fā)送ACK(ACK=y1)。數(shù)據(jù)包發(fā)送后,客戶機和服務器進入建立狀態(tài)并完成三次握手。在握手過程中,數(shù)據(jù)包不包含數(shù)據(jù)。在三次握手之后,客戶機和服務器正式開始傳輸數(shù)據(jù)。理想情況下,一旦建立了TCP連接,TCP連接將一直保持到雙方中的任何一方關閉連接為止。四次握手類似于建立連接的“三次握手”,斷開TCP連接需要“四次握手”。第一波:主動關閉方發(fā)送fin關閉主動關閉方到被動關閉方的數(shù)據(jù)傳輸,即主動關閉方告訴被動關閉方:我不再向您發(fā)送數(shù)據(jù)(當然,如果fin包之前發(fā)送的數(shù)據(jù)沒有收到相應的ack確認消息,主動關閉方仍然會重新發(fā)送該數(shù)據(jù)),但此時主動關閉方也可以接受該數(shù)據(jù)。第二波:被動關閉方收到fin報文后,向對方發(fā)送ACK,確認序號為收到序號1(與syn相同,一個fin占用一個序號)。第三波:被動關閉方發(fā)送fin,用于關閉被動關閉方到主動關閉方的數(shù)據(jù)傳輸。換言之,它告訴主動成交方我的數(shù)據(jù)已經(jīng)發(fā)送出去了,不會再向您發(fā)送任何數(shù)據(jù)。第四波:主動關閉方收到fin后,向被動關閉方發(fā)送ACK,確認收到序列號1。到目前為止,已經(jīng)完成了四次浪潮。
如何快速理解TCP三次握手,四次揮手?
首先,讓我們看看三次握手
!在第一次握手中,客戶端向服務器發(fā)送請求:“我想與您建立鏈接”
在第二次握手中,服務器回復客戶端:“收到,您真的想與我建立鏈接嗎”
在第三次握手中,客戶端回復服務器:“是,我真的很想和你建立聯(lián)系。
成功
!我想您最大的疑問是:當服務器第二次回復客戶端時,為什么不直接成功呢
!第三次握手的主要目的是防止向服務器發(fā)送無效的鏈接請求
!當然,正常情況下沒問題
!但是,在異常情況下!客戶端發(fā)送了一個請求,在一個網(wǎng)絡節(jié)點上時間長了,發(fā)送到服務器已經(jīng)無效了
!但是,如果服務器不發(fā)送確認消息(第三次握手),它會認為這是一個新的請求。
服務器會一直等待,但是對于客戶端來說,鏈接失敗了,不會發(fā)送數(shù)據(jù),造成服務器資源的極大浪費
!通過第三次握手,它將防止無效鏈接傳輸?shù)椒掌?,從而浪費服務器資源
!此外,不要忘記,即使有第三次握手,也經(jīng)常受到黑客的攻擊!即使它沒有受到攻擊,如果有太多的鏈接請求,服務器通常會出現(xiàn)503
!所以,必須有第三次握手!