现实生活中的TCP和UDP的例子是什么?
我知道两者在技术层面上的区别。
但在现实生活中,任何人都可以提供TCP和UDP的应用(使用)示例(越多越好)来certificate它们之间的区别?
UDP:如果你总是得到所有的数据,那么你不需要太在意
- 隧道/ VPN(丢失的数据包是好的 – 隧道协议照顾它)
- 媒体stream(丢帧是好的)
- 如果每次更新都不关心的游戏
- 本地广播机制(运行在不同机器上的相同应用程序“发现”彼此)
TCP:几乎所有你必须得到所有传输的数据
- 卷筒纸
- SSH,FTP,telnet
- SMTP,发送邮件
- IMAP / POP,接收邮件
编辑:我不打算解释的差异,因为你说,你已经知道,每一个其他的答案解释它呢:)
UDP正在邮局寄信。
技术合作计划正在邮寄一封邮件,在邮局有一张回执,只是邮递员会按照邮寄的顺序来组织信件,只能按顺序交付。
那么,无论如何这是一个尝试。
经典的观点是认为TCP是安全的,UDP是不可靠的。
但是,当TCP-IP协议用于安全关键型应用程序时,build议不要使用TCP,因为出于多种原因它可能因错误而停止。 UDP允许应用软件处理错误,重传计时器等。
而且,TCP比UDP有更多的处理开销。
目前,UDP被用于飞机控制和飞行仪表,也被称为AFDX(航空电子全双工交换以太网)的ARINC 664标准。 在ARINC 664中,TCP是可选的,但UDP与用于ARINC 653标准(民用飞机高可靠性控制软件)的RTOS(实时操作系统)一起使用。
有关在AFDX中使用IP和UDP的实时控制的更多信息,请参阅http://www.afdx.com/pdf/AFDX_Training_October_2010_Full.pdf中的第27至50页;
TCP :
- 万维网(HTTP)
- 电子邮件(SMTP TCP)
- 文件传输协议(FTP)
- 安全shell(SSH)
UDP :
- 域名系统(DNS)
- stream媒体应用程序,如电影
- 在线多人游戏
- IP语音(VoIP)
- 普通文件传输协议(TFTP)
TCP
我不会再发送数据,直到得到确认。
这个过程很慢
它用于安全目的
例如:networking,发送邮件,接收邮件等
UDP
在这里,我没有头痛,承认。
这个过程更快,但是这里的数据可能会丢失。
例如:videostream,networking游戏等
TCP + UDP = SMTP(例如:手机,电话)
TCP保证(按序)数据包传送。 UDP不。
TCP – 用于您需要所有数据的stream量。 即HTML,图片等。UDP – 用于在丢包(即,video和语音stream式传输,在线游戏的一些数据通道等)中不会受到太多影响的stream量。
TCP是一种面向连接的协议,它通过交换机路由器代理等一路build立path或虚拟连接,然后开始任何通信。 存在各种机制,如路由djikstras最短pathalgorithm,以build立虚拟的端到端连接。 所以它发现自己在浏览HTML和其他网页时,使用付款和networking应用程序。
UDP是一种无连接的协议 – 它只是有一个目的地,节点只要传递它就可以。 因此,按照各种路线等顺序到达的包是常见的。 所以Instant Messenger和类似的软件开发者认为UDP是一个理想的解决scheme。
在现实生活中,如果你想在网上投入数据,而不用担心到达的时间,达到使用UDP的顺序。 如果你想要一个固定的path,然后再开始丢包,并且要求数据包的顺序和延迟相同,那么使用TCP – 我将使用UDP作为Torrents,使用TCP作为PayPal!
TCP的实时应用程序:
电子邮件:
原因:假设某些数据包(文字/声明)丢失,我们无法理解这些内容,应该是可靠的。
用于UDP的实时应用程序:
videostream:
* **原因: ***假设某些数据包(帧/序列)丢失,我们可以理解内容。因为video是帧的收集。对于1秒的video应该有25帧(图像)。尽pipe我们可以理解由于我们的想象力,一些框架不见了。 这就是为什么UDP用于videostream。
当您需要移动大量数据(> 1 kB)时,TCP才是合适的,并且您需要全部交付。 几乎所有通过互联网传输的数据都是通过TCP(HTTP,SMTP,BitTorrent,SSH等)全部使用TCP。
当你有一些你可以承受的小消息时,UDP是合适的,并且希望尽可能有效地发送它们。 你能承受失去的一个原因是因为你可以重新发送,如果他们迷路了。 互联网上的主要例子是DNS – DNS由小的查询组成,比如说“什么是stackoverflow.com的IP地址?”,响应相对较小。 计算机做了很多这样的查询,所以它们应该被有效地利用,但是如果在途中丢失了,很容易超时并重新发送它们。
TCP保证数据包传递和订单。 当重build可执行文件等文件的数据时,订单几乎和交付一样重要。
UDP不保证传送NOR命令。 数据包可以以任何顺序到达(或不是!)。
TCP的常见用途包括文件传输,数据包的完整性至关重要。 语音/video应用程序可以承受丢失一些数据,同时仍然保持可接受的质量,所以通常使用UDP。
- TCP:将以有意义的顺序到达那里
- UDP:天知道(也许)
关于上述有关评论有序交付的一些评论的另外一个想法是……必须澄清的是,目的地计算机可能会在线路上乱序接收数据包,但目的地的TCP负责“重新排列数据“,然后将其传递到堆栈的上层。 当你说TCP保证有序的数据包传送时,这意味着它将以正确的顺序将数据包传送到堆栈的上层。
SCTP vs TCP vs UDPServices/Features SCTP TCP UDP Connection-oriented yes yes no Full duplex yes yes yes Reliable data transfer yes yes no Partial-reliable data transfer optional no no Ordered data delivery yes yes no Unordered data delivery yes no yes Flow control yes yes no Congestion control yes yes no ECN capable yes yes no Selective ACKs yes optional no Preservation of message boundaries yes no yes Path MTU discovery yes yes no Application PDU fragmentation yes yes no Application PDU bundling yes yes no Multistreaming yes no no Multihoming yes no no Protection against SYN flooding attacks yes no n/a Allows half-closed connections no yes n/a Reachability check yes yes no Psuedo-header for checksum no (vtags) yes yes Time wait state vtags 4-tuple n/a
UDP在游戏或其他Peer-to-peer设置中应用了很多,因为它更快速,大多数情况下你不需要协议本身就能确保所有的东西都以原始顺序到达目的地(UDP不保证数据包传送或送货单)。
另一方面,Webstream量是通过TCP。 (我不确定在这里,但我认为这与HTTP协议的构build方式有关)
编辑,因为我在UDP失败。
TCP和UDP tcp的真实例子 – >电话,短信或特定于目标UDP的任何内容 – > FM收音机频道(AM),Wi-Fi。