TCP UDP 详解 - 初识 (一)

TCP UDP 有什么区别?TCP 为什么要三次握手,四次挥手?

计算机分层中的传输层,主要是负责计算机之间的数据传输,TCP 和 UDP 都属于传输层协议。在实际开发过程中,需要根据实际需求的来选择适当的传输协议。

在这里我们简单总结下 TCP、UDP 的特点和区别以及实际开发中如何选择。


TCP:

定义:面向有连接,可靠的流协议。保证两端通讯主机之间的通信可达,可以处理丢包、乱序等异常,可以有效利用带宽、缓解网络拥堵。

使用场景(特点):UDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务,随时都可以发送数据,处理简单且高效,经常用于以下场景:

包总量较小的通信(DNS、SNMP)

视频、音频等多媒体通信(即时通信)

广播通信

UDP

定义:面向无连接,不可靠的数据报协议。不会处理丢包、乱序等异常,一般交给上层的应用层处理。

使用场景(特点):相对于 UDP,TCP 实现了数据传输过程中的各种控制,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

在对可靠性要求较高的情况下,可以使用 TCP,即不考虑 UDP 的时候,都可以选择 TCP


总结:

1.TCP 是面向连接的,UDP 是面向无连接的;故 TCP 需要建立连接和断开连接,UDP 不需要。

2.TCP 是流协议,UDP 是数据包协议;故 TCP 数据没有大小限制,UDP 数据报有大小限制(UDP 协议本身限制、数据链路层的 MTU、缓存区大小)。

3.TCP 是可靠协议,UDP 是不可靠协议;故 TCP 会处理数据丢包重发以及乱序等情况,UDP 则不会处理。

TCP 为什么要三次握手,四次挥手?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传输层提供的服务 传输层的功能 从通信和信息处理的角度看 ,传输层向它上面的应用层提供通信服务,它属于面向通信部分...
    CodeKing2017阅读 3,699评论 1 9
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,144评论 6 174
  • 转自原文:TCP、UDP以及TCP滑窗,它们的区别注:文中提到TCP传输过程的特点,以及“粘包”的原因和解决方案,...
    半岛夏天阅读 3,558评论 2 31
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,100评论 0 8
  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,550评论 0 6