浅谈TCP和UDP的区别

作为运输层中两个主要的协议,TCP和UDP都能向应用层提供通信服务,然而它们提供的服务差别还是很大的。

1、
TCP协议是面向连接的。也就是说,应用程序在使用 TCP协议之前,必须先建立起一个 TCP连接,之后才能进行通信活动。因此,使用 TCP协议通讯就好像是打电话,通话前先要拨号,然后等对端拿起电话,建立好连接后才能开始通话,通话结束后将电话机扣上,此时相当于断开连接。

而 UDP协议是无连接的。不需要建立和断开连接,发送端可以在任何时候自由地发送数据,这就好像用手机发信息,它不需要号码是正确的,全凭发送端意愿进行发送,结果是什么并不能保证。

2、
UDP协议支持一对一、一对多、多对一和多对多的交互通信。 而 TCP协议仅支持一对一的交互通信。

3、
UDP协议是面向报文的。发送方的 UDP对应用程序交付下来的报文,再添加了首部信息之后就向下交付给 IP层。这就是说,应用层交给 UDP多长的报文,UDP会照原样发送,即一次发送一个报文。可以看出,应用程序必须控制报文的长度。

而 TCP协议是面向字节流的,就是说虽然应用程序交付给 TCP协议的是大小若干数据块,但是 TCP协议把这些数据看成仅仅是一连串无结构的字节流,然后 TCP协议根据当前情况选择性地将字节流分组并发送。

4、
UDP协议只是在 IP服务之上增加了很少的一点功能,因此 UDP和 IP协议一样,都是尽最大努力交付,即不保证可靠交付。

而 TCP则是可靠交付的服务,TCP协议能保证传送的数据无差错、不丢失、不重复、有序到达。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值