名词解释: TCP:Transmission Control Protocol 传输控制协议 tcp标志位有6种: SYN:synchronous 建立连接 ACK:acknowledgement 确认 PSH:push 传送 FIN:finish 结束 RST:reset 重置 URG:urgent 紧急
SEQ:sequence number 顺序号码 ACK:acknowledge number 确认号码
要理解好三次握手和四次挥手,最好先理解一下TCP报文首部格式:
源端口: 占16bit,标志发送该TCP报文段的应用进程,同时也可以看出,电脑的端口号最大就是65535。 目的端口: 占用16bit,用来标志接收该TCP报文段的应用进程 序号: 占32位比特,取值范围 [0,2^32 - 1],序号增加到最后一个后,下一个序号就又回到0。 确认号: 占32比特,取值范围 [0,2^32 - 1],确认号增加到最后一个后,下一个确认号就又回到0 数据偏移: 占4比特,并以4字节为单位。 保留位: 占6比特,保留为今后使用,但目前应置为0 标志位: 一共6个,各占1位 紧急标志位URG: 取值为1时紧急指针字段有效 标志位ACK:取值为1时,确认序号号字段才有效 TCP规定,在连接建立后,所有传送TCP报文段都必须把ACK置1 终止标志位FIN: 用来释放TCP连接。
文字解释:
第一次握手:
客户端 -------SYN=1 序号=x ------> 服务端
第二次握手
客户端 <----ACK=1 SYN=1 序号=y 确认序号=x+1 -------服务端
第三次握手
客户端 ----- ACK=1 序号=x+1 确认序号=y+1----->服务端
图解:
四次挥手:
图解
|