现实生活中TCP和UDP的例子是什么?

Leo*_*eon 56 udp tcp

我知道两者在技术层面上的区别.

但在现实生活中,任何人都可以提供TCP和UDP应用程序(使用)的示例(越多越好)来展示它们的区别吗?

Eri*_*rik 116

UDP:如果总是得到所有数据,那么你不在乎的任何东西

  • 隧道/ VPN(丢失的数据包没问题 - 隧道协议负责处理)
  • 媒体流(丢帧可以)
  • 如果你得到每次更新都不关心的游戏
  • 本地广播机制(在不同机器上运行的相同应用程序"相互发现")

TCP:几乎所有必须获取所有传输数据的地方

  • 卷筒纸
  • SSH,FTP,telnet
  • SMTP,发送邮件
  • IMAP/POP,接收邮件

编辑:我不打算解释这些差异,因为你说你已经知道了,其他每个答案都解释了它:)


Edw*_*uck 34

UDP正在邮局寄信.

TCP正在邮局寄回一封带回执的信件,但邮政大师将按顺序组织邮寄信件,并且只按顺序递送.

嗯,无论如何这是一次尝试.

  • @bagofmilk我一直很喜欢它,因为它很快就说明了为什么TCP比UDP更"昂贵",以及当单个数据包需要重传时TCP如何受到额外的延迟.谢谢你的补充. (4认同)
  • 这实际上是一个绝妙的基本类比。 (3认同)

snd*_*ndu 10

TCP:

  • 万维网(HTTP)
  • 电子邮件(SMTP TCP)
  • 文件传输协议(FTP)
  • 安全外壳(SSH)

UDP:

  • 域名系统(DNS)
  • 流媒体应用程序,如电影
  • 在线多人游戏
  • IP语音(VoIP)
  • 普通文件传输协议(TFTP)

  • 那么这是否意味着当我们使用 youtube 时,Http 连接可以与 UDP 一起使用? (2认同)

小智 8

经典的观点是将TCP视为安全且UDP视为不可靠.

但是,当在安全关键应用程序中使用TCP-IP协议时,不建议使用TCP,因为它可以出于多种原因停止出错.UDP允许应用软件处理错误,重传定时器等.

而且,TCP比UDP具有更多的处理开销.

目前,UDP用于飞机控制和飞行仪表,ARINC 664标准也称为AFDX(航空电子全双工交换式以太网).在ARINC 664中,TCP是可选的,但UDP与为ARINC 653标准(民用飞机中的高可靠性控制软件)设计的RTOS(实时操作系统)一起使用.

有关在AFDX中使用IP和UDP的实时控制的更多信息,请参阅http://www.afdx.com/pdf/AFDX_Training_October_2010_Full.pdf中的第27至50页 .


Joy*_*rya 7

TCP

在得到确认之前,我不会再发送数据了.

这个过程很慢

它用于安全目的

例如:网络,发送邮件,接收邮件等

UDP

在这里,我没有头痛与承认.

这个过程更快,但这里的数据可能会丢失.

例如:视频流,在线游戏等

TCP + UDP = SMTP(例如:手机,电话)


edg*_*dge 5

TCP保证(按顺序)数据包传送.UDP没有.

TCP - 用于需要所有数据的流量.即,HTML,图片等.UDP - 用于在丢弃数据包时不会受到太大影响的流量,即视频和语音流,在线游戏的某些数据通道等.

  • TCP不保证数据包传输.如果您在到达目的地之前发送了某些内容并出现了问题(断电,丢失路线等),则您的数据包将无法发送. (2认同)

小智 5

TCP的实时应用程序:

电子邮件:

原因:假设如果缺少某些数据包(单词/语句),我们将无法理解其内容。它应该是可靠的。

UDP的实时应用程序:

视频流:

* **原因: ***假设如果缺少某些数据包(帧/序列),我们可以理解其内容。由于视频是帧的集合。1秒的视频应该有25帧(图像)。即使我们可以理解由于我们的想象力技巧,有些帧丢失了。这就是为什么UDP用于视频流的原因。

  • *想象力*,以了解丢失的帧...很好的解释... (2认同)

