码迷,mamicode.com
首页 > 其他好文 > 详细

TCP和UDP的差异

时间:2019-11-12 23:16:40      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:终端   自己的   数据包   卡顿   其他   方式   视频   告诉   forum   

TCP建立连接

如果有人问TCP如何建立连接?大部分的回答都是三次握手成功,就建立连接了。

那么握手的目的是什么呢?

1)告知对方自己的序号

2)初始化资源

例如以下握手案例,握手两次由客户端主动发起,一次由服务端发起。

技术图片

 

握手步骤:

1)客户端发送TCP数据包至服务端,通知服务端客户端的序号是X。

2)服务端发送确认信息回复客户端,通知客户端已经收到信息了。

3)服务端发送自己的序号给客户端,告诉对方自己的序号是Y。

4)客户端回复确认信息确认服务端的序号已经收到了。

 

其实2)和3)这两步可以合并成一个步骤,这两步的信息放在同一个TCP数据包里。

 

UDP数据包的传输方式

UDP协议是不面向连接的协议。所以UDP数据包不需要三次握手,也不需要连接。UDP包是无序的,而TCP包是有序的。

TCP包发送的序号1,2,3,接受TCP包的终端也会收到排序为1,2,3的包,但是UDP包会收到打乱顺序的包。

 

使用上的差异

TCP数据在传输的时候,由于需要三次握手,所以实时性没有UDP好。UDP在实时通讯方面做的比较好,UDP丢包并不影响下一次的发送,实时的视屏出现一点丢包对整体的视频没有影响,可以满足实时传输的功能。但是TCP在丢包后,会重复发送被丢的包,会造成大量的重复,可能视频会卡顿。

 

但是在其他的应用上,如果没有实时性的要求,TCP是首选准没错。

TCP和UDP的差异

标签:终端   自己的   数据包   卡顿   其他   方式   视频   告诉   forum   

原文地址:https://www.cnblogs.com/gzhich2019/p/11846062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!