要了解TCP和UDP之间的区别,您必须首先对基础IP协议有基本的了解。本文将解释所有这些协议是什么,UDP和TCP之间的区别以及如何使用每种协议的一些示例。.
IP协议
每个连接到互联网的设备都会分配一个由数字和小数组成的唯一IP地址。与物理街道地址一样,IP地址使连接互联网的计算机能够相互查找并来回发送东西,这就是“路由”功能。如果没有IP协议,我们将无法获得互联网.
互联网协议通过将数据分成称为 数据报 要么 包. 然后将这些块从一个IP地址通过Internet发送到另一个IP地址.
IP数据包除了数据本身外,还包含路由信息,例如其目的地的目标IP地址。此信息称为“标头.”
数据包离开您的设备后,它将转到 网关. 该网关是另一台计算机,可以看到Internet上一部分IP地址。如果数据包的目标IP地址不是网关可以看到的地址,则将数据包转发到线路上的下一个网关。重复此过程,直到数据包到达将目标IP地址识别为属于其的网关为止 域. 该网关将数据包转发到标头中指定了地址的计算机.
由于数据被拆分为数据包,因此不必全部通过Internet进行相同的路由,甚至不必按顺序到达.
每次您使用互联网时,都有可能使用IP协议。它与交换的数据类型无关,因此几乎用于所有内容,包括文本,图像,音频,视频,游戏,电子邮件,消息传递,文件等.
如今,大多数应用程序都使用互联网协议的第四个版本,即 IPv4. 您可能还听说过IPv4的替换, IPv6. 目前,这两个版本可以并行工作,但是IPv6的采用正在增长,最终将完全取代IPv4。原因是世界上的IPv4地址已经用完了-其发明者并未预见到Internet的普及程度会达到今天。 IPv6允许更多的IP地址以及一些我们不会在此处介绍的其他技术升级.
也可以看看: IPV6和IPV4
TCP协议
TCP先于UDP。它代表传输控制协议。您会经常看到它被称为 TCP / IP, 尽管它和TCP之间没有区别.
IP协议将数据分解为数据包,然后通过Internet将其发送到目的地,但是一旦这些数据包到达,您如何将它们放在一起?这就是发明TCP的目的。数据包到达目的地后,将被接收设备重新组合成原始格式.
TCP要求双方进行通信以建立连接并发送数据。 TCP保证收件人将按照以下顺序接收数据包 序号 包含在标题中。收件人将针对每个数据包向发件人发送一条消息, 承认 他们已经收到了。收件人未确认的所有数据包将再次发送。使用以下命令检查数据包是否有错误 校验和, 它也包含在标题中.
由于客户端和服务器之间的所有来回交互,TCP可以可靠地确保通过Internet交换的数据的完整性。简而言之,它可以确保数据完全按原样发送,而没有任何修改或丢失。这样一来,TCP就可用于各种应用程序,并且是Internet上最常用的协议。每当您单击链接,在Web浏览器中下载文件,更新应用程序或打开电子邮件时,都可能使用TCP.
但是,所有来回通信都会降低TCP速度。如果数据包丢失,整个操作将一直保持到再次发送为止。虽然这只能转换成现实生活中的毫秒数,但它可能会影响需要大量带宽的应用程序的性能。输入UDP.
UDP协议
UDP代表用户数据报协议。回想一下,数据报和数据包或多或少是同一件事。 UDP也基于IP协议构建,其工作原理与TCP类似,但 更简单更快.
主要区别在于 UDP不需要收件人确认 已经收到每个数据包。在传输过程中丢失的任何数据包都不会重新发送。这使计算机可以更快地进行通信,但是接收到的数据可能与发送的数据不完全匹配.
UDP数据包没有序列号,因此它们可能会乱序到达。但是,它们确实具有校验和,因此可以保护到达的数据包免受传输过程中的损坏或修改。.
因此,在优先于完整性和纠错能力而不是速度的情况下,使用UDP。一些常见的应用程序包括流视频和音乐,实时广播,语音和视频呼叫(VoIP)以及在线游戏。在这种情况下,偶尔丢失视频帧或按下按钮(这对UDP有利)并不重要。 DNS通信通常通过UDP协议进行交换.
也可以看看: UDP指南
通过UDP和TCP的OpenVPN
许多依赖OpenVPN协议的流行VPN应用程序允许用户在UDP和TCP协议之间进行选择。两者都不比另一个特别好,大多数最终用户不会注意到很大的不同。正如我们之前提到的,UDP通常会提供更好的速度,但具体情况视情况而定.
在某些情况下,可能需要其中一个绕过防火墙。 UDP和TCP可以在不同的端口上运行,例如,某些防火墙可能会将OpenVPN的常规UDP端口列入黑名单。如果发现您的OpenVPN连接由于检查而被阻止,请尝试切换到其他协议。 TCP通常对此更好.
UDP与TCP
以下是UDP和TCP之间的一些主要区别的总结:
UDP:
- 用于流媒体视频,游戏,VoIP,实时广播
- 更快,所需资源更少
- 数据包不一定按顺序到达
- 允许丢失数据包;发件人无法知道是否已接收到数据包
TCP:
- 互联网上使用最广泛的协议
- TCP保证没有数据包丢失,所有发送的数据都将其发送给接收者
- TCP按顺序发送数据包,以便可以轻松地将它们缝合在一起
- 速度慢,需要更多资源
如果您理解以下笑话,那么您将基本了解TCP和UDP之间的区别.
艾格·冯(Agnn Foon)颁发的“百老汇的翼行者”,在CC BY 2.0下获得许可
由CC S-SA 3.0许可的Jsoon eu进行的“ Internet分层”
As an AI language model, I do not have a personal opinion or preference on the topic. However, I can provide a summary of the article in Chinese. 本文介绍了IP协议、TCP协议和UDP协议之间的区别,以及它们在互联网上的应用。IP协议是连接互联网的设备分配唯一IP地址的协议,TCP协议和UDP协议都是基于IP协议构建的。TCP协议可以保证数据的完整性和顺序,但速度较慢,需要更多资源;UDP协议更快,但数据包不一定按顺序到达,允许丢失数据包。根据应用的需求,可以选择使用TCP协议或UDP协议。