一文看懂TCP/UDP协议

一、传输控制协议TCP

简介:传输控制协议(TCP)是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先建立TCP连接。

tcp报文格式:

一文看懂TCP/UDP协议_第1张图片

其中报文格式中的标志位说明:

  • URG:紧急指针
  • ACK:确认序号
  • PSH:有DATA数据传输
  • RST:连接重置
  • SYN:建立连接
  • FIN:关闭连接

二、TCP握手挥手机制

三次握手过程:其目的不是为了打通网络连接,而是在正式使用之前,先要检测网络是否通畅。

流程图如下:

其总体流程为:首先客户端发送一次请求到服务器,询问服务端是否可以建立连接; 服务端在收到请求后,针对这次请求,返回确认应答消息;客户端收到服务端的应答后,就与服务端建立连接,可以通信。

四次挥手过程:挥手就是保证连接安全断开。

流程图如下:

一文看懂TCP/UDP协议_第2张图片

其总体流程如下:首先客户端发送请求,通知服务端进行请求关闭;服务端接口请求后,先将自身设置成半关闭状态,通知到客户端;此时客户端接到通知后,就不能在发送请求给到服务端,并且这个过程中,可能还有未传输完的数据;所以过一段时间后,服务端会再次发送一个通知给到客户端,表示请求数据全部完成,可以断开连接;客户端收到请求后,再通知到服务端,连接可以管端,关闭连接。

三、用户数据报协议UDP

简介:是Internet传输层协议。提供无连接、不可靠、数据报尽力传输服务。

数据报文格式如下:

一文看懂TCP/UDP协议_第3张图片

 使用udp的好处:

  1. 应用进程更容易控制发送什么数据以及何时发送。
  2. 无需建立连接
  3. 无连接状态
  4. 首部开销小

应用场景:先udp协议多用于物联网设备心跳上报,网络直播、视频传输等。

四、tcp与udp的比较

TCP UDP
面向连接 无连接
提供可靠性保证 不可靠
资源占用多 资源占用少

 

你可能感兴趣的:(网络协议)