- 连接建立
- 面向连接--在发送之前,需要建立一条点到点的连接,(初始参数)
- 源IP地址,目标IP地址,源端口,目标端口---
-
- Source Port :端口号(16位)传输层,区分和标记不同的应用
- Destination Port:目标端口号(16位)
- Sequence Number(序列号):
- Tcp是基于“字节流”的协议,传输字节流之上,是字节流的编号
- Acknowledgment Number(确认序列号):
- 接收方希望收到发送方发送的下一个字节的序号
- 累计确认
- Data Offest(首部长度)(4位):
- TCP报文头部的长度
- URG:为0是无用,为1时有用。把Urgent Pointer(紧急指针)与普通指针区分开。
- ACK:为0是无用,为1时有用。确认位---当该标记位置为1时,确认序列号有意义
- PSH:推。占1位,表示当前报文需要请求推(push)操作;当PSH=1时,接收方在收到数据后立即将数据交给上层,而不是直到整个缓冲区满。
- RST:强制重置,断开连接
- SYN:同步位---是在TCP三次握手建立通道时的标记
- FIN:代表释放TCP连接
- Window(窗口大小):流控
- Checksum(校验和):对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,接收端用于对收到的数据包进行验证
- TCP分段:因为IP分片后,TCP协议无法保证数据的可靠性传输;故而使用TCP协议进行封装的文件不允许进行IP分片,而又因为MTU存在,需要将大文件分为小文件,该操作由TCP协议完成。
- MSS---最大传输段===MTU-IP头部-TCP头部
- 在TCP协议中,每一个报文都需要有序列号信息。
- 可靠性
- 确认机制----每收到一个TCP数据段,都需要发送一次确认报文。
- 重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。
- 排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱,需要根据序列号字段进行重新排序。
- 流控机制(滑动窗口机制):可以通过调节窗口大小(Windows)来对流量进行控制
- TCP(传输控制协议)三次握手是建立一个可靠的TCP连接的过程。这个过程确保了客户端和服务器双方都准备好了进行数据交换,并且能够确认对方的接收和发送能力。
- 完成三次握手后,客户端和服务器之间就建立了一个双向的通信通道,双方都可以开始发送数据了。三次握手的主要目的是同步双方的初始序列号,并确保双方都已经准备好进行数据传输。这个过程还可以防止已经失效的连接请求报文段突然又传送到了服务器,因而产生错误。
- TCP四次挥手是TCP连接终止的过程,它允许双方都确认对方已经完成了数据的发送,并且准备关闭连接。
TCP协议
于 2024-07-18 11:15:28 首次发布