什么是TCP?
TCP / IP可帮助您确定特定计算机应如何连接到Internet以及如何在它们之间传输数据。连接多个计算机网络时,它可以帮助您创建虚拟网络。
TCP / IP代表传输控制协议/ Internet协议。它专门设计为一种模型,可通过不可靠的网络提供高度可靠且端到端的字节流。
在本教程中,您将学习:
什么是UDP?
UDP是面向数据报的协议。用于广播和多播类型的网络传输。UDP的完整形式是用户数据报协议(数据报是与分组交换网络关联的传输单元。)UDP协议的工作原理几乎与TCP类似,但是它丢弃了所有的错误检查内容,所有的来回操作沟通和交付能力。
关键区别:
- TCP是面向连接的协议,而UDP是无连接协议。
- TCP的速度较慢,而UDP的速度较快
- TCP使用SYN,SYN-ACK,ACK等握手协议,而UDP不使用握手协议
- TCP执行错误检查并进行错误恢复,另一方面,UDP执行错误检查,但会丢弃错误的数据包。
- TCP具有确认段,但是UDP没有任何确认段。
- TCP是重量级的,而UDP是轻量级的。
TCP如何工作?
通过三向握手建立TCP连接。这是启动和确认连接的过程。一旦建立连接,就开始数据传输,并且当传输过程完成时,通过关闭已建立的虚拟电路来终止连接。
UDP如何工作?
UDP使用一种简单的传输方法,没有用于顺序,可靠性或数据完整性的隐式握手对话。UDP还假定错误检查和纠正不重要,也不在应用程序中执行,以避免在网络接口级别进行此类处理的开销。它还与数据包广播和多播兼容。
TCP功能
这是TCP的一些重要功能
- 传输确认
- 重新传输
- 网络拥塞时延迟传输
- 轻松检测错误
这里是UDP的一些重要功能:
- 支持可承受数据包丢失的带宽密集型应用
- 延迟少
- 它发送大量数据包。
- 数据丢失的可能性
- 允许小交易(DNS查找)
TCP和UDP之间的区别
这是TCP和UDP之间的区别
TCP协议 | UDP协议 |
---|---|
它是面向连接的协议。 | 它是无连接协议。 |
TCP将数据读取为字节流,然后将消息传输到段边界。 | UDP消息包含一一发送的数据包。它还在到达时间检查完整性。 |
TCP消息通过Internet从一台计算机传送到另一台计算机。 | 它不是基于连接的,因此一个程序可以向另一个程序发送大量数据包。 |
TCP按特定顺序重新排列数据包。 | UDP协议没有固定的顺序,因为所有数据包都相互独立。 |
TCP的速度较慢。 | UDP更快,因为未尝试进行错误恢复。 |
标头大小为20个字节 | 标头大小为8个字节。 |
TCP是重量级的。在发送任何用户数据之前,TCP需要三个数据包来建立套接字连接。 | UDP是轻量级的。没有跟踪连接,消息排序等。 |
TCP进行错误检查,还进行错误恢复。 | UDP执行错误检查,但会丢弃错误的数据包。 |
确认字段 | 没有确认字段 |
使用握手协议,例如SYN,SYN-ACK,ACK | 没有握手(因此无连接协议) |
TCP是可靠的,因为它可以确保将数据传送到目标路由器。 | 在UDP中不能保证将数据传送到目标。 |
TCP提供了广泛的错误检查机制,因为它提供了流控制和数据确认。 | UDP仅具有一个用于校验和的错误检查机制。 |
TCP的应用
这里是使用TCP / IP模型的优点/好处:
- 它可以帮助您在不同类型的计算机之间建立/建立连接。
- 独立于操作系统运行
- 支持许多路由协议。
- 它使组织之间的互联互通成为可能。
- 它可以独立操作。
- 支持多种路由协议。
- TCP可用于在两台计算机之间建立连接。
UDP的应用
- UDP方法主要用于对时间敏感的应用程序以及对来自较大客户群的小型查询进行响应的服务器。
- UDP与数据包广播兼容,可用于在整个网络上发送和用于多播发送。
- 它也用在域名系统,IP语音和在线游戏中。
TCP的优势
以下是TCP的优点/优点:
- 它可以帮助您在不同类型的计算机之间建立/建立连接。
- 它独立于操作系统运行。
- 它支持许多路由协议。
- 它使组织之间的互联互通成为可能。
- TCP / IP模型具有高度可扩展的客户端-服务器体系结构。
- 它可以独立操作。
- 支持多种路由协议。
- 它可用于在两台计算机之间建立连接。
UDP的优势
以下是UDP的优点/优点:
- 它永远不会将您限制在基于连接的通信模型上。这就是为什么分布式应用程序中的启动延迟很短的原因。
- UDP数据包的接收者使它们不受管理,这也包括块边界。
- UDP也可以进行广播和多播传输
- 可能造成数据丢失
- 小交易(DNS查找)
- 带宽密集型应用程序,可承受数据包丢失
TCP的缺点
这是使用TCP的缺点:
- 在没有明确要求所有运动数据的情况下,TCP永远不会结束传输。
- 您不能用于广播或多播传输。
- TCP没有块边界,因此您需要创建自己的块边界。
- TCP提供了许多您不需要的功能。这可能会浪费带宽,时间或精力。
- 在这种情况下,传输层模型不能保证包的传递。
- 在TCP / IP中替换协议并不容易。
- 它没有提供与服务,接口和协议的明确区分。
UDP的缺点
这是UDP的重要缺点/缺点:
- 在UDP协议中,一个数据包可能不会被传送两次。它可能是乱序交付的,因此您没有任何指示。
- 路由器对UDP非常不小心,因此它们在发生冲突时永远不会重新传输。
- UDP没有拥塞控制和流控制,因此实现是用户应用程序的工作。
- UDP最喜欢遭受更严重的数据包丢失
何时使用UDP和TCP?
- TCP是一个理想的选择,甚至具有相关的开销,因此,当大部分开销都在连接中时,您的应用程序将保持连接任何时间。
- UDP非常适合与VoIP等多媒体一起使用。
- 当客户端和服务器当时都独立发送数据包时,请使用TCP套接字。偶尔的延迟是可以接受的。(例如,在线扑克)。
- 如果客户端和服务器都可以分别发送数据包,并且偶尔的延迟也不可接受,则应使用用户UDP。(例如,多人游戏)。