当2台主机通过3次握手同时建立连接时会发生什么

橘子

假设两个主机A和B都试图彼此建立连接,但是A的SYN在B的SYN到达A之前就到达了B。

我的回答是,A会发送SYN ACK,而忽略B的SYN。我正确吗?

马格劳德

将建立两个连接。TCP不能以这种方式了解状态-两个连接都不会具有其他连接的任何概念。

例如:

Connection 1:
192.168.1.5 sends SYN to 192.168.1.6 on port 80.

Connection 2:
192.168.1.6 sends SYN to 192.168.1.5 on port 80.

为了继续进行此操作,双方都需要在端口80上侦听服务,因此每个人都需要在TCP上侦听端口80的内容,并且该服务将接收SYN并以SYN-ACK进行响应:

Connection 1:
192.167.1.6 responds with SYN-ACK to 192.168.1.5 on port 80

Connection 2:
192.167.1.5 responds with SYN-ACK to 192.168.1.6 on port 80

请记住,这些侦听服务在相反的机器上-无法知道对方也已收到SYN,因此没有理由它们不应该发送SYN-ACK。

正如TCP协议所规定的,一旦发起方接收到SYN-ACK,它将做出响应:

Connection 1:
192.168.1.5 sends ACK to 192.168.1.6 on port 80.

Connection 2:
192.168.1.6 sends ACK to 192.168.1.5 on port 80.

现在,您具有两个独立的连接,并具有完整的TCP握手。正如SvW的评论中提到的那样:如果这是一件坏事,则取决于哪个应用程序启动了连接以确定该状态是否存在并找出断开的连接-这不是TCP的工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过旧的CAT5电缆连接千兆交换机时会发生什么?

来自分类Dev

当您打开/关闭手柄时会发生什么?

来自分类Dev

Microsoft SQL Server连接超出带宽时会发生什么?

来自分类Dev

暂停时会发生什么?

来自分类Dev

同时连接 WiFi 和以太网会发生什么?

来自分类Dev

当我同时使用主机卷(绑定安装)和命名卷(一种 docker 管理的卷)时会发生什么?

来自分类Dev

在Linux内核中同时发生两个中断时会发生什么

来自分类Dev

EC2 ubuntu实例关闭时会发生什么?

来自分类Dev

Java,通过SSL连接时出错(握手期间远程主机关闭的连接)

来自分类Dev

Java,通过SSL连接时出错(握手期间远程主机关闭的连接)

来自分类Dev

当实际类型和外部类型不同时会发生什么?

来自分类Dev

方法名称和块名称相同时会发生什么?

来自分类Dev

当两个线程同时调用相同的静态方法时会发生什么?

来自分类Dev

当线程尝试同时调用静态和非静态同步方法时会发生什么?

来自分类Dev

在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

来自分类Dev

两个SIP客户端同时登录时会发生什么

来自分类Dev

当脚本src不同时会发生异常,代码有什么问题?

来自分类Dev

当您同时触摸两个按钮时会发生什么

来自分类Dev

当两个进程同时调用register()时会发生什么

来自分类Dev

未指定dbCreate时会发生什么?

来自分类Dev

升级Ubuntu时会发生什么?

来自分类Dev

单击提交按钮时会发生什么

来自分类Dev

循环结束时会发生什么?

来自分类Dev

合成子类的变量时会发生什么?

来自分类Dev

达到墓碑限制时会发生什么

来自分类Dev

VRAM已满时会发生什么?

来自分类Dev

当指针太大时会发生什么?

来自分类Dev

断言检查失败时会发生什么?

来自分类Dev

定义函数时会发生什么?

Related 相关文章

  1. 1

    通过旧的CAT5电缆连接千兆交换机时会发生什么?

  2. 2

    当您打开/关闭手柄时会发生什么?

  3. 3

    Microsoft SQL Server连接超出带宽时会发生什么?

  4. 4

    暂停时会发生什么?

  5. 5

    同时连接 WiFi 和以太网会发生什么?

  6. 6

    当我同时使用主机卷(绑定安装)和命名卷(一种 docker 管理的卷)时会发生什么?

  7. 7

    在Linux内核中同时发生两个中断时会发生什么

  8. 8

    EC2 ubuntu实例关闭时会发生什么?

  9. 9

    Java,通过SSL连接时出错(握手期间远程主机关闭的连接)

  10. 10

    Java,通过SSL连接时出错(握手期间远程主机关闭的连接)

  11. 11

    当实际类型和外部类型不同时会发生什么?

  12. 12

    方法名称和块名称相同时会发生什么?

  13. 13

    当两个线程同时调用相同的静态方法时会发生什么?

  14. 14

    当线程尝试同时调用静态和非静态同步方法时会发生什么?

  15. 15

    在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

  16. 16

    两个SIP客户端同时登录时会发生什么

  17. 17

    当脚本src不同时会发生异常,代码有什么问题?

  18. 18

    当您同时触摸两个按钮时会发生什么

  19. 19

    当两个进程同时调用register()时会发生什么

  20. 20

    未指定dbCreate时会发生什么?

  21. 21

    升级Ubuntu时会发生什么?

  22. 22

    单击提交按钮时会发生什么

  23. 23

    循环结束时会发生什么?

  24. 24

    合成子类的变量时会发生什么?

  25. 25

    达到墓碑限制时会发生什么

  26. 26

    VRAM已满时会发生什么?

  27. 27

    当指针太大时会发生什么?

  28. 28

    断言检查失败时会发生什么?

  29. 29

    定义函数时会发生什么?

热门标签

归档