gpt4 book ai didi

networking - 什么是连接?

转载 作者:可可西里 更新时间:2023-11-01 02:32:19 25 4
gpt4 key购买 nike

我对面向连接的 TCP 和无连接的 UDP 感到困惑,所以请有人澄清这一点。

  • 无论是 TCP 还是 UDP,两台计算机之间的每一次通信都是通过数据包进行的。两个对等点之间没有硬线连接,无论是 TCP 还是 UDP。那么为什么说 TCP 是面向连接的只是因为它在没有收到确认时重传数据包或者它在数据包中嵌入了序列号?

  • 连接的实际含义是什么?两个通信对等方之间路径上的路由器是否预订了一段时间以接受该特定连接的数据包?

编辑

  • 你说两点之间的连接是什么时候建立的?

谢谢

最佳答案

连接只是两个端点之间的虚拟路径。使用 TCP,您打开连接并开始通过它发送数据。它保证按顺序到达另一端(假设网络没有发生故障)。然后关闭连接。

在连接期间,两端相互通信,确认收到数据包,以确保没有丢失或重复。

对于 UDP,情况略有不同。您基本上只是将一个带有目标地址的数据包扔出去,它可能会到达也可能不会到达 - 这是 UDP 中的 U(不可靠)。

您不应该误以为 TCP 连接会导致所有数据包采用相同的物理路径。如有必要,它们将绕过问题区域。

至于您的更新,连接是在发生以下情况后建立的:

  • SYN 数据包已从发起者发送。
  • 响应者已发回一个SYN-ACK数据包。
  • 发起者发回了另一个ACK数据包。

这是TCP的 session 建立协议(protocol)。数据包本身是 header 中设置了 SYN 和/或 ACK 标志的普通数据包。

关于 TCP(和其他协议(protocol))的开创性书籍是 Stevens ,如果你想要一个死树版本,给自己一份这个的副本——我已经有这个很久了。或者,当然还有 Wikipedia东西。对于不经意的询问者来说,这两本书都非常繁重,但如果您有兴趣深入了解,那是非常值得的——我个人更喜欢这本书,它与我书架上的高德纳 (Knuth) 并驾齐驱。

关于networking - 什么是连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com