2014-10-12 101 views

回答

2

TCP/IP是一个参考模型,而UDP是在该参考模型的协议。所以,基本上你不能比较这两个。因为IP是这个模型中的另一个协议,在网络层,我认为你的意思是比较TCP和UDP,因为它们都属于同一层传输层。

哪个协议更好,取决于你想要做什么。对于某些要求,对于某些UDP,TCP更好。

TCP是一个缓慢而可靠的(确保数据交付)和面向连接的协议,而UDP是快速但不可靠的无连接协议。

当您需要传送数据(如下载应用程序)时,应使用TCP。如果您需要在大多数时间交付数据(如声音或视频聊天),则应使用UDP。在大多数情况下,我们的意思是,在发送数千个小数据单元的同时,如果我们错过了其中的一小部分,我们可以管理。

我希望,现在您可以决定为您选择哪种协议工作。

0

这取决于您要使用的应用程序的类型。记下TCP和UDP是传输层协议,不要将它与网络层协议(IP)混合在一起。

TCP协议: 它是一个面向连接的流式协议。它具有很高的权重,因为它可以实现连接建立,网络拥塞的流量控制,纠错重传以及确保有序数据包传输的3路握手。

您可以为以下应用程序中选择TCP:

  • 的应用程序,它可以接受延迟,但在数据包丢失或分组顺序不能妥协。 (即,它是适用于延迟不敏感的应用和用于可靠的分组传输的应用程序。)

使用TCP的应用实施例:

  • FTP
  • HTTP

UDP协议: 这是一个基于消息的无连接协议。由于它没有用于连接建立或拥塞或重传机制的流量控制的握手机制,因此重量轻。另外,它需要担心消息的顺序。

您可以为以下应用选择UDP:

  • 应用可以容忍包丢失或未有序分组传送,但是,延迟或jiter不能妥协。 (即,它是适合于实时应用和对于不担心分组丢失的应用程序)
  • 应用程序做组播
  • 应用程序做小事务(实施例 - DNS查找,心跳/路径监控的通信消息,使用UDP记录)

示例应用:

  • 的VoIP
  • DHCP
+0

抱歉混淆。但是我看到一本题为“TCP/IP socket in java”的书,所以我认为它是协议的名称。 – rudolf97 2014-10-12 17:23:17

相关问题