TCP和UDP的区别

UDP (User Datagram Protocol) 用户数据报协议

TCP (Transmission Control Protocol)传输控制协议

一、

TCP和UDP都是用来发送和接收数据的。

TCP是面向连接的。即两台采用tcp协议的服务器,需要先通过三次握手建立连接,然后才开始进行数据传输,在数据传输之后通过四次挥手释放连接。

UDP是无连接的直接发送数据。

二、

TCP是每条连接只能有两个端点,只能进行一对一的通信。

UDP是可以进行单播,广播,多播的,也就是可以进行一对一,一对多,多对一,多对多的交互通信。

三、

TCP是面向字节流的, S1把字节流发送给TCP1,TCP1把字节流分成数据块,加上首部后进行传输给TCP2,TCP2再把字节流发送给S2。在传输的过程中S1到S2的数据块可能大小不一样,但字节流是一样的。

UDP是直接把应用层交付的报文直接打包,加上首部后进行传输。

四、

TCP是可靠的,完整的,不会丢包,使用了流量控制好的拥塞控制,所有的数据包都是按照顺序接收的,如果出现错误或丢失会重新发送。即TCP1发送数据给TCP2,无误,TCP2给TCP1发送确认后再,发送接下来的数据。如出现丢包或者误码则TCP2不会给TCP1发送确认,TCP会自动进行超时重发。所以,由于完整性和可靠性比较高,TCP一般用于进行文件传输。

UDP是即发即忘,进最大努力交付,但不在意接收方的情况,不可靠,也没有使用流量控制和拥塞控制。即在数据传输的过程中,如果发现有误码的情况,可以通过首部进行检测到,但不做处理,直接丢弃,所以如果网页用是这种方式进行传输,那么就可能会出现丢失图片,文字,或者排版混乱的情况。因为不可靠,网络开销比较小,比较适用于实时性要求比较高的应用,比如视频会议,IP电话,游戏等。

五、

TCP首部开销较大,有20字节的固定开销和最大40字节的扩展,共计20~60字节。

UDP首部开销很小,只有四部分,每部分两个字节,共计8字节。

总结、

Tcp

Udp

有连接

无连接

一对一

单播,广播,多播的交互通信

面向字节流分块传输

整体打包直接传输

安全可靠不丢包

即发即忘

首部开销20~60字节

首部开销8字节

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值