TCP/IP三次握手四次揮手過(guò)程
TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)。本文yjbys小編為大家?guī)?lái)的是TCP/IP三次握手四次揮手過(guò)程解析,希望對(duì)大家有參考作用!
一個(gè)虛擬連接的建立是通過(guò)三次握手來(lái)實(shí)現(xiàn)的
1. (Client) > [SYN] > (Server)
假如Client和Server通訊. 當(dāng)Client要和Server通信時(shí),Client首先向Server發(fā)一個(gè)SYN (Synchronize) 標(biāo)記的包,告訴Server請(qǐng)求建立連接.
注意: 一個(gè) SYN包就是僅SYN標(biāo)記設(shè)為1的TCP包(參見(jiàn)TCP包頭Resources). 認(rèn)識(shí)到這點(diǎn)很重要,只有當(dāng)Server收到Client發(fā)來(lái)的`SYN包,才可建立連接,除此之外別無(wú)他法。因此,如果你的防火墻丟棄所有的發(fā)往外網(wǎng)接口的SYN包,那么你將不 能讓外部任何主機(jī)主動(dòng)建立連接。
2. (Client) < [SYN/ACK] <(Server)
接著,Server收到來(lái)自Client發(fā)來(lái)的SYN包后,會(huì)發(fā)一個(gè)對(duì)SYN包的確認(rèn)包(SYN/ACK)給Client,表示對(duì)第一個(gè)SYN包的確認(rèn),并繼續(xù)握手操作.
注意: SYN/ACK包是僅SYN 和 ACK 標(biāo)記為1的包.
3. (Client) > [ACK] > (Server)
Client收到來(lái)自Server的SYN/ACK 包,Client會(huì)再向Server發(fā)一個(gè)確認(rèn)包(ACK),通知Server連接已建立。至此,三次握手完成,一個(gè)TCP連接完成。
Note: ACK包就是僅ACK 標(biāo)記設(shè)為1的TCP包. 需要注意的是當(dāng)三此握手完成、連接建立以后,TCP連接的每個(gè)包都會(huì)設(shè)置ACK位。
四次揮手用來(lái)關(guān)閉已建立的TCP連接
· (Client) > ACK/FIN > (Server)
· (Client) < ACK < (Server)
· (Client) < ACK/FIN < (Server)
· (Client) > ACK > (Server)
上束過(guò)程表示瀏覽器基于IP/TCP協(xié)議來(lái)通訊的過(guò)程~
如果網(wǎng)絡(luò)遭受SYN攻擊 Len值會(huì)超過(guò)800 如下圖所示
【TCP/IP三次握手四次揮手過(guò)程】相關(guān)文章:
2.TCP/IP網(wǎng)絡(luò)協(xié)議簡(jiǎn)介
5.TCP/IP網(wǎng)絡(luò)編程中socket的行為
6.TCP/IP協(xié)議棧網(wǎng)絡(luò)層常見(jiàn)協(xié)議匯總