TCP报头标志位URG/PSH/SYN/ACK/FIN/RST |
您所在的位置:网站首页 › tcp协议报头 › TCP报头标志位URG/PSH/SYN/ACK/FIN/RST |
TCP报头
TCP是TCP/IP协议栈中的传输层支持的协议,并且TCP有自己报头信息。 TCP的报头信息如下表: TCP报头中一共有六个标志位:URG/ACK/PSH/RST/SYN/FIN。 SYN TCP三次握手中,如果A是发起端,则A就对服务器发一个SYN报文。表示建立连接。 ACK 收到数据或请求后发送响应时发送ACK报文。 RST 表示连接重置 FIN TCP四次挥手时,表示关闭连接 PSH 发送端需要发送一段数据,这个数据需要接收端一收到就进行向上交付。而接收端在收到PSH标志位有效的数据时,迅速将数据交付给应用层。所以PSH又叫急迫比特。 但是现在已经不需要将数据交付给应用层了,因为这些效果在TCP栈已经可以自行处理这些问题了。 URG URG成为紧急指针,意为URG位有效的数据包,是一个紧急需要处理的数据包,需要接收端在接收到之后迅速处理。 PSH与URG的区别说了这么多,是不是发现PSH与URG的效果相似,但是聪明的计算机网络创建者会将两个相同的标志位放入一起吗?很明显不会,所以PSH和URG的区别是什么? 首先,PSH与URG的相似之处在于二者所在的数据包都是急需接收端处理的报文。 不同之处在于PSH位有效时,当前的数据还会被发送到接收端的缓冲区,并刷新缓冲区,将当前缓冲区中所有数据都交付给上一层——应用层。 PSH位就是用来通告接收方立即将收到的报文连同TCP接收缓存里的数据递交应用进程处理,一般会出现在发送方封装最后一个应用字段的TCP报文中,针对TCP交互式应用,则只要封装有应用字段的TCP报文,均会将PSH位置1。当然,应用程序的开发者,可以根据需要,在某个应用功能模块或某个应用操作中,将所有封装应用字段的TCP报文PSH位置1,以提高交互双方的处理效率,这在理论上应该也是可行的。 URG位有效的数据包也是在当前报文需要接收端立即处理,但是当前报文不需要经过接收端的缓冲区,直接越过缓冲区,交付往接收端的应用层。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |