TCP段输出格式:源 >目的:标志
TCP首部标志的5个字符的含义
标志 字符缩写 描述
S SYN 同步序号
F FIN 发送方完成数据发送
R RST 复位连接
P PSH 尽可能快的将数据送往接收进程
. 以上四个标志比特均置为0
ACK 确认序号
win字段表示发端通告窗口的大小,它只有在首部中的ACK标志比特被设置1时才显示
<mss 1024>表示发端指明的最大报文段长度选项,发端将不接受超过这个长度的TCP报文段,通常是为了避免分段。
建立连接协议
1)请求端发送一个SYN段指明客户端打算连接的服务器端口,以及初始序号。这个SYN段为报文段1.
2)服务器发回包含服务器的初始序号的SYN报文段(报文段2)作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。
3)客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认(报文段3)。
发送第一个SYN的一端将执行主动打开。接收这个SYN并发回下一个SYN的另一端执行被动打开。
连接终止协议
终止一个连接要经过四次握手,这是由于TCP连接是一个全双工(即数据在两个方向能同时传递),因此每个方向必须单独进行关闭。
当一方完成他的数据发送任务后能发送一个FIN来终止这个方向的连接。当另一端收到FIN,它必须通知应用层另一端已经终止了那个方向的数据传送。发送FIN通常是应用层进行关闭的结果。。收到一个FIN意味着这方向上没有数据流动。但接收方仍能在这个方向上发送数据。
进行关闭的一方将执行主动关闭,而另一方执行被动关闭,同时发回一个ACK确认。