UDP和TCP有什么区别?

我的路由器有两个协议(和“两个”选项),我可以select设置端口转发:UDP和TCP。 这两个协议有什么区别,你什么时候在端口转发中select一个呢?

TCP由acks支持并重试,以确保你的数据到达目的地。 UDP是无连接的,并且是“消防和忘记”。 UDP主要用于streamtypes的应用程序,如果您丢失了一些数据,则不需要再尝试发送。

你使用哪一个取决于应用程序。 例如,一个Web服务器使用TCP。

你可以在这里find一个好的总结:

UDP和TCPnetworking协议有什么区别?

TCP和UDP都在传输层TCP / IP模式下工作,但具有非常不同的用法。

最重要的区别是:

  • 可靠性
    TCP:面向连接
    UDP:无连接
  • 有序
    TCP:保证消息接收顺序
    UDP:订单不能保证
  • 协议权重
    TCP:重量级,因为连接/sorting开销
    UDP:轻量级,开销很less

  • TCP:stream媒体,数据被读作“stream”,没有任何区别一个数据包结束和另一个开始的地方。 每次读取呼叫可能有多个数据包。
    UDP:数据报,每个读取呼叫一个数据包。

框架结构

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

这是TCP帧结构:

TCP帧

一个这样的UDP帧结构,要简单得多:

UDP帧

使用TCP的典型协议是HTTP,FTP和SMTP。 使用UDP协议的例子是DNS和DHCP。

而CEO级别解释:

UDP是当你把纸放在垃圾桶的大方向上的时候。

TCP是错过的时候,你一次又一次地扔同一份报纸的副本,直到它落入垃圾桶。 会造成纸张浪费,甚至会重新发送TCP数据包造成networking或系统资源的浪费。

TCP和UDP都是在IP之上运行的协议。 TCP已经保证交付,而UDP则不能。 您将select一个或另一个端口转发取决于您试图转发的服务。 HTTP,例如TCP。 如果你不知道你要转发的服务是什么协议,那几乎可以肯定是TCP。

以及TCP目前提到的差异

stream量控制。 使用窗口机制,收件人会限制发件人必须等待发送更多数据的权限之前,要从发件人接收多less个字节(字节)。 随着对话的进行,窗口的大小可以被接收器改变。 这允许接收者“扼制”来自发送者的数据的速率:UDP不允许这样,接收者可以做的就是丢弃它在到达时不能缓冲或处理的数据。

一些更多的技术设施,如不连续的确认(使用select性确认,允许发送方只重发丢失的帧而不是丢失的帧,接下来的接收方已经拥有但通常不能确认),拥塞处理和自适应重传(调整当未收到确认时决定多快重新发送帧的定时器)。 这些与UDP无关,但是帮助TCP通过UDP提供额外的服务,而不会大大增加相同有效负载量的networking负载。

要回答你的问题的其他部分,你必须转发你的应用程序使用。 要转发HTTPstream量,请select“TCP”。 要转发TFTP通信,请selectUDP。 P2P程序大多使用tcp和udp,所以转发他们两个。

这一切都取决于您使用的协议和程序。

TCP努力确保数据传送给接收方; UDP不。

没关系解释一个和另一个的所有答案。 为了设置端口转发,规则非常简单:您需要selectTCP,除非您使用的协议/应用程序的文档使用UDP。 通常使用UDP的是与stream媒体相关的,或者是非常简单的东西,它们支持轻量级协议/加速可靠性(尤其是DNS和NTP)。 请注意除TCP和UDP以外还有其他协议 – ICMP,隧道协议等。

协议越多,path上的路由器就越干涉协议。 发送tcp数据包,接收数据包的概率很高。 UDP通常不会被破坏,另外254个IP paylod协议通常是完全不变的。

用户数据报协议(UDP)

它是Internet协议套件的基本协议的一部分。 联网计算机上的程序可以发送有时称为数据报的短消息。 UDP不保证任何可靠性(发生的数据报可能无序到达,重复或丢失,没有任何通知)。 事实上,不检查是否所有的数据包实际交付,UDPcertificate是更快,更有效的,不需要保证传递的应用程序。 UDP在这种情况下find它的用途:

时间敏感的应用程序。 避免了延迟包造成的问题

对于从大量客户端回答小型查询的服务器也是有用的。 UDP支持数据包广播(向本地networking上的所有用户传送)和多播(传送给所有用户)。

传输控制协议(TCP)

由于Internet协议套件中该协议的重要性,通常将其称为TCP / IP。 TCP运行在更高层次上,只涉及两个terminal系统(例如networking浏览器和networking服务器之间)。 TCP提供从一台计算机上的一个程序到另一台计算机上的另一个程序的可靠,连续的数据stream传送。 TCP regroup电子邮件支持和文件传输以及Web应用程序的常见用途。 在其pipe理任务中,TCP控制着消息大小,消息交换速率和networkingstream量拥塞。 至于IP,它处理从计算机到计算机的低级传输,作为通过互联网传输的消息。

那么两者都是build立在称为互联网协议或IP之上的networking协议。 互联网协议是互联网的主要协议,例如是什么让我们浏览网页。 这就是为什么你会经常看到这些协议写成TCP / IP或UDP / IP。 他们实际上是互联网的核心协议。

在这两种情况下,你的数据被分成称为数据包的块。 TCP确保这些数据包以正确的顺序到达目的地,并且没有任何错误。

另一方面,UDP不能确保数据包甚至到达。 它只会确保如果它到达,将是没有错误的。

通常,其他协议将在TCP和UDP之上运行,并被称为应用程序协议,因为它们在应用程序内运行,而不在操作系统内运行。 您的网页浏览使用将使用TCP协议的HTTP协议。

域名查询或DNS查询通常使用UDP,但也可以使用TCP。 许多stream媒体服务在其他应用程序协议下使用UDP。

我希望能用简单的英文回答你的问题。