TCP和UDP之间的区别

TCP和UDP区别

TCP(或传输控制协议)

UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上 ,该协议不能保证数据准确无误地到达目的地 。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息 。?

许多程序将使用单独的TCP连接和单独的UDP连接 。重要的状态信息随可靠的TCP连接发送,而主数据流通过UDP发送。

?UDP(或用户数据报协议)

TCP的目的是提供可靠的数据传输 ,并在相互进行通信的设备或服务之间保持一个虚拟连接。TCP在数据包接收无序 、丢失或在交付期间被破坏时 ,负责数据恢复 。它通过为其发送的每个数据包提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一个独立的单元,因此 ,数据包可以沿完全不同的路径发送,即使它们都是同一消息的组成部分。这种路由与网络层处理分段和重新组装数据包的方式非常相似,只是级别更高而已 。

为确保正确地接收数据 ,TCP要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复 。但是 ,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。

TCP与UDP的选择

如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机制。与TCP协议相同 ,UDP的源端口数和目的端口数也都支持一台主机上的多个应用 。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流 ,不产生任何额外的数据 ,即使知道有破坏的包也不进行重发。)?

很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择 。当强调传输性能而不是传输的完整性时 ,如:音频和多媒体应用,UDP是最好的选择 。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下 ,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下 ,但是我们相信在不远的将来,TCP可靠的点对点连接将会用于绝大多数的网络应用 。

TCP协议主要功能是在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据 ,提供了两台计算机之间可靠无差错的数据传输。

在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”。

第一次握手 ,客户端向服务器端发出连接请求 ,等待服务器确认

第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求

第三次握手 ,客户端再次向服务器端发送确认信息,确认连接

扩展资料

TCP为了保证报文传输的可靠,就给每个包一个序号 ,同时序号也保证了传送到接收端实体的包的按序接收 。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。

在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误 ,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。

在流量控制上,采用滑动窗口协议,协议中规定 ,对于窗口内未经确认的分组需要重传 。

百度百科-TCP协议

本文来自作者[易玉涵]投稿,不代表言希号立场,如若转载,请注明出处:https://lejiaoyi.cn/leyi/8505.html

(12)
易玉涵的头像易玉涵签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 易玉涵的头像
    易玉涵 2025年10月28日

    我是言希号的签约作者“易玉涵”

  • 易玉涵
    易玉涵 2025年10月28日

    本文概览:TCP和UDP区别TCP(或传输控制协议) UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在...

  • 易玉涵
    用户102809 2025年10月28日

    文章不错《TCP和UDP之间的区别》内容很有帮助

联系我们

邮件:言希号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信