Aru*_*hla 5

传输控制协议:

\n\n

传输控制协议是一种面向连接的协议,这意味着它需要握手来建立端到端的通信。一旦连接建立,用户数据就可以通过该连接双向发送。

\n\n

可靠\xe2\x80\x93 TCP 严格仅在传输层管理消息确认、重传和超时。进行了多次传递消息的尝试。如果中途丢失了,服务器会重新请求丢失的部分。在 TCP 中,要么没有丢失数据,要么在多次超时的情况下,连接会被丢弃。(然而,这种可靠性不包括应用层,在该层仍然需要单独的确认流控制)

\n\n

Ordered \xe2\x80\x93 如果通过连接按顺序发送两条消息,则第一条消息将首先到达接收应用程序。当数据段以错误的顺序到达时,TCP 缓冲区会延迟无序的数据,直到所有数据都可以正确重新排序并传递给应用程序。

\n\n

重量级 \xe2\x80\x93 TCP 需要三个数据包才能建立套接字连接,然后才能发送任何用户数据。TCP 处理可靠性和拥塞控制。\n流式 \xe2\x80\x93 数据作为字节流读取,没有区分指示传输到信号消息(段)边界。

\n\n

TCP的应用

\n\n

万维网、电子邮件、远程管理和文件传输都依赖于 TCP。

\n\n

UDP:

\n\n

用户数据报协议是一种更简单的基于消息的无连接协议。无连接协议不建立专用的端到端连接。通信是通过从源到目的地单向传输信息来实现的,无需验证接收器的准备情况或状态。

\n\n

不可靠\xe2\x80\x93 当发送UDP消息时,无法知道是否会到达目的地;它可能会在途中迷路。没有确认、重传或超时的概念。

\n\n

未排序 \xe2\x80\x93 如果将两封邮件发送给同一收件人,则无法预测它们到达的顺序。

\n\n

轻量级 \xe2\x80\x93 没有消息排序,没有跟踪连接等。它是一个设计在 IP 之上的小型传输层。

\n\n

数据报 \xe2\x80\x93 数据包单独发送,仅在到达时检查其完整性。数据包具有明确的边界,在接收时会遵守这些边界,这意味着接收方套接字上的读取操作将产生与最初发送时一样的完整消息。\n无拥塞控制 \xe2\x80\x93 UDP 本身并不能避免拥塞。拥塞控制措施必须在应用层实施。

\n\n

广播 \xe2\x80\x93 是无连接的,UDP 可以广播 - 发送的数据包可以被寻址以供子网上的所有设备接收。

\n\n

多播\xe2\x80\x93 支持多播操作模式,单个数据报包可以自动路由,而无需重复发送给大量订阅者。

\n\n

UDP的应用

\n\n

许多关键的互联网应用程序都使用 UDP,包括:域名系统 (DNS),其中查询必须快速且仅包含单个请求和单个回复数据包、简单网络管理协议 (SNMP)、路由信息协议 ( RIP)和动态主机配置协议(DHCP)。

\n\n

语音和视频流量一般使用UDP传输。实时视频和音频流协议旨在处理偶尔丢失的数据包,因此仅会出现轻微的质量下降,而不是在重新传输丢失的数据包时出现大的延迟。由于 TCP 和 UDP 都在同一网络上运行,因此许多企业发现来自这些实时应用程序的 UDP 流量最近的增加阻碍了使用 TCP 的应用程序的性能,例如销售点、会计和数据库系统。当 TCP 检测到数据包丢失时,它将限制其数据速率使用。由于实时应用程序和业务应用程序对企业都很重要,因此某些人认为开发服务质量解决方案至关重要。

\n\n

某些 VPN 系统(例如 OpenVPN)可能会使用 UDP,同时在应用程序级别实现可靠的连接和错误检查。

\n