精华内容
下载资源
问答
  • tcp协议和udp协议区别TCP and UDP are two protocols that are part of the transport layer in a TCP/IP model of data transmission. Both share the same core function – transmitting data packets from the ...

    tcp协议和udp协议区别

    TCP and UDP are two protocols that are part of the transport layer in a TCP/IP model of data transmission. Both share the same core function – transmitting data packets from the client to the server and vice versa.

    TCP和UDP是两个协议,它们是数据传输的TCP / IP模型中传输层的一部分。 两者共享相同的核心功能-将数据包从客户端传输到服务器,反之亦然。

    But it is the difference between TCP and UDP protocols which make them appropriate for specialized requirements. In this tutorial, we will attempt to understand TCP and UDP before proceeding to highlight their differences.

    但是正是TCP和UDP协议之间的差异使它们适合于特殊要求。 在本教程中,我们将尝试理解TCP和UDP,然后再着重强调它们之间的区别。

    TCP和UDP协议之间的差异 (Differences Between TCP and UDP Protocol)

    Both the protocols serve completely different purposes and usually aren’t interchangeable. Though TCP can easily perform all the functionality that the UDP protocol performs at the moment, it will slow down things to an unacceptable level.

    两种协议的用途完全不同,通常是不可互换的。 尽管TCP可以轻松执行UDP协议目前执行的所有功能,但它将使事情降到令人无法接受的程度。

    For a quick background, think of the online gaming industry where missing out on a single data packet doesn’t make much of a difference. In this case, if TCP is implemented instead of UDP, it will verify the delivery of the packet and resend it if undelivered.

    快速了解一下在线游戏行业,在该行业中,丢失单个数据包的影响不大。 在这种情况下,如果实现的是TCP而不是UDP,它将验证数据包的传递并在未传递时重新发送。

    But games drop a lot of packets and frames when streamed online and retransfer of dropped packets will make the game unplayable!

    但是游戏在在线流式传输时会丢弃大量数据包和框架,并且重新传输丢弃的数据包将使游戏无法玩!

    So, when we wish to understand the difference between TCP and UDP protocols, we need to start by learning these TCP/IP protocols one by one.

    因此,当我们希望了解TCP和UDP协议之间的区别时,我们需要首先学习这些TCP / IP协议。

    什么是TCP? (What is the TCP?)

    TCP is short for Transmission Control Protocol. This data transfer protocol is connection-oriented i.e. it waits for a proper connection to be established between the communicating devices.

    TCP是传输控制协议的缩写。 该数据传输协议是面向连接的,即它等待在通信设备之间建立正确的连接。

    • The connection is closed once the data transfer is complete.

      数据传输完成后,连接将关闭。
    • These connections are verified using a three-way handshake.

      这些连接使用三向握手进行验证。
    • It ensures the proper delivery of data between the two devices.

      这样可确保在两个设备之间正确传输数据。

    To do the above three things, TCP employs its thorough error-checking mechanisms through flow control and data acknowledgement.

    为了完成上述三件事,TCP通过流控制和数据确认采用了其彻底的错误检查机制。

    • TCP uses data sequencing to ensure that all the data packets arrive at the receiver in the order they were sent.

      TCP使用数据排序以确保所有数据包均按其发送顺序到达接收器。
    • In the case of packet loss, the specific data packets can be transferred again using TCP. 

      在丢包的情况下,可以使用TCP重新传输特定的数据包。

    While it is a heavy-weight protocol, TCP compromises on speed and doesn’t allow broadcasting. With its variable header length of 20 to 80 bytes, TCP finds itself being used in HTTP, FTP, SMPT, and Telnet.

    TCP虽然是重量级协议,但会影响速度,并且不允许广播。 TCP具有20到80个字节的可变报头长度,可用于HTTP,FTP,SMPT和Telnet。

    TCP的应用 (Applications for TCP)

    TCP allows a person to establish a connection between systems that may or may not be similar to each other. Its support for a variety of networking protocols makes it a popular choice for inter-networking between two or more parties.

    TCP允许一个人在彼此相似或不同的系统之间建立连接。 它对各种网络协议的支持使其成为两个或多个参与者之间进行网络互连的流行选择。

    TCP allows easy identification of errors and delays data transfer in case the network is congested. This ensures that packet loss is minimized greatly.

    TCP可以轻松识别错误,并在网络拥塞的情况下延迟数据传输。 这样可以确保最大程度地减少数据包丢失。

    Hence, it is used for instances when a delay is acceptable while packet loss is not.

    因此,它用于延迟可接受但丢包不可接受的情况。

    什么是UDP? (What is the UDP?)

    UDP is short for User Datagram Protocol. This data transfer protocol is connectionless and oriented with user datagrams.

    UDP是用户数据报协议的缩写。 该数据传输协议是无连接的,并且面向用户数据报。

    • A datagram is a unit for data transfer in the case of packet-switched networks.

      在分组交换网络中,数据报是用于数据传输的单位。
    • While its functioning is broadly similar to TCP, UDP doesn’t wait for the receiver to be ready to receive the data.

      尽管其功能与TCP大致相似,但UDP并不等待接收者准备好接收数据。
    • It doesn’t wait for a properly established connection or use handshake protocols to check the same. 

      它不会等待正确建立的连接,也不会使用握手协议进行检查。

    This, coupled with UDP’s basic checksum-based error checking mechanisms, increase the possibility of data packet loss.

    再加上UDP的基于校验和的基本错误检查机制,增加了数据包丢失的可能性。

    • If packet loss occurs during a UDP transfer, the specific lost packets cannot be sent again.

      如果在UDP传输期间发生数据包丢失,则无法再次发送特定的丢失数据包。
    • UDP doe not offer any data sequencing either, which means that ordering the data packets has to be done by an application.

      UDP也没有提供任何数据排序,这意味着必须由应用程序对数据包进行排序。
    • Unlike TCP, UDP offers a lightweight alternative for data transfer.

      与TCP不同,UDP提供了一种轻量级的数据传输替代方案。
    • It’s simpler, faster than TCP and efficient.

      它比TCP更简单,更快,并且效率更高。
    • It allows things like broadcasting which isn’t possible through TCP.

      它允许像TCP之类的广播之类的事情。

    With its fixed header length of 8 bytes, UDP finds itself being used in DNS, TFTP, RIP, SNMP and VoIP.

    UDP具有8字节的固定报头长度,可用于DNS,TFTP,RIP,SNMP和VoIP。

    UDP的应用 (Applications for UDP)

    UDP removes the need for an established connection. This helps cut down the latency during startup. UDP allows for broadcasting and multicast data transfer. It is a popular choice for multimedia transmissions such as VoIP.

    UDP消除了建立连接的需要。 这有助于减少启动期间的延迟。 UDP允许广播和多播数据传输。 对于VoIP等多媒体传输而言,它是一种流行的选择。

    To ensure maximum speed, it uses only checksums to identify errors. This makes the data transfer speed to be enhanced at the cost of risking data packet loss.

    为了确保最高速度,它仅使用校验和来识别错误。 这使得数据传输速度得以提高,但以丢失数据包的风险为代价。

    As there is no need for a connection to be established, delays aren’t an issue in UDP. Hence it is used for instances where packet loss can be tolerated, but delay can’t.

    由于不需要建立连接,因此在UDP中延迟不是问题。 因此,它用于可以容忍丢包但不能延迟的情况。

    总结TCP和UDP协议之间的差异 (Summarizing the differences between TCP and UDP protocols)

    Now that we have an idea about both these protocols, we can move on to the difference between TCP and UDP protocols.

    现在我们对这两种协议都有了一个了解,现在我们可以继续介绍TCP和UDP协议之间的区别。

    These differences play a big role in helping you choose the correct protocol for your needs. Both TCP and UDP offer a variety of pros and cons in terms of functionality. 

    这些差异在帮助您选择所需的正确协议方面起着重要作用。 就功能而言,TCP和UDP都有许多优点和缺点。

    Here is a table that contains an overview of the difference between TCP and UDP protocols.

    下表概述了TCP和UDP协议之间的区别。

    Transmission control protocol (TCP)User datagram protocol (UDP)
    TCP is a connection-oriented data transfer protocolUDP is a datagram-oriented data transfer protocol
    Data is guaranteed to safely reach the receiverData is not guaranteed to safely reach the receiver
    Uses data acknowledgment and flow control to perform an in-depth error checkUses checksums to search for basic errors in transmission
    Data sequencing is handled by TCPData sequencing needs to be handled by an application
    TCP works slower than UDP and is a heavyweight protocolUDP works faster than TCP and is a lightweight protocol
    HTTPs, SMPT, FTP and Telnet use TCP for data exchangeDNS, DHCP, TFTP, VoIP and RIP utilise UDP for data exchange
    TCP does not allow broadcastingUDP allows broadcasting
    The header length can vary between 20 to 80 bytesThe header length is fixed at 8 bytes
    传输控制协议(TCP) 用户数据报协议(UDP)
    TCP是一种面向连接的数据传输协议 UDP是面向数据报的数据传输协议
    保证数据可以安全到达接收器 无法保证数据可以安全到达接收器
    使用数据确认和流控制来执行深入的错误检查 使用校验和来搜索传输中的基本错误
    数据排序由TCP处理 数据排序需要由应用程序处理
    TCP比UDP慢,并且是重量级协议 UDP比TCP更快,是一种轻量级协议
    HTTP,SMPT,FTP和Telnet使用TCP进行数据交换 DNS,DHCP,TFTP,VoIP和RIP利用UDP进行数据交换
    TCP不允许广播 UDP允许广播
    标头长度可以在20到80个字节之间变化 标头长度固定为8个字节

    This difference between TCP and UDP protocols make each better at handling specific kinds of use.

    TCP和UDP协议之间的差异使每种协议在处理特定种类的使用方面都更好。

    Hence, while TCP is great for general use, choosing UDP would be the right decision when speed is more essential than the risk of packet loss.

    因此,尽管TCP非常适合一般使用,但是当速度比丢包风险更重要时,选择UDP是正确的决定。

    结语 (Wrapping up)

    There is a lot of differences between TCP and UDP protocols. These differences mean that irrespective of your data transfer needs, you always have one protocol which will optimally meet your requirements.

    TCP和UDP协议之间有很多区别。 这些差异意味着,无论您的数据传输需求如何,您始终拥有一个可以最佳满足您需求的协议。

    • TCP is designed to handle load efficiently and ensure packet losses don’t occur.

      TCP旨在有效处理负载并确保不会发生数据包丢失。
    • On the other hand, UDP is based on ensuring maximum speed in data transmission.

      另一方面,UDP基于确保最大数据传输速度。

    Despite the difference between TCP and UDP protocols, both are widely used to transfer data over the network.

    尽管TCP和UDP协议之间存在差异,但两者均广泛用于通过网络传输数据。

    It’s critical to know the differences between TCP and UDP protocols when you’re working with developing applications that communicate over the network.

    在开发通过网络进行通信的应用程序时,了解TCP和UDP协议之间的区别至关重要。

    I hope this tutorial has been useful to you.

    希望本教程对您有所帮助。

    If you have any feedback, queries or suggestions, feel free to reach out to us in the comments below.

    如果您有任何反馈,疑问或建议,请随时通过以下评论与我们联系。

    翻译自: https://www.journaldev.com/38467/difference-between-tcp-and-udp-protocols

    tcp协议和udp协议区别

    展开全文
  • 支持代理udp和tcp协议
  • 简述UDP和TCP协议

    千次阅读 2020-09-02 17:07:23
    UDP和TCP协议的各种应用应用层协议 三 用户数据报协议UDP 用户数据报协议UDP只是在IP的数据报服务之上增加了很少的一点功能,这就是复用分用的功能以及差错检测的功能。 复用:是指发送方不同的...

    一 概述

    UDP(User Datagram Protocol-用户数据报协议)和TCP(Transmission Control Protocol-传输控制协议)是运输层的两个主要的协议都是互联网的正式标准。

    二 UDP和TCP协议的各种应用和应用层协议

                                            

    三 用户数据报协议UDP

    用户数据报协议UDP只是在IP的数据报服务之上增加了很少的一点功能,这就是复用和分用的功能以及差错检测的功能。

    复用:是指发送方不同的应用进程都可以使用同一个运输层协议传输数据(需要加上适当的首部)。

    分用:是指接收方的运输层在剥离报文的首部后能够将这些数据正确的交付给目的进程。

    UDP的主要特点:

    1. UDP是面向无连接的:即发送数据之前不需要建立连接,发送数据之后也没有连接需要释放,因此减少了开销和发送数据之前的时延。
    2. UDP使用最大努力的交付:不保证可靠的交付,因此主机不需要维持有着许多参数且复杂的连接状态表。
    3. UDP是面向报文的:发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付下一层即IP层。
    4. UDP没有拥塞控制,因此网络出现的拥塞不会使得源主机的发送速率降低。
    5. UDP支持一对一,一对多,多对一和多对多的交互通信。
    6. UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

    四 传输控制协议TCP

    TCP的主要特点:

    1. TCP是面向连接的运输层协议。当程序需要使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。进程间的通信如同"打电话":通话之前要先拨号建立连接,通过结束后要挂机释放连接。
    2. 每个TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。TCP连接的端点叫做套接字(socket)或插口。根据RFC793的定义:端口号拼接到IP地址即叫做套接字(socket)或插口。
    3. TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错,不丢失,不重复并且按顺序到达,因为TCP协议使用停止等待协议,连续ARQ协议。
    4. TCP提供全双工通信方式。允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。在发送时,应用程序在把数据传送给TCP的缓存之后,就可以做自己的事,而TCP在合适的时候把数据发送出去。在接收时,TCP把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。
    5. TCP是面向字节流。TCP中的"流"(stream)指的是流入到进程或从进程流出的字节序列。
    展开全文
  • 二、UDP协议与TCP协议区别 TCP连接时需要三次握手,有时间延迟,但是可靠;而UDP无连接,时间上不存在建立连接需要的时延,但是不可靠。 空间上,TCP需要在端系统中维护连接状态,需要一定的开销。此连接装入包括...

    一、UDP的概述

    User Datagram Protocol,用户数据报协议
    UDP是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。

    二、UDP协议与TCP协议的区别

    1. TCP连接时需要三次握手,有时间延迟,但是可靠;而UDP无连接,时间上不存在建立连接需要的时延,但是不可靠
    2. 空间上,TCP需要在端系统中维护连接状态,需要一定的开销。此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号的参数。UCP不维护连接状态,也不跟踪参数,开销小

    举个例子:

    UDP常用一次性传输比较少量数据的网络应用,如DNS,SNMP等,因为对于这些应用,若是采用TCP,为连接的创建,维护和拆除带来不小的开销。UDP也常用于多媒体应用(如IP电话,实时视频会议,流媒体等)数据的可靠传输对他们而言并不重要,TCP的拥塞控制会使他们有较大的延迟,也是不可容忍的

    HTTP使用TCP而不是UDP,是因为对于基于文本数据的Web网页来说,可靠性很重要。
    同一种专用应用服务器在支持UDP时,一定能支持更多的活动客户机。

    1. UDP分组首部开销小,TCP首部20字节,UDP首部8字节。

    2. UDP没有拥塞控制,应用层能够更好的控制要发送的数据和发送时间,网络中的拥塞控制也不会影响主机的发送速率。某些实时应用要求以稳定的速度发送,能容 忍一些数据的丢失,但是不能允许有较大的时延(比如实时视频,直播等)

    3. UDP提供尽最大努力的交付,不保证可靠交付。所有维护传输可靠性的工作需要用户在应用层来完成。没有TCP的确认机制、重传机制。如果因为网络原因没有传送到对端,UDP也不会给应用层返回错误信息

    4. UDP是面向报文的,对应用层交下来的报文,添加首部后直接乡下交付为IP层,既不合并,也不拆分,保留这些报文的边界。对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,报文不可分割,是UDP数据报处理的最小单位。
      正是因为这样,UDP显得不够灵活,不能控制读写数据的次数和数量。比如我们要发送100个字节的报文,我们调用一次sendto函数就会发送100字节,对端也需要用recvfrom函数一次性接收100字节,不能使用循环每次获取10个字节,获取十次这样的做法。

    展开全文
  • UDP和TCP协议区别

    千次阅读 2018-04-19 16:59:14
    UDP:1、连接:发送数据不需要创建连接,分为发送端接收端2、大小:发送数据以包为单位进行发送,每个包的大小限制在64k3、传输速度块,可能会造成数据丢失4、相比TCP协议来说传输速度更快5、应用:直播,视频通话...

    UDP:

    1、连接:发送数据不需要创建连接,分为发送端和接收端

    2、大小:发送数据以包为单位进行发送,每个包的大小限制在64k

    3、传输速度块,可能会造成数据丢失

    4、相比TCP协议来说传输速度更快

    5、应用:直播,视频通话

    TCP:

    1、连接:数据传输可靠,传输之前需要连接

    2、大小:数据通过IO流的方式进行传输,可以传输无限大小的数据

    3、c/s:有服务端和客户端之分,也就是平时说的C/S(Client/Server)结构

    4、相比UPD传输速度慢

    展开全文
  • TCP协议UDP协议的区别

    千次阅读 2020-08-21 10:04:01
    首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了, 一直都是说TCP协议UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的,UDP只是其中的...
  • 1.介绍了TCP和UDP区别; 2. 介绍了TCP和UDP的报文格式及其作用; 3.介绍了其通信机制;
  • UDP协议和TCP协议

    千次阅读 2020-07-03 18:26:45
    UDP协议和TCP协议都是传输层的协议,TCP协议提供可靠的通信传输,而UDP则是常常被用于让广播细节控制的交给应用的通信传输 UDP协议:不保证安全,但是性能比较好 UDP的传输过程类似于寄信,仅仅在乎的是信件有...
  • 终于懂了TCP和UDP协议区别

    万次阅读 多人点赞 2020-03-26 12:03:28
    终于懂了TCP和UDP协议区别
  • TCP协议和UDP协议的异同点,是网络安全系类的
  • 深入理解TCPUDP协议及两者的区别

    万次阅读 多人点赞 2018-11-14 13:03:24
    一、TCP协议: 位于传输层, 提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行管理。 而可靠的传输服务是指, 能够...
  • TCP协议和UDP协议的特点和区别

    万次阅读 多人点赞 2018-08-06 19:39:16
    TCP协议的主要特点 (1)TCP是面向连接的运输层协议; (2)每一条TCP连接只能有两个端点(即两个套接字),只能是点对点的; (3)TCP提供可靠的传输服务。传送的数据无差错、不丢失、不重复、按序到达; (4)...
  • TCP和UDP区别

    千次阅读 2021-03-06 15:26:48
    一、TCP和UDP都属于TCP/IP协议族 二、UDP和TCP的不同 2.1 TCP是面向连接的,UDP是面向无连接的 2.2 TCP是可靠的,UDP是不可靠的 2.3 TCP是面向字节流的,UDP是面向报文的 2.4 TCP只有一对一的传输方式,而UDP...
  • TCP协议和UDP协议的区别及其应用

    万次阅读 多人点赞 2018-07-02 19:34:45
    下面是TCP和UDP的简单程序: 简单的TCP网络程序 ...简单的UDP网络程序 https://blog.csdn.net/qq_37941471/article/details/80726398 接着我们通过这两个协议来更直接的理解一下TCP协议和UDP协议: 这两个协议...
  • 传输层——详解UDP和TCP区别

    千次阅读 2018-07-10 16:56:09
    首先我们看一下UDP和TCP的特点: UDP:无连接 、不可靠、面向数据报、没有发送缓冲区 TCP:面向连接、可靠、面向字节流、有发送缓冲区 1 无连接面向连接 ...在网络中使用TCP协议时,不仅需要对端的IP地...
  • C# UDP/TCP协议 网络调试工具源码 本代码包括了TCP和UDP的客户端服务端,适合C#初学者学习、参考
  • UDP协议UDP和TCP优缺点对比

    千次阅读 2020-07-29 16:38:21
    和TCP协议一样,也处于计算机网络的运输层(传输层)。 但是UDP是一种不可靠的协议,正如名字,他是无连接的、面向应用报文的协议。 无连接:不同于TCP的三次握手建立连接、四次挥手释放连接,UDP协议的通信双方...
  • TCP协议: 基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息。 使用Tcp协议通讯需要具备以下几个条件:  (1).建立一个套接字(Socket)  (2).绑定服务器端IP地址及...
  • TCP/IP协议TCP和UDP区别及特点

    万次阅读 多人点赞 2019-03-11 10:27:28
    这篇博客主要用来纪录自己对TCP/IP和UDP的个人理解,若有不对还请慷慨指正 一些基础知识 IP地址:用来标识网络中的一个通信实体的地址。通信实体可以是计算机、路由器等。 比如互联网的每个服务器都要有自己的IP...
  • TCP协议和UDP协议特性区别总结: (1)TCP协议在传送数据段的时候要给段标号;UDP协议不 (2)TCP协议可靠;UDP协议不可靠 (3)TCP协议是面向连接;UDP协议采用无连接 (4)TCP协议负载较高,采用虚电路;UDP...
  • tcp udp区别

    千次阅读 多人点赞 2019-06-27 11:50:20
    tcp udp区别TCP 协议官方定义 维基百科介绍 UDP 协议官方定义 维基百科介绍 可参考:TCPUDP 协议区别的详细分析基于 TCPUDP 协议编程差异 TCP/IP 协议是一个协议簇,包括很多协议。命名为 TCP...
  • UDP和TCP协议及代码实例

    千次阅读 2018-07-08 18:16:19
    UDP:(User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 UDP适用于一次只传送少量数据、...
  • UDP协议 TCP协议

    千次阅读 2019-06-04 19:58:24
    1.UDP协议 1.1概述 用户数据包协议UDP (User Datagram Protocol),提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输单位为 用户数据包。 无连接:不需要建立连接,也不需要释放...
  • 面试题:UDP&TCP区别

    万次阅读 多人点赞 2018-09-01 10:38:20
    UDP协议和TCP协议都是传输层协议。 TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。...
  • TCP协议和UDP协议的区别是什么

    千次阅读 2018-12-04 18:44:34
    TCP协议和UDP协议的区别是什么 1.基于连接与无连接; 2.对系统资源的要求(TCP较多,UDP少); 3.UDP程序结构较简单; 4.流模式与数据报模式 ; 5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。 ...
  • TCP和UDP协议的特点和区别详解

    万次阅读 2018-01-16 10:42:15
    TCP和UDP都是传输层的协议,它们起到的最基本功能都是将IP提供的主机-主机传递服务扩展到端-端的进程级,通俗来说,就是把数据段从一个电脑上面的一个应用传递到另一个电脑上面的一个应用上面。除此之外,它们还都有...
  • 主要介绍了C语言编写基于TCP和UDP协议的Socket通信程序示例,其中TCP的客户端与服务器端采用多线程实现,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 293,179
精华内容 117,271
关键字:

udp和tcp协议的区别