首页 > 试题广场 >

TCP中,如果两台主机同时企图与对方套接字之间建立连接,结果

[单选题]

TCP中,如果两台主机同时企图与对方套接字之间建立连接,结果是建立几个连接以及释放全部连接需要几次握手()

  • 1, 4
  • 2, 8
  • 2, 4
  • 1, 3
       这种情况虽然发生的可能性极小,但是是确实存在的,TCP也特意设计了相关机制,使得在这种情况下双方仅建立一条连接。
       双方同时请求连接的情况下,双方同时发出请求连接报文,并进入SYN-SENT状态;当收到对方的请求连接报文后,会再次发送请求连接报文,确认号为对方的SYN+1,并进入SYN-RCVD状态;当收到对方第二次发出的携带确认号的请求报文之后,会进入ESTAB-LISHED状态。
       双方同时请求释放连接也是同样的,双方同时发出连接释放报文,并进入FIN-WAIT-1状态;在收到对方的报文之后,发送确认报文,并进入CLOSING状态;在收到对方的确认报文后,进入TIME-WAIT状态,等待2MSL之后关闭连接。需要注意的是,这个时候虽然不用再次发送确认报文并确认对方收到,双方仍需等待2MSL之后再关闭连接,是为了防止“已失效的连接请求报文段”的影响。
同时建立连接:
同时释放连接:

发表于 2019-06-05 15:14:24 回复(2)
一个端口只会建立一个连接,但是一次报文发送视为一次会话(握手)😀
发表于 2018-12-30 21:57:00 回复(3)
题目的意思应该是两台主机的源端口和目的端口是相反的,这样尝试建立连接,这样一来socket就完全一致了,只能有一个连接。
发表于 2019-04-12 16:38:20 回复(1)
这个不是应该建立两个连接嘛?
发表于 2018-09-26 13:43:48 回复(0)
这种情况虽然发生的可能性极小,但是是确实存在的,TCP也特意设计了相关机制,使得在这种情况下双方仅建立一条连接。        双方同时请求连接的情况下,双方同时发出请求连接报文,并进入SYN-SENT状态;当收到对方的请求连接报文后,会再次发送请求连接报文,确认号为对方的SYN+1,并进入SYN-RCVD状态;当收到对方第二次发出的携带确认号的请求报文之后,会进入ESTAB-LISHED状态。        双方同时请求释放连接也是同样的,双方同时发出连接释放报文,并进入FIN-WAIT-1状态;在收到对方的报文之后,发送确认报文,并进入CLOSING状态;在收到对方的确认报文后,进入TIME-WAIT状态,等待2MSL之后关闭连接。需要注意的是,这个时候虽然不用再次发送确认报文并确认对方收到,双方仍需等待2MSL之后再关闭连接,是为了防止“已失效的连接请求报文段”的影响。 同时建立连接: 同时释放连接:
发表于 2022-01-07 12:47:58 回复(0)
我个人想法,不一定对,建立一次链接,三次握手,但是两个都想给对方链接 有木有一种可能,假设a先链接b,这时候ab链接上了,然后b想链接a,只需要改变一下谁是主。个人想法💡
发表于 2022-12-16 11:04:57 回复(0)
求大神解答
发表于 2018-10-12 15:01:07 回复(0)
什么情况啊?发起TCP连接时本地端口不是随机的吗?应该有2个连接吧?
编辑于 2019-11-06 00:36:53 回复(0)
套接字连接不应该是C/S模式吗?这样不应该两个主机同时为C和S,建立两个连接?我的理解不对?
发表于 2018-12-06 19:36:24 回复(0)
d
发表于 2018-09-26 17:16:01 回复(0)