一、概念及作用
TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收。
二、TCP三次握手
TCP标志位
TCP在其协议头中使用大量的标志位或者说1位(bit)布尔域来控制连接状态,一个包中有可以设置多个标志位。
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即TCP标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)
我们常用的是以下三个标志位:
SYN - 创建一个连接
FIN - 终结一个连接
ACK - 确认接收到的数据
握手过程
所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。
三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。
1.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
2.第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+AC

本文详细介绍了TCP连接中的序列号和确认号的作用,以及TCP如何通过三次握手建立连接,包括SYN、ACK标志位的解释和握手过程。此外,还讲解了TCP四次挥手关闭连接的过程,涉及到的状态转换,并提到了SYN攻击及其防御策略。
最低0.47元/天 解锁文章
1401

被折叠的 条评论
为什么被折叠?



