URG和PSH都属于TCP包头中的标志位,URG和PSH为 1 时,都表示当前有紧急数据。不同的是对紧急数据的处理方式不同。
URG:为1时,表明紧急指针字段有效,它告诉系统此报文段中有紧急数据,应尽快传递,相当于高优先级,不再需要在接收队列中排队。例如,当我们想使用Ctrl+C终止一个远程进程时,会将URG置1,发送应用进程就告诉发送方的TCP有紧急数据要传送,于是发送方将紧急数据插入到本报文段数据的最前面,在紧急数据后面的数据仍是普通数据。urg为1的报文段不进入接收缓冲区而直接向上交付。
TCP首部中只有紧急指针指出紧急数据的位置,它所指的字节为紧急数据,但没有办法指定紧急数据的长度
PSH:为1时,表示该报文段需要尽快发送到接收端的应用进程,有紧急事件需要应用程序去处理(例如希望得到接收方的立刻应答),这时就会把接收缓冲中排好序的那一段数据交给上层,而不用等待整个缓存都填满之后再向上交付。
因此,我们通常这样说,URG是紧急位,PSH是急迫位。
------muhuizz整理
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。