一、TCP协议概述
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它位于OSI模型的第四层——传输层,主要为应用层提供数据传输服务。TCP通过三次握手建立连接,确保数据在发送和接收过程中的准确性和顺序性。
6位标志位
SYN---同步位---是在TCP三次握手建立通道时的标记
ACK---确认位---当该标记位置为1时,确认序列号有意义
FIN---代表释放TCP连接
在TCP协议中,每一个报文都需要有序列号信息。
二、TCP协议的主要特点
1. 可靠性:TCP通过序列号、确认应答、超时重传等机制保证数据可靠传输。
- 确认机制----每收到一个TCP数据段,都需要发送一次确认报文。
- 重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。
- 排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱, 需要根据序列号字段进行重新排序。
- 流控机制(滑动窗口机制):可以通过调节窗口大小(Windows)来对流量进行控制
2.面向连接:通信双方在传输数据前需要建立连接,通信结束后释放连接。
3.流量控制:通过滑动窗口机制,TCP可以控制数据的发送速度,避免接收方缓冲区溢出。
4.拥塞控制:TCP可以根据网络状况调整发送速率,减少网络拥塞。
5.全双工通信:TCP连接允许数据在两个方向上同时传输。
三、TCP协议的工作原理
1.三次握手:建立TCP连接的过程,包括SYN、SYN-ACK、ACK三个步骤,确保双方的发送和接收能力正常。
2.数据传输:TCP将应用层的数据分割成小的数据段,每个数据段包含序列号和确认号,用于确保数据的有序传输和错误检测。
3.四次挥手:终止TCP连接的过程,包括FIN、ACK、FIN、ACK四个步骤,确保双方的数据都已完整传输。
MSL---120S,指一个数据包在网络中传递的最大时间。