[译]TCP标志位:PSH和URG |
您所在的位置:网站首页 › psh是什么激素921 › [译]TCP标志位:PSH和URG |
原文链接 TCP报头中有一系列的单比特控制位用来控制TCP连接中数据的传输。首先不考虑RFC 3168中新加的CWR和ECE控制位,还有其他6个控制位。其中用来控制TCP连接建立、保持、断开的四个控制位在下面已经列出,这对于任何有个基本数据包分析的人来说都应该是很熟悉的。 SYN - 初始化连接ACK - 确认接收到的数据FIN - 断开连接RST - 重新建立连接 PSH控制位 要理解PSH控制位的作用,首先要理解TCP是如何缓存数据的。TCP工作在OSI七层模型中的第四层,它将基于数据包的通信的复杂的细节给封装起来了,从而给上层应用提供一个简单的读写接口。为了能让应用随时从这个接口中读写数据,在TCP连接的两端都设置有缓存。下图展示了数据在发送端发送前以及接收端接收时是如何缓存的: 我们可以观察一个使用了PSH控制位的HTTP GET请求的数据包,在4号数据包中可以看到初始的HTTP请求设置了PSH位,表明客户端没有额外的信息需要添加,并立即将该请求发送给应用(这里指web守护进程)。同时也可以看到服务器端将36号数据包的PSH位设置为1,这个数据包包含了请求文件的最后一个字节。就这样再一次的使用了PSH控制位来通知接收端发送端的数据没有更多的数据发送。 URG控制位是用来告诉接收端在一个发送的IP数据包中某特定的数据是紧急的,需要优先处理。如果URG控制位置1,接收端就会分析紧急指针(IP报头中用一个16位的二进制表示),这个指针说明从首个字节开始多少个字节的数据是需要紧急处理的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |