首页 > 技术文章 > TCP建立连接三次握手和断开连接四次挥手

lsq66 2021-05-20 23:01 原文

一、TCP协议

■ TCP是面向连接的、可靠的进程到进程通信的协议- TCP是面向连接的、可靠的进程到进程通信的协议

■ TCP提供全双工服务,即数据可在同一时间双向传输

■ TCP报文段

- TCP将若干个字节构成一个分组,叫报文段(Segment)

- TCP报文段封装在IP数据段中

二、TCP报文段

image

  • 序号:发送端为每个字节进行编号,便于接收端正确重组

  • 确认号:用于确认发送端的信息

  • 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的

  • 序号:发送端为每个字节进行编号,便于接收端正确重组。

  • 确认号:用于确认发送端的信息。

  • 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的。

  • 控制位:

SYN:同步序号位,TCP需要建立连接将该值为1

ACK:确认序号位。当该位为1时,用于确认发送方的数据。

FIN:断开位。当TCP断开连接时该值为1。

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

1. 三次握手

image

2. 四次挥手

image

3.TCP半关闭的概念

当TCP链接中A向B发送FIN强求关闭,另一端B回应ACK之后,并没有立即发送FIN给A,A方处于半连接状态(半开),此时A可以接收B发送的数据,但是A已经不能再向B发送数据。

半连接:
发生在TCP三次握手中
如果A向B发起连接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。

四、UDP协议

  • 无连接、不可靠的传输协议

  • 花费的开销小

UDP报文首部格式

image

  • UDP长度:用来指出UDP的总长度,为首部加上数据

  • 校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一可靠机制

推荐阅读