TCP和UDP区别和使用场景
文章类型:Javascript
发布者:admin
发布时间:2023-03-28
一:区别
1:TCP
是一种面向连接的传输层协议,提供高可靠性通信(数据无误、无丢失、无失序、无重复到达),有连接(三次握手、四次挥手)、可靠,自动为数据封包,点对点全双工通信,
面向字节流,把应用程序看成是一连串的无结构的字节流。TCP有一个缓冲,当应用程序传送的数据块太长,TCP就可以把它划分短一些再传送,
有顺序、重发、拥塞、流量控制机制
2:UDP
是一种用户报协议,不可靠的无连接协议,发送数据不需要连接,可进行高效率的数据传输,一对一、一对多、多对一和多对多的交互通信,
面向报文,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文
二:场景
1:TCP
A:适合于对传输质量要求较高,以及传输大量数据的通信。
B:在需要可靠数据传输的场合,通常使用TCP协议
C:即时通讯软件的用户登录账户管理相关的功能
2:UDP
A:发送小尺寸数据(如对DNS服务器进行IP地址查询时)
B:在接收到数据,给出应答较困难的网络中使用UDP
C:适合于广播/组播式通信中
D:直播、点对点文本通讯以及音视频通讯
三:扩展:网络七层协议模型
1:应用层=>直接向用户提供服务
2:表示层=>负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式
3:会话层=>建立和管理应用程序之间的通信
4:传输层=>监控数据传输服务的质量,保证报文的正确传输
5:网络层=>通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径
6:数据链路层=>通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路
7:物理层=>解决硬件之间通信的问题,主要作用是传输比特流