【问题标题】:TCP vs UDP - What is a TCP connection? [duplicate]TCP 与 UDP - 什么是 TCP 连接? [复制]
【发布时间】:2018-07-09 10:31:23
【问题描述】:

什么是 TCP 连接? 我知道从客户端到服务器没有物理连接。此连接是否只是客户端的套接字与服务器在三次握手后创建的新套接字链接? 此后,一旦建立“连接”,连接两端的套接字就会知道将数据包发送到哪里。

这与除了与 TCP 的初始握手之外的 UDP 功能方式有何不同? 是不是每个服务器套接字只有一个客户端向该特定套接字发送数据包?

在主机之间建立专用连接有哪些可能的优势?我对 TCP 和 UDP 的理解还是很基础的,所以泛泛而谈就足够了。

【问题讨论】:

    标签: tcp udp network-protocols


    【解决方案1】:

    让我们把它分成几部分。首先,网络是基于 IP 的,IP 是一种为每个网络节点分配地址的协议,它允许您发送少量数据(通常高达 64kB,但通常只有 1500B ) 从一个节点到另一个节点。

    这本身并不值钱,因为我们无法检查数据是否实际到达,以及它是否以正确的顺序到达。如果我们想要一种抽象机制来传输任意数量的数据并确保它们到达,我们需要在网络之上的另一个协议来处理这种“传输”。这就是 TCP 的目的。

    然而,与 TCP 并行,还有另一种“传输”协议,它根本不做任何检查并且没有可靠性,即 UDP。 UDP 只是原始 IP 数据包的薄包装器,它添加了一点元数据(如 端口 号)。

    但是,UDP 仍然有用,因为在很多情况下数据完整性已经移交给更高的协议,因此不需要复杂的传输协议。这例如用于虚拟网络服务,其中 TCP/IP 的另一个实例通常在 UDP 通道上运行。 (在这种情况下,由于重新发送级联,使通道使用像 TCP 这样的可靠协议实际上会产生灾难性的后果。)

    所以术语“TCP 连接”是指 TCP 协议的应用。该协议自然是有状态的,并且通常在 SYN-ACK-data-FIN 序列中进行,或者在传输被拒绝的情况下以 SYN/RST 进行;两个对等点都保持连接状态(握手、建立、关闭、关闭)。TCP 还引入了术语“服务器”和“客户端”,服务器是 listen()s 用于传入连接的对等点。

    【讨论】:

    • 嗯...我正在努力思考如何用这个词来表达我想要的东西。我了解 TCP 添加了额外的功能,可以实现更可靠的数据传输。它还具有处理拥塞控制的功能。我想我想忽略这些功能,只关注实际的“连接”。如果我要设计一个来回发送确认以提高可靠性的 UDP 客户端和服务器,那么这会是一个类似于 TCP 中使用的“连接”吗?
    • 老兄,当你搜索tcp connection 时,你答案的最后一段出现在谷歌的顶部。恭喜~,我猜。
    • @renocor:哈哈,确实,谢谢 :-) 这有点尴尬,不是吗。哦,好吧。
    • @KasunSiyambalapitiya:这些是 TCP 包的种类。 SYN、ACK、FIN 和 RST 是建立或结束连接的握手元数据。
    • 根据 OP cmets,我认为这个答案(虽然正确)没有回答 OP 问题,也没有回答我的问题。我的问题是:“当我们说两台主机之间建立了连接时,这是什么意思?如果我能得到一个神奇的显微镜并检查服务器或客户端,然后 - 哈! - 找到连接,我会看什么?操作系统代码分配的一些变量?某种表中的一些条目?它是如何以及何时到达那里的,以及如何以及何时从那里删除“。
    【解决方案2】:

    TCP 和 UDP 套接字的主要区别在于 UDP 是无连接的,不使用任何确认另一端接收到数据。

    传输控制协议 (TCP) 是 Internet 协议套件的核心协议之一。 TCP 是该套件的两个原始组件之一,是对 Internet 协议 (IP) 的补充,因此整个套件通常称为 TCP/IP。 TCP 提供从一台计算机上的程序到另一台计算机上的另一个程序的可靠、有序的字节流传递。 TCP 是万维网、电子邮件、远程管理和文件传输等主要 Internet 应用程序所依赖的协议。其他不需要可靠数据流服务的应用程序可以使用用户数据报协议 (UDP),该协议提供的数据报服务强调减少延迟而不是可靠性。1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-04
      • 2020-07-02
      • 2020-04-05
      • 1970-01-01
      • 2016-08-04
      • 2012-02-14
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多