一、TCP协议
■ TCP是面向连接的、可靠的进程到进程通信的协议- TCP是面向连接的、可靠的进程到进程通信的协议
■ TCP提供全双工服务,即数据可在同一时间双向传输
■ TCP报文段
- TCP将若干个字节构成一个分组,叫报文段(Segment)
- TCP报文段封装在IP数据段中
二、TCP报文段
![技术分享图片](http://image1.bubuko.com/info/202105/20210531115451094592.png)
-
序号:发送端为每个字节进行编号,便于接收端正确重组
-
确认号:用于确认发送端的信息
-
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
-
序号:发送端为每个字节进行编号,便于接收端正确重组。
-
确认号:用于确认发送端的信息。
-
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的。
-
控制位:
SYN:同步序号位,TCP需要建立连接将该值为1
ACK:确认序号位。当该位为1时,用于确认发送方的数据。
FIN:断开位。当TCP断开连接时该值为1。
三、TCP三次握手和四次挥手
1. 三次握手
![技术分享图片](http://image1.bubuko.com/info/202105/20210531115451938342.jpg)
2. 四次挥手
![技术分享图片](http://image1.bubuko.com/info/202105/20210531115452078967.jpg)
3.TCP半关闭的概念
当TCP链接中A向B发送FIN强求关闭,另一端B回应ACK之后,并没有立即发送FIN给A,A方处于半连接状态(半开),此时A可以接收B发送的数据,但是A已经不能再向B发送数据。
半连接:
发生在TCP三次握手中
如果A向B发起连接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。
四、UDP协议
UDP报文首部格式
![技术分享图片](http://image1.bubuko.com/info/202105/20210531115452219592.png)
-
UDP长度:用来指出UDP的总长度,为首部加上数据
-
校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一可靠机制
TCP建立连接三次握手和断开连接四次挥手
原文:https://www.cnblogs.com/lsq66/p/14829302.html