zoukankan      html  css  js  c++  java
  • TCP的3次握手与4次握手

    为什么连接需要三次握手,断开需要四次握手。


    首先我们知道,TCP协议是去全双工的。可以在发送的同时进行接收数据。
    假定是主机A和主机B进行通信,断开时是A主动断开的。


    1)三次握手:第一次握手表明A可以发数据给B。但是无法保证B发给A的数据可以被收到。所以B也需要发送SYN给A,A对它进行回应,才保证了B也可以发数据给A。
    个人理解可以把三步拆分为四步理解:
    a)主机A给B发送SYN
    b)主机B回复ack --- 这时表明A可以发数据给B
    c)主机B发送SYN给A
    d)主机A回复ack --- 这时表明B也可以发送数据给A
    只不过协议中,把中间两步放在一步进行了。

    2)四次握手,就像下面这样理解:
    a)主机A给B发送FIN,表示对B说“我要断开了”
    b)主机B回复ack进行确认,表示对A说“嗯,我知道了,你可以断开了”
    c)然后B发送FIN给A,表示对A说“A,我也要断开了”
    d)A回复ack进行确认,表示对B说:“嗯,知道了,你断开吧”
    前两步对A进行断开,后两步对B进行断开。
    那么为什么不能把中间两步进行合并呢,因为无法保证被断开的一方的数据已经传送完毕了。

  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/zizhuocainiao/p/8084680.html
Copyright © 2011-2022 走看看