TCP协议中URG与PSH的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的区别的主要内容,如果未能解决你的问题,请参考以下文章

【tcp】TCP报文段中URG和PSH的区别

TCP协议详解

TCP协议中的保留位、偏移位、控制位

tcp/ip协议中tcp头部

tcp跟udp的区别

TCP中的URG与PSH