目录
TCP协议是什么
TCP(Transmission Control Protocol) 传输控制协议,属于传输层协议,提供可靠的连接服务
TCP报文格式:
几个重点字段解释:
seq:Sequence number(顺序号码)
ack: Acknowledge number(确认号码)
-》序号:seq序号(sequence number 顺序号码)
-》确认序号:ack序号(acknowledge number 确认号码)
-》标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN
ACK:确认序号有效
SYN:发起一个新连接(synchronous)
FIN:释放一个连接(finish)
TCP三次握手
-》TCP是面向连接的协议,即在收发数据前,必须和对方建立可靠的连接
-》三次握手是建立TCP连接过程,在建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立
-》socket编程中,这一过程由客户端执行connect来触发
(1)第一次握手
1、server处于Listen监听状态,等待Client的数据
2、Client客户端将同步标志位SYN置为1(SYN为1表示建立连接,连接成功之后该位置会再次被置为0)
3、Client随后发送一个随机的请求序号seq=x(seq序号,占32位,这个序号一般表示当前发送到哪个序号,表示传送数据时的第一个字节的序号是X,服务器同意后将会从下一个序号开始发送
4、将该数据包发送给Server后,Client进入SYN_SENT状态,等待Server确认
(2)第二次握手
这次握手