传输控制协议TCP简介
- 面向连接的、可靠的、基于字节流的传输层通信协议
- 将应用层的数据流分割成报文段发送给目标节点的TCP层
- 数据包都有序号,对方收到则发送ACK确认,未收到则重传
- 使用校验和来检验数据在传输过程中是否有误
TCP Flags
- ACK:确认序号标志,1表示确认号有效,0表示报文中不含确认信息,忽略确认号字段
- SYN:同步序号,用于建立连接过程 SYN=1,ACK=0表示数据段没有使用捎带的确认域,SYN=1,ACK=1则连接应答捎带一个确认域
- FIN:finish标志,用于释放连接,1表示发送方已经数据发送了,即关闭本方数据流
TCP三次握手
第一次握手:客户端发送请求连接报文(报文头:SYN标志=1,seq=x),即是SYN报文段,不能携带数据,但是消耗掉一个序号,同步已发送;
第二次握手:服务端发送确认报文(报文头:SYN标志=1,ACK标志=1,seq=初始化一个y,ack=x+1),不能携带数据,但是消耗掉一个序号,同步已收到;
第三次握手:客户端发送确认报文(ACK标志=1,seq=x+1,ack=y+1&