在过去的几年里,我们已经把 “数据为王 “这句话的一些变体敲进了我们的脑子里。是的,数据就是知识,知识就是力量,而我们生活在大数据时代。很好! 然而,这些数据仍然需要从A点移动到B点。bluehost美国站群服务器商分享TCP和UDP是如何工作,以及他们的区别。
这就是数据传输协议牵扯进来的地方。有几种不同的方法将数据从一方转移到另一方,我们将仔细研究两种方法。但是,首先,我们要解决TCP与UDP的问题,包括它们是什么,它们如何工作,以及它们如何比较。
但在回答 “什么是TCP和UDP “这个问题之前,让我们先谈谈OSI网络模型。
OSI模型的七层结构
国际标准化组织创建了一个概念模型,允许不同的通信系统使用一个标准协议进行交谈。该模型被称为开放系统互连模型,或简称为OSI。把OSI想象成一种通用语言,让各种类型的计算机交换信息。
OSI有七层,每一层都是信息交换的指南。这些层是
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 演示层
- 应用层
TCP和UDP是互联网协议(IP),而IP存在于OSI的网络层。互联网协议让你可以向朋友发送电子邮件,下载猫咪视频,或在线检查你的银行余额。将IP视为互联网上的联邦快递或UPS,将数据包交付给收件人。推荐阅读:《计算机网络的定义、组成部分、目标和最佳做法》
什么是TCP和UDP?
TCP是传输控制协议的缩写。TCP是一个面向连接的协议,这意味着它要求在两个地点之间传输数据之前建立连接。此外,TCP的特点是内置系统,可以寻找错误,并保证数据按照发送的顺序交付。
然而,TCP会消耗带宽,这是你发送和接收网页、图像和数据文件的代价。
另一方面,UDP代表用户数据报协议,是一种更直接、无连接的互联网协议,不需要错误检查和恢复服务。UDP没有打开、维护或终止连接的开销。UDP不断向收件人发送数据,而不管他们是否收到数据。
尽管UDP不是发送电子邮件、查看网页或下载文件的最佳选择,但它非常适合实时通信,如广播或多任务的网络传输。
在回答 “什么是TCP和UDP “这个问题时,让我们仔细看看TCP和UDP的区别。我们将看到这两种协议在速度、带宽使用、错误检查和安全方面的叠加。
什么是TCP和UDP:速度比较
我们已经暗示了TCP和UDP的速度比较,但仔细看看会发现。UDP比TCP快,因为它支持连续的数据包流,并免除了 “确认”。TCP总是确认数据包集,所以它必须重发对于每一个否定的确认,这在数据包丢失时是需要的。
由于UDP避免了不必要的TCP传输开销,它更有效地使用带宽,对性能差的网络提出更少的要求。推荐阅读:《首选DNS服务器错误无响应的解决方法》
IP为了传输数据如何工作?
在互联网上移动数据的过程被称为 “路由”。每个来源和目的地都有一个IP地址,类似于你家的地址。一个标准的IPv4地址有一个由子网组成的32位数字,被定义为由句号划分的数字段。每个子网最多有三个数字,最多可以有12个数字,如果包括句号,则有15个字符。
IP将你的数据分解成更小的PDU,如果使用TCP,称为数据包,如果使用UDP,称为数据报。首先,每个包都收到一个标签(头),表明目的地和来源。然后,数据通过路由器或网关传输,其中包含不同的IP地址和它们各自在互联网上的域的信息列表。信息从一个网关移动到下一个网关,直到其中一个网关最终识别出包的目的地。
什么是TCP和UDP:哪个更适合视频会议?
TCP流量控制是可靠的,但不能快速恢复丢失的数据,对实时视频会议来说是有用的。毕竟,速度是至关重要的。这就是为什么UPD更适合视频会议的原因。
TCP与UDP应用:什么时候一种方法比另一种更好?
以下是一种协议比另一种协议最好用的情况的分类。
- 如果你大量使用多媒体或互联网语音协议(VoIP),你应该使用UDP。
- 如果你在客户端和服务器同时独立发送数据包时,使用TCP套接字是最好的。这种选择会导致偶尔的延迟,但影响很小。
- 当客户端和服务器都分别发送数据包时,你应该使用UCP,但随机延迟是不能接受的。例如,在线多人游戏。
- 一句话,如果你看重的是可靠性而不是速度,请选择TCP。TCP协议保证目的地收到的信息与发送的信息完全一致。你必须面对它的速度问题和偶尔因连接被拒绝而重试的情况。但是,如果你想要的是速度,而不关心收到的数据的精确性或丢失的数据包,就使用UDP。
- 如果你关心互联网的安全性,你最好使用TCP。例如,如果你使用TCP来访问一个网页,你会向服务器发送请求包。然后,服务器通过发送更多的数据包来回应,每个数据包都标有发件人和收件人的信息,并期望它能得到确认。数据包会被检查是否有损坏,并被追踪是否完整。如果有任何错误或缺少确认,服务器会被提示重新发送数据包。
以上就是TCP和UDP是如何工作,以及他们的区别全部内容。推荐相关阅读:《服务器中DDoS攻击有哪些类型》