UDP 和 TCP 有什么区别?

UDP 和 TCP 有什么区别?

我的路由器有两种协议(以及“两者”选项)可供我在设置端口转发时选择:UDP 和 TCP。这两种协议有什么区别?在端口转发中,何时应该选择其中一种?

答案1

TCP通过确认和重试来确保数据能够到达目的地。UDP是无连接的,并且是“发送后不管”的。UDP 主要用于流式应用程序,如果丢失了一些数据,则无需再次尝试发送。

使用哪种方式取决于应用程序。例如,Web 服务器使用 TCP。

答案2

您可以在这里找到一个很好的总结:

UDP 和 TCP 互联网协议有什么区别?

TCP和UDP都工作在传输层TCP/IP模型上,但是用法有很大不同。

最重要的区别是:

  • 可靠性
    TCP:面向连接
    UDP:无连接
  • 有序
    TCP:保证消息接收的顺序
    UDP:不保证顺序
  • 协议权重
    TCP:重量级,因为存在连接/排序开销
    UDP:轻量级,开销很少
  • 数据包
    TCP:流式传输,数据以“流”的形式读取,没有区分一个数据包在哪里结束,另一个数据包在哪里开始。每次读取调用可能有多个数据包。UDP
    :数据报,每次读取调用一个数据包。

框架结构

当数据通过网络发送时,需要将其封装成所谓的“帧”。根据所使用的协议和拓扑,封装方法有多种。下图显示了 TCP 和 UDP 帧结构的不同之处。

这是TCP帧结构:

TCP 帧

这是UDP帧结构,更简单:

UDP 帧

使用 TCP 的典型协议有 HTTP、FTP 和 SMTP。使用 UDP 的协议示例有 DNS 和 DHCP。

答案3

CEO级别的解释是:

UDP 是指将纸张扔向垃圾箱的大致方向。

TCP 就是当它丢失时,你会一次又一次地扔掉同一张纸的副本,直到它落入垃圾箱。会有纸张浪费,甚至重新发送 TCP 数据包也会导致网络或系统资源的浪费。

答案4

要回答问题的其他部分,您必须转发应用程序使用的内容。要转发 HTTP 流量,请选择 TCP。要转发 TFTP 流量,请选择 UDP。p2p 程序大多同时使用 tcp 和 udp,因此请转发它们两者。

这完全取决于您使用的协议和程序。

相关内容