TCP和UDP协议详解

一、TCP 协议

在 TCP/IP 协议栈中,传输层有两个协议: TCP(传输控制协议)和 UDP(用户数据报协议)。

  • TCP 协议传输更加稳定可靠,UDP 协议传输效率更高。这两个协议各有特点,在实际应用
    中,根据实际应用的需要,选择不同的传输层协议。比如:Web、邮箱等对可靠性要求高 的服务,都使用 TCP 协议来传输;
    对于即时通讯、DHCP 等要求快速完成信息传递的服务,就使用 UDP 协议来传输。
  • TCP 是面向连接的、可靠的进程到进程通信的协议。TCP 提供全双工服务,即数据可在 同一时间双向传输,每一个 TCP
    都有发送缓存和接收缓存,用来临时存储数据
    在这里插入图片描述

二、六个控制位:

URG:紧急位。紧急指针有效位

ACK:确认位。只有当ACK=1时,确认序列号字段才有效;当ACK=0时,确认号字段无效

PSH:急迫位。标志位为1时,要求接收方尽快将数据段送达应用层。

RST:重置位。当RST值为1时,通知重新建立TCP连接。

SYN:同步(连接)位。同步序号位,TCP需要建立连接时将这个值设为1

FIN:断开位。当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1.数据段的数目。这个值的大小是可变的,

三、TCP三次握手和四次挥手

三次握手
在这里插入图片描述
四次挥手
在这里插入图片描述

四、UDP协议

相比 TCP 协议而言,UDP 是一个无连接、不保证可靠性的传输层协议,也就是说发送端
不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方
是否收到了数据,它的可靠性由上层协议来保障。既然 UDP 有这样的缺点,那为什么进程还
愿意使用它呢?因为 UDP 也有优点, UDP 的首部结构简单,在数据传输时能实现最小的开销,
如果进程想发送很短的报文而不关心可靠性,就可以使用 UDP。使用 UDP 发送很短的报文
时,在发送端和接收端之间的交互要比使用 TCP 时少得多。
因此,相比 TCP 协议,UDP 传输数据速度更快,效率更高。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51468875/article/details/114021039