标签:tcp传输 一起 发送请求 其他 ima 请求 图片 需要 能力
在了解三次握手和四次挥手之前,首先要知道TCP报文内部包含了哪些东西。
报文主要段的含义:
序号[seq]:用来标记数据段的顺序,确保TCP传输有序。
确认序号[ack]:发送方期待接收的下一序列号<ack=seq+1>。只有ACK=1时才有效。
ACK[确认]:确认序号标志,ACK=1表示确认号字段有效,ACK=0表示确认序号无效。
SYN[同步]:连接请求序号标志,用于建立连接。
SYN=1表示连接请求报文[SYN=1,ACK=0]或连接接受报文[SYN=1,ACK=1]。
SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。
FIN[终止]:结束标志,用于释放连接,FIN=1表示发送方的数据已经发送完毕,并要求释放运输连接。
PS:ACK、SYN和FIN这些大写的单词表示标志位[暂1bit],其值要么是1,要么是0;ack、seq小写的单词表示序号。
建立TCP连接时,需要客户端和服务器共发送3个包。
第一次:客户端发送初始序号x和SYN=1请求标志
第二次:服务器发送请求标志SYN,发送确认标志ACK,发送自己的序号seq=y,发送客户端的确认序号ack=x+1
第三次:客户端发送ACK确认号,发送自己的序号seq=x+1,发送对方的确认号ack=y+1
上面分析过程可以看出,握手两次达不到让双方都得出自己、对方的接收、发送能力都正常的结论的。
标签:tcp传输 一起 发送请求 其他 ima 请求 图片 需要 能力
原文地址:https://www.cnblogs.com/Beavan/p/12888434.html