首页 > 代码库 > TCP协议中URG与PSH的区别
TCP协议中URG与PSH的区别
URG和PSH都属于TCP包头中的标志位,URG和PSH为 1 时,都表示当前有紧急数据。不同的是对紧急数据的处理方式不同。
URG:为1时,表明紧急指针字段有效,它告诉系统此报文段中有紧急数据,应尽快传递,相当于高优先级,不再需要在接收队列中排队。例如,当我们想使用Ctrl+C终止一个远程进程时,会将URG置1,发送应用进程就告诉发送方的TCP有紧急数据要传送,于是发送方将紧急数据插入到本报文段数据的最前面,在紧急数据后面的数据仍是普通数据。urg为1的报文段不进入接收缓冲区而直接向上交付。
TCP首部中只有紧急指针指出紧急数据的位置,它所指的字节为紧急数据,但没有办法指定紧急数据的长度
PSH:为1时,表示该报文段需要尽快发送到接收端的应用进程,有紧急事件需要应用程序去处理(例如希望得到接收方的立刻应答),这时就会把接收缓冲中排好序的那一段数据交给上层,而不用等待整个缓存都填满之后再向上交付。
因此,我们通常这样说,URG是紧急位,PSH是急迫位。
------muhuizz整理
本文出自 “暮回” 博客,请务必保留此出处http://muhuizz.blog.51cto.com/11321490/1903501
TCP协议中URG与PSH的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。