报文标识解释
SYN: synchronization(同步)
ACK:acknowledgement(确认,告知已收到)
FIN:finish(结束)
5个概念
要理解三次握手,四次挥手,同步SYN、确认ACK、序号seq、确认号ack、终止FIN5个概念比较重要,下面再次加深这5个概念的理解:
同步SYN:在连接建立时用来同步序号,当SYN=1而ACK=0时,表明这是一个连接请求报文,对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1,SYN置1就表示这是一个连接请求或连接接受报文。
确认ACK:TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1。
序号seq:标识从TCP发端向TCP收端发送的数据字节流(tcp传输的每一个字节都按顺序编号),它表示在这个报文段中的的第一个数据字节在数据流中的序号。
确认号ack:确认序列号包含发送确认的一端所期望收到的下一个序号,因此,确认序号应当是上次已成功收到数据字节序号加1。不过,只有当标志位中的ACK标志为1时该确认序列号的字段才有效。
终止FIN:表示发送端已经达到数据末尾,也就是说双方的数据传送完成,没有数据可以传送了,发送FIN标志位的TCP数据包后,连接将被断开。