TCP和UDP的区别及特点,tcp与udp的区别( 二 )


TCP:有人向快递员传递消息,然后在信笺上写上序号,进行复印,然后将原件尽可能向接收者方向扔,然后等待答复,然后将其递回给发送者 。如果他们没有收到答复,则他们再制作一份并发送 。当他们收到答复时,将其交给发件人,并丢弃其副本 。如果答复不正确,则在将其交给发件人之前,他们会按正确的顺序排列它们 。在UDP情况下,发件人在邮件传递中承担更多责任 。
在TCP情况下,快递员承担更多责任 。在TCP情况下,发件人必须向快递员“支付更多”的内存,延迟和开销 。在某些情况下,为保证消息传递而增加的成本是不值得的 。(2)两者区别(3)连接建立方式TCP具有类似的建立协议,称为“三向握手” 。“客户端”(有人要求连接)将向正在监听这些消息的“服务器”发送“SYN”(同步请求)消息;如果服务器决定接受该请求,它将发送回“SYN/ACK”消息,以确认先前的请求并请求其自己的通信“返回通道” 。
然后,客户端发送回“ACK”消息,以确认服务器的请求,并建立双向通信通道 。可以将UDP视为对讲机 。按下一个按钮并开始通话,任何听过该频率的人都将听到它,除非他们也使用相同的频率进行通话 。(4)区别总结数据传输功能TCP支持在两个主机之间建立牢固的连接以交换流中的数据 。TCP保证以与服务器发送给用户的顺序相同的方式传递数据,反之亦然 。
TCP是一种面向连接的协议 。UDP是无连接的,并且非专用协议不会检查接收方主机的准备情况 。可靠性TCP的可靠性相对较高,因为它可以确保在传输过程中丢失数据部分的情况下进行消息确认和数据重传 。机不会丢失任何丢失的数据 。另一方面,UDP不提供消息确认,超时或重传功能的概念 。不存在有关分组是否已到达接收方或在传输中丢失的通信 。
序列TCP传输数据包的顺序与接收到的顺序相同 。万一数据包以错误的顺序到达,TCP会对它们重新排序并以正确的顺序传递 。在UDP的情况下,以特定顺序发送的消息可能会或可能不会在交付主机时得到维护 。传输分组的顺序或顺序是不可预测的 。连接TCP连接非常重要,它需要将近三个数据包才能进行适当的套接字连接,并且可以处理拥塞控制和可靠的传递 。
另一方面,UDP连接是轻量级的,可传输通过特定IP设计的层 。没有连接正在跟踪或排序消息 。数据流传输控制协议以字节流的形式读取数据,并将消息传输到段边界 。UDP消息包含一一发送的数据包,并在到达时检查其完整性 。传输速度与UDP相比,TCP的速度较慢,因为它检查错误并重新传输数据包 。标头大小标头的TCP大小为20个字节,而UDP为8个字节 。
但是,它们具有公共标头字段,即源点,目标点和校验和 。其他协议的使用由其他协议使用FTP,SMTP,HTTP,HTTP,Telnet,TCP协议和TFTP,SNMP,DNS,DHCP,RIP,VOIP使用UDP协议 。错误检测传输控制协议通过校验和检测错误并执行错误恢复 。如果有任何数据包有误,则接收者不会确认它们,进而触发主机/发送者的重新传输 。
这种机制称为PAR(带重传的肯定确认) 。由于TCP比UDP慢,TCP适用于不需要高速或传输时间较长的应用程序 。关于错误检测和错误恢复,UDP会尽力而为 。该协议还支持错误检测 。但是,校验和检测到的错误数据包将被丢弃 。UDP不会尝试重新传输数据包 。UDP不尝试重发数据包的原因是该协议通常用于对时间敏感的应用程序,例如语音传输,游戏等 。
尝试进行重发时,恢复尝试毫无意义,并且数据包被接收,它们将无用 。总结TCP/UDP协议,是传输层的标准协议,根据应用的场景和需求来决具体使用何种协议,是网络编程的基本规律,根据不同场景选择合适的协议 。TCP应用场景:效率要求相对低,但对准确性要求相对高的场景 。例如:文件传输、收发邮件、远程登录 。UDP应用场景:效率要求相对高,对准确性要求相对低的场景 。

推荐阅读