TCP三次握手
三次握手的實(shí)際情況
chai是一位帥氣小伙兒枢里,yun是一位文靜貌美姑涼浩村。以下是費(fèi)文字的描述
- chai: 小姐姐证舟,能知道你的芳名嗎?
- yun: yun
- yun: 小哥哥争舞,你還沒告訴我你的名字呢
- chai: chai
以下省一點(diǎn)
- chai: 小姐姐,能知道你的芳名嗎澈灼?
- yun: yun竞川,小哥哥,你還沒告訴我你的名字呢
- chai: chai
握手流程圖
struct tcphdr {
uint16_t source;
uint16_t dest;
uint32_t seq;
uint32_t ack_seq;
#if defined(__LITTLE_ENDIAN_BITFIELD) // 小端
uint16_t res1:4,
uint16_t doff:4,
uint16_t fin:1,
uint16_t syn:1,
uint16_t rst:1,
uint16_t psh:1,
uint16_t ack:1,
uint16_t urg:1,
uint16_t ece:1,
uint16_t cwr:1;
#elif defined(__BIG_ENDIAN_BITFIELD) // 大端
uint16_t doff:4,
uint16_t res1:4,
uint16_t cwr:1,
uint16_t ece:1,
uint16_t urg:1,
uint16_t ack:1,
uint16_t psh:1,
uint16_t rst:1,
uint16_t syn:1,
uint16_t fin:1;
#endif
uint16_t window;
uint16_t check;
uint16_t urg_ptr;
/*The options start here. */
};
第一次syn置為1
第二次syn置為1叁熔,ack置為1
第三次ack置為1
TCP四次揮手
四次揮手的實(shí)際情況
舉例:春節(jié)送別委乌。
- 第一次,要走的人說:我要去深圳了
- 第二次荣回,送別的人說:拜拜
- 第三次遭贸,送別的人說:我要回家了,對(duì)了還有你的東西
- 第四次心软,要走的人說:拜拜
第一次fin置為1
第二次ack置為1
第三次ack置為1壕吹,fin置為1
第四次ack置為1
2MSL
2倍報(bào)文生存周期。如果第四次揮手丟失删铃,第三次揮手會(huì)在1MSL內(nèi)重傳耳贬。
如果我們?cè)O(shè)置的時(shí)間少于 2MSL ,舊的連接剛剛關(guān)閉猎唁,這個(gè)時(shí)候有同樣的新連接進(jìn)來了咒劲,而之前的連接還有殘留報(bào)文在網(wǎng)絡(luò)上,就會(huì)干擾新的連接的使用诫隅。