TCP和UDP

了解TCP和UDP的区别

传输控制协议用户数据报协议是否有两个广泛使用的传输层协议互联网协议.协议是两台计算机为了相互理解和交换数据而遵循的一套程序和规则。虽然TCP是这两种协议中最常用的,但UDP在某些情况下更有用。

整体发现

TCP
  • 保证数据按发送方式到达。

  • 错误检查数据流。

  • 一个20字节的头文件允许可选的40字节的函数数据。

  • 比UDP慢。

  • 最佳应用需要可靠性的应用。

UDP.
  • 无法保证数据到达。

  • 没有提供错误检查。

  • 8字节标题仅允许强制函数数据。

  • 比TCP更快。

  • 最好的应用程序需要速度。

这两个协议通过互联网发送数据.其中,TCP是面向连接的。连接完成后,数据可以双向传输。UDP是一种更简单的无连接协议。

TCP比UDP更健壮。具有纠错功能,可靠性高。UDP比TCP快,主要是因为它不提供错误校正。此外,TCP处理流控制,而UDP没有流控制选项。

最佳可靠性:TCP

TCP
  • 保证数据提供。

  • 跟踪数据包。

  • 检查数据包是否有错误。

  • 流控制。

  • 长度为20字节的报头,可选项为更多。

UDP.
  • 无法保证交货。

  • 可能会丢失数据包。

  • 没有流控制。

  • 标题限制为8字节。

TCP保证数据传送到接收者。如果数据丢失,TCP会采取措施恢复丢失的数据并重新发送。为此,TCP跟踪数据包的数据,并检查数据包是否有错误。

UDP不能保证数据的传输。此外,UDP数据包可能在传输过程中丢失或损坏。

TCP和UDP都使用标题作为打包消息数据以进行网络连接的一部分。由于TCP是两个协议的强大,因此其标题以20个字节更大,具有其他数据的选项,而UDP报头的大小限制为8个字节。

最佳速度:UDP

TCP
  • 慢是因为它执行许多功能。

UDP.
  • 快速,因为它提供有限的功能。

虽然TCP是可靠的,但它比UDP慢,主要是因为它带出了更多功能。最终用户需要最快的速度,例如游戏玩家和使用视频的人,从UDP中获益。

最好的用法:取决于使用

TCP
  • 最好的网络,文件传输,电子邮件,和安全的shell。

UDP.
  • 最适合vpn、流媒体视频、VoIP、直播和在线游戏。

由于TCP是可靠的,因此最好在需要高可靠性的情况下,但不需要速度,例如Web,电子邮件和FTP。

UDP的速度使其最适合在线游戏,直播广播,VPN隧道和流媒体视频。

TCP报头格式

每个TCP报头有10个必填字段,总共20个字节(160.比特)的大小。它可以有选择地包括一个不超过40字节的额外数据字段。

传输控制协议(TCP)标题
乐动体育赞助

8位等于1字节。

TCP标题以以下序列出现,从源和目标通信端点开头:

  • 源TCP端口号(2个字节或16位):源TCP端口号表示发送设备。
  • 目的地TCP端口号(2字节或16位):目的TCP端口号是接收设备的通信端点。
  • 序列号(4字节或32位):消息发送者使用序列号来标记一组消息的顺序。
  • 确认号码(4个字节或32位):发件人和接收器都使用确认字段用于通信最近接收的或预期发送的消息的序列号。
  • TCP数据偏移(4比特):数据偏移字段以4个字节的倍数存储TCP报头的总大小。不使用可选TCP字段的报头的数据偏移量为5(代表20字节),而使用最大大小可选字段的报头的数据偏移量为15(代表60字节)。
  • 保留数据(3比特):TCP头中保留的数据总是0。该字段以4个字节的倍数对头部的总大小进行对齐,这对于计算机数据处理的效率非常重要。
  • 控制标志(最多9位):TCP使用一组6个标准和3个扩展控制标志(每个代表On或off)来管理特定情况下的数据流。
  • 窗口大小(2字节或16位):TCP发送者使用一个数字,称为窗口大小,规范他们在需要确认之前向接收器发送到接收器的数据。如果窗口大小太小,网络数据传输不必要地慢速。如果窗口大小太大,则网络链路可能变饱和,或者接收器可能无法快速地处理传入数据,从而导致性能慢。在协议中内置的窗口算法动态计算大小值并使用TCP标头的此字段来协调发件人和接收器之间的变化。
  • TCP校验和(2字节或16位)校验和值是由协议发送方生成的一种数学技术,以帮助接收方检测被损坏或篡改的消息。
  • 紧急指针(2字节或16位):紧急指针字段通常被设置为零并被忽略,但与控制标志之一结合,它可以用作数据偏移量,以标记需要优先处理的消息子集。
  • TCP可选数据(0到40字节):可选TCP数据的用法包括支持特殊的确认和窗口缩放算法。

UDP报头格式

由于与TCP相比,UDP的能力受到限制,因此其标题较小。UDP标头包含8个字节,分为以下四个必填字段:

  • 源UDP端口号(2个字节):源UDP端口号表示发送设备。
  • 目的地UDP端口号(2个字节):目的地UDP端口号是接收设备的通信端点。
  • 数据的长度(2个字节):UDP中的长度字段表示每个数据报的总大小,包括标题和数据。此字段的值从最小值为8个字节 - 所需的标题大小 - 到高于65,000字节的大小。
  • UDP校验和(2个字节):类似于TCP,UDP校验和允许接收器交叉检查传入数据以获取消息的任何损坏的消息。

最终判决

有一个原因TCP是最常用的协议。它是强大可靠的,并且保证完全收到的数据。其错误检查的信息流可能略微向下速度,但在大多数情况下,延迟不是交易破坏者。

当UDP比TCP亮的时候,速度是至关重要的,比如在视频媒体、vpn或在线游戏

此页面有用吗?