TCP与UDP对比、区别、优缺点及应用场景

TCP与UDP对比、区别、优缺点及应用场景

1.相同点

  • tcp与udp都是传输层协议,直接与应用层交互。

2.不同点

  1. TCP面向连接,在发送数据之前,会先发送报文确定双方能通信并且双方创建一些资源来保障和控制接下来的通信。
    想了解具体连接过程点击这里!

    UDP面向无连接,不事先与对方沟通。不管对方存在与否,都能直接发送到互联网中。

  2. TCP是一对一通信。
    之所以是一对一通信,也正是因为他是面向连接的。就像打电话,如果已经和一个人在通信,那就不能在接听另一个电话。

    UDP可以一对一、一对多、多对一通信。
    因为是无连接协议,每发送一次数据就是一次单独的通信。

  3. TCP是以数据流的方式传输数据
    UDP是以数据报文的方式传输数据

    千万不要把数据流理解为在网络中以一点一点的数据发送,这里的数据流是指可以按不同的大小收发数据,在网络中一个包的大小还是和UDP差不多的

    数据流的原理:通信双方都有发送缓冲区和接收缓冲区。举个例子,A分成两次向B发送数据,这两次数据不是直接发送到网络,而是先放到发送缓冲区,TCP在处理的时候,是从发送缓冲区取数据,再发送。这样发送缓冲区就好像一个流。

    数据报:UDP协议没有真正意义上的发送缓冲区,所以,在每次发送数据时,就直接发送到网络中,写的啥都在这一个数据报中(不考虑网络层拆分)。

  4. TCP保证可靠性传输
    保证机制:面向连接,确认应答机制,超时重传机制,滑动窗口,拥塞控制,差错校验机制。
    想详细了解可靠性点这里
    UDP不能保证可靠性

3.优缺点

优缺点都是相较于对方

  • TCP:
    优点:保证数据有序可靠的交付给应用层
    缺点:开销大,速度慢,
  • UDP:
    优点:传输速率快,能广播和组播
    缺点:不可靠,不能保证数据到达接收方,也不能保证数据的正确性

4.应用场景

TCP:对数据的正确性要求高、不用频繁的交互数据的应用。
UDP:对实时性要求高的应用。如视频通话,游戏。当然,一般选用UDP做这些东西时,都会在应用层保证数据的可靠性,不易开发。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长不大的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值